git: cdb51da60957 - main - lang/bend: New port: Massively parallel, high-level programming language
Date: Sun, 19 May 2024 05:27:19 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=cdb51da609577dc821aa8f75a8e21c94065ebbd5 commit cdb51da609577dc821aa8f75a8e21c94065ebbd5 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2024-05-19 05:23:28 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2024-05-19 05:27:16 +0000 lang/bend: New port: Massively parallel, high-level programming language --- lang/Makefile | 1 + lang/bend/Makefile | 98 ++++++++++++++++++++++++++++++++++++ lang/bend/distinfo | 141 ++++++++++++++++++++++++++++++++++++++++++++++++++++ lang/bend/pkg-descr | 9 ++++ 4 files changed, 249 insertions(+) diff --git a/lang/Makefile b/lang/Makefile index b9ca462ed82d..38c59d7c628b 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -12,6 +12,7 @@ SUBDIR += awka SUBDIR += bas2tap SUBDIR += basic256 + SUBDIR += bend SUBDIR += bsh SUBDIR += bwbasic SUBDIR += c diff --git a/lang/bend/Makefile b/lang/bend/Makefile new file mode 100644 index 000000000000..7f66b2e0820f --- /dev/null +++ b/lang/bend/Makefile @@ -0,0 +1,98 @@ +PORTNAME= bend +DISTVERSION= 0.2.7 +CATEGORIES= lang +PKGNAMESUFFIX= -language + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Massively parallel, high-level programming language +WWW= https://higherorderco.com + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE-APACHE + +BUILD_DEPENDS= rust-nightly>0:lang/rust-nightly +RUN_DEPENDS= hvm:devel/hvm + +USES= cargo + +USE_GITHUB= yes +GH_ACCOUNT= HigherOrderCO +GH_PROJECT= Bend + +CARGO_BUILDDEP= no +CARGO_CRATES= TSPL-0.0.9 \ + TSPL-0.0.12 \ + anstream-0.6.14 \ + anstyle-1.0.7 \ + anstyle-parse-0.2.4 \ + anstyle-query-1.0.3 \ + anstyle-wincon-3.0.3 \ + arrayvec-0.7.4 \ + autocfg-1.3.0 \ + bitflags-2.5.0 \ + cc-1.0.97 \ + cfg-if-1.0.0 \ + clap-4.5.4 \ + clap_builder-4.5.2 \ + clap_derive-4.5.4 \ + clap_lex-0.7.0 \ + colorchoice-1.0.1 \ + console-0.15.8 \ + either-1.12.0 \ + encode_unicode-0.3.6 \ + equivalent-1.0.1 \ + hashbrown-0.14.5 \ + heck-0.5.0 \ + highlight_error-0.1.1 \ + hvm-core-0.3.0-hvm32.compat.2 \ + indexmap-2.2.6 \ + insta-1.39.0 \ + interner-0.2.1 \ + is_terminal_polyfill-1.70.0 \ + itertools-0.11.0 \ + lazy_static-1.4.0 \ + libc-0.2.153 \ + linked-hash-map-0.5.6 \ + loaned-0.1.1 \ + lock_api-0.4.12 \ + nohash-hasher-0.2.0 \ + parking_lot-0.12.2 \ + parking_lot_core-0.9.10 \ + proc-macro2-1.0.82 \ + psm-0.1.21 \ + quote-1.0.36 \ + redox_syscall-0.5.1 \ + same-file-1.0.6 \ + scopeguard-1.2.0 \ + similar-2.5.0 \ + smallvec-1.13.2 \ + stacker-0.1.15 \ + stdext-0.3.3 \ + strsim-0.11.1 \ + syn-2.0.64 \ + thiserror-1.0.60 \ + thiserror-impl-1.0.60 \ + unicode-ident-1.0.12 \ + utf8parse-0.2.1 \ + walkdir-2.5.0 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-util-0.1.8 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-sys-0.52.0 \ + windows-targets-0.52.5 \ + windows_aarch64_gnullvm-0.52.5 \ + windows_aarch64_msvc-0.52.5 \ + windows_i686_gnu-0.52.5 \ + windows_i686_gnullvm-0.52.5 \ + windows_i686_msvc-0.52.5 \ + windows_x86_64_gnu-0.52.5 \ + windows_x86_64_gnullvm-0.52.5 \ + windows_x86_64_msvc-0.52.5 + +PLIST_FILES= bin/${PORTNAME} + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + +.include <bsd.port.mk> diff --git a/lang/bend/distinfo b/lang/bend/distinfo new file mode 100644 index 000000000000..d5acd6bf83c0 --- /dev/null +++ b/lang/bend/distinfo @@ -0,0 +1,141 @@ +TIMESTAMP = 1716050543 +SHA256 (rust/crates/TSPL-0.0.9.crate) = 5a9423b1e6e2d6c0bbc03660f58f9c30f55359e13afea29432e6e767c0f7dc25 +SIZE (rust/crates/TSPL-0.0.9.crate) = 4054 +SHA256 (rust/crates/TSPL-0.0.12.crate) = 52dfd6238b1461b99635b26585a85b4e7b9c786cc0481b3c540ae5f590b6dfb6 +SIZE (rust/crates/TSPL-0.0.12.crate) = 4102 +SHA256 (rust/crates/anstream-0.6.14.crate) = 418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b +SIZE (rust/crates/anstream-0.6.14.crate) = 29160 +SHA256 (rust/crates/anstyle-1.0.7.crate) = 038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b +SIZE (rust/crates/anstyle-1.0.7.crate) = 15709 +SHA256 (rust/crates/anstyle-parse-0.2.4.crate) = c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4 +SIZE (rust/crates/anstyle-parse-0.2.4.crate) = 23069 +SHA256 (rust/crates/anstyle-query-1.0.3.crate) = a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5 +SIZE (rust/crates/anstyle-query-1.0.3.crate) = 9742 +SHA256 (rust/crates/anstyle-wincon-3.0.3.crate) = 61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19 +SIZE (rust/crates/anstyle-wincon-3.0.3.crate) = 12179 +SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711 +SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856 +SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 +SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 +SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1 +SIZE (rust/crates/bitflags-2.5.0.crate) = 43821 +SHA256 (rust/crates/cc-1.0.97.crate) = 099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4 +SIZE (rust/crates/cc-1.0.97.crate) = 76951 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/clap-4.5.4.crate) = 90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0 +SIZE (rust/crates/clap-4.5.4.crate) = 55401 +SHA256 (rust/crates/clap_builder-4.5.2.crate) = ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4 +SIZE (rust/crates/clap_builder-4.5.2.crate) = 163566 +SHA256 (rust/crates/clap_derive-4.5.4.crate) = 528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64 +SIZE (rust/crates/clap_derive-4.5.4.crate) = 29159 +SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce +SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915 +SHA256 (rust/crates/colorchoice-1.0.1.crate) = 0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422 +SIZE (rust/crates/colorchoice-1.0.1.crate) = 7895 +SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb +SIZE (rust/crates/console-0.15.8.crate) = 36364 +SHA256 (rust/crates/either-1.12.0.crate) = 3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b +SIZE (rust/crates/either-1.12.0.crate) = 18974 +SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f +SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741 +SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 +SIZE (rust/crates/equivalent-1.0.1.crate) = 6615 +SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 +SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 +SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea +SIZE (rust/crates/heck-0.5.0.crate) = 11517 +SHA256 (rust/crates/highlight_error-0.1.1.crate) = 809e18805660d7b6b2e2b9f316a5099521b5998d5cba4dda11b5157a21aaef03 +SIZE (rust/crates/highlight_error-0.1.1.crate) = 15931 +SHA256 (rust/crates/hvm-core-0.3.0-hvm32.compat.2.crate) = 9bd1f250a4a29a9bb2e30fc08a712d7c005df761b84249d7d0ecddf3cc59eb02 +SIZE (rust/crates/hvm-core-0.3.0-hvm32.compat.2.crate) = 1625105 +SHA256 (rust/crates/indexmap-2.2.6.crate) = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26 +SIZE (rust/crates/indexmap-2.2.6.crate) = 82420 +SHA256 (rust/crates/insta-1.39.0.crate) = 810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5 +SIZE (rust/crates/insta-1.39.0.crate) = 87049 +SHA256 (rust/crates/interner-0.2.1.crate) = e8c60687056b35a996f2213287048a7092d801b61df5fee3bd5bd9bf6f17a2d0 +SIZE (rust/crates/interner-0.2.1.crate) = 22056 +SHA256 (rust/crates/is_terminal_polyfill-1.70.0.crate) = f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800 +SIZE (rust/crates/is_terminal_polyfill-1.70.0.crate) = 7451 +SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57 +SIZE (rust/crates/itertools-0.11.0.crate) = 125074 +SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 +SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443 +SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd +SIZE (rust/crates/libc-0.2.153.crate) = 740614 +SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f +SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049 +SHA256 (rust/crates/loaned-0.1.1.crate) = f16fbe026127b8ff026fcc7419ddf201d47807295690de255bb68fced2ba15af +SIZE (rust/crates/loaned-0.1.1.crate) = 7664 +SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 +SIZE (rust/crates/lock_api-0.4.12.crate) = 27591 +SHA256 (rust/crates/nohash-hasher-0.2.0.crate) = 2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451 +SIZE (rust/crates/nohash-hasher-0.2.0.crate) = 8051 +SHA256 (rust/crates/parking_lot-0.12.2.crate) = 7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb +SIZE (rust/crates/parking_lot-0.12.2.crate) = 41723 +SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 +SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406 +SHA256 (rust/crates/proc-macro2-1.0.82.crate) = 8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b +SIZE (rust/crates/proc-macro2-1.0.82.crate) = 48452 +SHA256 (rust/crates/psm-0.1.21.crate) = 5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874 +SIZE (rust/crates/psm-0.1.21.crate) = 23126 +SHA256 (rust/crates/quote-1.0.36.crate) = 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 +SIZE (rust/crates/quote-1.0.36.crate) = 28507 +SHA256 (rust/crates/redox_syscall-0.5.1.crate) = 469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e +SIZE (rust/crates/redox_syscall-0.5.1.crate) = 22536 +SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 +SIZE (rust/crates/same-file-1.0.6.crate) = 10183 +SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 +SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 +SHA256 (rust/crates/similar-2.5.0.crate) = fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640 +SIZE (rust/crates/similar-2.5.0.crate) = 51648 +SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 +SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 +SHA256 (rust/crates/stacker-0.1.15.crate) = c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce +SIZE (rust/crates/stacker-0.1.15.crate) = 14656 +SHA256 (rust/crates/stdext-0.3.3.crate) = 4af28eeb7c18ac2dbdb255d40bee63f203120e1db6b0024b177746ebec7049c1 +SIZE (rust/crates/stdext-0.3.3.crate) = 15655 +SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f +SIZE (rust/crates/strsim-0.11.1.crate) = 14266 +SHA256 (rust/crates/syn-2.0.64.crate) = 7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f +SIZE (rust/crates/syn-2.0.64.crate) = 264945 +SHA256 (rust/crates/thiserror-1.0.60.crate) = 579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18 +SIZE (rust/crates/thiserror-1.0.60.crate) = 21247 +SHA256 (rust/crates/thiserror-impl-1.0.60.crate) = e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524 +SIZE (rust/crates/thiserror-impl-1.0.60.crate) = 15787 +SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b +SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168 +SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a +SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435 +SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b +SIZE (rust/crates/walkdir-2.5.0.crate) = 23951 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-util-0.1.8.crate) = 4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b +SIZE (rust/crates/winapi-util-0.1.8.crate) = 12416 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d +SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877 +SHA256 (rust/crates/windows-targets-0.52.5.crate) = 6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb +SIZE (rust/crates/windows-targets-0.52.5.crate) = 6376 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263 +SIZE (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 433266 +SHA256 (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6 +SIZE (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 827944 +SHA256 (rust/crates/windows_i686_gnu-0.52.5.crate) = 88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670 +SIZE (rust/crates/windows_i686_gnu-0.52.5.crate) = 875699 +SHA256 (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9 +SIZE (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 473064 +SHA256 (rust/crates/windows_i686_msvc-0.52.5.crate) = db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf +SIZE (rust/crates/windows_i686_msvc-0.52.5.crate) = 895404 +SHA256 (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9 +SIZE (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 831539 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596 +SIZE (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 433246 +SHA256 (rust/crates/windows_x86_64_msvc-0.52.5.crate) = bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0 +SIZE (rust/crates/windows_x86_64_msvc-0.52.5.crate) = 827905 +SHA256 (HigherOrderCO-Bend-0.2.7_GH0.tar.gz) = 4d32d4f02f5d6321dc64b3de212786f575c1d451e15a48caaf2a416d5ca389fc +SIZE (HigherOrderCO-Bend-0.2.7_GH0.tar.gz) = 1030246 diff --git a/lang/bend/pkg-descr b/lang/bend/pkg-descr new file mode 100644 index 000000000000..d00106a398b0 --- /dev/null +++ b/lang/bend/pkg-descr @@ -0,0 +1,9 @@ +Bend is a massively parallel, high-level programming language. + +Unlike low-level alternatives like CUDA and Metal, Bend has the feeling and +features of expressive languages like Python and Haskell, including fast object +allocations, higher-order functions with full closure support, unrestricted +recursion, even continuations. Yet, it runs on massively parallel hardware like +GPUs, with near-linear speedup based on core count, and zero explicit parallel +annotations: no thread spawning, no locks, mutexes, atomics. Bend is powered by +the HVM2 runtime.