GNU bug report logs - #61678
[PATCH 0/2] gnu: Add smlsharp.

Previous Next

Package: guix-patches;

Reported by: gemmaro <gemmaro.dev <at> gmail.com>

Date: Tue, 21 Feb 2023 13:59:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 61678 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Tue, 21 Feb 2023 13:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to gemmaro <gemmaro.dev <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 21 Feb 2023 13:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH 0/2] gnu: Add smlsharp.
Date: Tue, 21 Feb 2023 22:58:41 +0900
This series of patches adds SML#, an open source functional programming
language compatible with with Standard ML.

gemmaro (2):
  gnu: Add massivethreads.
  gnu: Add smlsharp.

 gnu/packages/parallel.scm | 26 +++++++++++++++++++++
 gnu/packages/sml.scm      | 48 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 74 insertions(+)


base-commit: 73b5c955ae46af2548625fe31afe60193fb83e2a
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Tue, 21 Feb 2023 14:35:01 GMT) Full text and rfc822 format available.

Message #8 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH 1/2] gnu: Add massivethreads.
Date: Tue, 21 Feb 2023 23:33:39 +0900
* gnu/packages/parallel.scm (massivethreads): New variable.
---
 gnu/packages/parallel.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index e2a6cfb668..a26d23d542 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019-2022 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2020 Roel Janssen <roel <at> gnu.org>
 ;;; Copyright © 2021 Stefan Reichör <stefan <at> xsteve.at>
+;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -513,3 +514,28 @@ (define-public psimd
        "This header-only C++ library provides a portable interface to
 single-instruction multiple-data (SIMD) intrinsics.")
       (license license:expat))))
+
+(define-public massivethreads
+  (package
+    (name "massivethreads")
+    (version "1.00")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://www.eidos.ic.i.u-tokyo.ac.jp/research/massivethreads/")
+                    (commit "v1.00")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0d93xf2zknq92wlcm7xc7zbja2fh3qyl543xx2qc64k3rslmf8yh"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/massivethreads/massivethreads")
+    (synopsis "Lightweight thread library for high productivity languages")
+    (description
+     "A thread library that can spawn threads two orders of magnitude faster
+than native operating system threads.  Based on this technology, we are
+working on high-level parallel programming languages that target a
+range of machines from multi-core computers to massively parallel
+processors.")
+    (license license:bsd-2)))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Tue, 21 Feb 2023 14:35:01 GMT) Full text and rfc822 format available.

Message #11 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH 2/2] gnu: Add smlsharp.
Date: Tue, 21 Feb 2023 23:33:40 +0900
* gnu/packages/sml.scm (smlsharp): New variable.
---
 gnu/packages/sml.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 368abf6cfa..5509667e03 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2019, 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
+;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,9 +22,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages sml)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages parallel)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
@@ -340,3 +345,46 @@ (define-public smlnj
     (license (license:fsf-free
                "https://www.smlnj.org/license.html"
                "https://www.gnu.org/licenses/license-list#StandardMLofNJ"))))
