From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH] gnu: add minimacy Resent-From: Konrad Hinsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 12 Dec 2022 10:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 59997@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167083979131040 (code B ref -1); Mon, 12 Dec 2022 10:10:02 +0000 Received: (at submit) by debbugs.gnu.org; 12 Dec 2022 10:09:51 +0000 Received: from localhost ([127.0.0.1]:51919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4fks-00084a-V9 for submit@debbugs.gnu.org; Mon, 12 Dec 2022 05:09:51 -0500 Received: from lists.gnu.org ([209.51.188.17]:54594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4fkq-00084U-Nl for submit@debbugs.gnu.org; Mon, 12 Dec 2022 05:09:49 -0500 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 1p4fko-0002Nf-OI for guix-patches@gnu.org; Mon, 12 Dec 2022 05:09:48 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p4fkm-0005eX-Af for guix-patches@gnu.org; Mon, 12 Dec 2022 05:09:46 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id EB74C320092D; Mon, 12 Dec 2022 05:09:38 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 12 Dec 2022 05:09:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm2; t=1670839778; x=1670926178; bh=DBawIY6wac G6fGq0fjdqSSTEGwaF1xBvExvDHg1LqRE=; b=E8S86ek0QQb2RXizAM3jsBK/Nn VYX/w+z9Oz1dpaKF8BTj2yXb6jxMhYmwIPZrOoW13pVmNTqqeZiW5SteD+iv6UOP 63+kTM/52bx0mkwvrlY5eKzCSo8OPZDu5TW+/KtmOcUW87iOsa/mYTRUa3dxXoMq OmUPx26ALjpCDj4isXQJkPYauAT+qMjNHDJ1B88zcAXwr7lh/B9EPOZUtRa9M7AH hir0dEVH033yK8aheApwHn+lvQrkOUL/muMZk1RGuOXzat0F8SkCtEOCzFKps4y5 OjSfO6Qu9WCSdnmQBnzA3zEIYSVHYTxUVwhKE8w2LfYsfkZag115Hwa5DbOQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1670839778; x=1670926178; bh=DBawIY6wacG6fGq0fjdqSSTEGwaF 1xBvExvDHg1LqRE=; b=E27SE2Ev7HIkg17qxjKi9Cv2vNBVp9gDqWpCX31OGv0T JcCCN+X9fUqUMqEUv/ke6a2efiXE0Ct1gecBe1rvQqWIxxHGq8oehkikB2nnkbn2 vNf1/wrHVmFf5hthe+sf2TmnTOlnYhJG3w7hnhN6FpNHFjAwF555D5GnkXCqlvaq g117gkNf05JhHR027IyK1lVRLD8qR8OfnfNkto2+9DxevPJJVs/TS0JdD16a4XT6 +cCxAEKT4ujWCQH6w0E0Ls56MU1egZ6uOsI9bbIBosTaeBJXSgI8D0kh5pDm/JAK xOtFXbGhlFSHY8s43dRLUglo4U0nSjoj6k3Du2nMgg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdejgddugedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkgggtgfesthhqredttd dtjeenucfhrhhomhepmfhonhhrrgguucfjihhnshgvnhcuoehkohhnrhgrugdrhhhinhhs vghnsehfrghsthhmrghilhdrnhgvtheqnecuggftrfgrthhtvghrnheptdektdefuedtfe fgkeefgfehjefhgeefhfffledtuedtveegudfhfefgkeeivdeinecuffhomhgrihhnpehg nhhurdhorhhgpdhgihhthhhusgdrtghomhdpmhhinhhimhgrtgihrdhnvghtnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepkhhonhhrrggurdhh ihhnshgvnhesfhgrshhtmhgrihhlrdhnvght X-ME-Proxy: Feedback-ID: i184641e2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 12 Dec 2022 05:09:37 -0500 (EST) From: Konrad Hinsen Date: Mon, 12 Dec 2022 11:09:35 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=64.147.123.20; envelope-from=konrad.hinsen@fastmail.net; helo=wout4-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) * gnu/packages/minimacy.scm: New module. --- gnu/packages/minimacy.scm | 90 +++++++++++++++++++++++++++++ gnu/packages/patches/minimacy.patch | 34 +++++++++++ 2 files changed, 124 insertions(+) create mode 100644 gnu/packages/minimacy.scm create mode 100644 gnu/packages/patches/minimacy.patch diff --git a/gnu/packages/minimacy.scm b/gnu/packages/minimacy.scm new file mode 100644 index 0000000000..549ca8f14f --- /dev/null +++ b/gnu/packages/minimacy.scm @@ -0,0 +1,90 @@ +;;; Copyright =C2=A9 2022 Konrad Hinsen +;;; +;;; 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 minimacy) + #:use-module (gnu packages) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public minimacy + (package + (name "minimacy") + (version "0.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ambermind/minimacy/") + (commit "0.6.2"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x9i1spf79lq3kxms55dx7lf8pl84cyblq313sjyfpr9l187ailb")) + (patches (search-patches "minimacy.patch")))) + (build-system gnu-build-system) + (inputs (list libx11 libxext alsa-lib mesa glu)) + (outputs '("out" ; the core + "X11" ; for GUI programs, with X11 and ALSA + "X11GL")) ; for GUI programs, with X11, OpenGL, and ALSA + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda _ + (substitute* "src/hw.c" + (("minimacy-in-gnu-store") + (assoc-ref %outputs "out"))))) + (delete 'configure) + (replace 'build + (lambda _ + (chdir "unix") + (invoke "make" "nox") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11gl") + (chdir ".."))) + (replace 'install + (lambda _ + (let ((output (assoc-ref %outputs "out"))) + (install-file "bin/minimacy" (string-append output "/bin")) + (mkdir-p (string-append output "/rom")) + (mkdir-p (string-append output "/system")) + (copy-recursively "rom" (string-append output "/rom")) + (copy-recursively "system" (string-append output "/system")= )) + (let ((output (assoc-ref %outputs "X11"))) + (install-file "bin/minimacyX11" (string-append output "/bin= "))) + (let ((output (assoc-ref %outputs "X11GL"))) + (install-file "bin/minimacyX11GL" (string-append output "/b= in"))))) + (delete 'check)))) + (synopsis "Minimalist computing system") + (description + "Minimacy is an open-source minimalist computing technology. +It consists of a programming language (compiler plus virtual machine) +and a library, written such that the whole system can be fully +understood by a single person. An optional extension to the virtual +machine adds X11 and ALSA for user interfaces, another extension +adds OpenGL support.") + (home-page "https://minimacy.net/") + (license license:gpl2))) diff --git a/gnu/packages/patches/minimacy.patch b/gnu/packages/patches/min= imacy.patch new file mode 100644 index 0000000000..eca49431c3 --- /dev/null +++ b/gnu/packages/patches/minimacy.patch @@ -0,0 +1,34 @@ +The Minimacy distribution is set up for being compiled and used from the +user's home directory. Running Minimacy as a Guix package requires adding +its store path as a search path for the virtual machine. That is done in +two steps: this patch, and a substitution of the actual store path in the +build process. + +--- minimacy/src/hw.c 2022-12-05 18:51:13.000000000 +0100 ++++ minimacy/src/hw.c 2022-12-09 15:55:47.122793826 +0100 +@@ -90,6 +90,13 @@ + #if defined ON_UNIX || defined ON_MACOS_CMDLINE || defined ON_RASPBERRY64 + void systemExecDir(char* path, int len) + { ++ char* p =3D "minimacy-in-gnu-store"; ++ if (strlen(p) < len - 2) ++ { ++ strcpy(path, p); ++ systemCleanDir(path); ++ return; ++ } + path[0] =3D 0; + } + #endif +@@ -583,8 +590,9 @@ + PRINTF(th, LOG_USER, "1- command line argument: -dir path\n"); + PRINTF(th, LOG_USER, "2- environment variable MINIMACY\n"); + PRINTF(th, LOG_USER, "3- grand parent of minimacy.exe (windows only)\n"); +- PRINTF(th, LOG_USER, "4- ~/minimacy (on Unix) or [user]/Documents/minima= cy (on Windows)\n"); +- PRINTF(th, LOG_USER, "5- Working directory\n\n"); ++ PRINTF(th, LOG_USER, "4- the minimacy package under /gnu/store (Guix onl= y)\n"); ++ PRINTF(th, LOG_USER, "5- ~/minimacy (on Unix) or [user]/Documents/minima= cy (on Windows)\n"); ++ PRINTF(th, LOG_USER, "6- Working directory\n\n"); + } + int hwInit(Thread* th, int argc, char** argv, int standalone) + { --=20 2.38.1 From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH v2] gnu: Add minimacy. References: In-Reply-To: Resent-From: Simon Tournier Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 27 Jan 2023 18:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 59997@debbugs.gnu.org Cc: Konrad Hinsen Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167484538113484 (code B ref 59997); Fri, 27 Jan 2023 18:50:02 +0000 Received: (at 59997) by debbugs.gnu.org; 27 Jan 2023 18:49:41 +0000 Received: from localhost ([127.0.0.1]:38441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLTnA-0003VQ-MW for submit@debbugs.gnu.org; Fri, 27 Jan 2023 13:49:41 -0500 Received: from mail-wr1-f52.google.com ([209.85.221.52]:40905) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLTn8-0003V9-FN for 59997@debbugs.gnu.org; Fri, 27 Jan 2023 13:49:39 -0500 Received: by mail-wr1-f52.google.com with SMTP id r2so5787444wrv.7 for <59997@debbugs.gnu.org>; Fri, 27 Jan 2023 10:49:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=RNpgC34sTpnBzBNkNoX1QbNy1QfoHYs70p3Paenmjnc=; b=W/WucigwrOxrsh6YYjcCh31J35bwcIe1+FTMlIeKVLkmVMxGg2IOIily/HHD7/KLWU v5lTZ/88r9xAHS9QtC7di8AhK0ELSmqj/AvBJs0A+t9WMeA9Dsu1jeWsh9wjOGlM3lfo v8n/R01d0iJTKmK5VlcMtD/gUWS+kLvmLkxB4FChj+OG0JFLYyltw92ft4HjPwXSOwWf KvfsKNKecsoTSlYTQO7/eacJagOaO7NJ0QqubED7iOUFxaRRK3j34/N4Dqk9XTAwj2VV 2oXV90P15ZWLfjU16VPsH6bKg7557v8L2yaTQm+t+n3q7AyZMGambqmrMcKiIkYk116I eTwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RNpgC34sTpnBzBNkNoX1QbNy1QfoHYs70p3Paenmjnc=; b=AQ+XHZWHxooyZyw3F7uZMmbBVcG3dk3RfE/4d6sGGvHLCf60nUCUJXA96HCSOYwQuD YFL/NEhZ3YZgnTK1pLQu53Jssxk6HVAuGgkYTBeA8U3Hqtpz50T2lFNOsCYy7jVZEcYj KDsn4RhWufJbjXwdw9uqj/Ue+8KAb+kAw2bm+U6y3JqLbE9yM7echzrQ5IEBaO/evfEH 36DoGgSr982DSCu5oj7gFAhWyHBEwBnrewqNuVyNQpCBv37J/yJQTixmBmYf62PyzvDZ 5U69TBmaksNNbrS7WKoonKug1ScEpWa0mCvYLU5itCPns3RdjTo4oZ3/u8d5fTNTWeKT FGog== X-Gm-Message-State: AO0yUKWYgKsHdJAdYrxsxekEh0IwsVf/VRt2gOB26n8MBW8/iKrlId5b zkniYIOck38EeBwM99A2KHiYBNXM4mg= X-Google-Smtp-Source: AK7set/YvxzhXMEJcK/p80lr9zY1Di7eZgXhqv6lUtoUXAqJspY9O0RVFZ1y00CxvOirKonk3Mt5rQ== X-Received: by 2002:adf:f390:0:b0:2bf:d2b9:41e6 with SMTP id m16-20020adff390000000b002bfd2b941e6mr629093wro.0.1674845372296; Fri, 27 Jan 2023 10:49:32 -0800 (PST) Received: from localhost.localdomain ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id j2-20020a5d4482000000b002be063f6820sm5451961wrq.81.2023.01.27.10.49.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 10:49:31 -0800 (PST) From: Simon Tournier Date: Fri, 27 Jan 2023 19:49:25 +0100 Message-Id: <20230127184925.3126904-1-zimon.toutoune@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) From: Konrad Hinsen * gnu/packages/minimacy.scm: New file. * gnu/packages/patches/minimacy.patch: New patch. * gnu/local.mk: Add them. --- gnu/local.mk | 2 + gnu/packages/minimacy.scm | 97 +++++++++++++++++++++++++++++ gnu/packages/patches/minimacy.patch | 34 ++++++++++ 3 files changed, 133 insertions(+) create mode 100644 gnu/packages/minimacy.scm create mode 100644 gnu/packages/patches/minimacy.patch diff --git a/gnu/local.mk b/gnu/local.mk index 29237b1138..212c95c98b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -424,6 +424,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/messaging.scm \ %D%/packages/minetest.scm \ %D%/packages/mingw.scm \ + %D%/packages/minimacy.scm \ %D%/packages/microcom.scm \ %D%/packages/moe.scm \ %D%/packages/motti.scm \ @@ -1540,6 +1541,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ + %D%/packages/patches/minimacy.patch \ %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \ %D%/packages/patches/mixxx-system-googletest-benchmark.patch \ diff --git a/gnu/packages/minimacy.scm b/gnu/packages/minimacy.scm new file mode 100644 index 0000000000..6d8e6a3f75 --- /dev/null +++ b/gnu/packages/minimacy.scm @@ -0,0 +1,97 @@ +;;; Copyright © 2022 Konrad Hinsen +;;; +;;; 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 minimacy) + #:use-module (gnu packages) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public minimacy + (package + (name "minimacy") + (version "0.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ambermind/minimacy/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x9i1spf79lq3kxms55dx7lf8pl84cyblq313sjyfpr9l187ailb")) + (patches (search-patches "minimacy.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "windows")))) + (build-system gnu-build-system) + (inputs (list libx11 libxext alsa-lib mesa glu)) + (outputs '("out" ;core + "X11" ;for GUI programs, with X11 and ALSA + "X11GL")) ;for GUI programs, with X11, OpenGL, and ALSA + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/hw.c" + (("minimacy-in-gnu-store") + (assoc-ref outputs "out"))))) + (delete 'configure) + (replace 'build + (lambda _ + (chdir "unix") + (invoke "make" "nox") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11gl") + (chdir ".."))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (x11 (assoc-ref outputs "X11")) + (x11gl (assoc-ref outputs "X11GL"))) + (mkdir-p (string-append out "/rom")) + (mkdir-p (string-append out "/system")) + (copy-recursively "rom" + (string-append out "/rom")) + (copy-recursively "system" + (string-append out "/system")) + (install-file "bin/minimacy" + (string-append out "/bin")) + (install-file "bin/minimacyX11" + (string-append x11 "/bin")) + (install-file "bin/minimacyX11GL" + (string-append x11gl "/bin"))))) + (delete 'check)))) + (synopsis "Minimalist computing system") + (description + "Minimacy is an open-source minimalist computing technology. +It consists of a programming language (compiler plus virtual machine) +and a library, written such that the whole system can be fully +understood by a single person. An optional extension to the virtual +machine adds X11 and ALSA for user interfaces, another extension +adds OpenGL support.") + (home-page "https://minimacy.net/") + (license license:gpl2))) diff --git a/gnu/packages/patches/minimacy.patch b/gnu/packages/patches/minimacy.patch new file mode 100644 index 0000000000..eca49431c3 --- /dev/null +++ b/gnu/packages/patches/minimacy.patch @@ -0,0 +1,34 @@ +The Minimacy distribution is set up for being compiled and used from the +user's home directory. Running Minimacy as a Guix package requires adding +its store path as a search path for the virtual machine. That is done in +two steps: this patch, and a substitution of the actual store path in the +build process. + +--- minimacy/src/hw.c 2022-12-05 18:51:13.000000000 +0100 ++++ minimacy/src/hw.c 2022-12-09 15:55:47.122793826 +0100 +@@ -90,6 +90,13 @@ + #if defined ON_UNIX || defined ON_MACOS_CMDLINE || defined ON_RASPBERRY64 + void systemExecDir(char* path, int len) + { ++ char* p = "minimacy-in-gnu-store"; ++ if (strlen(p) < len - 2) ++ { ++ strcpy(path, p); ++ systemCleanDir(path); ++ return; ++ } + path[0] = 0; + } + #endif +@@ -583,8 +590,9 @@ + PRINTF(th, LOG_USER, "1- command line argument: -dir path\n"); + PRINTF(th, LOG_USER, "2- environment variable MINIMACY\n"); + PRINTF(th, LOG_USER, "3- grand parent of minimacy.exe (windows only)\n"); +- PRINTF(th, LOG_USER, "4- ~/minimacy (on Unix) or [user]/Documents/minimacy (on Windows)\n"); +- PRINTF(th, LOG_USER, "5- Working directory\n\n"); ++ PRINTF(th, LOG_USER, "4- the minimacy package under /gnu/store (Guix only)\n"); ++ PRINTF(th, LOG_USER, "5- ~/minimacy (on Unix) or [user]/Documents/minimacy (on Windows)\n"); ++ PRINTF(th, LOG_USER, "6- Working directory\n\n"); + } + int hwInit(Thread* th, int argc, char** argv, int standalone) + { base-commit: 8e1cca32b938cef0812ce042c6c2e8bccb326ec7 -- 2.38.1 From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH] gnu: add minimacy Resent-From: Simon Tournier Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 27 Jan 2023 18:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Konrad Hinsen , 59997@debbugs.gnu.org Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167484579014207 (code B ref 59997); Fri, 27 Jan 2023 18:57:02 +0000 Received: (at 59997) by debbugs.gnu.org; 27 Jan 2023 18:56:30 +0000 Received: from localhost ([127.0.0.1]:38465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLTtm-0003h0-2O for submit@debbugs.gnu.org; Fri, 27 Jan 2023 13:56:30 -0500 Received: from mail-wr1-f45.google.com ([209.85.221.45]:40473) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLTti-0003g3-1h for 59997@debbugs.gnu.org; Fri, 27 Jan 2023 13:56:26 -0500 Received: by mail-wr1-f45.google.com with SMTP id r2so5801670wrv.7 for <59997@debbugs.gnu.org>; Fri, 27 Jan 2023 10:56:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=07r6BTupeO/y8b+QR5TGtSa+EDLHeik/548G/knaPJw=; b=FsmClEgEDAjIoWr1NkOuz6L2B6JYtDaXXjJrYH+JOXZP3mcoeQc1xoM9vBPidCJLPn lPNsSVQ4xgJhvCn8X3Da8mXRf3uSi8Rbg4lcj0gz/gl4qoFyPiwdWi05yTlULAKJwuLS BqDtCmEswpHJzfuU1YhKGK8YI0ZnQv0y+SA19XkiYTTk22LqLzbzyOTfq3oI1LbY1oVT zzDHI1xrAKFbdH/VsGZODCV8rSAwF7/ACO1XS8VvWjYi3sK6e++52x3c7HGIWt5VctER x0IX+KLenbuvjqnhOITHQkOTMdXMkRPOy81+WSuvpNRnXuLjPox5yxzxgGcGT3E0sKOj hJyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=07r6BTupeO/y8b+QR5TGtSa+EDLHeik/548G/knaPJw=; b=eWdu9lGr1XAePh9E4nudPZp682a8QGUfF4hQpxUBq5QS2ws8WZ7LeXOiOezOZFEY9D CnS9xL6NNuEJfdPkqq6JPPDUbVKNAt5/QL2mx9nZEbEvTT1wOVSgyDNGFO3/DqfAIgFR Wt1aL1DILgNai70afMh+Vb7radD/2rianf/2xk0834IOWFKoOwhGDPW5zKE/0QnfjUQh tUkI4x/vYQaW/Ylcc/DgslpWpEJEwyBNB7vnkr38JH3q3+0MHvBZRPRDwW4HjhNKs359 3hU94fe38wTHZoKstWwJ6rEGBosuirT4XVP5CgbMcUrF1KJhbAJ16FoCgObRMyt21n/Z 7dnw== X-Gm-Message-State: AO0yUKVIUvMngDd/KB+N0ZFjcKupa3EVRjL1qpANyKPXGcAdT29kAKOF fOYYtLvu5+vjPr37E7RctFkash7maV4= X-Google-Smtp-Source: AK7set8gYqPSBkSFviQbNl4bH8dKrVRuJVzsgyK4aekRwOW64xfdI6e75HeBRYXgkvWvda/spt9Jdg== X-Received: by 2002:adf:d239:0:b0:2bf:b2fe:a2c4 with SMTP id k25-20020adfd239000000b002bfb2fea2c4mr2177761wrh.7.1674845780406; Fri, 27 Jan 2023 10:56:20 -0800 (PST) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id d7-20020a056000114700b00241fab5a296sm4595917wrx.40.2023.01.27.10.56.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 10:56:20 -0800 (PST) From: Simon Tournier In-Reply-To: References: Date: Fri, 27 Jan 2023 19:50:53 +0100 Message-ID: <87o7qjn75e.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Konrad, I have sent a V2 with some minor tweaks. Cheers, simon From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH v3] gnu: Add minimacy. References: In-Reply-To: Resent-From: Simon Tournier Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 27 Jan 2023 19:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 59997@debbugs.gnu.org Cc: Konrad Hinsen Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167484724716764 (code B ref 59997); Fri, 27 Jan 2023 19:21:02 +0000 Received: (at 59997) by debbugs.gnu.org; 27 Jan 2023 19:20:47 +0000 Received: from localhost ([127.0.0.1]:38523 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLUHG-0004MJ-Qp for submit@debbugs.gnu.org; Fri, 27 Jan 2023 14:20:47 -0500 Received: from mail-wm1-f54.google.com ([209.85.128.54]:39485) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLUHE-0004M6-Kk for 59997@debbugs.gnu.org; Fri, 27 Jan 2023 14:20:45 -0500 Received: by mail-wm1-f54.google.com with SMTP id l35-20020a05600c1d2300b003dc4634a466so35401wms.4 for <59997@debbugs.gnu.org>; Fri, 27 Jan 2023 11:20:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=pIWA+DVAqU7ngOizPuG8/s06hrSskA05G4gbhoMkA7o=; b=O9noOVLFpDrrE4UrpVKgOm4jNZN8ZwbAVcUhwyHXVKPZ470yuql5XGBQwvu+ZIRhaD I+n3DLyBCJzC0BDehIn9lClfRvTpYcR7YdFrbcRBJBr1UzF4rffj+DZQUSQaaTU3Ux8X qgAq7Kh9O7qbwkJ0Jww88KH86o+oajMsrpsEQyQ0U551rr1u9l1cIQ3bxBWjHPejw+RL uNcnUbDUckUXn110/ktpC29XdA/9fdxW/fJWLN7v4fxs+yjmwdMwVjcTz3PfseHy4Q7Z 8vDz5pnVxOL5RSqtHHxLrleRW7wK6WmLaXJ6r525F+wdjSkC/8vE5ab1ZuluF/oXIlyT Da+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=pIWA+DVAqU7ngOizPuG8/s06hrSskA05G4gbhoMkA7o=; b=wQin3a/GcXih7evCnH6WF3260eowLaKrnthrWr8jEoUivW4FvxcpVbcRuNZJXnnqA+ ZSH7ghQEhYv0DF3nOSZqkC8Ytdj8vSu1bf0OlXWM419mns1D/VA+WSwyAt0Ud4eYKAl8 rlMM+Kb10385LUx1RuDPBAug0CSeGfl9oxsvEyOCdpnPe5FiZPwZVNPqwdkI6C4UiMpS 6Zw68geDHKQGAvcWZKJocaU+/5qk+M693TP86Lglk1w604rAujLsLjSBjhsO2oGuWSkn g24QYp7NZrNC0Q1QaraLuZmg/9v3zO0jyHikI+k0nvOJasyQpp4RWFTW/o14+oT3JkZh RVDQ== X-Gm-Message-State: AFqh2koTnAytiPeUeKsPR4CTJKZitcAI4qOUFyRyEbPZq0WD53pdYpIW bPUE1XGbD3Vu5PuEzSe/WLy2zxNmA58= X-Google-Smtp-Source: AMrXdXsZ0Ptes3pZIsW+WUNG725ikxEEMUzNDixhosTkcc+8qqbGkZqQ/NOF7ZKuNMmEHuIaTgfpaw== X-Received: by 2002:a05:600c:1515:b0:3db:2b9:21fc with SMTP id b21-20020a05600c151500b003db02b921fcmr8991916wmg.4.1674847238700; Fri, 27 Jan 2023 11:20:38 -0800 (PST) Received: from localhost.localdomain ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id h23-20020a05600c499700b003dab40f9eafsm4945352wmp.35.2023.01.27.11.20.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 11:20:37 -0800 (PST) From: Simon Tournier Date: Fri, 27 Jan 2023 20:20:31 +0100 Message-Id: <20230127192031.3142167-1-zimon.toutoune@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) From: Konrad Hinsen * gnu/packages/minimacy.scm: New file. * gnu/packages/patches/minimacy.patch: New patch. * gnu/local.mk: Add them. --- gnu/local.mk | 2 + gnu/packages/minimacy.scm | 102 ++++++++++++++++++++++++++++ gnu/packages/patches/minimacy.patch | 34 ++++++++++ 3 files changed, 138 insertions(+) create mode 100644 gnu/packages/minimacy.scm create mode 100644 gnu/packages/patches/minimacy.patch diff --git a/gnu/local.mk b/gnu/local.mk index 29237b1138..212c95c98b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -424,6 +424,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/messaging.scm \ %D%/packages/minetest.scm \ %D%/packages/mingw.scm \ + %D%/packages/minimacy.scm \ %D%/packages/microcom.scm \ %D%/packages/moe.scm \ %D%/packages/motti.scm \ @@ -1540,6 +1541,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ + %D%/packages/patches/minimacy.patch \ %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \ %D%/packages/patches/mixxx-system-googletest-benchmark.patch \ diff --git a/gnu/packages/minimacy.scm b/gnu/packages/minimacy.scm new file mode 100644 index 0000000000..6cfba75879 --- /dev/null +++ b/gnu/packages/minimacy.scm @@ -0,0 +1,102 @@ +;;; Copyright © 2022 Konrad Hinsen +;;; +;;; 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 minimacy) + #:use-module (gnu packages) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #: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)) + +(define-public minimacy + (package + (name "minimacy") + (version "0.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ambermind/minimacy/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x9i1spf79lq3kxms55dx7lf8pl84cyblq313sjyfpr9l187ailb")) + (patches (search-patches "minimacy.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "windows")))) + (build-system gnu-build-system) + (inputs (list libx11 libxext alsa-lib mesa glu)) + (outputs '("out" ;core + "X11" ;for GUI programs, with X11 and ALSA + "X11GL")) ;for GUI programs, with X11, OpenGL, and ALSA + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/hw.c" + (("minimacy-in-gnu-store") + (assoc-ref outputs "out"))))) + (delete 'configure) + (replace 'build + (lambda _ + (chdir "unix") + (invoke "make" "nox") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11gl") + (chdir ".."))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (x11 (assoc-ref outputs "X11")) + (x11gl (assoc-ref outputs "X11GL"))) + (mkdir-p (string-append out "/rom")) + (mkdir-p (string-append out "/system")) + (copy-recursively "rom" + (string-append out "/rom")) + (copy-recursively "system" + (string-append out "/system")) + (install-file "bin/minimacy" + (string-append out "/bin")) + (install-file "bin/minimacyX11" + (string-append x11 "/bin")) + (install-file "bin/minimacyX11GL" + (string-append x11gl "/bin"))))) + (delete 'check)))) + (synopsis "Minimalist computing system") + (description + "Minimacy is an open-source minimalist computing technology. +It consists of a programming language (compiler plus virtual machine) +and a library, written such that the whole system can be fully +understood by a single person. An optional extension to the virtual +machine adds X11 and ALSA for user interfaces, another extension +adds OpenGL support.") + (home-page "https://minimacy.net/") + (license license:gpl2))) diff --git a/gnu/packages/patches/minimacy.patch b/gnu/packages/patches/minimacy.patch new file mode 100644 index 0000000000..eca49431c3 --- /dev/null +++ b/gnu/packages/patches/minimacy.patch @@ -0,0 +1,34 @@ +The Minimacy distribution is set up for being compiled and used from the +user's home directory. Running Minimacy as a Guix package requires adding +its store path as a search path for the virtual machine. That is done in +two steps: this patch, and a substitution of the actual store path in the +build process. + +--- minimacy/src/hw.c 2022-12-05 18:51:13.000000000 +0100 ++++ minimacy/src/hw.c 2022-12-09 15:55:47.122793826 +0100 +@@ -90,6 +90,13 @@ + #if defined ON_UNIX || defined ON_MACOS_CMDLINE || defined ON_RASPBERRY64 + void systemExecDir(char* path, int len) + { ++ char* p = "minimacy-in-gnu-store"; ++ if (strlen(p) < len - 2) ++ { ++ strcpy(path, p); ++ systemCleanDir(path); ++ return; ++ } + path[0] = 0; + } + #endif +@@ -583,8 +590,9 @@ + PRINTF(th, LOG_USER, "1- command line argument: -dir path\n"); + PRINTF(th, LOG_USER, "2- environment variable MINIMACY\n"); + PRINTF(th, LOG_USER, "3- grand parent of minimacy.exe (windows only)\n"); +- PRINTF(th, LOG_USER, "4- ~/minimacy (on Unix) or [user]/Documents/minimacy (on Windows)\n"); +- PRINTF(th, LOG_USER, "5- Working directory\n\n"); ++ PRINTF(th, LOG_USER, "4- the minimacy package under /gnu/store (Guix only)\n"); ++ PRINTF(th, LOG_USER, "5- ~/minimacy (on Unix) or [user]/Documents/minimacy (on Windows)\n"); ++ PRINTF(th, LOG_USER, "6- Working directory\n\n"); + } + int hwInit(Thread* th, int argc, char** argv, int standalone) + { base-commit: 8e1cca32b938cef0812ce042c6c2e8bccb326ec7 -- 2.38.1 From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH] gnu: add minimacy Resent-From: Konrad Hinsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 28 Jan 2023 15:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Simon Tournier , 59997@debbugs.gnu.org Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167492141512015 (code B ref 59997); Sat, 28 Jan 2023 15:57:01 +0000 Received: (at 59997) by debbugs.gnu.org; 28 Jan 2023 15:56:55 +0000 Received: from localhost ([127.0.0.1]:41405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLnZX-00037i-69 for submit@debbugs.gnu.org; Sat, 28 Jan 2023 10:56:55 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:60073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLnZS-00037R-NH for 59997@debbugs.gnu.org; Sat, 28 Jan 2023 10:56:54 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 611FD5C0072; Sat, 28 Jan 2023 10:56:45 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sat, 28 Jan 2023 10:56:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1674921405; x=1675007805; bh=RERJT+1ClJ pYyEM+ionYTZo25nNHP4BUzD1AZYHDE9Y=; b=YBeWsGPgOd06WvjHdUj8P12vN8 O4j6JV7rPyk3T1F8ijlxvusviO5GVkpeuTYo50G/W9BNj85CuD3y9JssxYZoBH3D SdVEVwOqDuQjdO7xxD9CpbB59M56OobMAy6tZAktC21IMW8cXn+F8lQ3ZJSmzsUJ N8rzMJrxtZTWu1aALguTQBqlLu9PW17DOQp1GBbOiqtgENjRU4+9DruNNaokIvDn KMiShwiAPWdpsqZzggeCAut1sG53ihJ7b1z3QY66fjnNdGNts+9PUs9QQeaLymvU /3B5zc5mxAlCSpjLdRMGQR2Hee8tXqKM3xWgrWPEpC5++akbjnFc7vRzQrfA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1674921405; x=1675007805; bh=RERJT+1ClJpYyEM+ionYTZo25nNH P4BUzD1AZYHDE9Y=; b=guCPsoq24mAqokiVKR20/5Dw5qi3wdRepn39WSRs5gCL J2ZkKJH8eY5WRtLV97rcYBo1119Vabv8FGSxrbknLlVwYQGJ20gxgsSWskXpb+6z qkrdn0n/yJpXSeoxDH/1W0Izzf33/Izve5bSffu9O7sYKYDEN/23L5vr3yMEdk8u eqZ8ZarelokzaO9ixbrT1TD9VRfAFzU233vZDZsYLyvPNmszfbOkacARQhMRJY1r fUklvPKcnmcNXIu/hK7TByJcTFKE3HDiGlWmUa1r3xG6QMN7uhcYYgBMeLv1qZQG K/prO1k7W9gvD7kneE8fkZOvwduklr3ZtubM3fqXNw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddvkedgkedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffujghffffkgggtsehttdertd dttddtnecuhfhrohhmpefmohhnrhgrugcujfhinhhsvghnuceokhhonhhrrggurdhhihhn shgvnhesfhgrshhtmhgrihhlrdhnvghtqeenucggtffrrghtthgvrhhnpeeikeejjeevue eifeejhedtgeethfdutefgveffhfeuheejveeiieegvdfhtdeifeenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehkohhnrhgrugdrhhhinhhsvg hnsehfrghsthhmrghilhdrnhgvth X-ME-Proxy: Feedback-ID: i184641e2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 28 Jan 2023 10:56:44 -0500 (EST) From: Konrad Hinsen In-Reply-To: <87o7qjn75e.fsf@gmail.com> References: <87o7qjn75e.fsf@gmail.com> Date: Sat, 28 Jan 2023 16:56:42 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Simon Tournier writes: > I have sent a V2 with some minor tweaks. And a V3. Looks good to me - and I learned about two more files in the Guix infrastructure. Konrad. From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH] gnu: add minimacy Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 24 Feb 2023 21:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Simon Tournier Cc: 59997@debbugs.gnu.org, Konrad Hinsen Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167727435910191 (code B ref 59997); Fri, 24 Feb 2023 21:33:01 +0000 Received: (at 59997) by debbugs.gnu.org; 24 Feb 2023 21:32:39 +0000 Received: from localhost ([127.0.0.1]:38389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVfgF-0002eJ-9P for submit@debbugs.gnu.org; Fri, 24 Feb 2023 16:32:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:39552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVfgD-0002e6-NO for 59997@debbugs.gnu.org; Fri, 24 Feb 2023 16:32:38 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVfg7-00067P-Ik; Fri, 24 Feb 2023 16:32:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=wKRoPqQ60RSbmVE2WAcbgue1I+pYpjg8jcq0rRDLfZ8=; b=hR0yGSCNYFBMPUe8ni6l 9NVbrtrFnvNs+4EFF7Jgz9CecBHnb5of8wbFQvjkfLJcIVjibzUHkUytRDHHghkJ7MI0FxhtzCHSl FEdHC/GEsxKkZYXqeNEB8J6u0QIFzCaf/hukg9AZ35V7qQkxQdKHeX016uPGzPmv82yjg2K1zwA1W RhYre5dFdQhO0H3V0j5Q+g0lRqYSShVXeTl+9SZSdOcNANzWQzcShn92p0pnnV/Z/fE1ldEB0ewje 22AM2X3O/VKNYhnQGAWkCZeWPh3R7DU4KuHAJTEpFrM6e+spbnJh8011szl4NJ7wLDCmiYEbLQEnq rQiQIeQam16Ccw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVfg7-00063Z-4N; Fri, 24 Feb 2023 16:32:31 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20230127192031.3142167-1-zimon.toutoune@gmail.com> Date: Fri, 24 Feb 2023 22:32:28 +0100 In-Reply-To: <20230127192031.3142167-1-zimon.toutoune@gmail.com> (Simon Tournier's message of "Fri, 27 Jan 2023 20:20:31 +0100") Message-ID: <87o7pi21hv.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) HI, Simon Tournier skribis: > From: Konrad Hinsen > > * gnu/packages/minimacy.scm: New file. > * gnu/packages/patches/minimacy.patch: New patch. > * gnu/local.mk: Add them. [...] > diff --git a/gnu/packages/minimacy.scm b/gnu/packages/minimacy.scm > new file mode 100644 > index 0000000000..6cfba75879 > --- /dev/null > +++ b/gnu/packages/minimacy.scm > @@ -0,0 +1,102 @@ > +;;; Copyright =C2=A9 2022 Konrad Hinsen It misses the very first line. :-) > + (outputs '("out" ;core > + "X11" ;for GUI programs, with X11 and ALSA > + "X11GL")) ;for GUI programs, with X11, OpenGL, an= d ALSA Two things: output names are lowercase by convention, and the (unofficial) convention for the GUI output is =E2=80=9Cgui=E2=80=9D. Does it make sense to separate the two GUI outputs? It seems better to me to keep just one =E2=80=9Cgui=E2=80=9D output with both OpenGL and non-O= penGL thingies. WDYT? > + (delete 'check)))) Rather #:tests? #f with a comment explaining why. > + (synopsis "Minimalist computing system") > + (description > + "Minimacy is an open-source minimalist computing technology. s/an open-source/a/ > +It consists of a programming language (compiler plus virtual machine) > +and a library, written such that the whole system can be fully > +understood by a single person. An optional extension to the virtual > +machine adds X11 and ALSA for user interfaces, another extension > +adds OpenGL support.") Could you send one last revision? Thanks! Ludo=E2=80=99. From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH] gnu: add minimacy Resent-From: Konrad Hinsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Feb 2023 16:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Simon Tournier Cc: 59997@debbugs.gnu.org Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167742770516189 (code B ref 59997); Sun, 26 Feb 2023 16:09:01 +0000 Received: (at 59997) by debbugs.gnu.org; 26 Feb 2023 16:08:25 +0000 Received: from localhost ([127.0.0.1]:44876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pWJZZ-0004D3-Ay for submit@debbugs.gnu.org; Sun, 26 Feb 2023 11:08:25 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:48583) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pWJZW-0004Cq-SJ for 59997@debbugs.gnu.org; Sun, 26 Feb 2023 11:08:23 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id C71015C00A0; Sun, 26 Feb 2023 11:08:17 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Sun, 26 Feb 2023 11:08:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1677427697; x= 1677514097; bh=2axV+HHyBau+hl+JGSx5US4pFM2PZ1Uwl7va/rzHW6s=; b=U Dc2U7CmJsz1E0A0bTQMScoH7XzYRpGkQFdFoqw8ninFIth9dKM1B9T6qQMW5zX/H brFcA0HGaGRu86VpCQIK33h8A2Gph5hZxlaShHNeH6OA4j65u7QyQGBuPQNfE/JK St1l7jUGPNbtJCWX5h7u8OWyf8cfSw7Bbad8ehKpciHTiAajXr6cO4GzriWIQqDu 5Ind421dWZXQmxAv1kmjC9xRxyax5zIYa13YuSfuZ9GdxOdBIxctw+62yTPjGFIc uy8O8rEPczFSxKgefCE0BukE+XVOeRQ1zDyMtHZDK/bVBQCCwP7eOGUJr/w2ca8U A2yfN1hRIuwPcfGrarVSQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1677427697; x= 1677514097; bh=2axV+HHyBau+hl+JGSx5US4pFM2PZ1Uwl7va/rzHW6s=; b=O MbTc6p3xTQ6LFbXmo3L+wvZUBDHPKQMHsxGpP50a7hmYVTkjJtnUUfSRbaX9qS4F UPfs30Hdfqq4s3ss0GvH3WpbzYuyyo/qp0VV+0ZhlIUvvaRHuCfEcOQLlW+oqg0b eHNAsq0cTCSwpYDk1IU4nv9EVq5BCu2QNwo7WyJy7bJQ3F+QAeyN/pJhKxWBA1KB 6F3iRsnko1fpYm7iNHplszZYUVnmH08YZjKeP/l1Ve0iR8MazQ7fKI+PWUZbHLEQ pP1assGQPSlqfaH/jUmpxMXbweYjs/PeU3W/Wr0yGX62dW6MUy/Yj7HDgbCTuTxQ gBKLjnWxvHOG8cxX52GNQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekkedgheelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkgggtgfesthhqredttddtjeenucfhrhhomhepmfhonhhr rgguucfjihhnshgvnhcuoehkohhnrhgrugdrhhhinhhsvghnsehfrghsthhmrghilhdrnh gvtheqnecuggftrfgrthhtvghrnhepieehvdelhedujeejvdefudehieeifeegueeiieeg teehffduleelgfegueeifeelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hmrghilhhfrhhomhepkhhonhhrrggurdhhihhnshgvnhesfhgrshhtmhgrihhlrdhnvght X-ME-Proxy: Feedback-ID: i184641e2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 26 Feb 2023 11:08:16 -0500 (EST) From: Konrad Hinsen In-Reply-To: <87o7pi21hv.fsf_-_@gnu.org> References: <20230127192031.3142167-1-zimon.toutoune@gmail.com> <87o7pi21hv.fsf_-_@gnu.org> Date: Sun, 26 Feb 2023 17:08:15 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Ludo, Thanks for looking into this! > It misses the very first line. :-) Oops :-) > Two things: output names are lowercase by convention, and the > (unofficial) convention for the GUI output is =E2=80=9Cgui=E2=80=9D. OK. The three outputs are now "out", "gui" and "opengl". > Does it make sense to separate the two GUI outputs? It seems better to > me to keep just one =E2=80=9Cgui=E2=80=9D output with both OpenGL and non= -OpenGL > thingies. WDYT? A good reason for separating them is output size (with dependencies): out: 72.7 MiB gui: 82.1 MiB opengl: 416.8 MiB For software aiming at minimalism, that looks important enough to me. In particular when using "guix pack" to deploy on small machines. > Rather #:tests? #f with a comment explaining why. OK. > Could you send one last revision? Coming... Cheers, Konrad. From unknown Fri Jun 13 13:32:45 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#59997] [PATCH v4] gnu: add minimacy Resent-From: Konrad Hinsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Feb 2023 16:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59997 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 59997@debbugs.gnu.org Received: via spool by 59997-submit@debbugs.gnu.org id=B59997.167742799916639 (code B ref 59997); Sun, 26 Feb 2023 16:14:01 +0000 Received: (at 59997) by debbugs.gnu.org; 26 Feb 2023 16:13:19 +0000 Received: from localhost ([127.0.0.1]:44887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pWJeI-0004KI-P1 for submit@debbugs.gnu.org; Sun, 26 Feb 2023 11:13:19 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:57695) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pWJeF-0004K4-FQ for 59997@debbugs.gnu.org; Sun, 26 Feb 2023 11:13:16 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 5F4845C010B; Sun, 26 Feb 2023 11:13:10 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sun, 26 Feb 2023 11:13:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1677427990; x= 1677514390; bh=pmwlnuQnSs9IBgoR4h8M/njcvcisl/P8+f3o6iUZd8E=; b=F KZfOBO2v+WKCKRB8zxQNA+5JibbsoT4BfyVkrN8hpEtZFHOTkhhmNX8PRn+ouJtG jTwhw4StTlp+zX5XLdrzhJpG05yM81vrNFA3Jp/H0+wti97u8X4e4G5vBy7WS5q9 uhtt8Ec/9gdos8JTQixHkQhyFkwdElBQ1/w4w8hFHC0By5/BAFTobc4CdkdPBZXl ljEXXy1xQo5baLv6c1vm9qryUg0/kqH+mg5n7h83fQfXsUcYqB1vuDJ+E4ju3tAe TBBPw7BETxxizS+E/LsuroWfpdY8mIuEe5mAW5L5ooqf26O7GHd8lGkLh4oPQrut IWVDJfK7sr6mzD5KYA/EA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1677427990; x=1677514390; bh=p mwlnuQnSs9IBgoR4h8M/njcvcisl/P8+f3o6iUZd8E=; b=BU/4kpaMPTHtqeqeP HJoXp0SCLKCbTwJpl9RJruIDUH8Li4kkuA6kR0bIrJKl+f/As9sfpxR5sK9PuHL+ Ij52wdoIksGq0bShaPuBOPxKoHDf+KjyWyEpvNPVjIZWoKRbyAbFfz38ITwQM5zQ zLpYprYn+nn1wi50kvgOp06slVyEPnw8p+JHO2+1vLl3KDg5i2iTJGj4XOzmitNo 5NokkUSdbx5ERhVZObegdJAzoHNobJxIkf+YNDP2ymrUNt2CNdbkVpDU12lzask6 p6jT6mD+QfCsiFfEFZM0hlQlYVtoC8DC5we1Q+jya/XVA/zhW1wANzTfPSn5Rq3B dfRbQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekkedgiedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufhffjgfkfgggtgfgsehtqh ertddtreejnecuhfhrohhmpefmohhnrhgrugcujfhinhhsvghnuceokhhonhhrrggurdhh ihhnshgvnhesfhgrshhtmhgrihhlrdhnvghtqeenucggtffrrghtthgvrhhnpeefhedtie fgteehveelieetieekudekffeugfevvdehveegiefgvdefteetkedvleenucffohhmrghi nhepghhnuhdrohhrghdpghhithhhuhgsrdgtohhmpdhmihhnihhmrggthidrnhgvthenuc evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehkohhnrhgr ugdrhhhinhhsvghnsehfrghsthhmrghilhdrnhgvth X-ME-Proxy: Feedback-ID: i184641e2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 26 Feb 2023 11:13:09 -0500 (EST) From: Konrad Hinsen References: <20230127192031.3142167-1-zimon.toutoune@gmail.com> Date: Sun, 26 Feb 2023 17:13:08 +0100 In-Reply-To: <20230127192031.3142167-1-zimon.toutoune@gmail.com> (Simon Tournier's message of "Fri, 27 Jan 2023 20:20:31 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/minimacy.scm: New file. * gnu/packages/patches/minimacy.patch: New patch. * gnu/local.mk: Add them. --- gnu/local.mk | 2 + gnu/packages/minimacy.scm | 103 ++++++++++++++++++++++++++++ gnu/packages/patches/minimacy.patch | 34 +++++++++ 3 files changed, 139 insertions(+) create mode 100644 gnu/packages/minimacy.scm create mode 100644 gnu/packages/patches/minimacy.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4ccf015316..c72f14b685 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -423,6 +423,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/messaging.scm \ %D%/packages/minetest.scm \ %D%/packages/mingw.scm \ + %D%/packages/minimacy.scm \ %D%/packages/microcom.scm \ %D%/packages/moe.scm \ %D%/packages/mold.scm \ @@ -1548,6 +1549,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ + %D%/packages/patches/minimacy.patch \ %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \ %D%/packages/patches/mixxx-system-googletest-benchmark.patch \ diff --git a/gnu/packages/minimacy.scm b/gnu/packages/minimacy.scm new file mode 100644 index 0000000000..2a04d7c117 --- /dev/null +++ b/gnu/packages/minimacy.scm @@ -0,0 +1,103 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2022 Konrad Hinsen +;;; +;;; 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 minimacy) + #:use-module (gnu packages) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #: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)) + +(define-public minimacy + (package + (name "minimacy") + (version "0.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ambermind/minimacy/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x9i1spf79lq3kxms55dx7lf8pl84cyblq313sjyfpr9l187ailb")) + (patches (search-patches "minimacy.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "windows")))) + (build-system gnu-build-system) + (inputs (list libx11 libxext alsa-lib mesa glu)) + (outputs '("out" ; core + "gui" ; for GUI programs, with X11 and ALSA + "opengl")) ; for GUI programs, with X11, OpenGL, and ALSA + (arguments + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/hw.c" + (("minimacy-in-gnu-store") + (assoc-ref outputs "out"))))) + (delete 'configure) + (replace 'build + (lambda _ + (chdir "unix") + (invoke "make" "nox") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11") + (for-each delete-file + (find-files "../obj" "\\.o$")) + (invoke "make" "x11gl") + (chdir ".."))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui")) + (opengl (assoc-ref outputs "opengl"))) + (mkdir-p (string-append out "/rom")) + (mkdir-p (string-append out "/system")) + (copy-recursively "rom" + (string-append out "/rom")) + (copy-recursively "system" + (string-append out "/system")) + (install-file "bin/minimacy" + (string-append out "/bin")) + (install-file "bin/minimacyX11" + (string-append gui "/bin")) + (install-file "bin/minimacyX11GL" + (string-append opengl "/bin")))))))) + (synopsis "Minimalist computing system") + (description + "Minimacy is a minimalist computing technology. +It consists of a programming language (compiler plus virtual machine) +and a library, written such that the whole system can be fully +understood by a single person. An optional extension to the virtual +machine adds X11 and ALSA for user interfaces, another extension +adds OpenGL support.") + (home-page "https://minimacy.net/") + (license license:gpl2))) diff --git a/gnu/packages/patches/minimacy.patch b/gnu/packages/patches/min= imacy.patch new file mode 100644 index 0000000000..eca49431c3 --- /dev/null +++ b/gnu/packages/patches/minimacy.patch @@ -0,0 +1,34 @@ +The Minimacy distribution is set up for being compiled and used from the +user's home directory. Running Minimacy as a Guix package requires adding +its store path as a search path for the virtual machine. That is done in +two steps: this patch, and a substitution of the actual store path in the +build process. + +--- minimacy/src/hw.c 2022-12-05 18:51:13.000000000 +0100 ++++ minimacy/src/hw.c 2022-12-09 15:55:47.122793826 +0100 +@@ -90,6 +90,13 @@ + #if defined ON_UNIX || defined ON_MACOS_CMDLINE || defined ON_RASPBERRY64 + void systemExecDir(char* path, int len) + { ++ char* p =3D "minimacy-in-gnu-store"; ++ if (strlen(p) < len - 2) ++ { ++ strcpy(path, p); ++ systemCleanDir(path); ++ return; ++ } + path[0] =3D 0; + } + #endif +@@ -583,8 +590,9 @@ + PRINTF(th, LOG_USER, "1- command line argument: -dir path\n"); + PRINTF(th, LOG_USER, "2- environment variable MINIMACY\n"); + PRINTF(th, LOG_USER, "3- grand parent of minimacy.exe (windows only)\n"); +- PRINTF(th, LOG_USER, "4- ~/minimacy (on Unix) or [user]/Documents/minima= cy (on Windows)\n"); +- PRINTF(th, LOG_USER, "5- Working directory\n\n"); ++ PRINTF(th, LOG_USER, "4- the minimacy package under /gnu/store (Guix onl= y)\n"); ++ PRINTF(th, LOG_USER, "5- ~/minimacy (on Unix) or [user]/Documents/minima= cy (on Windows)\n"); ++ PRINTF(th, LOG_USER, "6- Working directory\n\n"); + } + int hwInit(Thread* th, int argc, char** argv, int standalone) + { --=20 2.39.1