From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id YKMkNzJUVWJ9aQAAgWs5BA (envelope-from ) for ; Tue, 12 Apr 2022 12:28:02 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id KFUNNDJUVWIV+QAAauVa8A (envelope-from ) for ; Tue, 12 Apr 2022 12:28:02 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 65BE61EBB6 for ; Tue, 12 Apr 2022 12:28:02 +0200 (CEST) Received: from localhost ([::1]:47648 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1neDkf-00080m-2g for larch@yhetil.org; Tue, 12 Apr 2022 06:28:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1neDik-0006yZ-Qy for guix-patches@gnu.org; Tue, 12 Apr 2022 06:26:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53774) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1neDik-0006ml-IS for guix-patches@gnu.org; Tue, 12 Apr 2022 06:26:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1neDik-0008Gf-5E for guix-patches@gnu.org; Tue, 12 Apr 2022 06:26:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#38605] [WIP MLton 0/1] Add MLton Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 12 Apr 2022 10:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38605 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Brett Gilio Cc: guix-devel@gnu.org, 38605@debbugs.gnu.org Received: via spool by 38605-submit@debbugs.gnu.org id=B38605.164975913131733 (code B ref 38605); Tue, 12 Apr 2022 10:26:02 +0000 Received: (at 38605) by debbugs.gnu.org; 12 Apr 2022 10:25:31 +0000 Received: from localhost ([127.0.0.1]:47671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1neDiE-0008Fl-Iu for submit@debbugs.gnu.org; Tue, 12 Apr 2022 06:25:31 -0400 Received: from mail-wm1-f44.google.com ([209.85.128.44]:43732) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1neDiC-0008FV-Bs for 38605@debbugs.gnu.org; Tue, 12 Apr 2022 06:25:29 -0400 Received: by mail-wm1-f44.google.com with SMTP id m67-20020a1ca346000000b0038e6a1b218aso1320030wme.2 for <38605@debbugs.gnu.org>; Tue, 12 Apr 2022 03:25:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=gDUYcKz/tYi1wsYQDkv6emLc4eqzPLSSz0eSgYofbV8=; b=Oe4l666Xa88+iMARydoIrsxgU53l0S0tIPNkwMhzCkeYuh8sezfq4alXXZEnWYqFko VO1wiCBSEzjvlhEo0BbruO09FLgFlk3e4Y9+NCaNA4libWjNUYamf7qi9gvq1yb8454L XV3bfSIKjAkfySnWg9Jg0i6MQN7/I1Lmhen5mYz1PdY3vmbYdJCmjqNEqj5hiVBtLcU8 VvfsmZYeM717lk/jTOwoFhs1smY86lUIeAQTS+ipx09NTPPwBmOe8xQupOcbaNAvpd5/ UcRT+nEXMATWYhu6wrHRd4DpJQIe/5574qTbvx6kqEAHWiHD0q3yepc1QOMsijNpq9Ul CTyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=gDUYcKz/tYi1wsYQDkv6emLc4eqzPLSSz0eSgYofbV8=; b=3y+wiNWsE6d62AT+QR/3+Nx0rbMo5wi8SIfwnc8u5+28j31VTL8AfJif7Bm/gfWh0u uE7xeQ8G6NJMbFiY0IXmgYk/Zrq//7pgaTZxJ0sGM2UsN9zBv7CmDTm538LTIPiVDNZZ vCAkI4sxiuNj/xNZ9b1XsQKJDoRPb6CptG7MAp7LTAQw64odxCr77I8zi5oZolUZR7u8 8a/QrkTtKjamcmClgZ/LQqUM3h46l3Ydyo0nc2C0V6n9HRL7BwSvQRNvFrvUnWqGS4Tx ANvmHQnusO5fFlTrnDBZMY5tal6MDiY18DjRVbD0Ev8CwCURHmFyefVgU+4IwV0LiZJ/ V8/A== X-Gm-Message-State: AOAM532Wq7IurJOOQbhwQzJ9jlQ15Clko5xU0MivZ7FTOWwGF9N4e5Eh Y2cmeOZMaMMS4M1Ihd5dM1U= X-Google-Smtp-Source: ABdhPJxdPbCbnWYNyiSq9iDXryhn1hM8AXNo+PkmAYAscaqDNZQ+0q5rIXCrIdL5cvlruiXN8Y4fHQ== X-Received: by 2002:a05:600c:4e11:b0:38c:bd19:e72c with SMTP id b17-20020a05600c4e1100b0038cbd19e72cmr3453875wmq.174.1649759122428; Tue, 12 Apr 2022 03:25:22 -0700 (PDT) Received: from lili (roam-nat-fw-prg-194-254-61-42.net.univ-paris-diderot.fr. [194.254.61.42]) by smtp.gmail.com with ESMTPSA id h10-20020a05600c144a00b0038ccc75a6adsm2023149wmi.37.2022.04.12.03.25.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 03:25:21 -0700 (PDT) From: zimoun References: <877e2z7e3x.fsf@posteo.net> <874ky37e1n.fsf@posteo.net> <87ft7kqmze.fsf@gmail.com> Date: Tue, 12 Apr 2022 12:21:50 +0200 In-Reply-To: <87ft7kqmze.fsf@gmail.com> (zimoun's message of "Mon, 14 Sep 2020 19:36:37 +0200") Message-ID: <86h76y38ld.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1649759282; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=gDUYcKz/tYi1wsYQDkv6emLc4eqzPLSSz0eSgYofbV8=; b=tVHm5dRWrgHkuUVGKetpN9W7DZ3fuCP5qURa3OYGVVRxgNkW5qwo+uKEwW2UDw1cRXFQLM psIXils7UPHMmIPd3QJDjEG0BgFgo/k9DQUG16P9d1ERaL476eUYyS2dx5BNnznUD8YoT4 6aa+vYdIvx3heY4K4p0SueMmr8CUcZ0dLera66bSFtVsyY2x1ZWojQizwTGtqOwLJsLd9G 6QxSxcnuo3Ai+QbYyc0R3eB80uYOm0RhbRwm4M9EzvwBRRDhcZSCPireRLbWWzx5ZS43Ak xdQDLiHEnW4f4XguSaOplcXfOQ/r9jOyPbfoxmI1aDb3Jjzi+gCfXlj2gY6iSg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1649759282; a=rsa-sha256; cv=none; b=W8uMRBlZEpEgBCB7uVh083hy36WzXzV6xaAn8V4sajaivHAgVt++G8vvmdqmvITJsA/+E3 6qer1hsVgYl+Ge5HOJ+zIzzmX6SswE48anQ9/V+R9bIlg7EF+bKhAPN73hP7hD614mLUsn FJ50666qs101IopUMUU0vyDWmcHLZtLtsVnN/lsW88wVzLeDD3lzOL78gxvDw9V9+ANuTT qstKqpDKOFivo3T3AkrVDcUcKcMyg18ASXvkrUx3FV4Zm23BN/3zYP+Gz9az6c9gn24qZF 1WP1jAn1XSBtf2Ag2S0Svk8LqccmBl3zGLL8WKhiumVMReVQb6r1GXLTkXUUpg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=Oe4l666X; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 4.94 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=Oe4l666X; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 65BE61EBB6 X-Spam-Score: 4.94 X-Migadu-Scanner: scn0.migadu.com X-TUID: U8BZqTZIbjb4 Hi, CC: guix-devel On Mon, 14 Sep 2020 at 19:36, zimoun wrote: > Digging in old unmerged patches, I hit this one. :-) The last interaction of this WIP patch #38605 [1] about MLton is from 1 year, 29 weeks, 6 days ago. Whereas the discussion in this thread about bootstrap strategies is really worth, I am going to close the submission soon. 1: > On Fri, 13 Dec 2019 at 21:59, Brett Gilio wrote: > >> * gnu/packages/sml.scm (mlton-no-gcc): New variable. >> --- >> gnu/packages/sml.scm | 138 +++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 138 insertions(+) > > What is the status of the WIP? > Have you make progress? This patch requires a little rebase and could be included in Guix. Any taker? >> diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm >> index 30ee58c498..e45ce4c59c 100644 >> --- a/gnu/packages/sml.scm >> +++ b/gnu/packages/sml.scm >> @@ -75,3 +75,141 @@ function interface, and a symbolic debugger.") >> (license >> (list license:lgpl2.1 >> license:lgpl2.1+)))) >> + >> +(define-private mlton-reduced >> + (package >> + (name "mlton") >> + (version "20180207") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append "https://github.com/MLton/" name >> + "/releases/download/on-" version >> + "-release/" name "-" version >> + "-1.amd64-linux.tgz")) >> + (sha256 >> + (base32 >> + "0f4q575yfm5dpg4a2wsnqn4l2zrar96p6rlsk0dw10ggyfwvsjlf")))) >> + (build-system trivial-build-system) >> + ;; TODO: The build arguments can be much more programmatic. >> + (arguments >> + '(#:modules >> + ((guix build utils)) >> + #:builder >> + (begin >> + (use-modules (guix build utils)) >> + (let* >> + ((out (assoc-ref %outputs "out")) >> + (source (assoc-ref %build-inputs "source")) >> + (tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) >> + (patchelf (string-append (assoc-ref %build-inputs "patchelf") "/bin/patchelf")) >> + (ld (string-append (assoc-ref %build-inputs "glibc") "/lib/ld-linux-x86-64.so.2")) >> + (gmp (string-append (assoc-ref %build-inputs "gmp") "/lib")) >> + (bash (string-append (assoc-ref %build-inputs "bash") "/bin/bash")) >> + (rm (string-append (assoc-ref %build-inputs "coreutils") "/bin/rm")) >> + (PATH >> + (string-append >> + (assoc-ref %build-inputs "gzip") "/bin" >> + ":" >> + (assoc-ref %build-inputs "tar") "/bin"))) >> + (mkdir-p out) >> + (mkdir-p (string-append out "/bin")) >> + (with-directory-excursion out >> + (setenv "PATH" PATH) >> + (system* tar "xf" source "--strip-components=1") >> + ;; PATCHES FOR /LIB/MLTON/MLTON-COMPILE >> + (system* patchelf >> + "--set-interpreter" >> + ld >> + (string-append out "/lib/mlton/mlton-compile")) >> + (system* patchelf >> + "--set-rpath" >> + gmp >> + (string-append out "/lib/mlton/mlton-compile")) >> + ;; PATCHES FOR /BIN/MLLEX >> + (system* patchelf >> + "--set-interpreter" >> + ld >> + (string-append out "/bin/mllex")) >> + (system* patchelf >> + "--set-rpath" >> + gmp >> + (string-append out "/bin/mllex")) >> + ;; PATCHES FOR /BIN/MLYACC >> + (system* patchelf >> + "--set-interpreter" >> + ld >> + (string-append out "/bin/mlyacc")) >> + (system* patchelf >> + "--set-rpath" >> + gmp >> + (string-append out "/bin/mlyacc")) >> + ;; DELETE ALL UNNEEDED COMPONENTS >> + (system* rm "-rf" >> + "bin/mlprof" >> + "bin/mlnlffigen" >> + "LICENSE" >> + "Makefile" >> + "CHANGELOG.adoc" >> + "README.adoc" >> + "share") >> + ;; PATCH SHEBANG FOR BIN/MLTON >> + (substitute* "bin/mlton" >> + (("/usr/bin/env bash") >> + bash))))))) >> + (native-inputs `(("glibc" ,glibc) >> + ("patchelf" ,patchelf) >> + ("tar" ,tar) >> + ("bash" ,bash) >> + ("coreutils" ,coreutils) >> + ("gzip" ,gzip) >> + ("gmp" ,gmp))) >> + (supported-systems '("x86_64-linux")) >> + (synopsis #f) >> + (description #f) >> + (home-page #f) >> + (license #f))) >> + >> +(define-public mlton-no-gcc >> + (package >> + (name "mlton-no-gcc") >> + (version "20180207") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append "https://github.com/MLton/" name >> + "/archive/on-" version >> + "-release.tar.gz")) >> + (sha256 >> + (base32 >> + "1l1flhxx8hr4n3mf87m02231r3m2f3sh28zfxma3g41jscmj21zi")))) >> + (build-system gnu-build-system) >> + (arguments >> + `(#:parallel-build? #f ; See: https://github.com/MLton/mlton/issues/348 >> + #:phases >> + (modify-phases %standard-phases >> + (delete 'configure) >> + (replace 'install >> + (lambda _ >> + (invoke "make" >> + (string-append "PREFIX=" (assoc-ref %outputs "out")) >> + "install")))))) >> + (native-inputs >> + `(("mlton" ,mlton-reduced) >> + ("which" ,which))) >> + (propagated-inputs >> + `(("gmp" ,gmp))) >> + (supported-systems '("x86_64-linux")) >> + (synopsis "Whole-program, optimizing Standard ML compiler") >> + (description "MLton is a whole-program optimizing compiler for Standard ML. >> +MLton generates standalone executables with excellent runtime performance, is >> +SML '97 compliant, and has a complete basis library. MLton has source-level >> +profiling, a fast C FFI, an interface to the GNU multiprecision library, and >> +lots of useful libraries.") >> + (home-page "http://mlton.org/") >> + (license license:hpnd))) >> + >> +(define-public mlton >> + (package (inherit mlton-no-gcc) >> + (name "mlton") >> + (propagated-inputs >> + `(("gcc-toolchain" ,gcc-toolchain) >> + ,@(package-propagated-inputs mlton-no-gcc))))) Cheers, simon