aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Vitale <nivit@FreeBSD.org>2024-04-05 09:16:40 +0000
committerNicola Vitale <nivit@FreeBSD.org>2024-04-05 09:19:25 +0000
commit867d8801801d31df76f8b9e0005cee48b6aa52f7 (patch)
tree86615910623d20600c49035475ffd32fcdc346fa
parente59794418b3c744229f3e4f2bfeb56c83efd5913 (diff)
downloadports-867d8801801d31df76f8b9e0005cee48b6aa52f7.tar.gz
ports-867d8801801d31df76f8b9e0005cee48b6aa52f7.zip
lang/gptscript: Add new port
GPTScript is a new scripting language to automate your interaction with a Large Language Model (LLM), namely OpenAI. The ultimate goal is to create a natural language programming experience. The syntax of GPTScript is largely natural language, making it very easy to learn and use. Natural language prompts can be mixed with traditional scripts such as bash and python or even external HTTP service calls. With GPTScript you can do just about anything, like plan a vacation, edit a file, run some SQL, or build a mongodb/flask app. Here are some common use cases for GPTScript: - Retrieval-Augmented Generation (RAG) - Task Automation - Agents and Assistants - Data Analysis - Vision, Image, and Audio - Memory Management - Chatbots https://github.com/gptscript-ai/gptscript
-rw-r--r--lang/Makefile1
-rw-r--r--lang/gptscript/Makefile109
-rw-r--r--lang/gptscript/distinfo165
-rw-r--r--lang/gptscript/pkg-descr16
-rw-r--r--lang/gptscript/pkg-plist69
5 files changed, 360 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index ff3b1980e1d6..d801eae3fcdc 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -125,6 +125,7 @@
SUBDIR += go122
SUBDIR += gomacro
SUBDIR += gprolog
+ SUBDIR += gptscript
SUBDIR += gravity
SUBDIR += groovy
SUBDIR += gscheme
diff --git a/lang/gptscript/Makefile b/lang/gptscript/Makefile
new file mode 100644
index 000000000000..68ce553408a3
--- /dev/null
+++ b/lang/gptscript/Makefile
@@ -0,0 +1,109 @@
+PORTNAME= gptscript
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.4.1
+CATEGORIES= lang
+
+MAINTAINER= nivit@FreeBSD.org
+COMMENT= Natural Programming Language
+WWW= https://gptscript.ai/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules,1.22
+
+USE_GITHUB= yes
+GH_ACCOUNT= gptscript-ai
+GH_TUPLE= AlecAivazis:survey:v2.3.7:alecaivazis_survey_v2/vendor/github.com/AlecAivazis/survey/v2 \
+ BurntSushi:locker:a6e239ea1c69:burntsushi_locker/vendor/github.com/BurntSushi/locker \
+ acorn-io:baaah:2a58ee757bbd:acorn_io_baaah/vendor/github.com/acorn-io/baaah \
+ acorn-io:broadcaster:bfadd4a7b45d:acorn_io_broadcaster/vendor/github.com/acorn-io/broadcaster \
+ acorn-io:cmd:e9e631185ddb:acorn_io_cmd/vendor/github.com/acorn-io/cmd \
+ adrg:xdg:v0.4.0:adrg_xdg/vendor/github.com/adrg/xdg \
+ andybalholm:brotli:v1.0.4:andybalholm_brotli/vendor/github.com/andybalholm/brotli \
+ bodgit:plumbing:v1.2.0:bodgit_plumbing/vendor/github.com/bodgit/plumbing \
+ bodgit:sevenzip:v1.3.0:bodgit_sevenzip/vendor/github.com/bodgit/sevenzip \
+ bodgit:windows:v1.0.0:bodgit_windows/vendor/github.com/bodgit/windows \
+ bombsimon:logrusr:v4.0.0:bombsimon_logrusr_v4/vendor/github.com/bombsimon/logrusr/v4 \
+ connesc:cipherio:v0.2.1:connesc_cipherio/vendor/github.com/connesc/cipherio \
+ davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
+ dsnet:compress:v0.0.1:dsnet_compress/vendor/github.com/dsnet/compress \
+ fatih:color:v1.16.0:fatih_color/vendor/github.com/fatih/color \
+ getkin:kin-openapi:v0.123.0:getkin_kin_openapi/vendor/github.com/getkin/kin-openapi \
+ go-logr:logr:v1.4.1:go_logr_logr/vendor/github.com/go-logr/logr \
+ go-openapi:jsonpointer:v0.20.2:go_openapi_jsonpointer/vendor/github.com/go-openapi/jsonpointer \
+ go-openapi:swag:v0.22.8:go_openapi_swag/vendor/github.com/go-openapi/swag \
+ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+ go4org:go4:f5505b9728dd:go4org_go4/vendor/go4.org \
+ golang:exp:be819d1f06fc:golang_exp/vendor/golang.org/x/exp \
+ golang:mod:v0.15.0:golang_mod/vendor/golang.org/x/mod \
+ golang:net:v0.20.0:golang_net/vendor/golang.org/x/net \
+ golang:snappy:v0.0.4:golang_snappy/vendor/github.com/golang/snappy \
+ golang:sync:v0.6.0:golang_sync/vendor/golang.org/x/sync \
+ 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:tools:v0.17.0:golang_tools/vendor/golang.org/x/tools \
+ google:go-cmp:v0.6.0:google_go_cmp/vendor/github.com/google/go-cmp \
+ google:go-containerregistry:v0.16.1:google_go_containerregistry/vendor/github.com/google/go-containerregistry \
+ google:pprof:e6195bd50e26:google_pprof/vendor/github.com/google/pprof \
+ google:shlex:e7afc7fbc510:google_shlex/vendor/github.com/google/shlex \
+ gorilla:websocket:v1.5.0:gorilla_websocket/vendor/github.com/gorilla/websocket \
+ gptscript-ai:go-openai:d33320ca826f:gptscript_ai_go_openai/vendor/github.com/sashabaranov/go-openai \
+ hashicorp:errwrap:v1.0.0:hashicorp_errwrap/vendor/github.com/hashicorp/errwrap \
+ hashicorp:go-multierror:v1.1.1:hashicorp_go_multierror/vendor/github.com/hashicorp/go-multierror \
+ hexops:autogold:v2.1.0:hexops_autogold_v2/vendor/github.com/hexops/autogold/v2 \
+ hexops:gotextdiff:v1.0.3:hexops_gotextdiff/vendor/github.com/hexops/gotextdiff \
+ hexops:valast:v1.4.3:hexops_valast/vendor/github.com/hexops/valast \
+ inconshreveable:mousetrap:v1.1.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \
+ invopop:yaml:v0.2.0:invopop_yaml/vendor/github.com/invopop/yaml \
+ jaytaylor:html2text:74c2419ad056:jaytaylor_html2text/vendor/github.com/jaytaylor/html2text \
+ josharian:intern:v1.0.0:josharian_intern/vendor/github.com/josharian/intern \
+ kballard:go-shellquote:95032a82bc51:kballard_go_shellquote/vendor/github.com/kballard/go-shellquote \
+ klauspost:compress:v1.16.5:klauspost_compress/vendor/github.com/klauspost/compress \
+ klauspost:pgzip:v1.2.5:klauspost_pgzip/vendor/github.com/klauspost/pgzip \
+ kubernetes-sigs:controller-runtime:v0.16.3:kubernetes_sigs_controller_runtime/vendor/sigs.k8s.io/controller-runtime \
+ kubernetes:klog:v2.110.1:kubernetes_klog/vendor/k8s.io/klog/v2 \
+ mailru:easyjson:v0.7.7:mailru_easyjson/vendor/github.com/mailru/easyjson \
+ mattn:go-colorable:v0.1.13:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
+ mattn:go-isatty:v0.0.20:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
+ mattn:go-runewidth:v0.0.10:mattn_go_runewidth/vendor/github.com/mattn/go-runewidth \
+ mgutz:ansi:9520e82c474b:mgutz_ansi/vendor/github.com/mgutz/ansi \
+ mholt:archiver:v4.0.0-alpha.8:mholt_archiver_v4/vendor/github.com/mholt/archiver/v4 \
+ mohae:deepcopy:c48cc78d4826:mohae_deepcopy/vendor/github.com/mohae/deepcopy \
+ mvdan:gofumpt:v0.6.0:mvdan_gofumpt/vendor/mvdan.cc/gofumpt \
+ nightlyone:lockfile:v1.0.0:nightlyone_lockfile/vendor/github.com/nightlyone/lockfile \
+ nwaples:rardecode:v2.0.0-beta.2:nwaples_rardecode_v2/vendor/github.com/nwaples/rardecode/v2 \
+ olahol:melody:v1.1.4:olahol_melody/vendor/github.com/olahol/melody \
+ olekukonko:tablewriter:df64c4bbad77:olekukonko_tablewriter/vendor/github.com/olekukonko/tablewriter \
+ onsi:ginkgo:v2.13.0:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
+ onsi:gomega:v1.29.0:onsi_gomega/vendor/github.com/onsi/gomega \
+ perimeterx:marshmallow:v1.1.5:perimeterx_marshmallow/vendor/github.com/perimeterx/marshmallow \
+ pierrec:lz4:v4.1.15:pierrec_lz4_v4/vendor/github.com/pierrec/lz4/v4 \
+ pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
+ rivo:uniseg:v0.1.0:rivo_uniseg/vendor/github.com/rivo/uniseg \
+ rs:cors:v1.10.1:rs_cors/vendor/github.com/rs/cors \
+ samber:lo:v1.38.1:samber_lo/vendor/github.com/samber/lo \
+ samber:slog-logrus:v1.0.0:samber_slog_logrus/vendor/github.com/samber/slog-logrus \
+ sirupsen:logrus:v1.9.3:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
+ spf13:cobra:v1.8.0:spf13_cobra/vendor/github.com/spf13/cobra \
+ spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
+ ssor:bom:6386211fdfcf:ssor_bom/vendor/github.com/ssor/bom \
+ stretchr:testify:v1.8.4:stretchr_testify/vendor/github.com/stretchr/testify \
+ therootcompany:xz:v1.0.1:therootcompany_xz/vendor/github.com/therootcompany/xz \
+ tidwall:gjson:v1.17.1:tidwall_gjson/vendor/github.com/tidwall/gjson \
+ tidwall:match:v1.1.1:tidwall_match/vendor/github.com/tidwall/match \
+ tidwall:pretty:v1.2.0:tidwall_pretty/vendor/github.com/tidwall/pretty \
+ ulikunitz:xz:v0.5.10:ulikunitz_xz/vendor/github.com/ulikunitz/xz
+
+OPTIONS_DEFINE= EXAMPLES
+
+post-patch:
+ ${REINPLACE_CMD} -e 's/0.0.0-dev/${PORTVERSION}/1' \
+ ${WRKSRC}/pkg/version/version.go
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+
+.include <bsd.port.mk>
diff --git a/lang/gptscript/distinfo b/lang/gptscript/distinfo
new file mode 100644
index 000000000000..5da774f18e04
--- /dev/null
+++ b/lang/gptscript/distinfo
@@ -0,0 +1,165 @@
+TIMESTAMP = 1712302210
+SHA256 (gptscript-ai-gptscript-v0.4.1_GH0.tar.gz) = 53416335afe83f07713f2939aec3007104ac3b43235d1ac1b97a5d980fceab58
+SIZE (gptscript-ai-gptscript-v0.4.1_GH0.tar.gz) = 1097948
+SHA256 (AlecAivazis-survey-v2.3.7_GH0.tar.gz) = 4975751ab98c2d0075c1d2b992bd8aee733c97c29cecac179ca36290abbeac5f
+SIZE (AlecAivazis-survey-v2.3.7_GH0.tar.gz) = 125594
+SHA256 (BurntSushi-locker-a6e239ea1c69_GH0.tar.gz) = 62a7317db042e69e8c0e2d6d748a33b9a92a3c10ea02aa4e85bda8a9fbd8bd9b
+SIZE (BurntSushi-locker-a6e239ea1c69_GH0.tar.gz) = 2111
+SHA256 (acorn-io-baaah-2a58ee757bbd_GH0.tar.gz) = c20c40b9609ccd690ca265e3bf42b5b450aafc914bce20b835792c0614685a41
+SIZE (acorn-io-baaah-2a58ee757bbd_GH0.tar.gz) = 65219
+SHA256 (acorn-io-broadcaster-bfadd4a7b45d_GH0.tar.gz) = c67f9d47fb8fd742507beb0a2bc749edc2e99332315d9696b2786f6d10468337
+SIZE (acorn-io-broadcaster-bfadd4a7b45d_GH0.tar.gz) = 4608
+SHA256 (acorn-io-cmd-e9e631185ddb_GH0.tar.gz) = aa43aa53b9b353db9890ddaab586b5a2a6587ccf13257776873fa81f5bbb7468
+SIZE (acorn-io-cmd-e9e631185ddb_GH0.tar.gz) = 12450
+SHA256 (adrg-xdg-v0.4.0_GH0.tar.gz) = 7f80dcb6b7ce96f2b8ccaa5577f874cd6b9e2a65c29bbcffa04a2304b9bef98a
+SIZE (adrg-xdg-v0.4.0_GH0.tar.gz) = 20022
+SHA256 (andybalholm-brotli-v1.0.4_GH0.tar.gz) = aac277a0eba7f3abecb78c8ed8f620d23b7c9afc9879565fe3f055bdbf943db0
+SIZE (andybalholm-brotli-v1.0.4_GH0.tar.gz) = 1817548
+SHA256 (bodgit-plumbing-v1.2.0_GH0.tar.gz) = 5502bac0ae36f122fa04f8c035c192582f57e83bce0a95902b7a669e3e6fcdce
+SIZE (bodgit-plumbing-v1.2.0_GH0.tar.gz) = 6734
+SHA256 (bodgit-sevenzip-v1.3.0_GH0.tar.gz) = c1e7984ac2c3a067f880e73b25c1cd29603447a4d49bf1a8c8405e797f457b8f
+SIZE (bodgit-sevenzip-v1.3.0_GH0.tar.gz) = 1183647
+SHA256 (bodgit-windows-v1.0.0_GH0.tar.gz) = 234b6f13848366328495cff64c711a054612d103c5439cad08b3d717e3c4afbe
+SIZE (bodgit-windows-v1.0.0_GH0.tar.gz) = 2457
+SHA256 (bombsimon-logrusr-v4.0.0_GH0.tar.gz) = 410362848ec67c4d9e1265a3261c8e620c5b560349f4f3ac412532ff539337a0
+SIZE (bombsimon-logrusr-v4.0.0_GH0.tar.gz) = 8897
+SHA256 (connesc-cipherio-v0.2.1_GH0.tar.gz) = 3c18c78354af6a3b6f36e59cf6866cf2512d0a287868a44191bb3095a833c50e
+SIZE (connesc-cipherio-v0.2.1_GH0.tar.gz) = 8757
+SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
+SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
+SHA256 (dsnet-compress-v0.0.1_GH0.tar.gz) = 345332d6a147f052cf4a34edb5187b323f06f012f842bb49fd05ec55f5339c5b
+SIZE (dsnet-compress-v0.0.1_GH0.tar.gz) = 9962544
+SHA256 (fatih-color-v1.16.0_GH0.tar.gz) = 0823ac3e80d523cc9f6062000621f722bd858bad411c3ff7b2cd012e6aaf1b90
+SIZE (fatih-color-v1.16.0_GH0.tar.gz) = 12115
+SHA256 (getkin-kin-openapi-v0.123.0_GH0.tar.gz) = 8a76f3696f3734ab2c3a0e8a20c3e7b3b17dbacfd6f67cdc21b11c23684e12ef
+SIZE (getkin-kin-openapi-v0.123.0_GH0.tar.gz) = 475842
+SHA256 (go-logr-logr-v1.4.1_GH0.tar.gz) = 8eae286ca6e69e82f22cdde7464f4e5530e624b2da486b09cd0ec46b745c0d0e
+SIZE (go-logr-logr-v1.4.1_GH0.tar.gz) = 56957
+SHA256 (go-openapi-jsonpointer-v0.20.2_GH0.tar.gz) = dbbc9e26705d00f0fa0ff07d782b1983b24364a16dfae353499041e19b17c3d2
+SIZE (go-openapi-jsonpointer-v0.20.2_GH0.tar.gz) = 16937
+SHA256 (go-openapi-swag-v0.22.8_GH0.tar.gz) = 2b38f01d94fc2f538dfaf4e18f6b60bda36043eb7027a6c2cae198309a9cda44
+SIZE (go-openapi-swag-v0.22.8_GH0.tar.gz) = 43429
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (go4org-go4-f5505b9728dd_GH0.tar.gz) = d7d4735b481bd0c58ac9cb847b8887c9ecbf0dd45f0c18e5b67f3716d52b7936
+SIZE (go4org-go4-f5505b9728dd_GH0.tar.gz) = 150573
+SHA256 (golang-exp-be819d1f06fc_GH0.tar.gz) = f84031c4cf21c41bb37649cc4f011368f281a1082d05419e16dde14702a7b6f2
+SIZE (golang-exp-be819d1f06fc_GH0.tar.gz) = 1733317
+SHA256 (golang-mod-v0.15.0_GH0.tar.gz) = 8d630955d5ea225b8b5013383508f6f40ef9a94a1b010b67b5dd9d367189ccd2
+SIZE (golang-mod-v0.15.0_GH0.tar.gz) = 121691
+SHA256 (golang-net-v0.20.0_GH0.tar.gz) = bae5107274cce60331dbc29301657afd86e5fb92a2e545f159e992eda8a9133d
+SIZE (golang-net-v0.20.0_GH0.tar.gz) = 1486820
+SHA256 (golang-snappy-v0.0.4_GH0.tar.gz) = 77df678795596f9dfecb5744deb984633d780460a7e9a59e0c7ecfe2052b644f
+SIZE (golang-snappy-v0.0.4_GH0.tar.gz) = 66129
+SHA256 (golang-sync-v0.6.0_GH0.tar.gz) = 23b8fca95397b2293e64e58d333633051ec942b46318ad8f630318e801658b67
+SIZE (golang-sync-v0.6.0_GH0.tar.gz) = 17605
+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-tools-v0.17.0_GH0.tar.gz) = cfa2b81b912142f1c923e3afb4c18618b3d28b0fa053abc3e67b75965c2e71c7
+SIZE (golang-tools-v0.17.0_GH0.tar.gz) = 3640573
+SHA256 (google-go-cmp-v0.6.0_GH0.tar.gz) = d14f7d57b0f6d25771bee3d7d5d038f532539e71bfc934772b1c0467ab90fa86
+SIZE (google-go-cmp-v0.6.0_GH0.tar.gz) = 104784
+SHA256 (google-go-containerregistry-v0.16.1_GH0.tar.gz) = 6b8d41175fda7497a90eb89a9b30d8291b418e1f9e524ae094439c9887fb06ac
+SIZE (google-go-containerregistry-v0.16.1_GH0.tar.gz) = 4402130
+SHA256 (google-pprof-e6195bd50e26_GH0.tar.gz) = 3be64ad953664c1161d03785edd9b5e313d440008a35f8172a5513a359f8a351
+SIZE (google-pprof-e6195bd50e26_GH0.tar.gz) = 2948759
+SHA256 (google-shlex-e7afc7fbc510_GH0.tar.gz) = 87f77e98720add261add169e386cbdcc894e2635dca299bc4119dc417ea321ca
+SIZE (google-shlex-e7afc7fbc510_GH0.tar.gz) = 7342
+SHA256 (gorilla-websocket-v1.5.0_GH0.tar.gz) = 5d86f9e1c76ff7ceca0747f78b79864fbaec9d440f4fdb03197466e5102a86b0
+SIZE (gorilla-websocket-v1.5.0_GH0.tar.gz) = 54155
+SHA256 (gptscript-ai-go-openai-d33320ca826f_GH0.tar.gz) = ed8e85117c92fa6aeaea0694e743c4b202339cb36a6dd28b213e32444aa6bfad
+SIZE (gptscript-ai-go-openai-d33320ca826f_GH0.tar.gz) = 79120
+SHA256 (hashicorp-errwrap-v1.0.0_GH0.tar.gz) = 26afc0e5895c6ce87c881c5c02c682ccc9a08174a9c27ca26d4a1e72dbf78128
+SIZE (hashicorp-errwrap-v1.0.0_GH0.tar.gz) = 8346
+SHA256 (hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 8d1bb3377310e8ffe4c7b5672c5de1eaed153402aebd15d6e5b9673c356a065f
+SIZE (hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 13803
+SHA256 (hexops-autogold-v2.1.0_GH0.tar.gz) = ddc53c1eb66a0d1838afefb46901d38244bc478f1385de6bbc9bae2774c67fbd
+SIZE (hexops-autogold-v2.1.0_GH0.tar.gz) = 23239
+SHA256 (hexops-gotextdiff-v1.0.3_GH0.tar.gz) = 95ca5abd3c132e04ca1a0deeeac130b6bfe871e504e3775cb53e43ad3fc8183d
+SIZE (hexops-gotextdiff-v1.0.3_GH0.tar.gz) = 23245
+SHA256 (hexops-valast-v1.4.3_GH0.tar.gz) = 10041bda6583e1f29e0df82f20b40ccae03d7b11eef7d6066e25970f3d70820a
+SIZE (hexops-valast-v1.4.3_GH0.tar.gz) = 28078
+SHA256 (inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = ab23e7c5cbf42564eb0190ee051b7217c04fd2599d2f26e9ebe205db75963141
+SIZE (inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = 5338
+SHA256 (invopop-yaml-v0.2.0_GH0.tar.gz) = de6f189bf9b8dd86532d094bdb491f83e3ae1a5b8e69a3ab00e031399e0bf41f
+SIZE (invopop-yaml-v0.2.0_GH0.tar.gz) = 14434
+SHA256 (jaytaylor-html2text-74c2419ad056_GH0.tar.gz) = 66ea85d591c790662befca911b4f0d017ead597f3c6e6a5af52f89673bc628b0
+SIZE (jaytaylor-html2text-74c2419ad056_GH0.tar.gz) = 15610
+SHA256 (josharian-intern-v1.0.0_GH0.tar.gz) = 7c7df6e792ed5db0b1a63c8ec74236b70958ad36c9fe5a02b52b1a418b177b5e
+SIZE (josharian-intern-v1.0.0_GH0.tar.gz) = 1927
+SHA256 (kballard-go-shellquote-95032a82bc51_GH0.tar.gz) = dde336eb697f7f9c26cf6d1467f75b6cf559262c1b0b110d28fff29790f76bc5
+SIZE (kballard-go-shellquote-95032a82bc51_GH0.tar.gz) = 4328
+SHA256 (klauspost-compress-v1.16.5_GH0.tar.gz) = c79a3fdfd4dd22028fed3fca649b9c445b6e59d20370375b2e857e6c670718d6
+SIZE (klauspost-compress-v1.16.5_GH0.tar.gz) = 37934491
+SHA256 (klauspost-pgzip-v1.2.5_GH0.tar.gz) = a64bad5981a232f6b5a40e488708b19a0551e83465f6792b7925f90829d7a830
+SIZE (klauspost-pgzip-v1.2.5_GH0.tar.gz) = 125923
+SHA256 (kubernetes-sigs-controller-runtime-v0.16.3_GH0.tar.gz) = 3778a6aeee695fcf39342b18efbf4fcbf7cf8a539ddb2ddc85676f3496a2bb09
+SIZE (kubernetes-sigs-controller-runtime-v0.16.3_GH0.tar.gz) = 586790
+SHA256 (kubernetes-klog-v2.110.1_GH0.tar.gz) = 3d3f029acb93f027bf1efe9473672115fdf43345687e924c462adc4446068a67
+SIZE (kubernetes-klog-v2.110.1_GH0.tar.gz) = 104423
+SHA256 (mailru-easyjson-v0.7.7_GH0.tar.gz) = 18ce2051cda6b20a09163d9ecedf905593d7777db043b32b263e62b1cebb7f73
+SIZE (mailru-easyjson-v0.7.7_GH0.tar.gz) = 81404
+SHA256 (mattn-go-colorable-v0.1.13_GH0.tar.gz) = c3b62c76d365906bba9aa9d9ec048fd33a2a5742299d6482a08e7466d4c52d77
+SIZE (mattn-go-colorable-v0.1.13_GH0.tar.gz) = 9762
+SHA256 (mattn-go-isatty-v0.0.20_GH0.tar.gz) = 18fc42a278e60fb7a1dffa72f20539ae88d0e292db55b513ef514b7d369883a6
+SIZE (mattn-go-isatty-v0.0.20_GH0.tar.gz) = 4713
+SHA256 (mattn-go-runewidth-v0.0.10_GH0.tar.gz) = 48cb8654014d9eab1d59088dd1879907de1dab51c2ed3cee8c8254c1708c2d8e
+SIZE (mattn-go-runewidth-v0.0.10_GH0.tar.gz) = 16778
+SHA256 (mgutz-ansi-9520e82c474b_GH0.tar.gz) = f9203c71aceb8b7ffa87181fd8f51dc69acce3d2161c4c017ea92c6840f85093
+SIZE (mgutz-ansi-9520e82c474b_GH0.tar.gz) = 4876
+SHA256 (mholt-archiver-v4.0.0-alpha.8_GH0.tar.gz) = 5597fc92d40690138f8a504fdbbdd122ef0486236407463a508d25b45e5d2af3
+SIZE (mholt-archiver-v4.0.0-alpha.8_GH0.tar.gz) = 57778
+SHA256 (mohae-deepcopy-c48cc78d4826_GH0.tar.gz) = 399daaf333bf6b4bdd0d39978affdfa797d65f1cd222c0670ddfe0f69066756c
+SIZE (mohae-deepcopy-c48cc78d4826_GH0.tar.gz) = 9599
+SHA256 (mvdan-gofumpt-v0.6.0_GH0.tar.gz) = 26a7c8dce1f153d250e7d36665cf7fab3776aee83248f94be4ebbad23fcaddc4
+SIZE (mvdan-gofumpt-v0.6.0_GH0.tar.gz) = 100704
+SHA256 (nightlyone-lockfile-v1.0.0_GH0.tar.gz) = ab6ae9054edde30a2d1adfd757bcd1d4610742a826cdad8b6e8c85c673f5d525
+SIZE (nightlyone-lockfile-v1.0.0_GH0.tar.gz) = 6088
+SHA256 (nwaples-rardecode-v2.0.0-beta.2_GH0.tar.gz) = a3bddf213defc6b819d96c8f43ee3532e8ec29e1cc974577d6f232d591a906cf
+SIZE (nwaples-rardecode-v2.0.0-beta.2_GH0.tar.gz) = 38398
+SHA256 (olahol-melody-v1.1.4_GH0.tar.gz) = 0e644721573c720744fa31492b5af0eb8286ea7e908aa5cbe35d012216931f98
+SIZE (olahol-melody-v1.1.4_GH0.tar.gz) = 760215
+SHA256 (olekukonko-tablewriter-df64c4bbad77_GH0.tar.gz) = 7c969ff8d87448d924d7fc648c48ce4f2ff6f1776c417973d6469dd3f0a1b357
+SIZE (olekukonko-tablewriter-df64c4bbad77_GH0.tar.gz) = 27570
+SHA256 (onsi-ginkgo-v2.13.0_GH0.tar.gz) = f52cbf01050a3d5df34382164cd6037f0b1a3d7d157c02797a1efbc96cbe6f5a
+SIZE (onsi-ginkgo-v2.13.0_GH0.tar.gz) = 628451
+SHA256 (onsi-gomega-v1.29.0_GH0.tar.gz) = 86e388646bbce904e3a006bc3f9fc7ff3f42c2e55ce10b600617d7d63cf1d995
+SIZE (onsi-gomega-v1.29.0_GH0.tar.gz) = 314802
+SHA256 (perimeterx-marshmallow-v1.1.5_GH0.tar.gz) = d4f804a42181649e45f344764b273d9610aa439ca66f4efc8906fd07acc3b624
+SIZE (perimeterx-marshmallow-v1.1.5_GH0.tar.gz) = 30187
+SHA256 (pierrec-lz4-v4.1.15_GH0.tar.gz) = 6789f05a473486601616c437a3d6d94310f339c06837587ea6833d13e8c4cab7
+SIZE (pierrec-lz4-v4.1.15_GH0.tar.gz) = 40903952
+SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (rivo-uniseg-v0.1.0_GH0.tar.gz) = b80dffa6c757687cc997b77efbd32435361829cb085b913424b9b2bfebc19655
+SIZE (rivo-uniseg-v0.1.0_GH0.tar.gz) = 43971
+SHA256 (rs-cors-v1.10.1_GH0.tar.gz) = 1f8e9bed0499b7e3065576a20d4ecfeb5a52fb06af52ac311840cf1ebda25b52
+SIZE (rs-cors-v1.10.1_GH0.tar.gz) = 54556
+SHA256 (samber-lo-v1.38.1_GH0.tar.gz) = 9ab13f475acdc640566bfe11f85d76e27c61c66a98ba5f19bb5a615be0397da7
+SIZE (samber-lo-v1.38.1_GH0.tar.gz) = 39891
+SHA256 (samber-slog-logrus-v1.0.0_GH0.tar.gz) = 885aba9c38988f84d8780cf2f2e392e1762a4d7b89a64417fb840c81949225ae
+SIZE (samber-slog-logrus-v1.0.0_GH0.tar.gz) = 7571
+SHA256 (sirupsen-logrus-v1.9.3_GH0.tar.gz) = cfa48a647a28c1f12fb6a9b672bc4d88b6407ff05aedcf23ce939d342646acce
+SIZE (sirupsen-logrus-v1.9.3_GH0.tar.gz) = 50320
+SHA256 (spf13-cobra-v1.8.0_GH0.tar.gz) = 66605a6a2297d819e3f92fa38fa6d7771fb8a4adb00e9aa7cb34021bd8389602
+SIZE (spf13-cobra-v1.8.0_GH0.tar.gz) = 189706
+SHA256 (spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
+SIZE (spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
+SHA256 (ssor-bom-6386211fdfcf_GH0.tar.gz) = 6e05adf64dd2846fa27f0e89038171600806529d3f0df3ef50edb42304399336
+SIZE (ssor-bom-6386211fdfcf_GH0.tar.gz) = 1802
+SHA256 (stretchr-testify-v1.8.4_GH0.tar.gz) = 0d3e82b04a05d9428a2a2aec8776bd0a07f14f5d1b4fa0a3676526ca8259fd62
+SIZE (stretchr-testify-v1.8.4_GH0.tar.gz) = 104427
+SHA256 (therootcompany-xz-v1.0.1_GH0.tar.gz) = 4ab011bbeca0f93cf40e40fd7a90f9d75c820dc630041016b47c4741541ab1b6
+SIZE (therootcompany-xz-v1.0.1_GH0.tar.gz) = 1138387
+SHA256 (tidwall-gjson-v1.17.1_GH0.tar.gz) = 36c5b3f39890ab9c76fcd0f72a424936f293cb08b13ce9a3ea4085b24005951f
+SIZE (tidwall-gjson-v1.17.1_GH0.tar.gz) = 59708
+SHA256 (tidwall-match-v1.1.1_GH0.tar.gz) = 1fc2ff17ecdd82c7ba739b4f373b9df731a8e42517c70285c8bbf24dd9b3f2f0
+SIZE (tidwall-match-v1.1.1_GH0.tar.gz) = 5931
+SHA256 (tidwall-pretty-v1.2.0_GH0.tar.gz) = fda514a386aff71cf7a4639a8fb8e1133bf8f583eba902b3c844a176401fad7d
+SIZE (tidwall-pretty-v1.2.0_GH0.tar.gz) = 11224
+SHA256 (ulikunitz-xz-v0.5.10_GH0.tar.gz) = 515f83921cf3e80b9196156cb4a0c1328243d5e09eca7c5ac7ce7e31b218c35b
+SIZE (ulikunitz-xz-v0.5.10_GH0.tar.gz) = 479622
diff --git a/lang/gptscript/pkg-descr b/lang/gptscript/pkg-descr
new file mode 100644
index 000000000000..d2999ed68796
--- /dev/null
+++ b/lang/gptscript/pkg-descr
@@ -0,0 +1,16 @@
+GPTScript is a new scripting language to automate your interaction with a Large
+Language Model (LLM), namely OpenAI. The ultimate goal is to create a natural
+language programming experience. The syntax of GPTScript is largely natural
+language, making it very easy to learn and use. Natural language prompts can be
+mixed with traditional scripts such as bash and python or even external HTTP
+service calls. With GPTScript you can do just about anything, like plan a
+vacation, edit a file, run some SQL, or build a mongodb/flask app. Here are
+some common use cases for GPTScript:
+
+ - Retrieval-Augmented Generation (RAG)
+ - Task Automation
+ - Agents and Assistants
+ - Data Analysis
+ - Vision, Image, and Audio
+ - Memory Management
+ - Chatbots
diff --git a/lang/gptscript/pkg-plist b/lang/gptscript/pkg-plist
new file mode 100644
index 000000000000..00d2f02bd680
--- /dev/null
+++ b/lang/gptscript/pkg-plist
@@ -0,0 +1,69 @@
+bin/gptscript
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/add-go-mod-dep.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bob-as-shell.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bob.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/car-notifier/Dockerfile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/car-notifier/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/car-notifier/car-notifier.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/count-lines-of-code.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/describe-code.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/echo.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fac.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gh-cmd.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/git-commit.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hacker-news-headlines.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hamlet-summarizer/.gitignore
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hamlet-summarizer/Hamlet.pdf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hamlet-summarizer/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hamlet-summarizer/hamlet-summarizer.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hamlet-summarizer/main.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hamlet-summarizer/requirements.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/helloworld.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/json-notebook/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/json-notebook/json-query.ipynb
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/artists.json
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/package-lock.json
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/package.json
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/public/index.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/public/script.js
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nodejs-imagegen/server.js
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/recipegenerator/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/recipegenerator/app.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/recipegenerator/recipegenerator.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/recipegenerator/requirements.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/recipegenerator/templates/index.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/samples-readme.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/search.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sentiments/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sentiments/main.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sentiments/requirements.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sentiments/tweet.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sqlite-download.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/.gitignore
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/README.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/app.vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/components/DisplayMode.vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/components/Nav.vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/components/New.vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/components/Stories.vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/lib/types.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/lib/unmangle.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/nuxt.config.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/package.json
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/pages/index.vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/pages/story/[name].vue
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/public/favicon.ico
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/server/api/story/[name].delete.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/server/api/story/[name].get.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/server/api/story/index.get.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/server/api/story/index.post.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/server/api/story/sse.get.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/server/tsconfig.json
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/store/index.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/story-book.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/tailwind.config.ts
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/story-book/tsconfig.json
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/syntax-from-code.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/time.gpt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/travel-agent.gpt