From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3kBJ-0000pr-2a for guix-patches@gnu.org; Thu, 27 Apr 2017 10:14:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d3kBG-0007o0-Cx for guix-patches@gnu.org; Thu, 27 Apr 2017 10:14:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44745) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d3kBG-0007ns-99 for guix-patches@gnu.org; Thu, 27 Apr 2017 10:14:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d3kBG-0008Uc-1N for guix-patches@gnu.org; Thu, 27 Apr 2017 10:14:02 -0400 Subject: bug#26680: [PATCH] gnu: Add mes. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3kAZ-0000Qe-JB for guix-patches@gnu.org; Thu, 27 Apr 2017 10:13:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d3kAY-0007MD-CC for guix-patches@gnu.org; Thu, 27 Apr 2017 10:13:19 -0400 From: Jan Nieuwenhuizen Date: Thu, 27 Apr 2017 16:13:08 +0200 Message-ID: <87y3umszuz.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" 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: 26680@debbugs.gnu.org --=-=-= Content-Type: text/plain Hi! I give you Mes ;-) Figure this first self-hosting version deserves a place in Guix. Mes should not have any dependencies of course; the fact it lists Guile, Gcc, i686-binutils, i686-gcc and Perl is because we're still bootstrapping. When Mes is able to compile Gcc and close the full source bootstrapping loop, all dependencies will be gone. Greetings, janneke --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-mes.patch Content-Transfer-Encoding: quoted-printable >From 718f539b6875de37064b041ad9d65770ef8611a4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 27 Apr 2017 15:43:22 +0200 Subject: [PATCH] gnu: Add mes. * gnu/packages/mes.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/mes.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 73 insertions(+) create mode 100644 gnu/packages/mes.scm diff --git a/gnu/local.mk b/gnu/local.mk index 6ad10fb89..0fdc98702 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -257,6 +257,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/maths.scm \ %D%/packages/mc.scm \ %D%/packages/mcrypt.scm \ + %D%/packages/mes.scm \ %D%/packages/messaging.scm \ %D%/packages/mingw.scm \ %D%/packages/mg.scm \ diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm new file mode 100644 index 000000000..32f97c5ab --- /dev/null +++ b/gnu/packages/mes.scm @@ -0,0 +1,72 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2017 Jan Nieuwenhuizen +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages mes) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages commencement) + #:use-module (gnu packages cross-base) + #:use-module (gnu packages gcc) + #:use-module (gnu packages guile) + #:use-module (gnu packages package-management) + #:use-module (gnu packages perl) + #:use-module (guix build-system gnu) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (guix packages)) + +(define-public mes + (let ((triplet "i686-unknown-linux-gnu")) + (package + (name "mes") + (version "0.5.a437c173") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/janneke/mes") + (commit "a437c173b9da1949ad966fd50dd4f26e522a910a"))) + (file-name (string-append name "-" version)) + (sha256 + (base32 "1ynr0hc0k15307sgzv09k3y5rvy46h0wbh7zcblx1f9v7y8k= 90zv")))) + (build-system gnu-build-system) + (supported-systems '("x86_64-linux")) + (native-inputs + `(("guile" ,guile-2.2) + ("gcc" ,gcc-toolchain-4.9) + ;; Use cross-compiler rather than #:system "i686-linux" to get + ;; MesCC 64 bit .go files installed ready for use with Guile. + ("i686-linux-binutils" ,(cross-binutils triplet)) + ("i686-linux-gcc" ,(let ((triplet triplet)) (cross-gcc triplet))) + ("perl" ,perl))) ; build-aux/gitlog-to-changelog + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'generate-changelog + (lambda _ + (with-output-to-file "ChangeLog" + (lambda () + (display "Please run + build-aux/gitlog-to-changelog --srcdir=3D > ChangeLog\n"= ))) + #t))))) + (synopsis "Maxwell Equations of Software") + (description + "Mes aims to create full source bootstrapping for GuixSD. It +consists of a mutual self-hosting [close to Guile-] Scheme interpreter +prototype in C and a Nyacc-based C compiler in [Guile] Scheme.") + (home-page "https://gitlab.com/janneke/mes") + (license gpl3+)))) --=20 2.12.2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.nl= =20=20 --=-=-=--