on continue…

This commit is contained in:
Yann Dupont 2021-10-25 09:14:58 +02:00
parent 634fd4a2f0
commit b7ee4bc490
3 changed files with 178 additions and 2 deletions

176
glicid/packages/gcc.scm Normal file
View file

@ -0,0 +1,176 @@
(define-module (glicid packages glicid)
#: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 name)
(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

View file

@ -91,8 +91,7 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages storage)
#:use-module (glicid packages gcc)
)

View file

@ -90,6 +90,7 @@
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages gcc)
)