Merge branch 'gnome-updates'
This commit is contained in:
commit
207c604637
18
gnu/local.mk
18
gnu/local.mk
|
@ -498,11 +498,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/ghostscript-CVE-2015-3228.patch \
|
||||
gnu/packages/patches/ghostscript-runpath.patch \
|
||||
gnu/packages/patches/glib-networking-ssl-cert-file.patch \
|
||||
gnu/packages/patches/glib-tests-desktop.patch \
|
||||
gnu/packages/patches/glib-tests-homedir.patch \
|
||||
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||
gnu/packages/patches/glib-tests-timer.patch \
|
||||
gnu/packages/patches/glib-tests-gapplication.patch \
|
||||
gnu/packages/patches/glibc-CVE-2015-7547.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-hurd-extern-inline.patch \
|
||||
|
@ -529,6 +525,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/guile-rsvg-pkgconfig.patch \
|
||||
gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
|
||||
gnu/packages/patches/gtk2-theme-paths.patch \
|
||||
gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
gnu/packages/patches/hdf5-config-date.patch \
|
||||
|
@ -539,20 +536,11 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/hypre-doc-tables.patch \
|
||||
gnu/packages/patches/hypre-ldflags.patch \
|
||||
gnu/packages/patches/icecat-avoid-bundled-includes.patch \
|
||||
gnu/packages/patches/icecat-re-enable-DHE-cipher-suites.patch \
|
||||
gnu/packages/patches/icecat-update-bundled-graphite2.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2805.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt1.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt2.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt3.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt4.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt5.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2808.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2814.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2014-6585.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2015-1270.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2015-4760.patch \
|
||||
gnu/packages/patches/ilmbase-fix-tests.patch \
|
||||
gnu/packages/patches/inkscape-drop-wait-for-targets.patch \
|
||||
gnu/packages/patches/irrlicht-mesa-10.patch \
|
||||
gnu/packages/patches/jasper-CVE-2007-2721.patch \
|
||||
gnu/packages/patches/jasper-CVE-2008-3520.patch \
|
||||
|
@ -691,7 +679,6 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/plink-1.07-unclobber-i.patch \
|
||||
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||
gnu/packages/patches/polkit-drop-test.patch \
|
||||
gnu/packages/patches/poppler-CVE-2015-8868.patch \
|
||||
gnu/packages/patches/portaudio-audacity-compat.patch \
|
||||
gnu/packages/patches/portmidi-modular-build.patch \
|
||||
gnu/packages/patches/procmail-ambiguous-getline-debian.patch \
|
||||
|
@ -752,6 +739,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/ttfautohint-source-date-epoch.patch \
|
||||
gnu/packages/patches/tophat-build-with-later-seqan.patch \
|
||||
gnu/packages/patches/torsocks-dns-test.patch \
|
||||
gnu/packages/patches/totem-debug-format-fix.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8141.patch \
|
||||
|
|
|
@ -46,23 +46,21 @@
|
|||
(define-public freetype
|
||||
(package
|
||||
(name "freetype")
|
||||
(version "2.6")
|
||||
(version "2.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/freetype/freetype-"
|
||||
version ".tar.bz2"))
|
||||
(sha256 (base32
|
||||
"0zilx15fwcpa8hmcxpc423jwb8ijw4qpq968kh18akvn4j0znsc4"))))
|
||||
"18k3b026762lmyrxfil5xv8qwnvj7hc12gz9bjqzbb12lmx707ip"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
;; This should not be necessary; reported upstream as
|
||||
;; https://savannah.nongnu.org/bugs/index.php?44261
|
||||
(alist-cons-before
|
||||
'configure 'set-paths
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" (which "bash")))
|
||||
%standard-phases)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
;; These are all in the Requires.private field of freetype2.pc.
|
||||
;; XXX: add harfbuzz.
|
||||
`(("libpng" ,libpng)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Font rendering library")
|
||||
(description
|
||||
"Freetype is a library that can be used by applications to access the
|
||||
|
@ -361,16 +359,15 @@ applications should be.")
|
|||
(define-public graphite2
|
||||
(package
|
||||
(name "graphite2")
|
||||
(version "1.3.6")
|
||||
(version "1.3.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/silnrsi/graphite/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(uri (string-append "https://github.com/silnrsi/graphite/releases/"
|
||||
"download/" version "/" name "-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1frd9mjaqzvh9gs74ngc43igi53vzjzlwr5chbrs6ii1hc4aa23s"))))
|
||||
"1hlc9j7w7gihy6gvzfa7902pr6yxq1sr1xkp5rwf0p29m2rjagwz"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-2) ; because of "import imap" in tests
|
||||
|
|
|
@ -338,14 +338,14 @@ Analysis and Reporting Technology) functionality.")
|
|||
(define-public udisks
|
||||
(package
|
||||
(name "udisks")
|
||||
(version "2.1.6")
|
||||
(version "2.1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://udisks.freedesktop.org/releases/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify"))))
|
||||
"119pr2zbff8vkwlhghim7d7ir24c1dil9hp4q49wm4f6pnrjpbmb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin") ; for glib-mkenums
|
||||
|
|
|
@ -374,15 +374,7 @@ etc.")
|
|||
"-DENABLE_UPDATER=0" ; no auto-updates
|
||||
(string-append "-DFREETYPE_INCLUDE_DIR="
|
||||
(assoc-ref %build-inputs "freetype")
|
||||
"/include/freetype2"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-freetype-utils
|
||||
(lambda _
|
||||
;; Fix C preprocessor include directive.
|
||||
(substitute* '("src/app/util/freetype_utils.cpp")
|
||||
(("freetype/") ""))
|
||||
#t)))))
|
||||
"/include/freetype2"))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
;; TODO: Use a patched Allegro 4 that supports window resizing. This
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -59,7 +60,7 @@
|
|||
(define dbus
|
||||
(package
|
||||
(name "dbus")
|
||||
(version "1.10.0")
|
||||
(version "1.10.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -67,7 +68,7 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))
|
||||
"0560y3hxpgh346w6avcrcz79c8ansmn771y5xpcvvlr6m8mx5wxs"))
|
||||
(patches (search-patches "dbus-helper-search-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -129,7 +130,7 @@ shared NFS home directories.")
|
|||
(define glib
|
||||
(package
|
||||
(name "glib")
|
||||
(version "2.46.1")
|
||||
(version "2.48.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
|
@ -137,16 +138,14 @@ shared NFS home directories.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
|
||||
(patches (search-patches "glib-tests-homedir.patch"
|
||||
"glib-tests-desktop.patch"
|
||||
"glib-tests-prlimit.patch"
|
||||
"glib-tests-timer.patch"
|
||||
"glib-tests-gapplication.patch"))))
|
||||
"0d3w2hblrw7vvpx60l1kbvb830ygn3v8zhwdz65cc5593j9ycjvl"))
|
||||
(patches (search-patches "glib-tests-timer.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; everything
|
||||
"bin" ; glib-mkenums, gtester, etc.; depends on Python
|
||||
"doc")) ; 20 MiB of GTK-Doc reference
|
||||
(propagated-inputs
|
||||
`(("pcre" ,pcre))) ; in the Requires.private field of glib-2.0.pc
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("libffi" ,libffi)
|
||||
|
@ -160,29 +159,87 @@ shared NFS home directories.")
|
|||
("perl" ,perl) ; needed by GIO tests
|
||||
("bash" ,bash)))
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; For tests/gdatetime.c.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo"))
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'pre-build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; For tests/gdatetime.c.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo"))
|
||||
|
||||
;; Some tests want write access there.
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))
|
||||
;; Some tests want write access there.
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))
|
||||
|
||||
(substitute* '("glib/gspawn.c"
|
||||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
(substitute* '("glib/gspawn.c"
|
||||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))))
|
||||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
(let ((disable
|
||||
(lambda (test-file test-paths)
|
||||
(define pattern+procs
|
||||
(map (lambda (test-path)
|
||||
(cons
|
||||
;; XXX: only works for single line statements.
|
||||
(format #f "g_test_add_func.*\"~a\".*" test-path)
|
||||
(const "")))
|
||||
test-paths))
|
||||
(substitute test-file pattern+procs)))
|
||||
(failing-tests
|
||||
'(("glib/tests/thread.c"
|
||||
(;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
|
||||
;; as found on hydra.gnu.org, and strace(1) doesn't
|
||||
;; recognize it.
|
||||
"/thread/thread4"))
|
||||
|
||||
;; Disable a test that requires dbus.
|
||||
(substitute* "gio/tests/gdbus-serialization.c"
|
||||
(("g_test_add_func \
|
||||
\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
|
||||
(string-append "/* " all " */"))))
|
||||
%standard-phases)
|
||||
("glib/tests/timer.c"
|
||||
(;; fails if compiler optimizations are enabled, which they
|
||||
;; are by default.
|
||||
"/timer/stop"))
|
||||
|
||||
("gio/tests/gapplication.c"
|
||||
(;; XXX: proven to be unreliable. See:
|
||||
;; <https://bugs.debian.org/756273>
|
||||
;; <http://bugs.gnu.org/18445>
|
||||
"/gapplication/quit"
|
||||
|
||||
;; XXX: fails randomly for unknown reason. See:
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
|
||||
"/gapplication/local-actions"))
|
||||
|
||||
("gio/tests/contenttype.c"
|
||||
(;; XXX: requires shared-mime-info.
|
||||
"/contenttype/guess"
|
||||
"/contenttype/subtype"
|
||||
"/contenttype/list"
|
||||
"/contenttype/icon"
|
||||
"/contenttype/symbolic-icon"
|
||||
"/contenttype/tree"))
|
||||
|
||||
("gio/tests/appinfo.c"
|
||||
(;; XXX: requires update-desktop-database.
|
||||
"/appinfo/associations"))
|
||||
|
||||
("gio/tests/desktop-app-info.c"
|
||||
(;; XXX: requires update-desktop-database.
|
||||
"/desktop-app-info/delete"
|
||||
"/desktop-app-info/default"
|
||||
"/desktop-app-info/fallback"
|
||||
"/desktop-app-info/lastused"
|
||||
"/desktop-app-info/search"))
|
||||
|
||||
("gio/tests/gdbus-peer.c"
|
||||
(;; Requires /etc/machine-id.
|
||||
"/gdbus/codegen-peer-to-peer"))
|
||||
|
||||
("gio/tests/gdbus-unix-addresses.c"
|
||||
(;; Requires /etc/machine-id.
|
||||
"/gdbus/x11-autolaunch")))))
|
||||
(and-map (lambda (x) (apply disable x)) failing-tests)))))
|
||||
|
||||
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
|
||||
#:configure-flags (list (string-append "--with-html-dir="
|
||||
|
@ -218,14 +275,14 @@ dynamic loading, and an object system.")
|
|||
(define gobject-introspection
|
||||
(package
|
||||
(name "gobject-introspection")
|
||||
(version "1.46.0")
|
||||
(version "1.48.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
"gobject-introspection/" (version-major+minor version)
|
||||
"/gobject-introspection-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36"))
|
||||
(base32 "0xsqwxhfqzr79av89mg766kxpb2i41bd0vwspk01xjdzrnn5l9zs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "tools/g-ir-tool-template.in"
|
||||
|
@ -237,7 +294,6 @@ dynamic loading, and an object system.")
|
|||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bison" ,bison)
|
||||
("cairo" ,cairo)
|
||||
("flex" ,flex)
|
||||
("glib" ,glib)
|
||||
("python-2" ,python-2)))
|
||||
|
@ -395,7 +451,7 @@ by GDBus included in Glib.")
|
|||
(define libsigc++
|
||||
(package
|
||||
(name "libsigc++")
|
||||
(version "2.6.1")
|
||||
(version "2.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libsigc++/"
|
||||
|
@ -403,7 +459,7 @@ by GDBus included in Glib.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq"))))
|
||||
"0lcnzzdq6718znfshs1hflpwqq6awbzwdyp4kv5lfaf54z880jbp"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("m4" ,m4)))
|
||||
|
@ -422,7 +478,7 @@ has an ease of use unmatched by other C++ callback libraries.")
|
|||
(define glibmm
|
||||
(package
|
||||
(name "glibmm")
|
||||
(version "2.46.3")
|
||||
(version "2.48.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/glibmm/"
|
||||
|
@ -430,7 +486,7 @@ has an ease of use unmatched by other C++ callback libraries.")
|
|||
"/glibmm-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kw65mlabwdjw86jybxslncbnnx40hcx4z6xpq9i4ymjvsnm91n7"))))
|
||||
"1pvw2mrm03p51p03179rb6fk9p42iykkwj1jcdv7jr265xymy8nw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
|
@ -503,7 +559,7 @@ useful for C++.")
|
|||
(define-public python-pygobject
|
||||
(package
|
||||
(name "python-pygobject")
|
||||
(version "3.18.0")
|
||||
(version "3.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -512,7 +568,7 @@ useful for C++.")
|
|||
"/pygobject-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw"))))
|
||||
"0ikzh3l7g1gjh8jj8vg6mdvrb25svp63gxcam4m0i404yh0lgari"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -287,7 +287,7 @@ standards.")
|
|||
(define-public icecat
|
||||
(package
|
||||
(name "icecat")
|
||||
(version "38.7.1-gnu1")
|
||||
(version "38.8.0-gnu1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -296,19 +296,9 @@ standards.")
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wdmd6hasra36g86ha1dw8sl7a5mvr7c4jbjx4zyg9629y5gqr8g"))
|
||||
"0v4k47ziqsyfksv9sn4v1xvk4q414rc883hb1qzld63grj2nxxwp"))
|
||||
(patches (search-patches
|
||||
"icecat-avoid-bundled-includes.patch"
|
||||
"icecat-re-enable-DHE-cipher-suites.patch"
|
||||
"icecat-update-bundled-graphite2.patch"
|
||||
"icecat-CVE-2016-2805.patch"
|
||||
"icecat-CVE-2016-2807-pt1.patch"
|
||||
"icecat-CVE-2016-2807-pt2.patch"
|
||||
"icecat-CVE-2016-2807-pt3.patch"
|
||||
"icecat-CVE-2016-2807-pt4.patch"
|
||||
"icecat-CVE-2016-2807-pt5.patch"
|
||||
"icecat-CVE-2016-2808.patch"
|
||||
"icecat-CVE-2016-2814.patch"))
|
||||
"icecat-avoid-bundled-includes.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -244,6 +244,9 @@ for the GStreamer multimedia library.")
|
|||
;; XXX FIXME: Try removing this for version > 1.8.0.
|
||||
(substitute* "tests/check/elements/rtprtx.c"
|
||||
(("tcase_add_test \\(tc_chain, test_push_forward_seq\\);" all)
|
||||
(string-append "/* " all " */"))
|
||||
(("tcase_add_test \
|
||||
\\(tc_chain, test_rtxreceive_data_reconstruction\\);" all)
|
||||
(string-append "/* " all " */")))
|
||||
(substitute* "tests/check/elements/splitmux.c"
|
||||
(("tcase_add_test \\(tc_chain, test_splitmuxsink\\);" all)
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
(define-public atk
|
||||
(package
|
||||
(name "atk")
|
||||
(version "2.18.0")
|
||||
(version "2.20.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -71,7 +71,7 @@
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f"))))
|
||||
"1w1q29yfxcq67j7fyqrfm0l0n1vy4zn539c0sf4ga9d0qkv50fj9"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -95,14 +95,14 @@ tools have full access to view and control running applications.")
|
|||
(define-public cairo
|
||||
(package
|
||||
(name "cairo")
|
||||
(version "1.14.2")
|
||||
(version "1.14.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cairographics.org/releases/cairo-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sycbq0agbwmg1bj9lhkgsf0glmblaf2jrdy9g6vxfxivncxj6f9"))))
|
||||
"0lmjlzmghmr27y615px9hkm552x7ap6pmq9mfbzr6smp8y2b6g31"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
|
@ -147,7 +147,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
|||
(define-public harfbuzz
|
||||
(package
|
||||
(name "harfbuzz")
|
||||
(version "1.0.6")
|
||||
(version "1.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.freedesktop.org/software/"
|
||||
|
@ -155,7 +155,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"09ivk5m4y09ar4zi9r6db7gp234cy05h0ach7w22g9kqvkxsf5pn"))))
|
||||
"14g4kpph8hgplkm954daxiymxx0vicfq7b7svvdsx54g5bqvv7a4"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"bin")) ; 160K, only hb-view depend on cairo
|
||||
|
@ -185,7 +185,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
|||
(define-public pango
|
||||
(package
|
||||
(name "pango")
|
||||
(version "1.38.1")
|
||||
(version "1.40.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/pango/"
|
||||
|
@ -193,7 +193,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k"))))
|
||||
"0h0sbh0b5kh3lvrxrb82bs86rqakf33a9jakpv33lay7f90zayp2"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("cairo" ,cairo)
|
||||
|
@ -339,7 +339,7 @@ printing and other features typical of a source code editor.")
|
|||
(define-public gtksourceview
|
||||
(package
|
||||
(name "gtksourceview")
|
||||
(version "3.18.2")
|
||||
(version "3.20.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -347,7 +347,7 @@ printing and other features typical of a source code editor.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cmplnqbyd1js5bkpi9cfc3gljilyxg5nngwh4i3mq9r02gmmxv0"))))
|
||||
"03vxirdbjpgjrkl5ph0p9b1saq17xxr4kvhz1ijpg40a9jf3ci4y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -387,7 +387,7 @@ highlighting and other features typical of a source code editor.")
|
|||
(define-public gdk-pixbuf
|
||||
(package
|
||||
(name "gdk-pixbuf")
|
||||
(version "2.32.3")
|
||||
(version "2.34.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -395,7 +395,7 @@ highlighting and other features typical of a source code editor.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cfh87aqyqbfcwpbv1ihgmgfcn66il5q2n8yjyl8gxkjmkqp2rrb"))))
|
||||
"0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-x11")
|
||||
|
@ -415,9 +415,12 @@ highlighting and other features typical of a source code editor.")
|
|||
;; (gdk-pixbuf-error-quark, 0)
|
||||
(("pixbuf-jpeg\\$\\(EXEEXT\\) ") ""))
|
||||
#t)))))
|
||||
(propagated-inputs ; required by gdk-pixbuf-2.0.pc
|
||||
`(("glib" ,glib)
|
||||
("libpng" ,libpng)))
|
||||
(propagated-inputs
|
||||
`(;; Required by gdk-pixbuf-2.0.pc
|
||||
("glib" ,glib)
|
||||
("libpng" ,libpng)
|
||||
;; Used for testing and required at runtime.
|
||||
("shared-mime-info" ,shared-mime-info)))
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg)
|
||||
("libtiff" ,libtiff)
|
||||
|
@ -465,7 +468,7 @@ in the GNOME project.")
|
|||
(define-public at-spi2-core
|
||||
(package
|
||||
(name "at-spi2-core")
|
||||
(version "2.18.1")
|
||||
(version "2.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -473,7 +476,7 @@ in the GNOME project.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap"))))
|
||||
"0039y6bj1zfzhmfjbj5g830dlczphbpvbgmkcab9mapmh7kmin3f"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -510,7 +513,7 @@ is part of the GNOME accessibility project.")
|
|||
(define-public at-spi2-atk
|
||||
(package
|
||||
(name "at-spi2-atk")
|
||||
(version "2.18.1")
|
||||
(version "2.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -518,7 +521,7 @@ is part of the GNOME accessibility project.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4"))))
|
||||
"13mzfwra0izmkzn7dsdgy5zj19n8izp0wdy7w1yg9s0qx6aafn13"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -545,7 +548,7 @@ is part of the GNOME accessibility project.")
|
|||
(define-public gtk+-2
|
||||
(package
|
||||
(name "gtk+")
|
||||
(version "2.24.28")
|
||||
(version "2.24.30")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -553,13 +556,14 @@ is part of the GNOME accessibility project.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"))))
|
||||
"0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d"))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
|
||||
"gtk2-theme-paths.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
`(("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("gdk-pixbuf" ,gdk-pixbuf+svg)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("cups" ,cups)
|
||||
|
@ -606,7 +610,7 @@ application suites.")
|
|||
(define-public gtk+
|
||||
(package (inherit gtk+-2)
|
||||
(name "gtk+")
|
||||
(version "3.18.2")
|
||||
(version "3.20.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -614,12 +618,12 @@ application suites.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))
|
||||
"157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
|
||||
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
|
||||
(propagated-inputs
|
||||
`(("at-spi2-atk" ,at-spi2-atk)
|
||||
("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("gdk-pixbuf" ,gdk-pixbuf+svg)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxi" ,libxi)
|
||||
|
@ -627,8 +631,7 @@ application suites.")
|
|||
("libxdamage" ,libxdamage)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
|
||||
("libxml2" ,libxml2)
|
||||
`(("libxml2" ,libxml2)
|
||||
;; XXX: colord depends on mozjs (through polkit), which fails on
|
||||
;; on non-intel systems now.
|
||||
;;("colord" ,colord)
|
||||
|
@ -663,18 +666,7 @@ application suites.")
|
|||
(("SUBDIRS = gdk gtk a11y css reftests")
|
||||
"SUBDIRS = gdk"))
|
||||
#t)
|
||||
(alist-cons-after
|
||||
'install 'wrap-gtk-encode-symbolic-svg
|
||||
;; By using GdkPixbuf, gtk-encode-symbolic-svg needs to know
|
||||
;; librsvg's loaders.cache to handle SVG files.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(prog (string-append out "/bin/gtk-encode-symbolic-svg"))
|
||||
(librsvg (assoc-ref inputs "librsvg"))
|
||||
(loaders.cache (find-files librsvg "^loaders\\.cache$")))
|
||||
(wrap-program prog
|
||||
`("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache))))
|
||||
%standard-phases))))
|
||||
%standard-phases)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
|
@ -864,7 +856,7 @@ library.")
|
|||
(define-public pangomm
|
||||
(package
|
||||
(name "pangomm")
|
||||
(version "2.38.1")
|
||||
(version "2.40.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -872,7 +864,7 @@ library.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg"))))
|
||||
"03fpqdjp7plybf4zsgszbm8yhgl28vmajzfpmaqcsmyfvjlszl3x"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
|
@ -913,7 +905,7 @@ toolkit.")
|
|||
(define-public gtkmm
|
||||
(package
|
||||
(name "gtkmm")
|
||||
(version "3.18.0")
|
||||
(version "3.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -921,16 +913,29 @@ toolkit.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2"))))
|
||||
"04n631a127pyidaz82ypdy9syq1hzj636r32y9hyr9kcfnwf2785"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("glib" ,glib "bin"))) ;for 'glib-compile-resources'
|
||||
("glib" ,glib "bin") ;for 'glib-compile-resources'
|
||||
("xorg-server" ,xorg-server)))
|
||||
(propagated-inputs
|
||||
`(("pangomm" ,pangomm)
|
||||
("cairomm" ,cairomm)
|
||||
("atkmm" ,atkmm)
|
||||
("gtk+" ,gtk+)
|
||||
("glibmm" ,glibmm)))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'run-xvfb
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server")))
|
||||
;; Tests such as 'object_move/test' require a running
|
||||
;; X server.
|
||||
(system (string-append xorg-server "/bin/Xvfb :1 &"))
|
||||
(setenv "DISPLAY" ":1")
|
||||
;; Don't fail because of the missing /etc/machine-id.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
#t))))))
|
||||
(home-page "http://gtkmm.org/")
|
||||
(synopsis
|
||||
"C++ interface to the GTK+ graphical user interface library")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -52,7 +52,10 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"086v01jy896dj86bq7plrf6si4p6gh6ga2v5417llgmminycz8rc"))))
|
||||
"086v01jy896dj86bq7plrf6si4p6gh6ga2v5417llgmminycz8rc"))
|
||||
(patch-flags '("-p0"))
|
||||
(patches
|
||||
(search-patches "inkscape-drop-wait-for-targets.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("aspell" ,aspell)
|
||||
|
|
|
@ -41,25 +41,12 @@
|
|||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2 ;uses the Python 2 'print' syntax
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(rsvg (assoc-ref inputs "librsvg"))
|
||||
(pixbuf (find-files
|
||||
rsvg "^loaders\\.cache$")))
|
||||
;; Allow key-mon to load SVGs.
|
||||
(wrap-program (string-append bin "/key-mon")
|
||||
`("GDK_PIXBUF_MODULE_FILE" ":"
|
||||
prefix ,pixbuf))))))
|
||||
#:tests? #f)) ;no tests
|
||||
(native-inputs
|
||||
`(("python2-setuptools" ,python2-setuptools)))
|
||||
(inputs
|
||||
`(("python2-xlib" ,python2-xlib)
|
||||
("python2-pygtk" ,python2-pygtk)
|
||||
("librsvg" ,librsvg)
|
||||
("python2-rsvg" ,python2-rsvg)))
|
||||
(home-page "http://code.google.com/p/key-mon")
|
||||
(synopsis "Show keyboard and mouse status")
|
||||
|
|
|
@ -551,15 +551,11 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
|
|||
(alist-cons-after
|
||||
'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Make sure 'solfege' runs with the correct PYTHONPATH. We
|
||||
;; also need to modify GDK_PIXBUF_MODULE_FILE for SVG support.
|
||||
;; Make sure 'solfege' runs with the correct PYTHONPATH.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(path (getenv "PYTHONPATH"))
|
||||
(rsvg (assoc-ref inputs "librsvg"))
|
||||
(pixbuf (find-files rsvg "^loaders\\.cache$")))
|
||||
(path (getenv "PYTHONPATH")))
|
||||
(wrap-program (string-append out "/bin/solfege")
|
||||
`("PYTHONPATH" ":" prefix (,path))
|
||||
`("GDK_PIXBUF_MODULE_FILE" ":" prefix ,pixbuf))))
|
||||
`("PYTHONPATH" ":" prefix (,path)))))
|
||||
%standard-phases)))))))
|
||||
(inputs
|
||||
`(("python" ,python-2)
|
||||
|
@ -567,8 +563,6 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
|
|||
("gettext" ,gnu-gettext)
|
||||
("gtk" ,gtk+)
|
||||
("lilypond" ,lilypond)
|
||||
("librsvg" ,librsvg) ; needed at runtime for icons
|
||||
("libpng" ,libpng) ; needed at runtime for icons
|
||||
;; players needed at runtime
|
||||
("aplay" ,alsa-utils)
|
||||
("csound" ,csound) ; optional, needed for some exercises
|
||||
|
|
|
@ -1,138 +0,0 @@
|
|||
Some GLib tests expect desktop things, such as an xterm, a MIME
|
||||
database, the `update-desktop-database' program, which we don't provide.
|
||||
|
||||
--- glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:44.000000000 +0200
|
||||
+++ glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:56.000000000 +0200
|
||||
@@ -497,16 +497,10 @@ main (int argc, char *argv[])
|
||||
|
||||
g_test_add_func ("/appinfo/basic", test_basic);
|
||||
g_test_add_func ("/appinfo/text", test_text);
|
||||
- g_test_add_func ("/appinfo/launch", test_launch);
|
||||
g_test_add_func ("/appinfo/show-in", test_show_in);
|
||||
g_test_add_func ("/appinfo/commandline", test_commandline);
|
||||
- g_test_add_func ("/appinfo/launch-context", test_launch_context);
|
||||
- g_test_add_func ("/appinfo/launch-context-signals", test_launch_context_signals);
|
||||
g_test_add_func ("/appinfo/tryexec", test_tryexec);
|
||||
- g_test_add_func ("/appinfo/associations", test_associations);
|
||||
g_test_add_func ("/appinfo/environment", test_environment);
|
||||
- g_test_add_func ("/appinfo/startup-wm-class", test_startup_wm_class);
|
||||
- g_test_add_func ("/appinfo/supported-types", test_supported_types);
|
||||
g_test_add_func ("/appinfo/from-keyfile", test_from_keyfile);
|
||||
|
||||
return g_test_run ();
|
||||
|
||||
--- glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:29.000000000 +0100
|
||||
+++ glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:33.000000000 +0100
|
||||
@@ -207,15 +207,6 @@ main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/contenttype/guess", test_guess);
|
||||
- g_test_add_func ("/contenttype/unknown", test_unknown);
|
||||
- g_test_add_func ("/contenttype/subtype", test_subtype);
|
||||
- g_test_add_func ("/contenttype/list", test_list);
|
||||
- g_test_add_func ("/contenttype/executable", test_executable);
|
||||
- g_test_add_func ("/contenttype/description", test_description);
|
||||
- g_test_add_func ("/contenttype/icon", test_icon);
|
||||
- g_test_add_func ("/contenttype/symbolic-icon", test_symbolic_icon);
|
||||
- g_test_add_func ("/contenttype/tree", test_tree);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
||||
|
||||
|
||||
--- glib-2.40.0/gio/tests/desktop-app-info.c 2014-03-19 22:50:45.000000000 -0500
|
||||
+++ glib-2.40.0/gio/tests/desktop-app-info.c 2014-06-30 14:27:52.543358331 -0500
|
||||
@@ -708,6 +708,8 @@
|
||||
g_setenv ("XDG_DATA_HOME", basedir, TRUE);
|
||||
cleanup_subdirs (basedir);
|
||||
|
||||
+ result = g_test_run ();
|
||||
+ return result;
|
||||
g_test_add_func ("/desktop-app-info/delete", test_delete);
|
||||
g_test_add_func ("/desktop-app-info/default", test_default);
|
||||
g_test_add_func ("/desktop-app-info/fallback", test_fallback);
|
||||
|
||||
|
||||
-----------------------------
|
||||
The hunk below removes tests that depend on `gdbus-testserver.py',
|
||||
because that script depends on python-gobject. The second hunk
|
||||
disables a test that expects /etc/machine-id in the build environment.
|
||||
|
||||
--- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200
|
||||
+++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200
|
||||
@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16)
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-loss \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-slow \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-error \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-exit-on-close \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-export \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-introspection \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-names \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-threads \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-well-known-name \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL)
|
||||
@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $
|
||||
am__EXEEXT_1 =
|
||||
@OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \
|
||||
-@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \
|
||||
|
||||
|
||||
The test below depends on the availability /etc/passwd to dbus-daemon.
|
||||
|
||||
--- glib-2.40.0/gio/tests/gdbus-auth.c 2014-02-03 11:40:41.000000000 -0600
|
||||
+++ glib-2.40.0/gio/tests/gdbus-auth.c 2014-06-30 15:08:43.719421893 -0500
|
||||
@@ -286,6 +286,8 @@
|
||||
{
|
||||
gint ret;
|
||||
|
||||
+ g_test_init (&argc, &argv, NULL);
|
||||
+ return g_test_run();
|
||||
setlocale (LC_ALL, "C");
|
||||
|
||||
temp_dbus_keyrings_setup ();
|
||||
|
||||
|
||||
The test dbus-appinfo is dropped as it hangs indefinitely since 2.37.5, see
|
||||
https://launchpad.net/ubuntu/+source/glib2.0/2.37.5-1ubuntu1
|
||||
|
||||
--- glib-2.40.0/gio/tests/dbus-appinfo.c 2014-02-03 11:40:41.000000000 -0600
|
||||
+++ glib-2.40.0/gio/tests/dbus-appinfo.c 2014-06-30 14:44:08.215383632 -0500
|
||||
@@ -278,7 +278,7 @@
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo);
|
||||
+ return g_test_run();
|
||||
|
||||
return session_bus_run ();
|
||||
}
|
||||
|
||||
|
||||
The test below fails for unknown reasons (!).
|
||||
|
||||
--- glib-2.39.1/gio/tests/gsettings.c.orig 2014-01-20 00:45:04.000000000 +0100
|
||||
+++ glib-2.39.1/gio/tests/gsettings.c 2014-01-20 00:45:10.000000000 +0100
|
||||
@@ -2489,7 +2489,6 @@ main (int argc, char *argv[])
|
||||
g_test_add_func ("/gsettings/range/subprocess/high", test_range_high);
|
||||
g_test_add_func ("/gsettings/range/subprocess/low", test_range_low);
|
||||
g_test_add_func ("/gsettings/list-items", test_list_items);
|
||||
- g_test_add_func ("/gsettings/list-schemas", test_list_schemas);
|
||||
g_test_add_func ("/gsettings/mapped", test_get_mapped);
|
||||
g_test_add_func ("/gsettings/get-range", test_get_range);
|
||||
g_test_add_func ("/gsettings/schema-source", test_schema_source);
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
This test has proven to be unreliable, often leading to things like this
|
||||
in gapplication.log:
|
||||
|
||||
PASS: gapplication 3 /gapplication/properties
|
||||
Failed to register: The connection is closed
|
||||
**
|
||||
GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
|
||||
ok 4 /gapplication/app-id
|
||||
PASS: gapplication 4 /gapplication/app-id
|
||||
../../tap-test: line 5: 24133 Aborted $1 -k --tap
|
||||
# GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
|
||||
cleaning up pid 24154
|
||||
ERROR: gapplication - missing test plan
|
||||
ERROR: gapplication - exited with status 134 (terminated by signal 6?)
|
||||
|
||||
See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>.
|
||||
|
||||
|
||||
--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100
|
||||
+++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100
|
||||
@@ -685,7 +685,6 @@ main (int argc, char **argv)
|
||||
/* g_test_add_func ("/gapplication/non-unique", test_nonunique); */
|
||||
g_test_add_func ("/gapplication/properties", properties);
|
||||
g_test_add_func ("/gapplication/app-id", appid);
|
||||
- g_test_add_func ("/gapplication/quit", test_quit);
|
||||
g_test_add_func ("/gapplication/local-actions", test_local_actions);
|
||||
/* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */
|
||||
g_test_add_func ("/gapplication/local-command-line", test_local_command_line);
|
|
@ -1,59 +0,0 @@
|
|||
`g_get_home_dir' looks at /etc/passwd first, which fails in chroot builds.
|
||||
The gdbus tests use it to lookup .dbus-keyrings, so they cannot run in our
|
||||
chroot build environment. Thus, disable them.
|
||||
|
||||
--- glib-2.34.3/gio/tests/gdbus-connection-flush.c 2013-01-16 17:29:46.000000000 +0100
|
||||
+++ glib-2.34.3/gio/tests/gdbus-connection-flush.c 2013-01-16 17:29:47.000000000 +0100
|
||||
@@ -373,10 +373,6 @@ main (int argc,
|
||||
g_type_init ();
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add ("/gdbus/connection/flush/busy", Fixture, NULL,
|
||||
- setup, test_flush_busy, teardown);
|
||||
- g_test_add ("/gdbus/connection/flush/idle", Fixture, NULL,
|
||||
- setup, test_flush_idle, teardown);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
--- glib-2.38.0.orig/gio/tests/gdbus-peer.c 2013-08-08 12:00:40.000000000 +0200
|
||||
+++ glib-2.38.0/gio/tests/gdbus-peer.c 2013-09-30 19:36:40.000000000 +0200
|
||||
@@ -1746,11 +1746,6 @@
|
||||
|
||||
g_test_add_func ("/gdbus/peer-to-peer", test_peer);
|
||||
g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
|
||||
- g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
|
||||
-
|
||||
- g_test_add_func ("/gdbus/tcp-anonymous", test_tcp_anonymous);
|
||||
- g_test_add_func ("/gdbus/credentials", test_credentials);
|
||||
- g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
--- glib-2.37.1/gio/tests/gdbus-exit-on-close.c 2013-06-07 23:41:34.000000000 +0200
|
||||
+++ glib-2.37.1/gio/tests/gdbus-exit-on-close.c 2013-06-07 23:41:40.000000000 +0200
|
||||
@@ -211,6 +211,7 @@ main (int argc,
|
||||
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
+ return g_test_run();
|
||||
for (i = 0; cases[i].name != NULL; i++)
|
||||
{
|
||||
gchar *name;
|
||||
@@ -224,5 +225,4 @@ main (int argc,
|
||||
g_free (name);
|
||||
}
|
||||
|
||||
- return g_test_run();
|
||||
}
|
||||
|
||||
--- glib-2.34.3/gio/tests/gdbus-non-socket.c 2013-01-16 18:13:25.000000000 +0100
|
||||
+++ glib-2.34.3/gio/tests/gdbus-non-socket.c 2013-01-16 18:13:27.000000000 +0100
|
||||
@@ -294,7 +294,6 @@ main (int argc,
|
||||
g_type_init ();
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/gdbus/non-socket", test_non_socket);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on
|
||||
hydra.gnu.org, and strace(1) doesn't recognize it.
|
||||
|
||||
--- glib-2.34.3/glib/tests/thread.c 2012-11-20 15:27:12.000000000 +0100
|
||||
+++ glib-2.34.3/glib/tests/thread.c 2013-03-27 14:48:31.000000000 +0100
|
||||
@@ -130,7 +130,7 @@ test_thread3 (void)
|
||||
static void
|
||||
test_thread4 (void)
|
||||
{
|
||||
-#ifdef HAVE_PRLIMIT
|
||||
+#if 0
|
||||
struct rlimit ol, nl;
|
||||
GThread *thread;
|
||||
GError *error;
|
|
@ -2,9 +2,6 @@
|
|||
fail depending on the elapsed microseconds. Improve rounding by adding a
|
||||
fractional bit.
|
||||
|
||||
* The /timer/stop test fails if compiler optimizations are enabled, which they
|
||||
are by default. Disable that test.
|
||||
|
||||
--- glib-2.40.0/glib/tests/timer.c 2014-03-05 08:05:42.000000000 -0600
|
||||
+++ glib-2.40.0/glib/tests/timer.c 2014-07-10 16:33:12.746862822 -0500
|
||||
@@ -35,7 +35,7 @@
|
||||
|
@ -16,11 +13,3 @@
|
|||
|
||||
g_timer_destroy (timer);
|
||||
}
|
||||
@@ -204,7 +204,6 @@
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
g_test_add_func ("/timer/basic", test_timer_basic);
|
||||
- g_test_add_func ("/timer/stop", test_timer_stop);
|
||||
g_test_add_func ("/timer/continue", test_timer_continue);
|
||||
g_test_add_func ("/timer/reset", test_timer_reset);
|
||||
g_test_add_func ("/timeval/add", test_timeval_add);
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
From: Jookia <166291@gmail.com>
|
||||
Subject: [PATCHv2] gtk: Patch GTK+ to look for themes in profiles.
|
||||
To: guix-devel@gnu.org
|
||||
Date: Sun, 13 Mar 2016 15:17:37 +1100
|
||||
Url: https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00492.html
|
||||
|
||||
diff -Naur gtk+-2.24.28.new/gtk/gtkrc.c gtk+-2.24.28/gtk/gtkrc.c
|
||||
--- gtk+-2.24.28.new/gtk/gtkrc.c 2016-03-13 10:31:14.413644362 +1100
|
||||
+++ gtk+-2.24.28/gtk/gtkrc.c 2016-03-13 12:51:34.723398423 +1100
|
||||
@@ -808,6 +808,8 @@
|
||||
gchar *path = NULL;
|
||||
const gchar *home_dir;
|
||||
gchar *subpath;
|
||||
+ const gchar * const *xdg_data_dirs;
|
||||
+ gint i;
|
||||
|
||||
if (type)
|
||||
subpath = g_strconcat ("gtk-2.0-", type,
|
||||
@@ -830,6 +832,22 @@
|
||||
}
|
||||
|
||||
if (!path)
|
||||
+ {
|
||||
+ xdg_data_dirs = g_get_system_data_dirs ();
|
||||
+ for (i = 0; xdg_data_dirs[i]; i++)
|
||||
+ {
|
||||
+ path = g_build_filename (xdg_data_dirs[i], "themes", name, subpath, NULL);
|
||||
+ if (g_file_test (path, G_FILE_TEST_EXISTS))
|
||||
+ break;
|
||||
+ else
|
||||
+ {
|
||||
+ g_free (path);
|
||||
+ path = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!path)
|
||||
{
|
||||
gchar *theme_dir = gtk_rc_get_theme_dir ();
|
||||
path = g_build_filename (theme_dir, name, subpath, NULL);
|
|
@ -1,75 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/bf34b97757b3
|
||||
|
||||
# HG changeset patch
|
||||
# User Jon Coppeard <jcoppeard@mozilla.com>
|
||||
# Date 1453890675 0
|
||||
# Node ID bf34b97757b334af1f9f53b9b59e0b6902e7ed6f
|
||||
# Parent 228ca3f46cabaf3f388f6c6640690772aa13c1a5
|
||||
Bug 1241731 - Handle incomplete buffer in DiscardTransferables r=sfink a=abillings a=sylvestre
|
||||
|
||||
diff --git a/js/src/jit-test/tests/gc/bug-1241731.js b/js/src/jit-test/tests/gc/bug-1241731.js
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/gc/bug-1241731.js
|
||||
@@ -0,0 +1,4 @@
|
||||
+if (!('oomTest' in this))
|
||||
+ quit();
|
||||
+
|
||||
+oomTest(() => serialize(0, [{}]));
|
||||
diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp
|
||||
--- a/js/src/vm/StructuredClone.cpp
|
||||
+++ b/js/src/vm/StructuredClone.cpp
|
||||
@@ -379,39 +379,50 @@ ReadStructuredClone(JSContext* cx, uint6
|
||||
|
||||
// If the given buffer contains Transferables, free them. Note that custom
|
||||
// Transferables will use the JSStructuredCloneCallbacks::freeTransfer() to
|
||||
// delete their transferables.
|
||||
static void
|
||||
Discard(uint64_t* buffer, size_t nbytes, const JSStructuredCloneCallbacks* cb, void* cbClosure)
|
||||
{
|
||||
MOZ_ASSERT(nbytes % sizeof(uint64_t) == 0);
|
||||
- if (nbytes < sizeof(uint64_t))
|
||||
+ uint64_t* end = buffer + nbytes / sizeof(uint64_t);
|
||||
+ uint64_t* point = buffer;
|
||||
+ if (point == end)
|
||||
return; // Empty buffer
|
||||
|
||||
- uint64_t* point = buffer;
|
||||
uint32_t tag, data;
|
||||
SCInput::getPair(point++, &tag, &data);
|
||||
if (tag != SCTAG_TRANSFER_MAP_HEADER)
|
||||
return;
|
||||
|
||||
if (TransferableMapHeader(data) == SCTAG_TM_TRANSFERRED)
|
||||
return;
|
||||
|
||||
// freeTransfer should not GC
|
||||
JS::AutoSuppressGCAnalysis nogc;
|
||||
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
+
|
||||
uint64_t numTransferables = LittleEndian::readUint64(point++);
|
||||
while (numTransferables--) {
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
+
|
||||
uint32_t ownership;
|
||||
SCInput::getPair(point++, &tag, &ownership);
|
||||
MOZ_ASSERT(tag >= SCTAG_TRANSFER_MAP_PENDING_ENTRY);
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
|
||||
void* content;
|
||||
SCInput::getPtr(point++, &content);
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
|
||||
uint64_t extraData = LittleEndian::readUint64(point++);
|
||||
|
||||
if (ownership < JS::SCTAG_TMO_FIRST_OWNED)
|
||||
continue;
|
||||
|
||||
if (ownership == JS::SCTAG_TMO_ALLOC_DATA) {
|
||||
js_free(content);
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/e7c23c08bf84
|
||||
|
||||
# HG changeset patch
|
||||
# User Randell Jesup <rjesup@jesup.org>
|
||||
# Date 1458543433 14400
|
||||
# Node ID e7c23c08bf84a02d9154f31e0c5d121a45884a69
|
||||
# Parent a6de1f453712edabff597879398606708c191098
|
||||
Bug 1254876: assert windows recording is shut down r=pkerr a=ritu
|
||||
|
||||
MozReview-Commit-ID: JRqxBb5TgrE
|
||||
|
||||
diff --git a/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc b/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc
|
||||
--- a/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc
|
||||
+++ b/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc
|
||||
@@ -567,16 +567,19 @@ AudioDeviceWindowsCore::AudioDeviceWindo
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
AudioDeviceWindowsCore::~AudioDeviceWindowsCore()
|
||||
{
|
||||
WEBRTC_TRACE(kTraceMemory, kTraceAudioDevice, _id, "%s destroyed", __FUNCTION__);
|
||||
|
||||
Terminate();
|
||||
|
||||
+ // Recording thread should be shut down before this!
|
||||
+ assert(_hRecThread == NULL);
|
||||
+
|
||||
// The IMMDeviceEnumerator is created during construction. Must release
|
||||
// it here and not in Terminate() since we don't recreate it in Init().
|
||||
SAFE_RELEASE(_ptrEnumerator);
|
||||
|
||||
_ptrAudioBuffer = NULL;
|
||||
|
||||
if (NULL != _hRenderSamplesReadyEvent)
|
||||
{
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/3d2b62083a6a
|
||||
|
||||
# HG changeset patch
|
||||
# User Shu-yu Guo <shu@rfrn.org>
|
||||
# Date 1459741387 -7200
|
||||
# Node ID 3d2b62083a6a4fb43cb330d77142f9dce0959a23
|
||||
# Parent 9d4364f6b55c6ee65c13c491292c3abe1ee2c993
|
||||
Bug 1254164 - Make aliasedBodyLevelLexicalBegin a uint32. r=Waldo, a=ritu
|
||||
|
||||
diff --git a/js/src/jit-test/tests/parser/bug-1254164.js b/js/src/jit-test/tests/parser/bug-1254164.js
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/parser/bug-1254164.js
|
||||
@@ -0,0 +1,6 @@
|
||||
+// |jit-test| slow;
|
||||
+
|
||||
+var s = '';
|
||||
+for (var i = 0; i < 70000; i++)
|
||||
+ s += 'function x' + i + '() { x' + i + '(); }\n';
|
||||
+eval("(function() { " + s + " })();");
|
||||
diff --git a/js/src/jsscript.cpp b/js/src/jsscript.cpp
|
||||
--- a/js/src/jsscript.cpp
|
||||
+++ b/js/src/jsscript.cpp
|
||||
@@ -111,17 +111,20 @@ Bindings::initWithTemporaryStorage(Exclu
|
||||
// JITs when interpreting/compiling aliasedvar ops.)
|
||||
|
||||
// Since unaliased variables are, by definition, only accessed by local
|
||||
// operations and never through the scope chain, only give shapes to
|
||||
// aliased variables. While the debugger may observe any scope object at
|
||||
// any time, such accesses are mediated by DebugScopeProxy (see
|
||||
// DebugScopeProxy::handleUnaliasedAccess).
|
||||
uint32_t nslots = CallObject::RESERVED_SLOTS;
|
||||
- uint32_t aliasedBodyLevelLexicalBegin = UINT16_MAX;
|
||||
+
|
||||
+ // Unless there are aliased body-level lexical bindings at all, set the
|
||||
+ // begin index to an impossible slot number.
|
||||
+ uint32_t aliasedBodyLevelLexicalBegin = LOCALNO_LIMIT;
|
||||
for (BindingIter bi(self); bi; bi++) {
|
||||
if (bi->aliased()) {
|
||||
// Per ES6, lexical bindings cannot be accessed until
|
||||
// initialized. Remember the first aliased slot that is a
|
||||
// body-level lexical, so that they may be initialized to sentinel
|
||||
// magic values.
|
||||
if (numBodyLevelLexicals > 0 &&
|
||||
nslots < aliasedBodyLevelLexicalBegin &&
|
||||
diff --git a/js/src/jsscript.h b/js/src/jsscript.h
|
||||
--- a/js/src/jsscript.h
|
||||
+++ b/js/src/jsscript.h
|
||||
@@ -201,18 +201,18 @@ class Bindings
|
||||
friend class BindingIter;
|
||||
friend class AliasedFormalIter;
|
||||
|
||||
RelocatablePtrShape callObjShape_;
|
||||
uintptr_t bindingArrayAndFlag_;
|
||||
uint16_t numArgs_;
|
||||
uint16_t numBlockScoped_;
|
||||
uint16_t numBodyLevelLexicals_;
|
||||
- uint16_t aliasedBodyLevelLexicalBegin_;
|
||||
uint16_t numUnaliasedBodyLevelLexicals_;
|
||||
+ uint32_t aliasedBodyLevelLexicalBegin_;
|
||||
uint32_t numVars_;
|
||||
uint32_t numUnaliasedVars_;
|
||||
|
||||
#if JS_BITS_PER_WORD == 32
|
||||
// Bindings is allocated inline inside JSScript, which needs to be
|
||||
// gc::Cell aligned.
|
||||
uint32_t padding_;
|
||||
#endif
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/88f1eb2c3f4b
|
||||
|
||||
# HG changeset patch
|
||||
# User Timothy Nikkel <tnikkel@gmail.com>
|
||||
# Date 1457637807 21600
|
||||
# Node ID 88f1eb2c3f4b4b57365ed88223cf8adc2bec4610
|
||||
# Parent bf34b97757b334af1f9f53b9b59e0b6902e7ed6f
|
||||
Bug 1187420. r=drc r=jmuizelaar a=sylvestre
|
||||
|
||||
MozReview-Commit-ID: Hh0Khqfj8Bf
|
||||
|
||||
diff --git a/media/libjpeg/jstdhuff.c b/media/libjpeg/jstdhuff.c
|
||||
--- a/media/libjpeg/jstdhuff.c
|
||||
+++ b/media/libjpeg/jstdhuff.c
|
||||
@@ -36,16 +36,17 @@ add_huff_table (j_common_ptr cinfo,
|
||||
*/
|
||||
nsymbols = 0;
|
||||
for (len = 1; len <= 16; len++)
|
||||
nsymbols += bits[len];
|
||||
if (nsymbols < 1 || nsymbols > 256)
|
||||
ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
|
||||
|
||||
MEMCOPY((*htblptr)->huffval, val, nsymbols * sizeof(UINT8));
|
||||
+ MEMZERO(&((*htblptr)->huffval[nsymbols]), (256 - nsymbols) * sizeof(UINT8));
|
||||
|
||||
/* Initialize sent_table FALSE so table will be written to JPEG file. */
|
||||
(*htblptr)->sent_table = FALSE;
|
||||
}
|
||||
|
||||
|
||||
LOCAL(void)
|
||||
std_huff_tables (j_common_ptr cinfo)
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/5c312182da90
|
||||
|
||||
# HG changeset patch
|
||||
# User Jan de Mooij <jdemooij@mozilla.com>
|
||||
# Date 1458828581 -3600
|
||||
# Node ID 5c312182da9020504103aa329360abaffa7e232d
|
||||
# Parent fa4efccde9b7efde8763a178a6cf422b6d37a0e9
|
||||
Bug 1254622 - Relookup group->newScript in CreateThisForFunctionWithGroup. r=bhackett a=sylvestre
|
||||
|
||||
MozReview-Commit-ID: KXd7kB70f1Z
|
||||
|
||||
diff --git a/js/src/jsobj.cpp b/js/src/jsobj.cpp
|
||||
--- a/js/src/jsobj.cpp
|
||||
+++ b/js/src/jsobj.cpp
|
||||
@@ -1574,18 +1574,19 @@ CreateThisForFunctionWithGroup(JSContext
|
||||
// Not enough objects with this group have been created yet, so make a
|
||||
// plain object and register it with the group. Use the maximum number
|
||||
// of fixed slots, as is also required by the TypeNewScript.
|
||||
gc::AllocKind allocKind = GuessObjectGCKind(NativeObject::MAX_FIXED_SLOTS);
|
||||
PlainObject* res = NewObjectWithGroup<PlainObject>(cx, group, parent, allocKind, newKind);
|
||||
if (!res)
|
||||
return nullptr;
|
||||
|
||||
- if (newKind != SingletonObject)
|
||||
- newScript->registerNewObject(res);
|
||||
+ // Make sure group->newScript is still there.
|
||||
+ if (newKind != SingletonObject && group->newScript())
|
||||
+ group->newScript()->registerNewObject(res);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
gc::AllocKind allocKind = NewObjectGCKind(&PlainObject::class_);
|
||||
|
||||
if (newKind == SingletonObject) {
|
||||
Rooted<TaggedProto> protoRoot(cx, group->proto());
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/3fdd280fa099
|
||||
|
||||
# HG changeset patch
|
||||
# User Carsten "Tomcat" Book <cbook@mozilla.com>
|
||||
# Date 1461123938 -7200
|
||||
# Node ID 3fdd280fa099b6453ce9fd9905af883bc2ebce24
|
||||
# Parent 52dfdd37150d62f708dc5bf61dd28f3967596788
|
||||
Bug 1252707 - a=sylvestre
|
||||
|
||||
diff --git a/js/src/vm/Shape.cpp b/js/src/vm/Shape.cpp
|
||||
--- a/js/src/vm/Shape.cpp
|
||||
+++ b/js/src/vm/Shape.cpp
|
||||
@@ -382,18 +382,20 @@ NativeObject::getChildPropertyOnDictiona
|
||||
|
||||
if (obj->inDictionaryMode()) {
|
||||
MOZ_ASSERT(parent == obj->lastProperty());
|
||||
RootedGeneric<StackShape*> childRoot(cx, &child);
|
||||
shape = childRoot->isAccessorShape() ? NewGCAccessorShape(cx) : NewGCShape(cx);
|
||||
if (!shape)
|
||||
return nullptr;
|
||||
if (childRoot->hasSlot() && childRoot->slot() >= obj->lastProperty()->base()->slotSpan()) {
|
||||
- if (!obj->setSlotSpan(cx, childRoot->slot() + 1))
|
||||
+ if (!obj->setSlotSpan(cx, childRoot->slot() + 1)) {
|
||||
+ new (shape) Shape(obj->lastProperty()->base()->unowned(), 0);
|
||||
return nullptr;
|
||||
+ }
|
||||
}
|
||||
shape->initDictionaryShape(*childRoot, obj->numFixedSlots(), &obj->shape_);
|
||||
}
|
||||
|
||||
return shape;
|
||||
}
|
||||
|
||||
/* static */ Shape*
|
||||
|
|
@ -1,389 +0,0 @@
|
|||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/71f611fd27c7
|
||||
|
||||
# HG changeset patch
|
||||
# User Jeff Walden <jwalden@mit.edu>
|
||||
# Date 1458941573 25200
|
||||
# Node ID 71f611fd27c7d6cb7d6dab9895c2922948042543
|
||||
# Parent 861f6b83ce1deade2a976cabe059776ad51ce370
|
||||
Bug 1246061. r=luke, r=froydnj, a=sylvestre
|
||||
|
||||
diff --git a/js/public/HashTable.h b/js/public/HashTable.h
|
||||
--- a/js/public/HashTable.h
|
||||
+++ b/js/public/HashTable.h
|
||||
@@ -8,16 +8,17 @@
|
||||
#define js_HashTable_h
|
||||
|
||||
#include "mozilla/Alignment.h"
|
||||
#include "mozilla/Assertions.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/Casting.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/Move.h"
|
||||
+#include "mozilla/Opaque.h"
|
||||
#include "mozilla/PodOperations.h"
|
||||
#include "mozilla/ReentrancyGuard.h"
|
||||
#include "mozilla/TemplateLib.h"
|
||||
#include "mozilla/TypeTraits.h"
|
||||
|
||||
#include "js/Utility.h"
|
||||
|
||||
namespace js {
|
||||
@@ -27,16 +28,18 @@ template <class> struct DefaultHasher;
|
||||
template <class, class> class HashMapEntry;
|
||||
namespace detail {
|
||||
template <class T> class HashTableEntry;
|
||||
template <class T, class HashPolicy, class AllocPolicy> class HashTable;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
+using Generation = mozilla::Opaque<uint64_t>;
|
||||
+
|
||||
// A JS-friendly, STL-like container providing a hash-based map from keys to
|
||||
// values. In particular, HashMap calls constructors and destructors of all
|
||||
// objects added so non-PODs may be used safely.
|
||||
//
|
||||
// Key/Value requirements:
|
||||
// - movable, destructible, assignable
|
||||
// HashPolicy requirements:
|
||||
// - see Hash Policy section below
|
||||
@@ -200,17 +203,19 @@ class HashMap
|
||||
return impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return mallocSizeOf(this) + impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
// If |generation()| is the same before and after a HashMap operation,
|
||||
// pointers into the table remain valid.
|
||||
- uint32_t generation() const { return impl.generation(); }
|
||||
+ Generation generation() const {
|
||||
+ return impl.generation();
|
||||
+ }
|
||||
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return impl.lookup(l).found();
|
||||
}
|
||||
|
||||
// Overwrite existing value with v. Return false on oom.
|
||||
@@ -431,17 +436,19 @@ class HashSet
|
||||
return impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return mallocSizeOf(this) + impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
// If |generation()| is the same before and after a HashSet operation,
|
||||
// pointers into the table remain valid.
|
||||
- uint32_t generation() const { return impl.generation(); }
|
||||
+ Generation generation() const {
|
||||
+ return impl.generation();
|
||||
+ }
|
||||
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return impl.lookup(l).found();
|
||||
}
|
||||
|
||||
// Add |u| if it is not present already. Return false on oom.
|
||||
@@ -766,17 +773,17 @@ class HashTable : private AllocPolicy
|
||||
// table operations unless |generation()| is tested.
|
||||
class Ptr
|
||||
{
|
||||
friend class HashTable;
|
||||
|
||||
Entry* entry_;
|
||||
#ifdef JS_DEBUG
|
||||
const HashTable* table_;
|
||||
- uint32_t generation;
|
||||
+ Generation generation;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
Ptr(Entry& entry, const HashTable& tableArg)
|
||||
: entry_(&entry)
|
||||
#ifdef JS_DEBUG
|
||||
, table_(&tableArg)
|
||||
, generation(tableArg.generation())
|
||||
@@ -873,17 +880,17 @@ class HashTable : private AllocPolicy
|
||||
while (cur < end && !cur->isLive())
|
||||
++cur;
|
||||
}
|
||||
|
||||
Entry* cur, *end;
|
||||
#ifdef JS_DEBUG
|
||||
const HashTable* table_;
|
||||
uint64_t mutationCount;
|
||||
- uint32_t generation;
|
||||
+ Generation generation;
|
||||
bool validEntry;
|
||||
#endif
|
||||
|
||||
public:
|
||||
Range()
|
||||
: cur(nullptr)
|
||||
, end(nullptr)
|
||||
#ifdef JS_DEBUG
|
||||
@@ -1012,18 +1019,18 @@ class HashTable : private AllocPolicy
|
||||
// HashTable is not copyable or assignable
|
||||
HashTable(const HashTable&) = delete;
|
||||
void operator=(const HashTable&) = delete;
|
||||
|
||||
private:
|
||||
static const size_t CAP_BITS = 24;
|
||||
|
||||
public:
|
||||
- Entry* table; // entry storage
|
||||
- uint32_t gen; // entry storage generation number
|
||||
+ uint64_t gen; // entry storage generation number
|
||||
+ Entry* table; // entry storage
|
||||
uint32_t entryCount; // number of entries in table
|
||||
uint32_t removedCount:CAP_BITS; // removed entry sentinels in table
|
||||
uint32_t hashShift:8; // multiplicative hash shift
|
||||
|
||||
#ifdef JS_DEBUG
|
||||
uint64_t mutationCount;
|
||||
mutable bool mEntered;
|
||||
mutable struct Stats
|
||||
@@ -1097,18 +1104,18 @@ class HashTable : private AllocPolicy
|
||||
for (Entry* e = oldTable, *end = e + capacity; e < end; ++e)
|
||||
e->destroyIfLive();
|
||||
alloc.free_(oldTable);
|
||||
}
|
||||
|
||||
public:
|
||||
explicit HashTable(AllocPolicy ap)
|
||||
: AllocPolicy(ap)
|
||||
+ , gen(0)
|
||||
, table(nullptr)
|
||||
- , gen(0)
|
||||
, entryCount(0)
|
||||
, removedCount(0)
|
||||
, hashShift(sHashBits)
|
||||
#ifdef JS_DEBUG
|
||||
, mutationCount(0)
|
||||
, mEntered(false)
|
||||
#endif
|
||||
{}
|
||||
@@ -1524,20 +1531,20 @@ class HashTable : private AllocPolicy
|
||||
}
|
||||
|
||||
uint32_t capacity() const
|
||||
{
|
||||
MOZ_ASSERT(table);
|
||||
return JS_BIT(sHashBits - hashShift);
|
||||
}
|
||||
|
||||
- uint32_t generation() const
|
||||
+ Generation generation() const
|
||||
{
|
||||
MOZ_ASSERT(table);
|
||||
- return gen;
|
||||
+ return Generation(gen);
|
||||
}
|
||||
|
||||
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const
|
||||
{
|
||||
return mallocSizeOf(table);
|
||||
}
|
||||
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const
|
||||
diff --git a/js/src/jsapi.h b/js/src/jsapi.h
|
||||
--- a/js/src/jsapi.h
|
||||
+++ b/js/src/jsapi.h
|
||||
@@ -270,20 +270,16 @@ class AutoHashMapRooter : protected Auto
|
||||
|
||||
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return map.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return map.sizeOfIncludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
- uint32_t generation() const {
|
||||
- return map.generation();
|
||||
- }
|
||||
-
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return map.has(l);
|
||||
}
|
||||
|
||||
template<typename KeyInput, typename ValueInput>
|
||||
bool put(const KeyInput& k, const ValueInput& v) {
|
||||
@@ -385,20 +381,16 @@ class AutoHashSetRooter : protected Auto
|
||||
|
||||
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return set.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return set.sizeOfIncludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
- uint32_t generation() const {
|
||||
- return set.generation();
|
||||
- }
|
||||
-
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return set.has(l);
|
||||
}
|
||||
|
||||
bool put(const T& t) {
|
||||
return set.put(t);
|
||||
diff --git a/js/src/jscntxt.h b/js/src/jscntxt.h
|
||||
--- a/js/src/jscntxt.h
|
||||
+++ b/js/src/jscntxt.h
|
||||
@@ -30,21 +30,21 @@ class DebugModeOSRVolatileJitFrameIterat
|
||||
}
|
||||
|
||||
typedef HashSet<JSObject*> ObjectSet;
|
||||
typedef HashSet<Shape*> ShapeSet;
|
||||
|
||||
/* Detects cycles when traversing an object graph. */
|
||||
class AutoCycleDetector
|
||||
{
|
||||
+ Generation hashsetGenerationAtInit;
|
||||
JSContext* cx;
|
||||
RootedObject obj;
|
||||
+ ObjectSet::AddPtr hashsetAddPointer;
|
||||
bool cyclic;
|
||||
- uint32_t hashsetGenerationAtInit;
|
||||
- ObjectSet::AddPtr hashsetAddPointer;
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
|
||||
public:
|
||||
AutoCycleDetector(JSContext* cx, HandleObject objArg
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: cx(cx), obj(cx, objArg), cyclic(true)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
diff --git a/js/src/jswatchpoint.cpp b/js/src/jswatchpoint.cpp
|
||||
--- a/js/src/jswatchpoint.cpp
|
||||
+++ b/js/src/jswatchpoint.cpp
|
||||
@@ -22,25 +22,25 @@ DefaultHasher<WatchKey>::hash(const Look
|
||||
{
|
||||
return DefaultHasher<JSObject*>::hash(key.object.get()) ^ HashId(key.id.get());
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
class AutoEntryHolder {
|
||||
typedef WatchpointMap::Map Map;
|
||||
+ Generation gen;
|
||||
Map& map;
|
||||
Map::Ptr p;
|
||||
- uint32_t gen;
|
||||
RootedObject obj;
|
||||
RootedId id;
|
||||
|
||||
public:
|
||||
AutoEntryHolder(JSContext* cx, Map& map, Map::Ptr p)
|
||||
- : map(map), p(p), gen(map.generation()), obj(cx, p->key().object), id(cx, p->key().id)
|
||||
+ : gen(map.generation()), map(map), p(p), obj(cx, p->key().object), id(cx, p->key().id)
|
||||
{
|
||||
MOZ_ASSERT(!p->value().held);
|
||||
p->value().held = true;
|
||||
}
|
||||
|
||||
~AutoEntryHolder() {
|
||||
if (gen != map.generation())
|
||||
p = map.lookup(WatchKey(obj, id));
|
||||
diff --git a/js/src/shell/jsheaptools.cpp b/js/src/shell/jsheaptools.cpp
|
||||
--- a/js/src/shell/jsheaptools.cpp
|
||||
+++ b/js/src/shell/jsheaptools.cpp
|
||||
@@ -267,17 +267,17 @@ HeapReverser::traverseEdge(void* cell, J
|
||||
Map::AddPtr a = map.lookupForAdd(cell);
|
||||
if (!a) {
|
||||
/*
|
||||
* We've never visited this cell before. Add it to the map (thus
|
||||
* marking it as visited), and put it on the work stack, to be
|
||||
* visited from the main loop.
|
||||
*/
|
||||
Node n(kind);
|
||||
- uint32_t generation = map.generation();
|
||||
+ Generation generation = map.generation();
|
||||
if (!map.add(a, cell, Move(n)) ||
|
||||
!work.append(Child(cell, kind)))
|
||||
return false;
|
||||
/* If the map has been resized, re-check the pointer. */
|
||||
if (map.generation() != generation)
|
||||
a = map.lookupForAdd(cell);
|
||||
}
|
||||
|
||||
diff --git a/mfbt/Opaque.h b/mfbt/Opaque.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/mfbt/Opaque.h
|
||||
@@ -0,0 +1,44 @@
|
||||
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+/* An opaque integral type supporting only comparison operators. */
|
||||
+
|
||||
+#ifndef mozilla_Opaque_h
|
||||
+#define mozilla_Opaque_h
|
||||
+
|
||||
+#include "mozilla/TypeTraits.h"
|
||||
+
|
||||
+namespace mozilla {
|
||||
+
|
||||
+/**
|
||||
+ * Opaque<T> is a replacement for integral T in cases where only comparisons
|
||||
+ * must be supported, and it's desirable to prevent accidental dependency on
|
||||
+ * exact values.
|
||||
+ */
|
||||
+template<typename T>
|
||||
+class Opaque final
|
||||
+{
|
||||
+ static_assert(mozilla::IsIntegral<T>::value,
|
||||
+ "mozilla::Opaque only supports integral types");
|
||||
+
|
||||
+ T mValue;
|
||||
+
|
||||
+public:
|
||||
+ Opaque() {}
|
||||
+ explicit Opaque(T aValue) : mValue(aValue) {}
|
||||
+
|
||||
+ bool operator==(const Opaque& aOther) const {
|
||||
+ return mValue == aOther.mValue;
|
||||
+ }
|
||||
+
|
||||
+ bool operator!=(const Opaque& aOther) const {
|
||||
+ return !(*this == aOther);
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+} // namespace mozilla
|
||||
+
|
||||
+#endif /* mozilla_Opaque_h */
|
||||
diff --git a/mfbt/moz.build b/mfbt/moz.build
|
||||
--- a/mfbt/moz.build
|
||||
+++ b/mfbt/moz.build
|
||||
@@ -48,16 +48,17 @@ EXPORTS.mozilla = [
|
||||
'MathAlgorithms.h',
|
||||
'Maybe.h',
|
||||
'MaybeOneOf.h',
|
||||
'MemoryChecking.h',
|
||||
'MemoryReporting.h',
|
||||
'Move.h',
|
||||
'NullPtr.h',
|
||||
'NumericLimits.h',
|
||||
+ 'Opaque.h',
|
||||
'Pair.h',
|
||||
'PodOperations.h',
|
||||
'Poison.h',
|
||||
'Range.h',
|
||||
'RangedPtr.h',
|
||||
'RefCountType.h',
|
||||
'ReentrancyGuard.h',
|
||||
'RefPtr.h',
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
|
||||
# HG changeset patch
|
||||
# User Jean-Yves Avenard <jyavenard@mozilla.com>
|
||||
# Date 1460655260 25200
|
||||
# Node ID a13c0bc84d6eb132f4199f563fbe228d2d3b3a51
|
||||
# Parent 88f1eb2c3f4b4b57365ed88223cf8adc2bec4610
|
||||
Bug 1254721: Ensure consistency between Cenc offsets and sizes table. r=gerald a=sylvestre
|
||||
|
||||
MozReview-Commit-ID: E1KbKIIBR87
|
||||
|
||||
diff --git a/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp b/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
|
||||
--- a/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
|
||||
+++ b/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
|
||||
@@ -612,18 +612,18 @@ status_t
|
||||
SampleTable::parseSampleCencInfo() {
|
||||
if ((!mCencDefaultSize && !mCencInfoCount) || mCencOffsets.isEmpty()) {
|
||||
// We don't have all the cenc information we need yet. Quietly fail and
|
||||
// hope we get the data we need later in the track header.
|
||||
ALOGV("Got half of cenc saio/saiz pair. Deferring parse until we get the other half.");
|
||||
return OK;
|
||||
}
|
||||
|
||||
- if (!mCencSizes.isEmpty() && mCencOffsets.size() > 1 &&
|
||||
- mCencSizes.size() != mCencOffsets.size()) {
|
||||
+ if ((mCencOffsets.size() > 1 && mCencOffsets.size() < mCencInfoCount) ||
|
||||
+ (!mCencDefaultSize && mCencSizes.size() < mCencInfoCount)) {
|
||||
return ERROR_MALFORMED;
|
||||
}
|
||||
|
||||
if (mCencInfoCount > kMAX_ALLOCATION / sizeof(SampleCencInfo)) {
|
||||
// Avoid future OOM.
|
||||
return ERROR_MALFORMED;
|
||||
}
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
Re-enable the DHE (Ephemeral Diffie-Hellman) cipher suites, which IceCat
|
||||
38.6.0 disabled by default to avoid the Logjam attack. This issue was
|
||||
fixed in NSS version 3.19.1 by limiting the lower strength of supported
|
||||
DHE keys to use 1023 bit primes, so we can enable these cipher suites
|
||||
safely. The DHE cipher suites are needed to allow IceCat to connect to
|
||||
many sites, including https://gnupg.org/.
|
||||
|
||||
Patch by Mark H Weaver <mhw@netris.org>
|
||||
|
||||
--- icecat-38.6.0/browser/app/profile/icecat.js.orig 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ icecat-38.6.0/browser/app/profile/icecat.js 2016-02-06 00:48:23.826170154 -0500
|
||||
@@ -2061,12 +2061,6 @@
|
||||
pref("security.ssl3.rsa_des_ede3_sha", false);
|
||||
pref("security.ssl3.ecdhe_ecdsa_rc4_128_sha", false);
|
||||
pref("security.ssl3.ecdhe_rsa_rc4_128_sha", false);
|
||||
-// https://directory.fsf.org/wiki/Disable_DHE
|
||||
-// Avoid logjam attack
|
||||
-pref("security.ssl3.dhe_rsa_aes_128_sha", false);
|
||||
-pref("security.ssl3.dhe_rsa_aes_256_sha", false);
|
||||
-pref("security.ssl3.dhe_dss_aes_128_sha", false);
|
||||
-pref("security.ssl3.dhe_rsa_des_ede3_sha", false);
|
||||
//Optional
|
||||
//Perfect forward secrecy
|
||||
// pref("security.ssl3.rsa_aes_256_sha", false);
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,68 @@
|
|||
Copied from Fedora.
|
||||
|
||||
http://pkgs.fedoraproject.org/cgit/rpms/inkscape.git/plain/inkscape-0.91-drop-wait-for-targets.patch?id=eb5340800b563d6b05aa5f11a2f24f2cc0d8c80e
|
||||
|
||||
=== modified file 'src/ui/clipboard.cpp'
|
||||
--- src/ui/clipboard.cpp 2016-04-02 15:15:43 +0000
|
||||
+++ src/ui/clipboard.cpp 2016-04-07 16:30:32 +0000
|
||||
@@ -146,8 +146,6 @@
|
||||
void _setClipboardColor(guint32);
|
||||
void _userWarn(SPDesktop *, char const *);
|
||||
|
||||
- void _inkscape_wait_for_targets(std::list<Glib::ustring> &);
|
||||
-
|
||||
// private properites
|
||||
SPDocument *_clipboardSPDoc; ///< Document that stores the clipboard until someone requests it
|
||||
Inkscape::XML::Node *_defs; ///< Reference to the clipboard document's defs node
|
||||
@@ -1302,9 +1300,7 @@
|
||||
*/
|
||||
Glib::ustring ClipboardManagerImpl::_getBestTarget()
|
||||
{
|
||||
- // GTKmm's wait_for_targets() is broken, see the comment in _inkscape_wait_for_targets()
|
||||
- std::list<Glib::ustring> targets; // = _clipboard->wait_for_targets();
|
||||
- _inkscape_wait_for_targets(targets);
|
||||
+ std::list<Glib::ustring> targets = _clipboard->wait_for_targets();
|
||||
|
||||
// clipboard target debugging snippet
|
||||
/*
|
||||
@@ -1456,39 +1452,6 @@
|
||||
desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, msg);
|
||||
}
|
||||
|
||||
-
|
||||
-// GTKMM's clipboard::wait_for_targets is buggy and might return bogus, see
|
||||
-//
|
||||
-// https://bugs.launchpad.net/inkscape/+bug/296778
|
||||
-// http://mail.gnome.org/archives/gtk-devel-list/2009-June/msg00062.html
|
||||
-//
|
||||
-// for details. Until this has been fixed upstream we will use our own implementation
|
||||
-// of this method, as copied from /gtkmm-2.16.0/gtk/gtkmm/clipboard.cc.
|
||||
-void ClipboardManagerImpl::_inkscape_wait_for_targets(std::list<Glib::ustring> &listTargets)
|
||||
-{
|
||||
- //Get a newly-allocated array of atoms:
|
||||
- GdkAtom* targets = NULL;
|
||||
- gint n_targets = 0;
|
||||
- gboolean test = gtk_clipboard_wait_for_targets( gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), &targets, &n_targets );
|
||||
- if (!test || (targets == NULL)) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- //Add the targets to the C++ container:
|
||||
- for (int i = 0; i < n_targets; i++)
|
||||
- {
|
||||
- //Convert the atom to a string:
|
||||
- gchar* const atom_name = gdk_atom_name(targets[i]);
|
||||
-
|
||||
- Glib::ustring target;
|
||||
- if (atom_name) {
|
||||
- target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the gchar*.
|
||||
- }
|
||||
-
|
||||
- listTargets.push_back(target);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
/* #######################################
|
||||
ClipboardManager class
|
||||
####################################### */
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
Fixes CVE-2015-8868 (heap overflow).
|
||||
|
||||
Upstream source:
|
||||
https://cgit.freedesktop.org/poppler/poppler/commit/?id=b3425dd3261679958cd56c0f71995c15d2124433
|
||||
|
||||
From b3425dd3261679958cd56c0f71995c15d2124433 Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Tue, 22 Dec 2015 22:50:33 +0100
|
||||
Subject: Do not crash on invalid files
|
||||
|
||||
Bug #93476
|
||||
|
||||
diff --git a/poppler/Function.cc b/poppler/Function.cc
|
||||
index 67283df..ee5afc1 100644
|
||||
--- a/poppler/Function.cc
|
||||
+++ b/poppler/Function.cc
|
||||
@@ -577,6 +577,10 @@ ExponentialFunction::ExponentialFunction(Object *funcObj, Dict *dict) {
|
||||
goto err2;
|
||||
}
|
||||
n = obj1.arrayGetLength();
|
||||
+ if (unlikely(n > funcMaxOutputs)) {
|
||||
+ error(errSyntaxError, -1, "Function's C0 array is wrong length");
|
||||
+ n = funcMaxOutputs;
|
||||
+ }
|
||||
for (i = 0; i < n; ++i) {
|
||||
obj1.arrayGet(i, &obj2);
|
||||
if (!obj2.isNum()) {
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- totem-3.20.1/src/backend/bacon-video-widget.c.orig 2016-03-22 12:45:32.000000000 -0400
|
||||
+++ totem-3.20.1/src/backend/bacon-video-widget.c 2016-05-11 02:49:55.299109551 -0400
|
||||
@@ -2334,7 +2334,7 @@
|
||||
if (!gst_toc_entry_get_start_stop_times (entry, &start, &stop)) {
|
||||
GST_DEBUG ("Chapter #%d (couldn't get times)", i);
|
||||
} else {
|
||||
- GST_DEBUG ("Chapter #%d (start: %li stop: %li)", i, start, stop);
|
||||
+ GST_DEBUG ("Chapter #%d (start: %li stop: %li)", i, (long) start, (long) stop);
|
||||
}
|
||||
}
|
||||
|
|
@ -52,20 +52,16 @@
|
|||
(define-public poppler
|
||||
(package
|
||||
(name "poppler")
|
||||
(version "0.37.0")
|
||||
(replacement poppler/fixed)
|
||||
(version "0.43.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://poppler.freedesktop.org/poppler-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"1vjvd0md8y37hlq3lsj0l01a3v3mzm572rzpn1311frvmrg9r7xq"))))
|
||||
(sha256
|
||||
(base32
|
||||
"0mi4zf0pz3x3fx3ir7szz1n57nywgbpd4mp2r7mvf47f4rmf4867"))))
|
||||
(build-system gnu-build-system)
|
||||
;; FIXME: more dependencies could be added
|
||||
;; cairo output: no (requires cairo >= 1.10.0)
|
||||
;; qt4 wrapper: no
|
||||
;; introspection: no
|
||||
;; use gtk-doc: no
|
||||
;; FIXME:
|
||||
;; use libcurl: no
|
||||
(inputs `(("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
|
@ -84,7 +80,8 @@
|
|||
("glib" ,glib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("glib" ,glib "bin"))) ; glib-mkenums, etc.
|
||||
("glib" ,glib "bin") ; glib-mkenums, etc.
|
||||
("gobject-introspection" ,gobject-introspection)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no test data provided with the tarball
|
||||
#:configure-flags
|
||||
|
@ -105,13 +102,6 @@
|
|||
(license license:gpl2+)
|
||||
(home-page "http://poppler.freedesktop.org/")))
|
||||
|
||||
(define poppler/fixed
|
||||
(package
|
||||
(inherit poppler)
|
||||
(source (origin
|
||||
(inherit (package-source poppler))
|
||||
(patches (search-patches "poppler-CVE-2015-8868.patch"))))))
|
||||
|
||||
(define-public poppler-qt4
|
||||
(package (inherit poppler)
|
||||
(name "poppler-qt4")
|
||||
|
|
|
@ -234,7 +234,7 @@ following the mouse.")
|
|||
(define-public pixman
|
||||
(package
|
||||
(name "pixman")
|
||||
(version "0.32.8")
|
||||
(version "0.34.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -242,7 +242,7 @@ following the mouse.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pfn0247sjsi95kwjih0wwqpp28wadihqk1bn28x6iqbqhbxwnjp"))))
|
||||
"13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libpng" ,libpng)
|
||||
|
|
|
@ -445,6 +445,40 @@ replace it."
|
|||
(cons (gexp-input thing output) deps)))
|
||||
(manifest-entries manifest)))
|
||||
|
||||
(define (manifest-lookup-package manifest name)
|
||||
"Return as a monadic value the first package or store path referenced by
|
||||
MANIFEST that named NAME, or #f if not found."
|
||||
;; Return as a monadic value the package or store path referenced by the
|
||||
;; manifest ENTRY, or #f if not referenced.
|
||||
(define (entry-lookup-package entry)
|
||||
(define (find-among-inputs inputs)
|
||||
(find (lambda (input)
|
||||
(and (package? input)
|
||||
(equal? name (package-name input))))
|
||||
inputs))
|
||||
(define (find-among-store-items items)
|
||||
(find (lambda (item)
|
||||
(equal? name (package-name->name+version
|
||||
(store-path-package-name item))))
|
||||
items))
|
||||
|
||||
;; TODO: Factorize.
|
||||
(define references*
|
||||
(store-lift references))
|
||||
|
||||
(with-monad %store-monad
|
||||
(match (manifest-entry-item entry)
|
||||
((? package? package)
|
||||
(match (package-transitive-inputs package)
|
||||
(((labels inputs . _) ...)
|
||||
(return (find-among-inputs inputs)))))
|
||||
((? string? item)
|
||||
(mlet %store-monad ((refs (references* item)))
|
||||
(return (find-among-store-items refs)))))))
|
||||
|
||||
(anym %store-monad
|
||||
entry-lookup-package (manifest-entries manifest)))
|
||||
|
||||
(define (info-dir-file manifest)
|
||||
"Return a derivation that builds the 'dir' file for all the entries of
|
||||
MANIFEST."
|
||||
|
@ -608,41 +642,7 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
|
|||
(define (gtk-icon-themes manifest)
|
||||
"Return a derivation that unions all icon themes from manifest entries and
|
||||
creates the GTK+ 'icon-theme.cache' file for each theme."
|
||||
;; Return as a monadic value the GTK+ package or store path referenced by the
|
||||
;; manifest ENTRY, or #f if not referenced.
|
||||
(define (entry-lookup-gtk+ entry)
|
||||
(define (find-among-inputs inputs)
|
||||
(find (lambda (input)
|
||||
(and (package? input)
|
||||
(string=? "gtk+" (package-name input))))
|
||||
inputs))
|
||||
|
||||
(define (find-among-store-items items)
|
||||
(find (lambda (item)
|
||||
(equal? "gtk+"
|
||||
(package-name->name+version
|
||||
(store-path-package-name item))))
|
||||
items))
|
||||
|
||||
;; TODO: Factorize.
|
||||
(define references*
|
||||
(store-lift references))
|
||||
|
||||
(with-monad %store-monad
|
||||
(match (manifest-entry-item entry)
|
||||
((? package? package)
|
||||
(match (package-transitive-inputs package)
|
||||
(((labels inputs . _) ...)
|
||||
(return (find-among-inputs inputs)))))
|
||||
((? string? item)
|
||||
(mlet %store-monad ((refs (references* item)))
|
||||
(return (find-among-store-items refs)))))))
|
||||
|
||||
(define (manifest-lookup-gtk+ manifest)
|
||||
(anym %store-monad
|
||||
entry-lookup-gtk+ (manifest-entries manifest)))
|
||||
|
||||
(mlet %store-monad ((gtk+ (manifest-lookup-gtk+ manifest)))
|
||||
(mlet %store-monad ((gtk+ (manifest-lookup-package manifest "gtk+")))
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
|
@ -686,13 +686,84 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
|
|||
#:substitutable? #f)
|
||||
(return #f))))
|
||||
|
||||
(define (xdg-desktop-database manifest)
|
||||
"Return a derivation that builds the @file{mimeinfo.cache} database from
|
||||
desktop files. It's used to query what applications can handle a given
|
||||
MIME type."
|
||||
(mlet %store-monad ((desktop-file-utils
|
||||
(manifest-lookup-package
|
||||
manifest "desktop-file-utils")))
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build union))
|
||||
(let* ((destdir (string-append #$output "/share/applications"))
|
||||
(appdirs (filter file-exists?
|
||||
(map (cut string-append <>
|
||||
"/share/applications")
|
||||
'#$(manifest-inputs manifest))))
|
||||
(update-desktop-database (string-append
|
||||
#+desktop-file-utils
|
||||
"/bin/update-desktop-database")))
|
||||
(mkdir-p (string-append #$output "/share"))
|
||||
(union-build destdir appdirs
|
||||
#:log-port (%make-void-port "w"))
|
||||
(zero? (system* update-desktop-database destdir)))))
|
||||
|
||||
;; Don't run the hook when 'desktop-file-utils' is not referenced.
|
||||
(if desktop-file-utils
|
||||
(gexp->derivation "xdg-desktop-database" build
|
||||
#:modules '((guix build utils)
|
||||
(guix build union))
|
||||
#:local-build? #t
|
||||
#:substitutable? #f)
|
||||
(return #f))))
|
||||
|
||||
(define (xdg-mime-database manifest)
|
||||
"Return a derivation that builds the @file{mime.cache} database from manifest
|
||||
entries. It's used to query the MIME type of a given file."
|
||||
(mlet %store-monad ((shared-mime-info
|
||||
(manifest-lookup-package
|
||||
manifest "shared-mime-info")))
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build union))
|
||||
(let* ((datadir (string-append #$output "/share"))
|
||||
(destdir (string-append datadir "/mime"))
|
||||
(mimedirs (filter file-exists?
|
||||
(map (cut string-append <>
|
||||
"/share/mime")
|
||||
'#$(manifest-inputs manifest))))
|
||||
(update-mime-database (string-append
|
||||
#+shared-mime-info
|
||||
"/bin/update-mime-database")))
|
||||
(mkdir-p datadir)
|
||||
(union-build destdir mimedirs
|
||||
#:log-port (%make-void-port "w"))
|
||||
(setenv "XDG_DATA_HOME" datadir)
|
||||
(zero? (system* update-mime-database destdir)))))
|
||||
|
||||
;; Don't run the hook when 'shared-mime-info' is referenced.
|
||||
(if shared-mime-info
|
||||
(gexp->derivation "xdg-mime-database" build
|
||||
#:modules '((guix build utils)
|
||||
(guix build union))
|
||||
#:local-build? #t
|
||||
#:substitutable? #f)
|
||||
(return #f))))
|
||||
|
||||
(define %default-profile-hooks
|
||||
;; This is the list of derivation-returning procedures that are called by
|
||||
;; default when making a non-empty profile.
|
||||
(list info-dir-file
|
||||
ghc-package-cache-file
|
||||
ca-certificate-bundle
|
||||
gtk-icon-themes))
|
||||
gtk-icon-themes
|
||||
xdg-desktop-database
|
||||
xdg-mime-database))
|
||||
|
||||
(define* (profile-derivation manifest
|
||||
#:key
|
||||
|
|
Loading…
Reference in New Issue