mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-30 22:28:38 +02:00
176 lines
6.5 KiB
Scheme
176 lines
6.5 KiB
Scheme
(define-module (glicid packages gcc)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix git-download)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix build-system cmake)
|
|
; #:use-module (guix licenses)
|
|
#:use-module (gnu packages gawk)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages commencement)
|
|
#:use-module (guix build-system python)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module ((guix utils) #:select (target-64bit?))
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages autotools)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages freeipmi)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages mpi)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages parallel)
|
|
#:use-module (gnu packages storage)
|
|
#:use-module (gnu packages networking)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages python-science)
|
|
#:use-module (gnu packages python-web)
|
|
#:use-module (gnu packages python-xyz)
|
|
#:use-module (gnu packages readline)
|
|
#:use-module (gnu packages tcl)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages commencement)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages chemistry)
|
|
#:use-module (gnu packages sphinx)
|
|
#:use-module (srfi srfi-1)
|
|
#:use-module (gnu packages mpi)
|
|
#:use-module (gnu packages sssd)
|
|
#:use-module (gnu packages fabric-management)
|
|
#:use-module (gnu packages benchmark)
|
|
#:use-module (gnu packages messaging)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (gnu packages gnome)
|
|
#:use-module (gnu packages cluster)
|
|
#:use-module (gnu packages libevent)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (gnu packages flex)
|
|
#:use-module (gnu packages bison)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages autotools)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages maths)
|
|
#:use-module (guix utils)
|
|
#:use-module (gnu packages cmake)
|
|
#:use-module (gnu packages pretty-print)
|
|
#:use-module (gnu packages boost)
|
|
#:use-module (gnu packages curl)
|
|
#:use-module (gnu packages cryptsetup)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages assembly)
|
|
#:use-module (gnu packages authentication)
|
|
#:use-module (gnu packages bdw-gc)
|
|
#:use-module (gnu packages boost)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages crypto)
|
|
#:use-module (gnu packages cryptsetup)
|
|
#:use-module (gnu packages curl)
|
|
#:use-module (gnu packages databases)
|
|
#:use-module (gnu packages disk)
|
|
#:use-module (gnu packages gperf)
|
|
#:use-module (gnu packages jemalloc)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages lua)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages networking)
|
|
#:use-module (gnu packages nss)
|
|
#:use-module (gnu packages openldap)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages python-xyz)
|
|
#:use-module (gnu packages sphinx)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages web)
|
|
;; #:use-module (gnu packages glicid)
|
|
#:use-module (gnu packages pretty-print)
|
|
#:use-module (gnu packages virtualization)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
(define* (custom-gcc gcc name languages
|
|
#:optional
|
|
(search-paths (package-native-search-paths gcc))
|
|
#:key (separate-lib-output? #t))
|
|
"Return a custom version of GCC that supports LANGUAGES. Use SEARCH-PATHS as the 'native-search-paths' field."
|
|
(package (inherit gcc)
|
|
(name (string-append name "-upstream" ))
|
|
(outputs (if separate-lib-output?
|
|
(package-outputs gcc)
|
|
(delete "lib" (package-outputs gcc))))
|
|
(native-search-paths search-paths)
|
|
(properties (alist-delete 'hidden? (package-properties gcc)))
|
|
(arguments
|
|
(substitute-keyword-arguments (package-arguments gcc)
|
|
((#:modules modules %gnu-build-system-modules)
|
|
`(,@modules
|
|
(srfi srfi-1)
|
|
(srfi srfi-26)
|
|
(ice-9 regex)))
|
|
((#:configure-flags flags)
|
|
`(cons (string-append "--enable-languages="
|
|
,(string-join languages ","))
|
|
(remove (cut string-match "--enable-languages.*" <>)
|
|
,flags)))
|
|
((#:phases phases)
|
|
`(modify-phases ,phases
|
|
(add-after 'install 'remove-broken-or-conflicting-files
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(for-each delete-file
|
|
(find-files (string-append (assoc-ref outputs "out") "/bin")
|
|
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
|
|
#t))))))))
|
|
|
|
(define %generic-search-paths
|
|
;; This is the language-neutral search path for GCC. Entries in $CPATH are
|
|
;; not considered "system headers", which means GCC can raise warnings for
|
|
;; issues in those headers. 'CPATH' is the only one that works for
|
|
;; front-ends not in the C family.
|
|
(list (search-path-specification
|
|
(variable "CPATH")
|
|
(files '("include")))
|
|
(search-path-specification
|
|
(variable "LIBRARY_PATH")
|
|
(files '("lib" "lib64")))))
|
|
|
|
(define-public gfortran-11
|
|
(hidden-package
|
|
(custom-gcc gcc-11 "gfortran" '("fortran")
|
|
%generic-search-paths)))
|
|
|
|
|
|
(define-public gfortran-10
|
|
(hidden-package
|
|
(custom-gcc gcc-10 "gfortran" '("fortran")
|
|
%generic-search-paths)))
|
|
|
|
|
|
(define-public gfortran-toolchain-10
|
|
(package (inherit (make-gcc-toolchain gfortran-10))
|
|
(synopsis "Complete GCC tool chain for fortean lang development")
|
|
(description "This package provides a complete GCC tool chain for
|
|
fortran lang development to be installed in user profiles. This includes
|
|
fortran, as well as libc (headers and binaries, plus debugging symbols
|
|
in the @code{debug} output), and binutils.")))
|
|
|
|
(define-public gfortran-toolchain-11
|
|
(package (inherit (make-gcc-toolchain gfortran-11))
|
|
(synopsis "Complete GCC tool chain for fortean lang development")
|
|
(description "This package provides a complete GCC tool chain for
|
|
fortran lang development to be installed in user profiles. This includes
|
|
fortran, as well as libc (headers and binaries, plus debugging symbols
|
|
in the @code{debug} output), and binutils.")))
|
|
|
|
|
|
|
|
|
|
|
|
;;; glicid/gcc.scm ends here
|