diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index bd20f3f6068..8ce59145ec6 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1285,7 +1285,7 @@ as the 'native-search-paths' field." "gfortran" '("fortran") %generic-search-paths))) -(define-public gdc-11 +(define-public gdc-11 ;kept for bootstrapping (hidden-package (custom-gcc gcc-11 "gdc" '("d") %generic-search-paths))) @@ -1293,8 +1293,18 @@ as the 'native-search-paths' field." ;;; Alias tracking the latest GDC version. (define-public gdc (hidden-package - (custom-gcc gcc "gdc" '("d") - %generic-search-paths))) + (let ((base (custom-gcc gcc + "gdc" '("d") + %generic-search-paths))) + (package + (inherit base) + (native-inputs + (modify-inputs (package-native-inputs base) + ;; Since GCC 12, GDC is self-hosted, requiring a version of itself + ;; to build. + ;; XXX: GCC must be prepended as well to avoid an issue with the C++ + ;; headers ordering. + (prepend gcc gdc-11))))))) (define-public gm2 (hidden-package