gnu: fpc: Add support for aarch64-linux.

* gnu/packages/pascal.scm (fpc-bootstrap-aarch64): New variable.
(fpc)[arguments]: Add cases for aarch64-linux.
[native-inputs]: Add case for fpc-binary for aarch64-linux.

Change-Id: I03630f9b36c10636db23c00aaf8f72b9ddf2390d
This commit is contained in:
Efraim Flashner 2023-12-15 15:41:41 +02:00
parent 617e3dd2ae
commit ed9d47c6ae
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -47,6 +47,15 @@ (define %fpc-version "3.2.2")
(define %fpc-release-date "2021/05/19")
;;; FIXME: Bootstrap properly; these are prebuilt binaries.
(define fpc-bootstrap-aarch64
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/freepascal/Linux/"
%fpc-version "/fpc-" %fpc-version ".aarch64-linux.tar"))
(sha256
(base32
"0lalar6qk04acb2j8p6654hlz0yj6zdab046zi82zf5mnvwp155k"))))
(define fpc-bootstrap-i386
(origin
(method url-fetch)
@ -111,13 +120,15 @@ (define-public fpc
(delete-file "fpcsrc/tests/utils/dosbox/exitcode.exe")))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"
"powerpc-linux" "powerpc64le-linux"))
"powerpc-linux" "powerpc64le-linux"
"aarch64-linux"))
(inputs
(list expat glibc ncurses zlib))
(native-inputs
;; FPC is built with FPC, so we need bootstrap binaries.
`(("fpc-binary" ,(match (or (%current-target-system)
(%current-system))
("aarch64-linux" fpc-bootstrap-aarch64)
("i686-linux" fpc-bootstrap-i386)
("powerpc-linux" fpc-bootstrap-powerpc)
("powerpc64le-linux" fpc-bootstrap-powerpc64le)
@ -131,6 +142,7 @@ (define-public fpc
(let ((fpc-bootstrap-path
(string-append (getcwd) "/" ,name "-" ,version "/fpc-bin"))
(arch ,(cond
((target-aarch64?) "aarch64")
((target-x86-32?) "i386")
((target-ppc32?) "powerpc")
((target-ppc64le?) "powerpc64")
@ -220,6 +232,7 @@ (define-public fpc
(let* ((out (assoc-ref outputs "out"))
;; This is the suffix of the ppc[arch] binary.
(suffix ,(cond
((target-aarch64?) "a64")
((target-x86-32?) "386")
((target-ppc32?) "ppc")
((target-ppc64le?) "ppc64")