From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:59922) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1irt9k-000310-2Q for guix-patches@gnu.org; Wed, 15 Jan 2020 19:37:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1irt9i-0005Sm-EN for guix-patches@gnu.org; Wed, 15 Jan 2020 19:37:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:58786) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1irt9i-0005Se-B3 for guix-patches@gnu.org; Wed, 15 Jan 2020 19:37:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1irt9i-0000pb-9E for guix-patches@gnu.org; Wed, 15 Jan 2020 19:37:02 -0500 Subject: [bug#38606] [WIP v2 1/1] gnu: Add smlnj. References: <871rt77dsl.fsf@posteo.net> In-Reply-To: <871rt77dsl.fsf@posteo.net> Resent-Message-ID: From: Brett Gilio Date: Wed, 15 Jan 2020 18:36:43 -0600 Message-ID: <87ftggw82s.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=v2-0001-gnu-Add-smlnj.patch Content-Transfer-Encoding: quoted-printable Content-Description: [WIP v2 1/1] gnu: Add smlnj. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38606@debbugs.gnu.org >From 51d83f01e80f274fe30cf6cf39f5f0eff554c7a6 Mon Sep 17 00:00:00 2001 From: Brett Gilio Date: Fri, 13 Dec 2019 22:02:20 -0600 Subject: [WIP v2 1/1] gnu: Add smlnj. * gnu/packages/sml.scm (smlnj): New variable. --- gnu/packages/sml.scm | 158 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 156 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm index d441dcf638..af7f15512b 100644 --- a/gnu/packages/sml.scm +++ b/gnu/packages/sml.scm @@ -2,7 +2,7 @@ ;;; Copyright =C2=A9 2017 Andy Patterson ;;; Copyright =C2=A9 2017 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2018 Ricardo Wurmus -;;; Copyright =C2=A9 2019 Brett Gilio +;;; Copyright =C2=A9 2019, 2020 Brett Gilio ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,7 +28,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix gexp)) =20 (define-public polyml (package @@ -75,3 +76,156 @@ function interface, and a symbolic debugger.") (license (list license:lgpl2.1 license:lgpl2.1+)))) + +(define (smlnj-file version filename hash) + (origin + (method url-fetch) + (uri (string-append "http://smlnj.cs.uchicago.edu/dist/working/" versi= on "/" filename)) + (sha256 + (base32 + hash)))) + +(define-public smlnj + (package + (name "smlnj") + (version "110.94") + (source #f) ; Sources are passed as native-inputs. + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (file) + (invoke "tar" "xvf" (assoc-ref inputs file))) + (list "config" + "cm" + "compiler" + "runtime" + "system" + "MLRISC" + "smlnj-lib" + "old-basis" + "ckit" + "nlffi" + "cml" + "eXene" + "ml-lpt" + "ml-lex" + "ml-yacc" + "ml-burg" + "pgraph" + "trace-debug-profile" + "heap2asm" + "smlnj-c")) + #t)) + (delete 'configure) + (replace 'patch-source-shebangs + (lambda _ (substitute* + (list "config/install.sh" + "runtime/objs/mk.amd64-linux") + (("/bin/sh") (which "sh"))))) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "config/chk-global-names.sh" + (("CC=3D.*") "CC=3Dgcc")) + (substitute* "config/unpack" + (("# Now do it:") "exit 0")) + (substitute* "config/_arch-n-opsys" + (("uname") (which "uname"))) + (substitute* "config/install.sh" + (("DEFAULT_SIZE=3D\"32\"") + "DEFAULT_SIZE=3D\"64\"") + (("BASEDIR=3D\\$ROOT/base") + "BASEDIR=3D$ROOT")) + (invoke "sh" "config/install.sh")))))) + (native-inputs + `(("cm" + ,(smlnj-file version + "cm.tgz" + "1x70nrk1gnxrzx16c7dyns35zkrqc0ngqyk34880ih04ccwmyxkp= ")) + ("smlnj-c" + ,(smlnj-file version + "smlnj-c.tgz" + "1w6yrckbn5yxi3m0hqb57lwmf7pri66yi0zs2ahvcv5bwbr4dfh1= ")) + ("config" + ,(smlnj-file version + "config.tgz" + "16ynwrakbcv5mp8i596aw8da09qdjkx9j0y5wxgix8aa99px4aba= ")) + ("compiler" + ,(smlnj-file version + "compiler.tgz" + "1fmxj017s9bg1hr4psvcxasp0hcrc00bk9f0845fr7gy8mb743a3= ")) + ("runtime" + ,(smlnj-file version + "runtime.tgz" + "08xq9ddp4ciqi1rwsnma0rsj7ydlbzcb9pc9m27n4krd61h8k4z9= ")) + ("system" + ,(smlnj-file version + "system.tgz" + "0lmi03mx9fbrdshazqmrvg1j4s6hnpyfm90rl7f8qhgy0qi8almh= ")) + ("MLRISC" + ,(smlnj-file version + "MLRISC.tgz" + "0y3f1ffzpqfn03a941dmjsr0zz4lz742ww1zbfnp15jbcy7mybiv= ")) + ("smlnj-lib" + ,(smlnj-file version + "smlnj-lib.tgz" + "1vvlgws7kb53v63hwfakvq5xbiix1pqiafk5m86qas46ayy731g7= ")) + ("old-basis" + ,(smlnj-file version + "old-basis.tgz" + "1kjgwnz0caymk4im9mjf88f2cym8bndnz0r84di5l4bd6pkwl8b2= ")) + ("ckit" + ,(smlnj-file version + "ckit.tgz" + "158973wwd4pkf6fpzwyfm9968xl7pmb2sd2zf1fb3s055gm5anz2= ")) + ("nlffi" + ,(smlnj-file version + "nlffi.tgz" + "13b3561b2bxpxyyy8ld359na7vimndw53nsc0fgr9li4xa3y70hl= ")) + ("cml" + ,(smlnj-file version + "cml.tgz" + "0q00nmsqq33vdykyz9mgsy7r437l26gnxxmfl03ls88kiq7fbq3l= ")) + ("eXene" + ,(smlnj-file version + "eXene.tgz" + "0phxh34psji67z30lq61b8pkwp7m45pakn6vnk592lmibikax2q0= ")) + ("ml-lpt" + ,(smlnj-file version + "ml-lpt.tgz" + "053784lbf57pzd80gz4x7chqyxvdn580ix6pkqwcr1vwpv980zyj= ")) + ("ml-lex" + ,(smlnj-file version + "ml-lex.tgz" + "052w6ck80v1jgql4m0k24hkkx9k4qwvqgxvk22hnwfh6k1avrk1i= ")) + ("ml-yacc" + ,(smlnj-file version + "ml-yacc.tgz" + "1vj346ffzx7vbcnzhw49cqzlmfw35hzzhvlivyakdqalqwc97h6m= ")) + ("ml-burg" + ,(smlnj-file version + "ml-burg.tgz" + "02qw4xkdh4h6ngj8a5yhgg4k4ph6lnhslbfh1drdz79whd389lzx= ")) + ("pgraph" + ,(smlnj-file version + "pgraph.tgz" + "0c4qgm46dvkix4s56hj3ii9025m3pcxj4hc2z4mcdxlw0gj0r684= ")) + ("trace-debug-profile" + ,(smlnj-file version + "trace-debug-profile.tgz" + "1z8ip80hgnj637ywcpzj9hfbnsci3qsdhssdbgparkzh7mk2bi4i= ")) + ("heap2asm" + ,(smlnj-file version + "heap2asm.tgz" + "0g0ndf4wj197igrac136lsc8wpj9686vv0kwarrbwffrrrkb1w76= ")))) + (synopsis "Standard ML of New Jersey interactive compiler") + (description "SML/NJ is an implementation of the Standard ML programmi= ng +language. Standard ML has many features, including type safety, polymorph= ism, +algebraic data types with pattern matching, higher-order functions, and a +sophisticated module system. It is especially well-suited for writing +compilers and other language processors.") + (home-page "http://www.smlnj.org/") + (license license:bsd-2))) --=20 2.24.1