+
+(define-public smlsharp
+  (package
+    (name "smlsharp")
+    (version "4.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/smlsharp/smlsharp/releases/download/v"
+                    version "/smlsharp-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1nv567na798qysyw7bc8aaz0v51f239z0s3w37nzqz4z6qgzni0b"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:parallel-build? #t
+       #:parallel-tests? #t
+       #:test-target "test"
+       #:phases (modify-phases %standard-phases
+                  ;; NOTE: Needed for running SML# executables
+                  (add-after 'install 'wrap-programs
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out"))
+                            (libs (map (lambda (name)
+                                         (string-append (assoc-ref inputs name)
+                                                        "/lib"))
+                                       '("gmp" "massivethreads" "glibc"))))
+                        (with-directory-excursion (string-append out "/bin")
+                          (for-each (lambda (file)
+                                      (wrap-program (basename file)
+                                                    `("LIBRARY_PATH" prefix
+                                                      ,libs)) #t)
+                                    (find-files ".")))))))))
+    (inputs (list llvm-11 gmp massivethreads glibc bash-minimal))
+    (home-page "https://smlsharp.github.io/en/")
+    (synopsis
+     "Open source functional programming language compatible with with Standard ML")
+    (description
+     "SML# is an open source functional programming language and have been developed
+by the SML# Delelopment Team.  While maintaining compatibility with Standard ML, it
+provides practically important features such as interoperability with C and
+databases.")
+    (license license:expat)))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Thu, 29 Jun 2023 16:11:02 GMT) Full text and rfc822 format available.

Message #14 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH v2 1/2] gnu: Add massivethreads.
Date: Fri, 30 Jun 2023 01:07:34 +0900
* gnu/packages/parallel.scm (massivethreads): New variable.
---
 gnu/packages/parallel.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 569e98430c7..da5dd6a0b94 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019-2022 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2020 Roel Janssen <roel <at> gnu.org>
 ;;; Copyright © 2021 Stefan Reichör <stefan <at> xsteve.at>
+;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,6 +49,7 @@ (define-module (gnu packages parallel)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freeipmi)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -552,3 +554,29 @@ (define-public psimd
        "This header-only C++ library provides a portable interface to
 single-instruction multiple-data (SIMD) intrinsics.")
       (license license:expat))))
+
+(define-public massivethreads
+  (package
+    (name "massivethreads")
+    (version "1.00")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/massivethreads/massivethreads")
+                    (commit "v1.00")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0d93xf2zknq92wlcm7xc7zbja2fh3qyl543xx2qc64k3rslmf8yh"))))
+    (build-system gnu-build-system)
+    ;; Cannot built with glibc 2.34 or later.
+    ;; https://github.com/massivethreads/massivethreads/pull/15
+    (inputs (list glibc-2.33 gcc-10))
+    (home-page "https://www.eidos.ic.i.u-tokyo.ac.jp/research/massivethreads/")
+    (synopsis "Lightweight thread library for high productivity languages")
+    (description
+     "A thread library that can spawn threads two orders of magnitude faster
+than native operating system threads.  Based on this technology, we are
+working on high-level parallel programming languages that target a range of
+machines from multi-core computers to massively parallel processors.")
+    (license license:bsd-2)))

base-commit: 2b25bc03a11e1c6a473bbb000c35e94233120346
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Thu, 29 Jun 2023 16:13:02 GMT) Full text and rfc822 format available.

Message #17 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH v2 2/2] gnu: Add smlsharp.
Date: Fri, 30 Jun 2023 01:07:36 +0900
* gnu/packages/sml.scm (smlsharp): New variable.
---
 gnu/packages/sml.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 368abf6cfa9..12c2d89d486 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2019, 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
+;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,12 +22,17 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages sml)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages parallel)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -340,3 +346,49 @@ (define-public smlnj
     (license (license:fsf-free
                "https://www.smlnj.org/license.html"
                "https://www.gnu.org/licenses/license-list#StandardMLofNJ"))))
+
+(define-public smlsharp
+  (package
+    (name "smlsharp")
+    (version "4.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/smlsharp/smlsharp/releases/download/v"
+                    version "/smlsharp-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1nv567na798qysyw7bc8aaz0v51f239z0s3w37nzqz4z6qgzni0b"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:parallel-build? #t
+           #:parallel-tests? #t
+           #:test-target "test"
+           #:phases #~(modify-phases %standard-phases
+                        ;; NOTE: Needed for running SML# executables
+                        (add-after 'install 'wrap-programs
+                          (lambda* (#:key inputs outputs #:allow-other-keys)
+                            (let ((out (assoc-ref outputs "out"))
+                                  (libs (map (lambda (name)
+                                               (string-append (assoc-ref
+                                                               inputs name)
+                                                              "/lib"))
+                                             '("gmp" "massivethreads" "glibc"))))
+                              (with-directory-excursion (string-append out
+                                                                       "/bin")
+                                (for-each (lambda (file)
+                                            (wrap-program (basename file)
+                                              `("LIBRARY_PATH" prefix
+                                                ,libs)) #t)
+                                          (find-files ".")))))))))
+    (inputs (list llvm-11 gmp massivethreads glibc bash-minimal))
+    (home-page "https://smlsharp.github.io/en/")
+    (synopsis
+     "Open source functional programming language compatible with with
+Standard ML")
+    (description
+     "SML# is an open source functional programming language and have been
+developed by the SML# Delelopment Team.  While maintaining compatibility with
+Standard ML, it provides practically important features such as
+interoperability with C and databases.")
+    (license license:expat)))
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Sat, 01 Jul 2023 13:54:02 GMT) Full text and rfc822 format available.

