Subject: [PATCH] gnu: gfortran: Remove unusable versions.
From: Jakub Kądziołka <[email-masked]>
To: [email-masked]
Date: Mon, 29 Jun 2020 22:48:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

The gfortran packages cannot be used without being wrapped with
gfortran-toolchain. However, as the comment in (gnu packages
commencement) explains, there cannot be more than one gfortran-toolchain
package because of ABI issues. Thus, versions of gfortran other than the
main one are useless.

* gnu/packages/gcc.scm (gfortran-4.8, gfortran-4.9, gfortran-5,
  gfortran-6, gfortran-7, gfortran-8, gfortran-9): Remove variables.
  (gfortran): Define the gfortran package based on the gcc variable.
---
 gnu/packages/gcc.scm | 41 ++---------------------------------------
 1 file changed, 2 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 0c5be69fbf..31d88f2e0b 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -687,48 +687,11 @@ as the 'native-search-paths' field."
          (variable "LIBRARY_PATH")
          (files '("lib" "lib64")))))
 
-(define-public gfortran-4.8
-  (hidden-package
-   (custom-gcc gcc-4.8 "gfortran" '("fortran")
-               %generic-search-paths)))
-
-(define-public gfortran-4.9
-  (hidden-package
-   (custom-gcc gcc-4.9 "gfortran" '("fortran")
-               %generic-search-paths)))
-
-(define-public gfortran-5
-  (hidden-package
-   (custom-gcc gcc-5 "gfortran" '("fortran")
-               %generic-search-paths)))
-
-(define-public gfortran-6
-  (hidden-package
-   (custom-gcc gcc-6 "gfortran" '("fortran")
-               %generic-search-paths)))
-
-(define-public gfortran-7
-  (hidden-package
-   (custom-gcc gcc-7 "gfortran" '("fortran")
-               %generic-search-paths)))
-
-(define-public gfortran-8
-  (hidden-package
-   (custom-gcc gcc-8 "gfortran" '("fortran")
-               %generic-search-paths)))
-
-(define-public gfortran-9
+(define-public gfortran
   (hidden-package
-   (custom-gcc gcc-9 "gfortran" '("fortran")
+   (custom-gcc gcc "gfortran" '("fortran")
                %generic-search-paths)))
 
-(define-public gfortran
-  ;; Note: Update this when GCC changes!  We cannot use
-  ;; (custom-gcc gcc "fortran" …) because that would lead to a package object
-  ;; that is not 'eq?' with GFORTRAN-5, and thus 'fold-packages' would
-  ;; report two gfortran@5 that are in fact identical.
-  gfortran-7)
-
 (define-public libgccjit
   (package
     (inherit gcc-9)
-- 
2.27.0