guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add fpc. (version 2)


From: Ricardo Wurmus
Subject: Re: [PATCH] gnu: Add fpc. (version 2)
Date: Mon, 05 Jun 2017 21:55:50 +0200
User-agent: mu4e 0.9.18; emacs 25.2.1

Danny Milosavljevic <address@hidden> writes:

> ... but it turns out that gpc patches gcc parts - and the most recent
> patch is for gcc 4.0.3 - which we don't carry.

Actually, the most recent patch is for 4.3, which is why I’ve packaged gcc-4.3:

--8<---------------cut here---------------start------------->8---
commit cd40a5a8cf241dd5a7944f93296d6e8c71c072b0
Author: Ricardo Wurmus <address@hidden>
Date:   Sat Oct 15 14:55:36 2016 +0200

    WIP gcc-4.3 for gcp for freepascal bootstrap

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 866f8478f..810f58174 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -342,6 +342,39 @@ Go.  It also includes runtime support libraries for these 
languages.")
       (license gpl3+)
       (home-page "https://gcc.gnu.org/";))))

+;; The GNU Pascal compiler gpc inherits from this package.
+(define-public gcc-4.3
+  (package (inherit gcc-4.7)
+    (version "4.3.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/gcc/gcc-"
+                                  version "/gcc-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0svy81i6yfm1r5jydmylv5djrd9wc3ishsx1rx8ckgcxqd2ygihh"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments gcc-4.7)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-before 'pre-configure 'modernize
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               ;; FIXME: this is a hack needed to be able to reuse the build
+               ;; phases of gcc-4.7.
+               (mkdir-p "libstdc++-v3/python/")
+               (zero? (system* "touch" "libstdc++-v3/python/Makefile.in"))
+
+               ;; This is to avoid searching for headers in the libc package's
+               ;; "/usr/include" directory.
+               (let ((libc (assoc-ref %build-inputs "libc")))
+                 (substitute* '("gcc/configure"
+                                "gcc/Makefile.in")
+                   (("/usr/include")
+                    (string-append libc "/include"))))
+               #t))))))
+    ;; Use older texinfo because it's more tolerant
+    (native-inputs `(("texinfo" ,texinfo-4)))))
+
 (define-public gcc-4.8
   (package (inherit gcc-4.7)
     (version "4.8.5")
--8<---------------cut here---------------end--------------->8---

I took the GCC diff from https://github.com/hebisch/gpc.git, which is
the main author’s repository.  I almost got GPC to build, but it fails
some time during stage 2 or so IIRC.  The error did not seem to be a
problem with GPC itself, but with how we do things in Guix.

I don’t have my branch in order right now, but if you’re interested I
could share a bit more of my work.

(I started this only because I also wanted to package Hedgewars.)

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]