Message #20 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH v3 1/2] gnu: Add massivethreads.
Date: Sat,  1 Jul 2023 22:49:04 +0900
* gnu/packages/parallel.scm (massivethreads): New variable.
---
 gnu/packages/parallel.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 569e98430c..a5c297b04a 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019-2022 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2020 Roel Janssen <roel <at> gnu.org>
 ;;; Copyright © 2021 Stefan Reichör <stefan <at> xsteve.at>
+;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,6 +49,7 @@ (define-module (gnu packages parallel)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freeipmi)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -552,3 +554,29 @@ (define-public psimd
        "This header-only C++ library provides a portable interface to
 single-instruction multiple-data (SIMD) intrinsics.")
       (license license:expat))))
+
+(define-public massivethreads
+  (package
+    (name "massivethreads")
+    (version "1.00")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/massivethreads/massivethreads")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0d93xf2zknq92wlcm7xc7zbja2fh3qyl543xx2qc64k3rslmf8yh"))))
+    (build-system gnu-build-system)
+    ;; Cannot built with glibc 2.34 or later.
+    ;; https://github.com/massivethreads/massivethreads/pull/15
+    (inputs (list glibc-2.33 gcc-10))
+    (home-page "https://www.eidos.ic.i.u-tokyo.ac.jp/research/massivethreads/")
+    (synopsis "Lightweight thread library")
+    (description
+     "MassiveThreads is a thread library that can spawn threads two orders of
+magnitude faster than native operating system threads.  It provides three APIs
+to use: native intefrace, pthread-compatible interface, and TBB-like
+interface.")
+    (license license:bsd-2)))

base-commit: 889e1dbae3b0d4ac2300b524b3dd6b8f0499ff5e
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Sat, 01 Jul 2023 13:56:02 GMT) Full text and rfc822 format available.

Message #23 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH v3 2/2] gnu: Add smlsharp.
Date: Sat,  1 Jul 2023 22:49:06 +0900
* gnu/packages/sml.scm (smlsharp): New variable.
---
 gnu/packages/sml.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 368abf6cfa..81fa20e7ce 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2019, 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
+;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,12 +22,17 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages sml)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages parallel)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -340,3 +346,54 @@ (define-public smlnj
     (license (license:fsf-free
                "https://www.smlnj.org/license.html"
                "https://www.gnu.org/licenses/license-list#StandardMLofNJ"))))
