From patchwork Sat Jun 17 17:08:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liliana Marie Prikler X-Patchwork-Id: 51020 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7F8D027BBEA; Sat, 17 Jun 2023 19:35:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 83FFA27BBE2 for ; Sat, 17 Jun 2023 19:35:10 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qAalM-00036w-Mt; Sat, 17 Jun 2023 14:35:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qAalL-00036e-1u for guix-patches@gnu.org; Sat, 17 Jun 2023 14:35:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qAalK-000893-PR for guix-patches@gnu.org; Sat, 17 Jun 2023 14:35:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qAalK-0004te-KM for guix-patches@gnu.org; Sat, 17 Jun 2023 14:35:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64135] [PATCH 2/2] gnu: Add miking. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 17 Jun 2023 18:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64135 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64135@debbugs.gnu.org Received: via spool by 64135-submit@debbugs.gnu.org id=B64135.168702685118753 (code B ref 64135); Sat, 17 Jun 2023 18:35:02 +0000 Received: (at 64135) by debbugs.gnu.org; 17 Jun 2023 18:34:11 +0000 Received: from localhost ([127.0.0.1]:52606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAakV-0004sN-5R for submit@debbugs.gnu.org; Sat, 17 Jun 2023 14:34:11 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:50640) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAakS-0004s1-7y for 64135@debbugs.gnu.org; Sat, 17 Jun 2023 14:34:09 -0400 Received: by mail-ed1-f65.google.com with SMTP id 4fb4d7f45d1cf-519b771f23aso2767024a12.1 for <64135@debbugs.gnu.org>; Sat, 17 Jun 2023 11:34:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687026842; x=1689618842; h=mime-version:to:subject:date:from:references:in-reply-to:message-id :from:to:cc:subject:date:message-id:reply-to; bh=5CBC94TRpySrFVWaQRnyMMCVc6awLjYx79mWPOY2Yqc=; b=L+qNIf8Z9KN7Nz0WZ7OywTDZXH7Rb5N5uVGBuJKFzBHM+OWs+90rFwqEkq8rncrPXT +E75/PnuQg5tXiL4MgQxzYtBQsS5YPb6TR4A6oVBf4PqbrCWrNs5nxB/CeUJZD9jqRUZ oLuiz6ko94rYSDyu0pbm1fPeNvoJ2KmQTpwdSlufYl4mo4+UCL0MJOm6MRYElb9xLH+Z aUUmEO4/bgpcAhi6g+/Oqsank/YEGd3aOZnIyE6RL1o/TypX416wz692rVvZwbhuEGPJ 2/W1Ahb+qftX2eVr9qgAwelyAxhgJaUm+kBbd5iee/cTthkh3SE+eOAzrUBaG9QFy4Co k4IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687026842; x=1689618842; h=mime-version:to:subject:date:from:references:in-reply-to:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5CBC94TRpySrFVWaQRnyMMCVc6awLjYx79mWPOY2Yqc=; b=IMgoo7W1tKJTtkpsm17z4OHs9y7yvlyq/HCInYHhKZEZ1omrSaaEO/psXW5wnsVCg9 WfV9Nkbnqq47xGYkU3m138MeTzuDB7l5u1tUyAN6Uh0bWzjgftt7GrUFOrMLngwAZ1gt 8qYwiet2LU//1l6+2JYvaUZStHqBxorIdQ3vNvcZPSMQK2VK6BVh4SViabx/KrMfOyjq ZuefwuWwUQTEH7aHIA1GMZTKZXpWTkZj027Vuoea4mE+4MZKyZvl6lPAUwhl3FxyGn9j nROpVcOdwHgd6247xDuj9JMWnhI5kH8CuaZ/kLGQ5Lhb6Zdl4Lj1b0vnKm6NR1Hi0Fly vkMg== X-Gm-Message-State: AC+VfDwBwh5xNFI7/jo4sv4kOe9JIZlhgHpdWAIRpcL8e1lK5hRF3ppc GqPgzaZalsmVm2KMX6htTOPrINBs8xxkYtHb X-Google-Smtp-Source: ACHHUZ5FnHS6VxepVjb9/rjvTp0z86YeY335fTWjusbIJjBDsVpzHtLGgO6txg/uL4/M79gscdYIbQ== X-Received: by 2002:a17:907:2d14:b0:96f:e7cf:5004 with SMTP id gs20-20020a1709072d1400b0096fe7cf5004mr5420023ejc.73.1687026842402; Sat, 17 Jun 2023 11:34:02 -0700 (PDT) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id i8-20020a170906a28800b009655eb8be26sm12329365ejz.73.2023.06.17.11.34.01 for <64135@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Jun 2023 11:34:02 -0700 (PDT) Message-Id: In-Reply-To: References: From: Liliana Marie Prikler Date: Sat, 17 Jun 2023 19:08:08 +0200 MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/miking.scm (miking): New variable. --- gnu/packages/miking.scm | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/miking.scm b/gnu/packages/miking.scm index 7d65e98970..83a431d443 100644 --- a/gnu/packages/miking.scm +++ b/gnu/packages/miking.scm @@ -73,3 +73,55 @@ (define-public miking-boot (description "@acronym{Miking, Meta Viking} is a meta language system for creating embedded domain-specific and general-purpose languages.") (license license:expat)))) + +(define-public miking + (package/inherit + miking-boot + (name "miking") + (build-system copy-build-system) + (arguments + (list #:install-plan #~`(("build/mi" "bin/") + ("stdlib" "lib/mcore")) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'build + (lambda _ + (invoke "boot" "eval" "src/main/mi-lite.mc" + "--" + "0" "src/main/mi-lite.mc" "mi-lite") + (invoke "./mi-lite" "1" "src/main/mi.mc" "./mi") + (invoke "./mi" "compile" "src/main/mi.mc") + (mkdir "build") + (rename-file "mi" "build/mi"))) + (add-after 'build 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (for-each (compose + (lambda (file check) + (invoke "make" "-f" file check)) + (lambda (pair) (values (car pair) (cdr pair)))) + '(("test-compile.mk" . "selected") + ("test-run.mk" . "selected") + ("test-tune.mk" . "all")))))) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/mi") + `("PATH" suffix + (,(dirname (search-input-file inputs "bin/dune")) + ,(dirname (search-input-file inputs "bin/ocaml")) + ,(dirname (search-input-file inputs "bin/which")))) + `("OCAMLPATH" suffix (,(getenv "OCAMLPATH"))))))))) + (inputs (list bash-minimal + dune + miking-boot + ocaml + ocaml-linenoise + which)) + (native-inputs (list dune + gnu-make + miking-boot + ocaml + ;; needed for tests + coreutils + which))))