;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed</td></tr></table>
<table class='tabs'><tr><td>
<a href='/guix/about/'>about</a><a href='/guix/'>summary</a><a href='/guix/refs/?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>refs</a><a href='/guix/log/gnu/packages/graphics.scm'>log</a><a href='/guix/tree/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>tree</a><a class='active' href='/guix/commit/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>commit</a><a href='/guix/diff/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>diff</a></td><td class='form'><form class='right' method='get' action='/guix/log/gnu/packages/graphics.scm'>
<input type='hidden' name='id' value='fc17dd9eba32455d61e1518000e846a16aa4201a'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/guix/commit/?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>root</a>/<a href='/guix/commit/gnu?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>gnu</a>/<a href='/guix/commit/gnu/packages?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>packages</a>/<a href='/guix/commit/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>graphics.scm</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='fc17dd9eba32455d61e1518000e846a16aa4201a'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><table summary='commit info' class='commit-info'>
<tr><th>author</th><td>Maxim Cournoyer &lt;maxim.cournoyer@gmail.com&gt;</td><td class='right'>2021-02-07 00:02:40 -0500</td></tr>
<tr><th>committer</th><td>Maxim Cournoyer &lt;maxim.cournoyer@gmail.com&gt;</td><td class='right'>2021-02-11 07:04:21 -0500</td></tr>
<tr><th>commit</th><td colspan='2' class='oid'><a href='/guix/commit/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>fc17dd9eba32455d61e1518000e846a16aa4201a</a> (<a href='/guix/patch/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>patch</a>)</td></tr>
<tr><th>tree</th><td colspan='2' class='oid'><a href='/guix/tree/?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>cc90a2dccceff485303b5ef859289677191f7395</a> /<a href='/guix/tree/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>gnu/packages/graphics.scm</a></td></tr>
<tr><th>parent</th><td colspan='2' class='oid'><a href='/guix/commit/gnu/packages/graphics.scm?id=28fab296685664b5f151e6e4138d63c67bdad88c'>28fab296685664b5f151e6e4138d63c67bdad88c</a> (<a href='/guix/diff/gnu/packages/graphics.scm?id=fc17dd9eba32455d61e1518000e846a16aa4201a&amp;id2=28fab296685664b5f151e6e4138d63c67bdad88c'>diff</a>)</td></tr><tr><th>download</th><td colspan='2' class='oid'><a href='/guix/snapshot/guix-fc17dd9eba32455d61e1518000e846a16aa4201a.tar.gz'>guix-fc17dd9eba32455d61e1518000e846a16aa4201a.tar.gz</a><br/><a href='/guix/snapshot/guix-fc17dd9eba32455d61e1518000e846a16aa4201a.zip'>guix-fc17dd9eba32455d61e1518000e846a16aa4201a.zip</a><br/></td></tr></table>
<div class='commit-subject'>gnu: w3m: Update to 0.5.3+git20210102.</div><div class='commit-msg'>* gnu/packages/w3m.scm (w3m): Update to 0.5.3+git20210102.
[configure-flags]: Add the "--with-imagelib=imlib2" option.
[inputs]: Add imlib2.
</div><div class='diffstat-header'><a href='/guix/diff/?id=fc17dd9eba32455d61e1518000e846a16aa4201a'>Diffstat</a> (limited to 'gnu/packages/graphics.scm')</div><table summary='diffstat' class='diffstat'></table><div class='diffstat-summary'>0 files changed, 0 insertions, 0 deletions</div><table summary='diff' class='diff'><tr><td></td></tr></table></div> <!-- class=content -->
                         <div class=footer>generated by
                             <a href="https://git.zx2c4.com/cgit/about/">
                                 cgit
                             </a>
                         </div>
                        </div> <!-- id=cgit -->
</body>
</html>
ng-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
                    "-src.tgz"))
              (sha256
               (base32
                "0icps0avkwy5df3wwc5kybxcg63hcgk4phdh9g244g0xrmx7pfjc"))))))

(define-public icu4c-68
  (package
    (inherit icu4c)
    (version "68.2")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://github.com/unicode-org/icu/releases/download/release-"
                    (string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
                    "/icu4c-"
                    (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
                    "-src.tgz"))
              (sha256
               (base32
                "09fng7a80xj8d5r1cgbgq8r47dsw5jsr6si9p2cj2ylhwgg974f7"))))))

