mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-13 06:36:37 -05:00
gnu: libfaketime: Support compilation with glibc 2.39 on i686-linux.
* gnu/packages/check.scm (libfaketime)[arguments]: Add ‘switch-libc-call’ phase when not ‘target-64bit?’. In ‘pre-check’ phase, delete ‘test_exclude_mono.sh’ on 32-bit platforms. Change-Id: Ia4c0d1d13cdfa6028f3e11c63e76122a99a84e4d
This commit is contained in:
parent
5d08c05d22
commit
43e6dc3cda
1 changed files with 35 additions and 3 deletions
|
@ -26,7 +26,7 @@
|
||||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
|
;;; Copyright © 2017 Nikita <nikita@n0.is>
|
||||||
;;; Copyright © 2015, 2017, 2018, 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2017, 2018, 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
|
;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
|
||||||
;;; Copyright © 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2017-2018, 2020-2021, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||||
;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
||||||
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
||||||
|
@ -3655,6 +3655,32 @@ (define-public libfaketime
|
||||||
(substitute* "src/faketime.c"
|
(substitute* "src/faketime.c"
|
||||||
(("\"date\"")
|
(("\"date\"")
|
||||||
(format #f "~s" (search-input-file inputs "bin/date"))))))
|
(format #f "~s" (search-input-file inputs "bin/date"))))))
|
||||||
|
|
||||||
|
#$@(if (target-64bit?)
|
||||||
|
#~()
|
||||||
|
#~((add-after 'unpack 'switch-libc-call
|
||||||
|
(lambda _
|
||||||
|
(substitute* "src/libfaketime.c"
|
||||||
|
(("#define _GNU_SOURCE")
|
||||||
|
;; Make sure to use the 64-bit 'struct timespec' in
|
||||||
|
;; replacement functions.
|
||||||
|
(string-append "#define _GNU_SOURCE\n"
|
||||||
|
"#define _FILE_OFFSET_BITS 64\n"
|
||||||
|
"#define _TIME_BITS 64\n"))
|
||||||
|
(("\"__clock_gettime\"")
|
||||||
|
;; Replace '__clock_gettime64' rather than
|
||||||
|
;; '__clock_gettime64' since this is what
|
||||||
|
;; newly-built applications use.
|
||||||
|
"\"__clock_gettime64\""))
|
||||||
|
|
||||||
|
;; XXX: Turn off 'pthread_cond_timedwait' etc.: tests
|
||||||
|
;; related to this are failing and this feature is
|
||||||
|
;; probably not useful for the purposes of running
|
||||||
|
;; code at a fixed date.
|
||||||
|
(substitute* "src/Makefile"
|
||||||
|
(("-DFAKE_PTHREAD")
|
||||||
|
""))))))
|
||||||
|
|
||||||
(replace 'configure
|
(replace 'configure
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(setenv "CC" #$(cc-for-target))
|
(setenv "CC" #$(cc-for-target))
|
||||||
|
@ -3673,8 +3699,14 @@ (define-public libfaketime
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "test/functests/test_exclude_mono.sh"
|
(substitute* "test/functests/test_exclude_mono.sh"
|
||||||
(("/bin/bash") (which "bash"))))))))
|
(("/bin/bash") (which "bash")))
|
||||||
(native-inputs (list perl)) ;for tests
|
#$@(if (target-64bit?)
|
||||||
|
#~()
|
||||||
|
;; XXX: This test uses Perl to call 'clock_gettime' and
|
||||||
|
;; fails for unclear reasons on i686-linux.
|
||||||
|
#~((delete-file
|
||||||
|
"test/functests/test_exclude_mono.sh"))))))))
|
||||||
|
(native-inputs (list perl)) ;for tests
|
||||||
(inputs (list coreutils-minimal))
|
(inputs (list coreutils-minimal))
|
||||||
(synopsis "Fake the system time for single applications")
|
(synopsis "Fake the system time for single applications")
|
||||||
(description
|
(description
|
||||||
|
|
Loading…
Reference in a new issue