Skip to content

Commit

Permalink
devel/hvm: New port: Massively parallel, optimal functional runtime i…
Browse files Browse the repository at this point in the history
…n Rust
  • Loading branch information
yurivict committed May 18, 2024
1 parent 54181a8 commit 17495d7
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 0 deletions.
1 change: 1 addition & 0 deletions devel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -964,6 +964,7 @@
SUBDIR += hs-threadscope
SUBDIR += htable
SUBDIR += hub
SUBDIR += hvm
SUBDIR += hwloc
SUBDIR += hwloc2
SUBDIR += hyperscan
Expand Down
53 changes: 53 additions & 0 deletions devel/hvm/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
PORTNAME= hvm
DISTVERSION= g20240518
CATEGORIES= devel

MAINTAINER= yuri@FreeBSD.org
COMMENT= Massively parallel, optimal functional runtime in Rust
WWW= https://higherorderco.com

LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE

USES= cargo

USE_GITHUB= yes
GH_ACCOUNT= HigherOrderCO
GH_PROJECT= ${PORTNAME:tu}
GH_TAGNAME= c98deff

CARGO_CRATES= 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 \
cc-1.0.97 \
clap-4.5.4 \
clap_builder-4.5.2 \
clap_lex-0.7.0 \
colorchoice-1.0.1 \
hermit-abi-0.3.9 \
highlight_error-0.1.1 \
is_terminal_polyfill-1.70.0 \
libc-0.2.155 \
num_cpus-1.16.0 \
strsim-0.11.1 \
utf8parse-0.2.1 \
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>
59 changes: 59 additions & 0 deletions devel/hvm/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
TIMESTAMP = 1716051747
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/cc-1.0.97.crate) = 099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4
SIZE (rust/crates/cc-1.0.97.crate) = 76951
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_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/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
SHA256 (rust/crates/highlight_error-0.1.1.crate) = 809e18805660d7b6b2e2b9f316a5099521b5998d5cba4dda11b5157a21aaef03
SIZE (rust/crates/highlight_error-0.1.1.crate) = 15931
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/libc-0.2.155.crate) = 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c
SIZE (rust/crates/libc-0.2.155.crate) = 743539
SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
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-HVM-g20240518-c98deff_GH0.tar.gz) = ffa01591f21a538415f8118a981438b19a73267af3ef349e84a90978aae4af69
SIZE (HigherOrderCO-HVM-g20240518-c98deff_GH0.tar.gz) = 581122
11 changes: 11 additions & 0 deletions devel/hvm/pkg-descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
HVM2 is a h=Higher-order Virtual Machine 2.

HVM2 is a massively parallel interaction combinator evaluator.

By compiling programs from high-level languages (such as Python and Haskell) to
HVM, one can run these languages directly on massively parallel hardware, like
GPUs, with near-ideal speedup.

HVM2 is the successor to HVM1, a 2022 prototype of this concept. Compared to its
predecessor, HVM2 is simpler, faster and, most importantly, more correct. HOC
provides long-term support for all features listed on its paper.

0 comments on commit 17495d7

Please sign in to comment.