(define-public icu4c-build-root
  (package
    (inherit icu4c)
    (name "icu4c-build-root")
    (arguments
     (substitute-keyword-arguments (package-arguments icu4c)
       ((#:tests? _ #f)
         #f)
        ((#:out-of-source? _ #t)
         #t)
        ((#:phases phases)
         #~(modify-phases #$phases
             (replace 'install
               (lambda _
                 (copy-recursively "../build" #$output)))))))
    (native-inputs '())))

(define-public java-icu4j
  (package
    (name "java-icu4j")
    (version "70.1")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://github.com/unicode-org/icu/releases/download/release-"
                    (string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
                    "/icu4j-"
                    (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
                    ".tgz"))
              (sha256
               (base32 "0qrs75iyzn19kf54q55jn8wf6xjlpkrihdwqpxm39jdh2hz4cgvj"))))
    (build-system ant-build-system)
    (arguments
     `(#:make-flags
       ,#~(list
           (string-append "-Djunit.core.jar="
                          (car (find-files
                                #$(this-package-native-input "java-junit")
                                ".*.jar$")))
           (string-append "-Djunit.junitparams.jar="
                          (car (find-files
                                #$(this-package-native-input "java-junitparams")
                                ".*.jar$")))
           (string-append "-Djunit.hamcrest.jar="
                          (car (find-files
                                #$(this-package-native-input "java-hamcrest-core")
                                ".*.jar$"))))
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'chdir
           (lambda _
             (chdir "..")))
         (add-before 'build 'remove-ivy
           (lambda _
             ;; This target wants to download ivy and use it to download
             ;; junit.
             (substitute* "build.xml"
               (("depends=\"test-init-junit-dependency\"") ""))))
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((share (string-append (assoc-ref outputs "out")
                                         "/share/java/")))
               (mkdir-p share)
               (install-file "icu4j.jar" share)))))))
    (native-inputs
     (list java-junit java-junitparams java-hamcrest-core))
    (home-page "http://site.icu-project.org/")
    (synopsis "International Components for Unicode")
    (description
     "ICU is a set of C/C++ and Java libraries providing Unicode and
globalisation support for software applications.  This package contains the
Java part.")
    (license x11)))

(define-public icu4c-for-skia
  ;; The current version of skia needs this exact commit
  ;; for its test dependencies.
  (let ((commit "a0718d4f121727e30b8d52c7a189ebf5ab52421f")
        (revision "0"))
    (package
      (inherit icu4c)
      (name "icu4c-for-skia")
      (version "skia")
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://chromium.googlesource.com/chromium/deps/icu.git")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32 "1qxws2p91f6dmhy7d3967r5ygz06r88pkmpm97px067x0zzdz384"))))
      (arguments
       (list
        #:make-flags #~(list (string-append "DESTDIR=" #$output))
        #:configure-flags #~(list "--prefix=" "--exec-prefix=")
        #:phases
        #~(modify-phases %standard-phases
            (add-after 'unpack 'chdir-to-source
              (lambda _ (chdir "source")))
            (replace 'configure
              (lambda* (#:key inputs parallel-build? configure-flags
                        #:allow-other-keys)
                (setenv "CONFIG_SHELL" (which "sh"))
                (setenv "OPTS" (string-join configure-flags))
                (invoke "./runConfigureICU" "Linux/gcc"
                        "--disable-layout" "--disable-tests")))
            (add-after 'install 'install-cleanup
              (lambda* (#:key make-flags #:allow-other-keys)
                (with-directory-excursion "data"
                  (apply invoke "make" "clean" make-flags))))
            (add-after 'install-cleanup 'configure-filtered-data
              (lambda* (#:key configure-flags #:allow-other-keys)
                (setenv "OPTS" (string-join configure-flags))
                (setenv "ICU_DATA_FILTER_FILE"
                        (string-append (getcwd) "/../filters/common.json"))
                (invoke "./runConfigureICU" "Linux/gcc"
                        "--disable-layout" "--disable-tests")))
            (add-after 'configure-filtered-data 'build-filtered-data
              (lambda* (#:key parallel-build? make-flags #:allow-other-keys)
                (let ((job-count (if parallel-build?
                                     (number->string (parallel-job-count))
                                     "1")))
                  (apply invoke "make" "-j" job-count make-flags)
                  (setenv "DESTDIR" #$output)
                  (invoke "bash" "../scripts/copy_data.sh" "common"))))
            (add-after 'build-filtered-data 'install-scripts-and-data
              (lambda _
                (let* ((share (string-append #$output "/share"))
                       (scripts (string-append share "/scripts"))
                       (data (string-append share "/data/common")))
                  ;; Install scripts.
                  (mkdir-p scripts)
                  (copy-recursively "../scripts/" scripts)
                  ;; Install data.
                  (mkdir-p data)
                  (copy-recursively "./dataout/common/data/out/tmp" data)
                  (symlink (string-append data "/icudt69l.dat")
                           (string-append data "/icudtl.dat")))))
            (add-before 'check 'disable-failing-uconv-test
              (lambda _
                (substitute* "extra/uconv/Makefile.in"
                  (("check: check-local")
                   "")))))))
      (native-inputs (list cpio pkg-config python)))))