summaryrefslogtreecommitdiff
path: root/gnu/packages/android.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/android.scm')
-rw-r--r--gnu/packages/android.scm20
1 files changed, 18 insertions, 2 deletions
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index f9bc43f952..a83e5df419 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2017, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017, 2020, 2021, 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020, 2023 Andreas Enge <andreas@enge.fr>
@@ -1358,7 +1358,23 @@ mounted via FUSE.")
#:tests? #f ; no tests provided upstream
#:phases
;; There is no configure step.
- #~(modify-phases %standard-phases (delete 'configure))))
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch-calloc-order
+ ;; As of the 1.1.5 release, the calloc argument order is
+ ;; wrong, and GCC 14 recognises this. We correct it here.
+ ;; When updating this package, remove these patches
+ ;; (fixed in master).
+ (lambda _
+ (substitute* "backed_block.cpp"
+ (("calloc[(]sizeof[(]struct backed_block_list[)], 1[)]")
+ "calloc(1, sizeof(struct backed_block_list))"))
+ (substitute* "simg2simg.cpp"
+ (("calloc[(]sizeof[(]struct sparse_file[*][)], files[)]")
+ "calloc(files, sizeof(struct sparse_file*))"))
+ (substitute* "sparse.cpp"
+ (("calloc[(]sizeof[(]struct sparse_file[)], 1[)]")
+ "calloc(1, sizeof(struct sparse_file))")))))))
(inputs (list zlib))
(home-page "https://github.com/anestisb/android-simg2img")
(synopsis "Convert Android sparse images to raw ext4 images")