+
+(define-public smlsharp
+  (package
+    (name "smlsharp")
+    (version "4.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/smlsharp/smlsharp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0cwpp4azkr79vf3c0w3g3zxv1rdcbi4gs7kp80b7aa1b5cqv04bj"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:parallel-build? #t
+           #:parallel-tests? #t
+           #:test-target "test"
+           #:phases #~(modify-phases %standard-phases
+                        ;; NOTE: Needed for running SML# executables
+                        (add-after 'install 'wrap-programs
+                          (lambda* (#:key inputs outputs #:allow-other-keys)
+                            (let ((out (assoc-ref outputs "out"))
+                                  (libs (map (lambda (name)
+                                               (string-append (assoc-ref
+                                                               inputs name)
+                                                              "/lib"))
+                                             '("gmp" "massivethreads" "glibc"))))
+                              (with-directory-excursion (string-append out
+                                                                       "/bin")
+                                (for-each (lambda (file)
+                                            (wrap-program (basename file)
+                                              `("LIBRARY_PATH" prefix
+                                                ,libs)) #t)
+                                          (find-files ".")))))))))
+    (inputs (list llvm-11 gmp massivethreads glibc bash-minimal))
+    (home-page "https://smlsharp.github.io/en/")
+    (synopsis
+     "New language in the Standard ML family")
+    (description
+     "SML# is a new generation of the Standard ML family.  The main features
+of SML# include the following:
+@itemize
+@item record polymorphism
+@item integration with SQL
+@item interoperability with C
+@item separate compilation and linking
+@item multithread support
+@end itemize")
+    (license license:expat)))
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Mon, 01 Jan 2024 10:59:02 GMT) Full text and rfc822 format available.

Message #26 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH v4 1/2] gnu: Add massivethreads.
Date: Mon,  1 Jan 2024 19:57:25 +0900
* gnu/packages/parallel.scm (massivethreads): New variable.
---
 gnu/packages/parallel.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index e12035e47d..f1cda36b70 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019-2023 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2020 Roel Janssen <roel <at> gnu.org>
 ;;; Copyright © 2021 Stefan Reichör <stefan <at> xsteve.at>
+;;; Copyright © 2024 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,6 +49,7 @@ (define-module (gnu packages parallel)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freeipmi)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -566,3 +568,30 @@ (define-public psimd
        "This header-only C++ library provides a portable interface to
 single-instruction multiple-data (SIMD) intrinsics.")
       (license license:expat))))
+
+(define-public massivethreads
+  (package
+    (name "massivethreads")
+    (version "1.00")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/massivethreads/massivethreads")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0d93xf2zknq92wlcm7xc7zbja2fh3qyl543xx2qc64k3rslmf8yh"))))
+    (build-system gnu-build-system)
+    ;; Cannot built with glibc 2.34 or later.
+    ;; https://github.com/massivethreads/massivethreads/pull/15
+    (inputs (list glibc-2.33 gcc-5))
+    (home-page
+     "https://www.eidos.ic.i.u-tokyo.ac.jp/contents/research/massivethreads.html")
+    (synopsis "Lightweight thread library")
+    (description
+     "MassiveThreads is a thread library that can spawn threads two orders of
+magnitude faster than native operating system threads.  It provides three APIs
+to use: native intefrace, pthread-compatible interface, and TBB-like
+interface.")
+    (license license:bsd-2)))

base-commit: 86b5fa100992527c434616482ba9cfd92b636d12
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#61678; Package guix-patches. (Mon, 01 Jan 2024 10:59:02 GMT) Full text and rfc822 format available.

Message #29 received at 61678 <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: 61678 <at> debbugs.gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH v4 2/2] gnu: Add smlsharp.
Date: Mon,  1 Jan 2024 19:57:26 +0900
* gnu/packages/sml.scm (smlsharp): New variable.

Change-Id: I3418d7219d88653432f16e6bca3e4aa6e7467bd8
---
 gnu/packages/sml.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 368abf6cfa..8d5373328d 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2019, 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
+;;; Copyright © 2024 gemmaro <gemmaro.dev <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,12 +22,17 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages sml)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages parallel)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -340,3 +346,53 @@ (define-public smlnj
     (license (license:fsf-free
                "https://www.smlnj.org/license.html"
                "https://www.gnu.org/licenses/license-list#StandardMLofNJ"))))
+
+(define-public smlsharp
+  (package
+    (name "smlsharp")
+    (version "4.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/smlsharp/smlsharp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0cwpp4azkr79vf3c0w3g3zxv1rdcbi4gs7kp80b7aa1b5cqv04bj"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:parallel-build? #t
+      #:parallel-tests? #t
+      #:test-target "test"
+      #:phases #~(modify-phases %standard-phases
+                   ;; NOTE: Needed for running SML# executables
+                   (add-after 'install 'wrap-programs
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let ((out (assoc-ref outputs "out"))
+                             (libs (map (lambda (name)
+                                          (string-append (assoc-ref inputs
+                                                                    name)
+                                                         "/lib"))
+                                        '("gmp" "massivethreads" "glibc"))))
+                         (with-directory-excursion (string-append out "/bin")
+                           (for-each (lambda (file)
+                                       (wrap-program (basename file)
+                                         `("LIBRARY_PATH" prefix
+                                           ,libs)) #t)
+                                     (find-files ".")))))))))
+    (inputs (list llvm-11 gmp massivethreads glibc bash-minimal))
+    (home-page "https://smlsharp.github.io/en/")
+    (synopsis "New language in the Standard ML family")
+    (description
+     "SML# is a new generation of the Standard ML family.  The main features
+of SML# include the following:
+@itemize
+@item record polymorphism
+@item integration with SQL
+@item interoperability with C
+@item separate compilation and linking
+@item multithread support
+@end itemize")
+    (license license:expat)))
-- 
2.41.0





This bug report was last modified 1 year and 167 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.