From patchwork Fri Nov 18 09:28:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Faiz X-Patchwork-Id: 44588 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 BBE3627BBED; Fri, 18 Nov 2022 09:29:24 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,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 2BB1F27BBE9 for ; Fri, 18 Nov 2022 09:29:23 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovxgG-0008Jj-7f; Fri, 18 Nov 2022 04:29:04 -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 1ovxgE-0008JG-Jr for guix-patches@gnu.org; Fri, 18 Nov 2022 04:29:02 -0500 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 1ovxgE-0007Qa-AM for guix-patches@gnu.org; Fri, 18 Nov 2022 04:29:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ovxgE-00074u-29 for guix-patches@gnu.org; Fri, 18 Nov 2022 04:29:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#57625] [PATCH v1 03/03] WIP : gnu: Add pnet. Resent-From: Adam Faiz Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 18 Nov 2022 09:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57625 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch moreinfo To: 57625@debbugs.gnu.org Received: via spool by 57625-submit@debbugs.gnu.org id=B57625.166876373227193 (code B ref 57625); Fri, 18 Nov 2022 09:29:02 +0000 Received: (at 57625) by debbugs.gnu.org; 18 Nov 2022 09:28:52 +0000 Received: from localhost ([127.0.0.1]:35281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ovxg4-00074X-1r for submit@debbugs.gnu.org; Fri, 18 Nov 2022 04:28:52 -0500 Received: from knopi.disroot.org ([178.21.23.139]:54910) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ovxg2-00074N-HS for 57625@debbugs.gnu.org; Fri, 18 Nov 2022 04:28:51 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id D90C640F4F for <57625@debbugs.gnu.org>; Fri, 18 Nov 2022 10:28:49 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s1YkR4U9ezVV for <57625@debbugs.gnu.org>; Fri, 18 Nov 2022 10:28:48 +0100 (CET) Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1668763728; bh=sWlifpi1vkCoYG2dNekLsrGd6ZF9CJBpGqw27N1GdzY=; h=Date:Subject:From:To:References:In-Reply-To:From; b=atCPEofmRxpfkoIu2NdYB1piCyaLz62TQk7jpYfF6AplYgUXquyXNE5hDdhpwe3MA YBjLtB4oG54Suvkf4sI0rAgiCX+FoGZ877v7tj60E3DLDIEVB17RNMl6//0orArQfA YAm8004UQDmHd0SCKaCk8hPSPj6eihzAxtjOprT6UvN5KDSiuNkETSPQqM1z81/bKO VlbButMhL7daWeptEedwv+49YvGZrVHR5QCQRY/jjPUH9PP+lM2M7+CLvBk4l1zkc0 4HjvQz971uDRkphQB3nyK40sCtZM5jXy0RMvoDaYUGaWH0GnBgoTJ+GeEJEYKMrbQL st2Y8gspXPLTw== Date: Fri, 18 Nov 2022 17:28:42 +0800 MIME-Version: 1.0 Content-Language: en-US References: <1b3a9c28-436c-252a-e556-76b18b040b42@disroot.org> <809493d4-0a97-e04c-73df-e0d2f75402cb@disroot.org> In-Reply-To: <809493d4-0a97-e04c-73df-e0d2f75402cb@disroot.org> 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: , Reply-to: Adam Faiz X-ACL-Warn: , Adam Faiz via Guix-patches X-Patchwork-Original-From: Adam Faiz via Guix-patches via From: Adam Faiz 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 On 11/18/22 17:20, Adam Faiz wrote: From bfccb84dee219d100bea8fdcaaf4b2fde4be7f3a Mon Sep 17 00:00:00 2001 From: AwesomeAdam54321 Date: Fri, 18 Nov 2022 08:42:13 +0800 Subject: [PATCH 03/10] WIP : gnu: Add pnet. * gnu/packages/dotgnu.scm (pnet): New variable. --- gnu/packages/dotgnu.scm | 87 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) + #:make-flags + #~(list (string-append "GCLIBS=")) ; libgc is already in the linker path + )) + (home-page "http://www.gnu.org/software/dotgnu/html2.0/pnet.html") + (synopsis "Compiler and libraries for the C# programming language") + (description + "The goal of this project is to build a suite of free software tools +to build and execute .NET applications, including a C# compiler, +assembler, disassembler, and runtime engine.") + (license license:gpl2+))) diff --git a/gnu/packages/dotgnu.scm b/gnu/packages/dotgnu.scm index ad3b6c74e5..f8603173bc 100644 --- a/gnu/packages/dotgnu.scm +++ b/gnu/packages/dotgnu.scm @@ -48,3 +48,90 @@ (define-public treecc and other language-based tools. It manages the generation of code to handle abstract syntax trees and operations upon the trees.") (license license:gpl2+))) + +(define-public pnet + (package + (name "pnet") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://download.savannah.gnu.org/releases/dotgnu-pnet/pnet-" + version ".tar.gz")) + (sha256 + (base32 + "1fsi8nkgvawjib2n4kyygfhfr31637bin84xkmr0apvsavihld7i")) + (modules '((guix build utils))) + (snippet + #~(begin + (for-each delete-file-recursively '("libffi" "libgc")) + (for-each delete-file '("compile" + "configure" + "config.guess" + "config.sub" + "depcomp" + "install-sh" + "ltconfig" + "ltcf-c.sh" + "ltmain.sh" + "Makefile.in")) + (for-each (lambda (dir) + (delete-file (string-append dir "/Makefile.in"))) + (list "clrwrap" + "codegen" + "coremul" + "csant" + "cscc" + "csdoc" + "doc" + "dumpasm" + "engine" + "ilalink" + "ilasm" + "ildasm" + "ildd" + "ilfind" + "ilgac" + "ilheader" + "ilnative" + "ilranlib" + "ilsize" + "ilstrip" + "image" + "include" + "profiles" + "resgen" + "samples" + "support" + "tests")) + (substitute* "Makefile.am" ; Fix to not require bundled dependencies + (("OPT_SUBDIRS \\+= lib.*") "")) + (substitute* "support/hb_gc.c" + (("#include .*/libgc/include/gc.h.") "#include ") + (("#include .*/libgc/include/gc_typed.h.") "#include ")) + (substitute* "support/pt_defs.c" + (("#include ") + "#include \n#define GC_H 0\n#define GC_PTHREADS 1\n#include ")) + (substitute* "support/thread.c" + ; Maybe GC_CreateThread can be used as replacement? + (("result = GC_run_thread.*;") + "result = thread_func(arg);")))))) + (build-system gnu-build-system) + (native-inputs (list autoconf automake libtool libatomic-ops)) + (inputs (list treecc libffi libgc libgc-all-headers)) + (arguments + (list #:configure-flags + #~(list + (string-append "CPPFLAGS=-I" #$(this-package-input "libffi") "/include/ffi" + " -I" #$(this-package-input "libgc") "/include/gc" + " -I" #$(this-package-input "libgc-all-headers") "/include/private"))