From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nikita Karetnikov Subject: Re: GFortran =?utf-8?Q?can=E2=80=99t?= find system headers Date: Thu, 17 Oct 2013 16:59:53 +0400 Message-ID: <87ppr4giie.fsf@karetnikov.org> References: <87wqlfutme.fsf@karetnikov.org> <87hacijnke.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53168) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWn6Z-00038c-JN for guix-devel@gnu.org; Thu, 17 Oct 2013 08:55:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWn6U-0005kn-HL for guix-devel@gnu.org; Thu, 17 Oct 2013 08:55:07 -0400 In-Reply-To: <87hacijnke.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 15 Oct 2013 22:17:53 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > Instead, what should do is preserve the arguments; the value associated > with #:configure-flags should be changed to replace any > --enable-languages=3D.* flag with yours. See =E2=80=98gcc-boot0=E2=80=99= in base.scm for > how to do that. Are you talking about the =E2=80=98substitute-keyword-arguments=E2=80=99 pa= rt? > Alternately, you could turn the current =E2=80=98gcc-4.8=E2=80=99 definit= ion into a > =E2=80=98make-gcc-4.8=E2=80=99 procedure like this: > (define* (make-gcc-4.8 #:key languages) > (package > ... > #:configure-flags ... ,(string-join languages ",") > ...)) > (define gcc-4.8 > (make-gcc-4.8 #:languages '("c" "c++"))) > That would probably be easier to work with. I don=E2=80=99t like the above version because it doesn=E2=80=99t allow to = choose the version of GCC. I=E2=80=99ve attached my version, how can I make it look better? Also, =E2=80=98/nix/store/nxpzxlvg5z5qq10wzxrzk9hjyhxyicxq-gfortran-4.8.1/b= in=E2=80=99 contains these programs: c++ gcc-ranlib i686-pc-linux-gnu-gcc-4.8.1 cpp gcov i686-pc-linux-gnu-gcc-ar g++ gfortran i686-pc-linux-gnu-gcc-nm gcc i686-pc-linux-gnu-c++ i686-pc-linux-gnu-gcc-ranlib gcc-ar i686-pc-linux-gnu-g++ i686-pc-linux-gnu-gfortran gcc-nm i686-pc-linux-gnu-gcc Are C++ and C-related programs supposed to be there? --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=gcc.diff Content-Transfer-Encoding: quoted-printable diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index cececca..46c4804 100644 =2D-- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -47,7 +47,7 @@ where the OS part is overloaded to denote a specific ABI-= --into GCC ;; TODO: Add `armel.*gnueabi', `hf', etc. '()))) =20 =2D(define-public gcc-4.7 +(define* (inherit-gcc name* version* source* #:key (languages '("c" "c++")= )) (let* ((stripped? #t) ; TODO: make this a para= meter (maybe-target-tools (lambda () @@ -68,13 +68,14 @@ where the OS part is overloaded to denote a specific AB= I---into GCC ;; contents of (maybe-target-tools). (list 'quasiquote (append =2D '("--enable-plugin" =2D "--enable-languages=3Dc,c++" + `("--enable-plugin" + ,(string-append "--enable-languages=3D" + (string-join languages ",")) "--disable-multilib" =20 =2D "--with-local-prefix=3D/no-gcc-local-prefix" + "--with-local-prefix=3D/no-gcc-local-prefix") =20 =2D ,(let ((libc (assoc-ref %build-inputs "libc"))) + '(,(let ((libc (assoc-ref %build-inputs "libc"))) (if libc (string-append "--with-native-system-header-di= r=3D" libc "/include") @@ -88,15 +89,9 @@ where the OS part is overloaded to denote a specific ABI= ---into GCC =20 (maybe-target-tools)))))) (package =2D (name "gcc") =2D (version "4.7.3") =2D (source (origin =2D (method url-fetch) =2D (uri (string-append "mirror://gnu/gcc/gcc-" =2D version "/gcc-" version ".tar.bz2")) =2D (sha256 =2D (base32 =2D "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g")= ))) + (name name*) + (version version*) + (source source*) (build-system gnu-build-system) (inputs `(("gmp" ,gmp) ("mpfr" ,mpfr) @@ -200,6 +195,17 @@ Go. It also includes standard libraries for these lan= guages.") (license gpl3+) (home-page "http://gcc.gnu.org/")))) =20 +(define-public gcc-4.7 + (let ((version "4.7.3")) + (inherit-gcc "gcc" version + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g"= )))))) + (define-public gcc-4.8 (package (inherit gcc-4.7) (version "4.8.1") @@ -211,6 +217,18 @@ Go. It also includes standard libraries for these lan= guages.") (base32 "04sqn0ds17ys8l6zn7vyyvjz1a7hsk4zb0381vlw9wnr7az48nsl")))))) =20 +(define-public gfortran-4.8 + (let ((version "4.8.1")) + (inherit-gcc "gfortran" version + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "04sqn0ds17ys8l6zn7vyyvjz1a7hsk4zb0381vlw9wnr7az48nsl"= ))) + #:languages '("fortran")))) + (define-public isl (package (name "isl") --=-=-=-- --==-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJSX99MAAoJEM+IQzI9IQ38I64P+gIpnqF/Zm88Dtv61lMauWFC x2dmByAkPyD1CiGu3pIZQrEKg3go1SjJBdTPq/3+Nupz7wHOoCZGK970Gok9F85/ Jlba8UoAtZk7XDhFl30v0MOSeJq1ASN2QCj98GxLJrPBRkfPEQAkvA7W8outn2I9 0FY5jUIS0JKNJGqbnVCiDNp7IhsB6pmSVuusGO4dUUy5kkKNm3scs3CkxmaR9cTm afhYZ61mo/YifH+UVWMs02NDtg1zWrBbBhGTaR5zliRm4t5gJBLPPEg4UBXheZeq OswsLS4T3SmQdz+0Tbf91WWZLt4HuvMMP7wXudvn6e1TenaANkc6JOpXhSOlUM2d CocUiSp4TURcW+VHCRLDpLhZxbV2yvwyx5iMk5qHNQqPE6RXvX4d6ODQcfZ4rPWk JqYLyvr1g0W3Jnb/hthWlyUZZQPfUgN5u+DfwBbmgQ0NSHbCKa8eVXEFSMa1BeiZ iMqEbrYZaeIylussfyn8R84gBd2JXs/MxKkL5ju7lsDYYVTyuu2F0cIAuNj/WVtW 3RlS7jFm6Ntf9p2knkdr3RJovepBQVOXNUvLMZnBTu4MCiWzy5MR/l61Wa3vE0pS WxgS9OzhKqxeyvGl2tTTEKS/RB1Y58cSDUtmNd8fo/7zI1S9CY+kc5VCS0XQpgzn N+3ZDdUcCHUzYza2HWK5 =MlxI -----END PGP SIGNATURE----- --==-=-=--