Merge branch 'staging'

This commit is contained in:
Ludovic Courtès 2019-02-09 15:14:59 +01:00
commit 50a93adc05
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
85 changed files with 2359 additions and 1889 deletions

View File

@ -14402,13 +14402,49 @@ The @code{(gnu services databases)} module provides the following services.
@deffn {Scheme Procedure} postgresql-service [#:postgresql postgresql] @
[#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @
[#:port 5432] [#:locale ``en_US.utf8'']
[#:port 5432] [#:locale ``en_US.utf8''] [#:extension-packages '()]
Return a service that runs @var{postgresql}, the PostgreSQL database
server.
The PostgreSQL daemon loads its runtime configuration from @var{config-file},
creates a database cluster with @var{locale} as the default
locale, stored in @var{data-directory}. It then listens on @var{port}.
@cindex postgresql extension-packages
Additional extensions are loaded from packages listed in
@var{extension-packages}. Extensions are available at runtime. For instance,
to create a geographic database using the @code{postgis} extension, a user can
configure the postgresql-service as in this example:
@cindex postgis
@example
(use-package-modules databases geo)
(operating-system
...
;; postgresql is required to run `psql' but postgis is not required for
;; proper operation.
(packages (cons* postgresql %base-packages))
(services
(cons*
(postgresql-service #:extension-packages (list postgis))
%base-services)))
@end example
Then the extension becomes visible and you can initialise an empty geographic
database in this way:
@example
psql -U postgres
> create database postgistest;
> \connect postgistest;
> create extension postgis;
> create extension postgis_topology;
@end example
There is no need to add this field for contrib extensions such as hstore or
dblink as they are already loadable by postgresql. This field is only
required to add extensions provided by other packages.
@end deffn
@deffn {Scheme Procedure} mysql-service [#:config (mysql-configuration)]

View File

@ -634,7 +634,8 @@ dist_patch_DATA = \
%D%/packages/patches/aegisub-icu59-include-unistr.patch \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/allegro4-mesa-18.2.5-and-later.patch \
%D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
@ -664,8 +665,6 @@ dist_patch_DATA = \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/boost-fix-icu-build.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/cairo-setjmp-wrapper.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-use-packaged-feedparser.patch \
%D%/packages/patches/casync-renameat2-declaration.patch \
@ -706,7 +705,6 @@ dist_patch_DATA = \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
@ -721,6 +719,7 @@ dist_patch_DATA = \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dropbear-CVE-2018-15599.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/efl-mesa-compat.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/emacs-exec-path.patch \
@ -746,6 +745,7 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spUtils.patch \
%D%/packages/patches/fasthenry-spSolve.patch \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \
%D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
@ -798,14 +798,12 @@ dist_patch_DATA = \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghc-haddock-library-unbundle.patch \
%D%/packages/patches/ghostscript-CVE-2018-16509.patch \
%D%/packages/patches/ghostscript-bug-699708.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/giflib-make-reallocarray-private.patch \
%D%/packages/patches/glib-networking-ssl-cert-file.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glib-networking-connection.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \
%D%/packages/patches/glibc-CVE-2016-3075.patch \
@ -834,7 +832,6 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-fix-test-transaction-failure.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gnutls-skip-pkgconfig-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
@ -892,6 +889,7 @@ dist_patch_DATA = \
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inkscape-poppler-compat3.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
@ -906,7 +904,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-build_dont_unzip.patch \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/json-glib-fix-tests-32bit.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
@ -977,6 +974,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-boost.patch \
%D%/packages/patches/libreoffice-icu.patch \
%D%/packages/patches/libreoffice-glm.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
@ -986,10 +984,6 @@ dist_patch_DATA = \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtiff-CVE-2017-9935.patch \
%D%/packages/patches/libtiff-CVE-2017-18013.patch \
%D%/packages/patches/libtiff-CVE-2018-8905.patch \
%D%/packages/patches/libtiff-CVE-2018-10963.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libusb-for-axoloti.patch \
@ -1124,6 +1118,7 @@ dist_patch_DATA = \
%D%/packages/patches/pinball-src-deps.patch \
%D%/packages/patches/pinball-system-ltdl.patch \
%D%/packages/patches/pinentry-efl.patch \
%D%/packages/patches/pingus-boost-headers.patch \
%D%/packages/patches/pingus-sdl-libs-config.patch \
%D%/packages/patches/pius.patch \
%D%/packages/patches/pixman-CVE-2016-5296.patch \
@ -1132,9 +1127,9 @@ dist_patch_DATA = \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/podofo-cmake-3.12.patch \
%D%/packages/patches/polkit-CVE-2018-19788.patch \
%D%/packages/patches/poppler-CVE-2018-19149.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/postgresql-disable-resolve_symlinks.patch \
%D%/packages/patches/potrace-tests.patch \
%D%/packages/patches/procmail-ambiguous-getline-debian.patch \
%D%/packages/patches/procmail-CVE-2014-3618.patch \
@ -1184,7 +1179,6 @@ dist_patch_DATA = \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/qt-5-renameat2.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-test-fix-regex.patch \
@ -1234,6 +1228,7 @@ dist_patch_DATA = \
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
%D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \
%D%/packages/patches/soundtouch-CVE-2018-1000223.patch \
%D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
@ -1256,6 +1251,9 @@ dist_patch_DATA = \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \
%D%/packages/patches/texinfo-perl-compat.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
%D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \
%D%/packages/patches/texlive-bin-pdftex-poppler-compat.patch \
%D%/packages/patches/texlive-bin-xetex-poppler-compat.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \
@ -1306,6 +1304,7 @@ dist_patch_DATA = \
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
%D%/packages/patches/weechat-python.patch \
%D%/packages/patches/wesnoth-newer-boost.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
@ -1336,8 +1335,7 @@ dist_patch_DATA = \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch
%D%/packages/patches/xmodmap-asprintf.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in

View File

@ -2300,7 +2300,7 @@ external_libraries/yaml-cpp/include)"))
("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c)
("boost" ,boost-cxx14)
("boost" ,boost)
("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider")

View File

@ -1154,7 +1154,7 @@ command.")
(define-public tzdata
(package
(name "tzdata")
(version "2018e")
(version "2018i")
(source (origin
(method url-fetch)
(uri (string-append
@ -1162,7 +1162,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"0bk97fv2i5ns42prpmlaadsswdjwv0ifi7whj2s4q6l44rcqwa3b"))))
"1n80ih8agibagic401smqscz3xxqvs5bm5x3lk803g539kw5xi42"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@ -1212,7 +1212,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"1kpb02631s58i068mwq63xlamcv1ffj4p6y4wpb9kdl01vr0qd6a"))))))
"1p1jxlnryaxknj0l768h3dmlk2jpqz5n5d24w9c9vyx6dj3xpb5a"))))))
(home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)
@ -1231,22 +1231,24 @@ and daylight-saving rules.")
(hidden-package
(package
(inherit tzdata)
(version "2018d")
(version "2018g")
(source (origin
(method url-fetch)
(uri (string-append "https://www.iana.org/time-zones/repository"
"/releases/tzdata" version ".tar.gz"))
(sha256
(base32
"0m6020dnk9r40z7k36jp13fa06xip3hn0fdx3nly66jzxgffs1ji"))))
(inputs `(("tzcode" ,(origin
(method url-fetch)
(uri (string-append
"http://www.iana.org/time-zones/repository/releases/tzcode"
version ".tar.gz"))
(sha256
(base32
"1nd882yhsazmcfqmcqyfig3axycryl30gmizgqhqsx5dpa2lxr3x")))))))))
(method url-fetch)
(uri (string-append
"https://www.iana.org/time-zones/repository/releases/tzdata"
version ".tar.gz"))
(sha256
(base32
"05kayi3w9pvhj6ljx1hvwd0r8mxfzn436fjmwhx53xkj919xxpq2"))))
(inputs
`(("tzcode" ,(origin
(method url-fetch)
(uri (string-append
"http://www.iana.org/time-zones/repository/releases/tzcode"
version ".tar.gz"))
(sha256
(base32
"09y44fzcdq3c06saa8iqqa0a59cyw6ni3p31ps0j1w3hcpxz8lxa")))))))))
(define-public libiconv
(package

View File

@ -44,16 +44,19 @@
(define-public boost
(package
(name "boost")
(version "1.68.0")
(version "1.69.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/boost/boost/" version "/boost_"
(string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
".tar.bz2"))
(uri (let ((version-with-underscores
(string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)))
(list (string-append "mirror://sourceforge/boost/boost/" version
"/boost_" version-with-underscores ".tar.bz2")
(string-append "https://dl.bintray.com/boostorg/release/"
version "/source/boost_"
version-with-underscores ".tar.bz2"))))
(sha256
(base32
"1dyqsr9yb01y0nnjdq9b8q5s2kvhxbayk34832k5cpzn7jy30qbz"))
"01j4n142dz20lcgqji8d8hspp04p1nv7m8i6dz8w5lchfdhx8clg"))
(patches (search-patches "boost-fix-icu-build.patch"))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)
@ -66,6 +69,7 @@
`(#:tests? #f
#:make-flags
(list "threading=multi" "link=shared"
"cxxflags=-std=c++14"
;; Set the RUNPATH to $libdir so that the libs find each other.
(string-append "linkflags=-Wl,-rpath="
@ -121,16 +125,6 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
;; Some programs need Boost to be built with C++14 support.
(define-public boost-cxx14
(package (inherit boost)
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:make-flags flags)
`(append ,flags
'("cxxflags=-std=c++14")))))
(properties '((hidden? . #t)))))
(define-public boost-for-mysql
;; Older version for MySQL 5.7.23.
(package

View File

@ -158,7 +158,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
(version "0.47.2")
(version "0.49.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@ -166,7 +166,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
"1swmycf6p9p0ag6yiywyyri42ffkxxj38r2ic7in24km47cszn4j"))))
"0l8m1v7cl5ybm7psfqmmdqbvmnsbb1qhb8ni3hwap3i0mk29a0zv"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH

View File

@ -76,7 +76,7 @@
(define-public nss-certs
(package
(name "nss-certs")
(version "3.39")
(version "3.41")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -87,7 +87,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
"0jw6qlfl2g47hhx056nvnj6h92bk3sn46hy3ig61a911dzblvrkb"))))
"0bbif42fzz5gk451sv3yphdrl7m4p6zgk5jk0307j06xs3sihbmb"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs

View File

@ -44,7 +44,7 @@
(define-public cmake
(package
(name "cmake")
(version "3.12.2")
(version "3.13.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.cmake.org/files/v"
@ -52,7 +52,7 @@
"/cmake-" version ".tar.gz"))
(sha256
(base32
"19410mxgcyvk5q42phaclb1hz6rl08z4yj8iriq706p5k5bli5qg"))
"04123d7fgnn1fs5p0nwyq397ss89r0y4wkg9a09qiwkjsvk1rzmy"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -708,13 +708,13 @@ decompression of some loosely related file formats used by Microsoft.")
(version "1.8.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lz4/lz4/archive/"
"v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference (url "https://github.com/lz4/lz4")
(commit (string-append "v" version))))
(sha256
(base32
"1y93h6dyi3026gvpzdv310ldcylnnhwf32n75mdjf8x9fvkskwqj"))
(file-name (string-append name "-" version ".tar.gz"))))
"1jggv4lvfav53advnj0pwqgxzn868lrj8dc9zp73iwvqlj82mhmx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs `(("valgrind" ,valgrind))) ; for tests
(arguments
@ -1730,7 +1730,7 @@ single-member files which can't be decompressed in parallel.")
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; No tests available.
(inputs `(("boost" ,boost-cxx14)
(inputs `(("boost" ,boost)
("libiconv" ,libiconv)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))

View File

@ -54,7 +54,7 @@
(define-public cups-filters
(package
(name "cups-filters")
(version "1.21.0")
(version "1.21.5")
(source(origin
(method url-fetch)
(uri
@ -62,7 +62,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
"0fs90xx9i4h8gbpligf5kkh21llv4kf5g3bgfbx4z272xkm7bsfi"))
"0azq9j7kqy18g6vgmvrbw8i4mcqdp3cbgh7q79x1b8p92w4si6rq"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
@ -177,7 +177,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(define-public cups-minimal
(package
(name "cups-minimal")
(version "2.2.8")
(version "2.2.10")
(source
(origin
(method url-fetch)
@ -185,7 +185,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
version "/cups-" version "-source.tar.gz"))
(sha256
(base32
"1r7r7b3nqpzc1a9dczqpj2mr8rkcwf01676v11sp4j7w4qfzqs1r"))))
"1fq52aw1mini3ld2czv5gg37wbbvh4n7yc7wzzxvbs3zpfrv5j3p"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -50,15 +50,14 @@
(define-public curl
(package
(name "curl")
(version "7.61.1")
(replacement curl-7.62.0)
(version "7.63.0")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"148qv1f32290r9pwg07mccawihz4srznkzsdwdl2xllvlgb16n9x"))))
"1i38v49233jirzlfqd8fy6jyf80assa953hk7w6qmysbg562604n"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@ -142,19 +141,6 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
(define-public curl-7.62.0
(package
(inherit curl)
(version "7.62.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"1hbm29r3pirhn4gkcnd94ylc4jzgn3v3v7qbay9awxg7bwx69dfs"))))))
(define-public kurly
(package
(name "kurly")

View File

@ -31,7 +31,7 @@
(define-public cyrus-sasl
(package
(name "cyrus-sasl")
(version "2.1.26")
(version "2.1.27")
(source (origin
(method url-fetch)
(uri (list (string-append
@ -40,13 +40,14 @@
(string-append
"ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-"
version ".tar.gz")))
(patches (search-patches "cyrus-sasl-CVE-2013-4122.patch"))
(sha256 (base32
"1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
"1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6"))))
(build-system gnu-build-system)
(inputs `(("gdbm" ,gdbm)
("mit-krb5" ,mit-krb5)
("openssl" ,openssl)))
(propagated-inputs
`(;; cyrus-sasl.pc refers to -lkrb5, so propagate it.
("mit-krb5" ,mit-krb5)))
(arguments
'(#:configure-flags (list (string-append "--with-plugindir="
(assoc-ref %outputs "out")

View File

@ -18,7 +18,7 @@
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
@ -583,6 +583,13 @@ Language.")
"main.stat_tables_innodb"
"roles.acl_statistics"
;; This file contains a time bomb which makes it fail after
;; 2019-01-01. See <https://bugs.gnu.org/34351> for details.
"main.mysqldump"
;; XXX: Fails sporadically.
"innodb_fts.crash_recovery"
;; FIXME: This test fails on i686:
;; -myisampack: Can't create/write to file (Errcode: 17 "File exists")
;; +myisampack: Can't create/write to file (Errcode: 17 "File exists)
@ -687,7 +694,8 @@ as a drop-in replacement of MySQL.")
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0jv26y3f10svrjxzsgqxg956c86b664azyk2wppzpa5x11pjga38"))))
"0jv26y3f10svrjxzsgqxg956c86b664azyk2wppzpa5x11pjga38"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (guix build-system python)
@ -247,13 +248,15 @@ designed to be used in a generic text renderer.")
(name "fbreader")
(version "0.99.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/geometer/FBReader/"
"archive/" version "-freebsdport.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/geometer/FBReader")
(commit (string-append version "-freebsdport"))))
(file-name (git-file-name name version))
(sha256
(base32
"0gf1nl562fqkwlzcn6rgkp1j8jcixzmfsnwxbc0sm49zh8n3zqib"))))
"0c0s4silpax74kwfz3dfmzn4lkv6jsyb800vfak166vii0hvbv3d"))
(patches (search-patches "fbreader-curl-7.62.patch"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@ -278,7 +281,13 @@ designed to be used in a generic text renderer.")
(assoc-ref %outputs "out") "/lib"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(delete 'configure)
(add-after 'unpack 'fix-install-locations
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "fbreader/desktop/Makefile"
(("/usr") out))
#t))))))
(home-page "https://fbreader.org/")
(synopsis "E-Book reader")
(description "@code{fbreader} is an E-Book reader. It supports the

View File

@ -71,6 +71,7 @@
(uri (string-append
"https://download.enlightenment.org/rel/libs/efl/efl-"
version ".tar.xz"))
(patches (search-patches "efl-mesa-compat.patch"))
(sha256
(base32
"0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4"))))

View File

@ -148,14 +148,14 @@ freedesktop.org project.")
(define-public libinput
(package
(name "libinput")
(version "1.12.1")
(version "1.12.3")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
"14l6bvgq76ls63qc9c448r435q9xiig0rv8ilx6rnjvlgg64h32p"))))
"0mg2zqbjcgj0aq7d9nwawvyhx43vakilahrc83hrfyif3a3gyrpj"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=false")))
@ -433,7 +433,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(define-public wayland-protocols
(package
(name "wayland-protocols")
(version "1.15")
(version "1.17")
(source (origin
(method url-fetch)
(uri (string-append
@ -441,7 +441,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
"1qlyf9cllr2p339xxplznh023qcwj5iisp02ikx7ps349dx75fys"))))
"0bw1sqixqk2a7mqw630cs4dlgcp5yib90vyikzm3lr05jz7ij4yz"))))
(build-system gnu-build-system)
(inputs
`(("wayland" ,wayland)))

View File

@ -647,6 +647,8 @@ programming language.")
(uri (string-append "https://github.com/liballeg/allegro5/"
"releases/download/" version "/allegro-"
version ".tar.gz"))
(patches (search-patches
"allegro4-mesa-18.2.5-and-later.patch"))
(sha256
(base32
"1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"))))
@ -687,7 +689,7 @@ etc.")
"/download/" version "/allegro-"
version ".tar.gz"))
(patches (search-patches
"allegro-fix-compilation-mesa-18.2.5-and-later.patch"))
"allegro-mesa-18.2.5-and-later.patch"))
(sha256
(base32
"1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l"))))
@ -732,6 +734,8 @@ etc.")
(string-drop-right version 2)
version)
".tar.gz"))
(patches (search-patches
"allegro-mesa-18.2.5-and-later.patch"))
(sha256
(base32
"0cd51qrh97jrr0xdmnivqgwljpmizg8pixsgvc4blqqlaz4i9zj9"))))))

View File

@ -1288,14 +1288,16 @@ fight Morgoth, the Lord of Darkness.")
(version "0.7.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Pingus/pingus/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Pingus/pingus.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r9v6as5vi7skvvy7b0fcaimhdlzmik64pyy68plgljhsghqkkf4"))
(patches (search-patches "pingus-sdl-libs-config.patch"))))
"0wp06kcmknsnxz7bjnsndb8x062z7r23fb3yrnbfnj68qhz18y74"))
(patches (search-patches "pingus-boost-headers.patch"
"pingus-sdl-libs-config.patch"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("scons-python2" ,scons-python2)))
@ -2005,6 +2007,13 @@ This game is based on the GPL version of the famous game TuxRacer.")
"-DCMAKE_C_FLAGS=-fpermissive")
#:phases
(modify-phases %standard-phases
;; see https://github.com/supertuxkart/stk-code/issues/3557
(add-after 'unpack 'patch-for-mesa-18.3
(lambda _
(substitute* "src/graphics/gl_headers.hpp"
(("#if !defined\\(USE_GLES2\\)")
"#if !defined(USE_GLES2)\n# define __gl_glext_h_"))
#t))
(add-after 'unpack 'unbundle
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
@ -2086,7 +2095,8 @@ falling, themeable graphics and sounds, and replays.")
name "-" version ".tar.bz2"))
(sha256
(base32
"1kgpj2f22nnx4mwd1zis3s5ny2983aasgqsmz7wnqaq7n6a7ac85"))))
"1kgpj2f22nnx4mwd1zis3s5ny2983aasgqsmz7wnqaq7n6a7ac85"))
(patches (search-patches "wesnoth-newer-boost.patch"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no check target

View File

@ -637,7 +637,8 @@ utilities for data translation and processing.")
(synopsis "Spatial database extender for PostgreSQL")
(description "PostGIS is a spatial database extender for PostgreSQL
object-relational database. It adds support for geographic objects allowing
location queries to be run in SQL.")
location queries to be run in SQL. This package provides a PostgreSQL
extension.")
(license (list
;; General license
license:gpl2+

View File

@ -135,7 +135,7 @@ printing, and psresize, for adjusting page sizes.")
(define-public ghostscript
(package
(name "ghostscript")
(version "9.24")
(version "9.26")
(source
(origin
(method url-fetch)
@ -145,10 +145,8 @@ printing, and psresize, for adjusting page sizes.")
"/ghostscript-" version ".tar.xz"))
(sha256
(base32
"1mk922rnml93w2g42yxiyn8xqanc50cm65irrgh0b6lp4kgifjfl"))
(patches (search-patches "ghostscript-CVE-2018-16509.patch"
"ghostscript-bug-699708.patch"
"ghostscript-no-header-creationdate.patch"
"1645f47all5w27bfhiq15vycdm954lmr6agqkrp68ksq6xglgvch"))
(patches (search-patches "ghostscript-no-header-creationdate.patch"
"ghostscript-no-header-id.patch"
"ghostscript-no-header-uuid.patch"))
(modules '((guix build utils)))

View File

@ -53,6 +53,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@ -220,7 +221,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
(version "18.1.8")
(version "18.3.1")
(source
(origin
(method url-fetch)
@ -232,7 +233,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
"06y28hpynb8w1qagznr85ml48hf8264w4ji6cmvm2fy7x5zyc6xx"))
"0qyw9dj2p9n91qzc4ylck2an7ibssjvzi2bjcpv2ajk851yq47sv"))
(patches
(search-patches "mesa-skip-disk-cache-test.patch"))))
(build-system gnu-build-system)
@ -252,11 +253,11 @@ also known as DXTn or DXTC) for Mesa.")
("libva" ,(force libva-without-mesa))
("libxml2" ,libxml2)
;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
("libxrandr" ,libxrandr)
("libxvmc" ,libxvmc)
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
;; FIXME: Change to 'llvm' in the next rebuild cycle.
`(("llvm" ,llvm-without-rtti)))
`(("llvm" ,llvm)))
(_
`()))
("makedepend" ,makedepend)
@ -264,18 +265,15 @@ also known as DXTn or DXTC) for Mesa.")
("wayland-protocols" ,wayland-protocols)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)
("python2-mako" ,python2-mako)
("python" ,python)
("python-mako" ,python-mako)
("which" ,(@ (gnu packages base) which))))
(arguments
`(#:configure-flags
'(,@(match (%current-system)
("armhf-linux"
;; TODO: Add etnaviv,imx when libdrm supports etnaviv.
'("--with-gallium-drivers=freedreno,nouveau,r300,r600,swrast,tegra,vc4,virgl"))
("aarch64-linux"
((or "armhf-linux" "aarch64-linux")
;; TODO: Fix svga driver for aarch64 and armhf.
'("--with-gallium-drivers=freedreno,nouveau,pl111,r300,r600,swrast,tegra,vc4,virgl"))
'("--with-gallium-drivers=etnaviv,freedreno,imx,nouveau,pl111,r300,r600,swrast,tegra,v3d,vc4,virgl"))
(_
'("--with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
@ -290,9 +288,6 @@ also known as DXTn or DXTC) for Mesa.")
"--enable-gles2"
"--enable-gbm"
"--enable-shared-glapi"
;; Without floating point texture support, drivers such as Nouveau
;; are stuck at OpenGL 2.1 instead of OpenGL 3.0+.
"--enable-texture-float"
;; Enable Vulkan on i686-linux and x86-64-linux.
,@(match (%current-system)
@ -457,14 +452,14 @@ glxgears, glxheads, and glxinfo.")
(define-public glew
(package
(name "glew")
(version "2.0.0")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/glew/glew/" version
"/glew-" version ".tgz"))
(sha256
(base32
"0r37fg2s1f0jrvwh6c8cz5x6v4wqmhq42qm15cs9qs349q5c6wn5"))
"159wk5dc0ykjbxvag5i1m2mhp23zkk6ra04l26y3jc3nwvkr3ph4"))
(modules '((guix build utils)))
(snippet
'(begin
@ -547,7 +542,7 @@ OpenGL graphics API.")
(define-public libepoxy
(package
(name "libepoxy")
(version "1.5.2")
(version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -555,10 +550,11 @@ OpenGL graphics API.")
version "/libepoxy-" version ".tar.xz"))
(sha256
(base32
"1n57xj5i6giw4mp5s59w1m9bm33sd6gjg7r00dzzvcwya6326mm9"))))
"0ga3qjv50x37my6pw5xr14g5n6z78hy5s8s06kays8c3ab2mha80"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(add-before
'configure 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
@ -570,7 +566,7 @@ OpenGL graphics API.")
(("libGL.so.1") (string-append mesa "/lib/libGL.so.1"))
(("libEGL.so.1") (string-append mesa "/lib/libEGL.so.1")))
#t))))))
(build-system gnu-build-system)
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
@ -79,7 +79,7 @@
(define dbus
(package
(name "dbus")
(version "1.12.10")
(version "1.12.12")
(source (origin
(method url-fetch)
(uri (string-append
@ -87,7 +87,7 @@
version ".tar.gz"))
(sha256
(base32
"1xywijmgfad4m3cxp0b4l6kvypwc53ckmhwwzbrc6n32jwj3ssab"))
"1y7mxhkw2shd9mi9s62k81lz8npjkrafapr4fyfms7hs04kg4ilm"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
@ -149,7 +149,7 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
(version "2.56.2")
(version "2.56.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@ -157,7 +157,7 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
"12d738n1wpvrn39zvy9xazg5h6vzyiwsw8z1qibcj09mh4bbsjnn"))
"1cjcqz77m62zrx7224vl3f2cxwqf28r5xpqb2jy7av0vr2scb959"))
(patches (search-patches "glib-tests-timer.patch"))))
(build-system gnu-build-system)
(outputs '("out" ; everything
@ -184,9 +184,6 @@ shared NFS home directories.")
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; For building deterministic pyc files
(setenv "DETERMINISTIC_BUILD" "1")
;; For tests/gdatetime.c.
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
@ -485,7 +482,7 @@ by GDBus included in Glib.")
(define libsigc++
(package
(name "libsigc++")
(version "2.10.0")
(version "2.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/"
@ -493,7 +490,7 @@ by GDBus included in Glib.")
name "-" version ".tar.xz"))
(sha256
(base32
"10cd54l4zihss9qxfhd2iip2k7mr292k37i54r2cpgv0c8sdchzq"))))
"00v08km4wwzbh6vjxb21388wb9dm6g2xh14rgwabnv4c2wk5z8n9"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("m4" ,m4)))
@ -712,7 +709,15 @@ up the Gnome environment, and are used in many unrelated projects.")
"0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3")))))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-vala-bindings")))
'(#:configure-flags '("--enable-vala-bindings")
;; '../tools/glib-*.py' generate files but the target dependencies are
;; (presumably) not fully specified in the makefile, leading to
;; parallel build errors like:
;;
;; EOFError: EOF read where object expected
;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1
#:parallel-build? #f))
(native-inputs
`(("glib" ,glib "bin") ; uses glib-mkenums
("gobject-introspection" ,gobject-introspection)

View File

@ -364,12 +364,6 @@ formats like PNG, SVG, PDF and EPS.")
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'use-empty-ssl-cert-file
(lambda _
;; The ca-certificates.crt is not available in the build
;; environment.
(setenv "SSL_CERT_FILE" "/dev/null")
#t))
(add-before 'check 'disable-failing-tests
(lambda _
;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
@ -2309,16 +2303,15 @@ configuration storage systems.")
(define-public json-glib
(package
(name "json-glib")
(version "1.4.2")
(version "1.4.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(patches (search-patches "json-glib-fix-tests-32bit.patch"))
(sha256
(base32
"1j3dd2xj1l9fi12m1gpmfgf5p4c1w0i970m6k62k3is98yj0jxrd"))))
"0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
(build-system meson-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@ -2411,7 +2404,7 @@ library.")
(define-public glib-networking
(package
(name "glib-networking")
(version "2.54.1")
(version "2.58.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glib-networking/"
@ -2419,29 +2412,18 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
"0bq16m9nh3gcz9x2fvygr0iwxd2pxcbrm3lj3kihsnh1afv8g9za"))
(patches
(search-patches "glib-networking-ssl-cert-file.patch"))))
(build-system gnu-build-system)
"0s006gs9nsq6mg31spqha1jffzmp6qjh10y27h0fxf1iw1ah5ymx"))
(patches (search-patches "glib-networking-connection.patch"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
'("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-giomoduledir
;; Install GIO modules into $out/lib/gio/modules.
(lambda _
(substitute* "configure"
(("GIO_MODULE_DIR=.*")
(string-append "GIO_MODULE_DIR=" %output
"/lib/gio/modules\n")))
#t))
(add-before 'check 'use-empty-ssl-cert-file
(lambda _
;; The ca-certificates.crt is not available in the build
;; environment.
(setenv "SSL_CERT_FILE" "/dev/null")
#t)))))
`(#:configure-flags '("-Dlibproxy_support=false")
#:phases (modify-phases %standard-phases
(add-before 'check 'disable-TLSv1.3
(lambda _
;; XXX: One test fails when TLS 1.3 is enabled, fixed in 2.60.0:
;; <https://gitlab.com/gnutls/gnutls/issues/615>.
(setenv "G_TLS_GNUTLS_PRIORITY" "NORMAL:-VERS-TLS1.3")
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
@ -2531,9 +2513,6 @@ libxml to ease remote use of the RESTful API.")
;; The 'check-local' target runs 'env LANG=C sort -u',
;; unset 'LC_ALL' to make 'LANG' working.
(unsetenv "LC_ALL")
;; The ca-certificates.crt is not available in the build
;; environment.
(setenv "SSL_CERT_FILE" "/dev/null")
;; HTTPD in Guix uses mod_event and does not build prefork.
(substitute* "tests/httpd.conf"
(("^LoadModule mpm_prefork_module.*$") "\n"))
@ -2571,7 +2550,8 @@ libxml to ease remote use of the RESTful API.")
"" ;URI of subject
"127.0.0.1" ;IP address of subject
"" ;signing?
"" ;encryption?
"" ;encryption (RSA)?
"" ;data encryption?
"" ;sign OCSP requests?
"" ;sign code?
"" ;time stamping?
@ -5678,7 +5658,7 @@ like switching to windows and launching applications.")
(define-public gtk-vnc
(package
(name "gtk-vnc")
(version "0.7.1")
(version "0.9.0")
(source
(origin
(method url-fetch)
@ -5687,7 +5667,7 @@ like switching to windows and launching applications.")
name "-" version ".tar.xz"))
(sha256
(base32
"1cdaywj5lqnl5b22qzd7k7lmacsnmk8b8rc4drk6gvqmcrlsljzk"))))
"1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-gtk=3.0")))

View File

@ -442,7 +442,7 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
(version "3.39")
(version "3.41")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -453,7 +453,7 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
"0jw6qlfl2g47hhx056nvnj6h92bk3sn46hy3ig61a911dzblvrkb"))
"0bbif42fzz5gk451sv3yphdrl7m4p6zgk5jk0307j06xs3sihbmb"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-pkgconfig.patch"
"nss-increase-test-timeout.patch"))))
@ -493,7 +493,7 @@ in the Mozilla clients.")
(lambda _
;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing.
;; The later requires a working DNS or /etc/hosts.
(setenv "DOMSUF" "(none)")
(setenv "DOMSUF" "localdomain")
(setenv "USE_IP" "TRUE")
(setenv "IP_ADDRESS" "127.0.0.1")
@ -501,7 +501,7 @@ in the Mozilla clients.")
;; leading to test failures:
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. To
;; work around that, set the time to roughly the release date.
(invoke "faketime" "2018-09-01" "./nss/tests/all.sh")))
(invoke "faketime" "2018-12-01" "./nss/tests/all.sh")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -102,7 +102,7 @@ arrays of data.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.14.3")
(version "1.14.4")
(source
(origin
(method url-fetch)
@ -111,7 +111,7 @@ arrays of data.")
version ".tar.xz"))
(sha256
(base32
"0mh4755an4gk0z3ygqhjpdjk0r2cwswbpwfgl0x6qmnln4757bhk"))))
"1izzhnlsy83rgr4zl3jcl1sryxqbbigrrqw3j4x3nnphqnb6ckzr"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@ -150,7 +150,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
(version "1.14.3")
(version "1.14.4")
(source
(origin
(method url-fetch)
@ -158,7 +158,7 @@ This package provides the core library and elements.")
name "-" version ".tar.xz"))
(sha256
(base32
"0lkr1fm3bz21nqq9vi5v74mlxw6dd6i7piw00fhc5zz0dg1ikczh"))))
"0qbllw4kphchwhy4p7ivdysigx69i97gyw6q0rvkx1j81r4kjqfa"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(propagated-inputs
@ -209,7 +209,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
(version "1.14.3")
(version "1.14.4")
(source
(origin
(method url-fetch)
@ -218,7 +218,7 @@ for the GStreamer multimedia library.")
name "-" version ".tar.xz"))
(sha256
(base32
"0pgzgfqbfp8lz2ns68797xfxdr0cr5rpi93wd1h2grhbmzkbq4ji"))))
"0y89qynb4b6fry3h43z1r99qslmi3m8xhlq0i5baq2nbc0r5b2sz"))))
(build-system gnu-build-system)
(inputs
`(("aalib" ,aalib)
@ -271,14 +271,14 @@ developers consider to have good quality code and correct functionality.")
(define-public gst-plugins-bad
(package
(name "gst-plugins-bad")
(version "1.14.3")
(version "1.14.4")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"1mczcna91f3kkk3yv5fkfa8nmqdr9d93aq9z4d8sv18vkiflw8mj"))))
"1r8dma3x127rbx42yab7kwq7q1bhkmvz2ykn0rnqnzl95q74w2wi"))))
(outputs '("out" "doc"))
(build-system gnu-build-system)
(arguments
@ -346,7 +346,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
(version "1.14.3")
(version "1.14.4")
(source
(origin
(method url-fetch)
@ -354,7 +354,7 @@ par compared to the rest.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"01i31g5rvw36rjlyi9w24n0g1xa6053d14vaiba6vqpas727z123"))))
"08vd1xgwmapnviah47zv5h2r02qdd20y4f07rvv5zhv6y4vxh0mc"))))
(build-system gnu-build-system)
(inputs
`(("gst-plugins-base" ,gst-plugins-base)
@ -381,7 +381,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
(define-public gst-libav
(package
(name "gst-libav")
(version "1.14.3")
(version "1.14.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -389,7 +389,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
name "-" version ".tar.xz"))
(sha256
(base32
"0xxnb80yhfa42x4wx1928zydaal35b2mcj0zdcdsv1apnjdm40wv"))
"1nk5g24z2xx5kaw5cg8dv8skdc516inahmkymcz8bxqxj28qbmyz"))
(modules '((guix build utils)))
(snippet
'(begin
@ -417,7 +417,7 @@ compression formats through the use of the libav library.")
(define-public python-gst
(package
(name "python-gst")
(version "1.14.3")
(version "1.14.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -425,7 +425,7 @@ compression formats through the use of the libav library.")
"gst-python-" version ".tar.xz"))
(sha256
(base32
"01w3mpimbm8drifhrkvpns79h15kd9h9v0dynr7yb12kjrnfghsg"))))
"06ssx19fs6pg4d32p9ph9w4f0xwmxaw2dxfj17rqkn5njd7v5zfh"))))
(build-system gnu-build-system)
(arguments
;; XXX: Factorize python-sitedir with python-build-system.

View File

@ -78,7 +78,9 @@
#:use-module (gnu packages cups)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg))
#:use-module (gnu packages xdisorg)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
(define-public atk
(package
@ -115,16 +117,14 @@ tools have full access to view and control running applications.")
(define-public cairo
(package
(name "cairo")
(version "1.14.12")
(version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
"05mzyxkvsfc1annjw2dja8vka01ampp9pp93lg09j8hba06g144c"))
(patches (search-patches "cairo-CVE-2016-9082.patch"
"cairo-setjmp-wrapper.patch"))))
"0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
(build-system gnu-build-system)
(propagated-inputs
`(("fontconfig" ,fontconfig)
@ -182,7 +182,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
(version "1.8.8")
(version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@ -190,7 +190,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.bz2"))
(sha256
(base32
"1ag3scnm1fcviqgx2p4858y433mr0ndqw6zccnccrqcr9mpcird8"))))
"047q63jr513azf3g1y7f5xn60b4jdjs9zsmrx04sfw5rasyzrk5p"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@ -458,7 +458,7 @@ highlighting and other features typical of a source code editor.")
"0ixfmnxjylx06mjaw116apymwi1a8rnkmkbbvqaxxg2pfwy9fl6x"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("-Dinstalled-tests=false")
`(#:configure-flags '("-Dinstalled_tests=false")
#:phases
(modify-phases %standard-phases
(add-after
@ -473,12 +473,15 @@ highlighting and other features typical of a source code editor.")
;; ERROR:pixbuf-jpeg.c:74:test_type9_rotation_exif_tag:
;; assertion failed (error == NULL): Data differ
;; (gdk-pixbuf-error-quark, 0)
((".*'pixbuf-jpeg'.*") "")
;; Extend the timeout of the test suite.
;; TODO: Check upstreaming effort:
;; https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/21
(("300") "1800"))
((".*'pixbuf-jpeg'.*") ""))
#t))
;; The slow tests take longer than the specified timeout.
,@(if (any (cute string=? <> (%current-system))
'("armhf-linux" "aarch64-linux"))
'((replace 'check
(lambda _
(invoke "meson" "test" "--timeout-multiplier" "5"))))
'())
(add-before 'configure 'aid-install-script
(lambda* (#:key outputs #:allow-other-keys)
;; "build-aux/post-install.sh" invokes `gdk-pixbuf-query-loaders`
@ -690,7 +693,7 @@ application suites.")
(name "gtk+")
;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
(version "3.24.0")
(version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -698,9 +701,18 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
"1a1jbsh9fg5ykmwrcl3svy7xfvx0b87d314qsx9n483pj8w93s82"))
"14l8mimdm44r3h5pn5hzigl1z25jna8jxvb16l88v4nc4zj0afsv"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; Version 3.24.2 was released with a typo that broke the build.
;; See upstream commit 2905fc861acda3d134a198e56ef2f6c962ad3061
;; at <https://gitlab.gnome.org/GNOME/gtk/tree/gtk-3-24>
(substitute* "docs/tools/shooter.c"
(("gdk_screen_get_dfeault") "gdk_screen_get_default"))
#t))))
(outputs '("out" "bin" "doc"))
(propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk)
@ -1347,7 +1359,7 @@ and routines to assist in editing internationalized text.")
(define-public girara
(package
(name "girara")
(version "0.2.9")
(version "0.3.2")
(source (origin
(method url-fetch)
(uri
@ -1355,7 +1367,7 @@ and routines to assist in editing internationalized text.")
version ".tar.xz"))
(sha256
(base32
"0lkxrfna818wkkr2f6mdzf15y5z8xl1b9592ylmzjbqsqya3w7x8"))))
"1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p"))))
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)
("gettext" ,gettext-minimal)

View File

@ -32,7 +32,7 @@
(define-public icu4c
(package
(name "icu4c")
(version "62.1")
(version "63.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -42,7 +42,7 @@
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
(sha256
(base32 "18ssgnwzzpm1g1fvbm9h1fvryiwxvvn5wc3fdakdsl33cs6qdn9x"))))
(base32 "17fbk0lm2clsxbmjzvyp245ayx0n4chji3ky1f3fbz2ljjv91i05"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)))

View File

@ -466,7 +466,7 @@ extracting icontainer icon files.")
(define-public libtiff
(package
(name "libtiff")
(version "4.0.9")
(version "4.0.10")
(source
(origin
(method url-fetch)
@ -474,11 +474,7 @@ extracting icontainer icon files.")
version ".tar.gz"))
(sha256
(base32
"1kfg4q01r4mqn7dj63ifhi6pmqzbf4xax6ni6kkk81ri5kndwyvf"))
(patches (search-patches "libtiff-CVE-2017-9935.patch"
"libtiff-CVE-2017-18013.patch"
"libtiff-CVE-2018-8905.patch"
"libtiff-CVE-2018-10963.patch"))))
"1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.3 MiB of HTML documentation
@ -1302,14 +1298,14 @@ PNG, and performs PNG integrity checks and corrections.")
(define-public libjpeg-turbo
(package
(name "libjpeg-turbo")
(version "2.0.0")
(version "2.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
"0s48zz6awd493hmb200abmsizh68fh1jmz98r41n4c8dbl87d23p"))))
"1zv6z093l3x3jzygvni7b819j7xhn6d63jhcdrckj7fz67n6ry75"))))
(build-system cmake-build-system)
(native-inputs
`(("nasm" ,nasm)))

View File

@ -48,14 +48,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.10-14")
(version "6.9.10-16")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0vcfjvdk9in92x808djvy94l5gylpgds4a7mlr8jrxsv9snx88yi"))))
"1ylbv69r8l3d4za4i8q41cs6lq06mnhiq4qm03rvs3vp3gyp1m9x"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

View File

@ -49,7 +49,7 @@
(define-public mit-krb5
(package
(name "mit-krb5")
(version "1.16.1")
(version "1.16.2")
(source (origin
(method url-fetch)
(uri (list
@ -61,7 +61,7 @@
"/krb5-" version ".tar.gz")))
(sha256
(base32
"05qis9l93hhxaknbp0a2v5cr24fsy52fqx20aqqcgl1s9qwzwkr1"))))
"09zhhzj19bmjjxsvxdrysabql8n72kjivis08wbikhlkwlgiwwlz"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)

View File

@ -124,14 +124,14 @@ limited support for fork events.")
(define-public libuv
(package
(name "libuv")
(version "1.23.0")
(version "1.24.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
"09yf7c71n8b80nbsv4lsmq5nqmb0rylhpx3z9jgkv5za9lr6sx6i"))))
"01pg0zsfr8mxlpipkbpw0dpsl26x5s966f5br7dx9ac29abk419q"))))
(build-system gnu-build-system)
(arguments
'(;; XXX: Some tests want /dev/tty, attempt to make connections, etc.

View File

@ -966,9 +966,48 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(file-name "libreoffice-mdds.patch")
(sha256
(base32
"0apbmammmp4pk473xiv5vk50r4c5gjvqzf9jkficksvz58q6114f"))))
(search-patches "libreoffice-icu.patch"
"libreoffice-glm.patch")))))
"0apbmammmp4pk473xiv5vk50r4c5gjvqzf9jkficksvz58q6114f")))
;; The Poppler API changed rapidly in the versions leading 0.72.
;; Thus, we need several patches from upstream, each adapting to
;; different Poppler changes since version 0.68.
(origin
(method url-fetch)
(uri (string-append "https://github.com/LibreOffice/core/commit/"
"1688a395d05125b83eac6cd5c43f0e3f2f66c491"
".patch"))
(file-name "libreoffice-poppler-compat.patch")
(sha256
(base32
"0ia5avmj772mrgs6m4qqf01hs8hzpy3nafidj7w7gqx2zz2s5ih9")))
(origin
(method url-fetch)
(uri (string-append "https://github.com/LibreOffice/core/commit/"
"5e8bdd9203dd642111c62a6668ee665a20d4ba19"
".patch"))
(file-name "libreoffice-poppler-gbool.patch")
(sha256
(base32
"19kc74h5vnk48l2vny8zmm2lkxpwc7g8n9d3wwpg99748dvbmikd")))
(origin
(method url-fetch)
(uri (string-append "https://github.com/LibreOffice/core/commit/"
"8ff41a26caf51544699863c89598d37d93dc1b21"
".patch"))
(file-name "libreoffice-poppler-0.71.patch")
(sha256
(base32
"1dsd0gynjf7d6412dd2sx70xa2s8kld7ibyjdkwg5w9hhi2zxw2f"))))
(search-patches "libreoffice-boost.patch"
"libreoffice-icu.patch"
"libreoffice-glm.patch")))
(modules '((guix build utils)))
(snippet
'(begin
(for-each (lambda (file)
;; Adjust to renamed function in Poppler 0.72.
(substitute* file (("getCString") "c_str")))
(find-files "sdext/source/pdfimport/xpdfwrapper"))
#t))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("bison" ,bison)

View File

@ -1027,7 +1027,7 @@ intercept and print the system calls executed by the program.")
(define-public alsa-lib
(package
(name "alsa-lib")
(version "1.1.6")
(version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -1035,7 +1035,7 @@ intercept and print the system calls executed by the program.")
version ".tar.bz2"))
(sha256
(base32
"096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"))))
"02fw7dw202mjid49w9ki3dsfcyvid5fj488561bdzcm3haw00q4x"))))
(build-system gnu-build-system)
(home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
@ -1047,14 +1047,14 @@ MIDI functionality to the Linux-based operating system.")
(define-public alsa-utils
(package
(name "alsa-utils")
(version "1.1.6")
(version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
"0vnkyymgwj9rfdb11nvab30dnfrylmakdfildxl0y8mj836awp0m"))))
"02jlw6a22j2rr7inggfgk2hzx3w0fjhvhs0dn1afpzdp9aspzchx"))))
(build-system gnu-build-system)
(arguments
;; XXX: Disable man page creation until we have DocBook.
@ -1094,14 +1094,14 @@ MIDI functionality to the Linux-based operating system.")
(define-public alsa-plugins
(package
(name "alsa-plugins")
(version "1.1.6")
(version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
"04qcwkisbh0d6lnh0rw1k6n869fbs6zbfq6yvb41rymiwgmk27bg"))))
"0iys4zl1davzyg3mn9lvil1n3k1ifrg3v1caj3k4dqyrnrd40jx7"))))
(build-system gnu-build-system)
;; TODO: Split libavcodec and speex if possible. It looks like they can not
;; be split, there are references to both in files.
@ -1110,7 +1110,12 @@ MIDI functionality to the Linux-based operating system.")
;; obsolete.
(outputs '("out" "pulseaudio" "jack"))
(arguments
`(#:phases
`(#:configure-flags '(;; Do not install a "local" configuration targeted
;; for /etc/alsa. On GuixSD plugins are loaded from
;; the ALSA service, and other distributions likely
;; won't use these files.
"--with-alsalconfdir=/tmp/noop")
#:phases
(modify-phases %standard-phases
(add-after 'install 'split
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -1119,27 +1124,17 @@ MIDI functionality to the Linux-based operating system.")
(jack (assoc-ref outputs "jack"))
(jacklib (string-append jack "/lib/alsa-lib"))
(pua (assoc-ref outputs "pulseaudio"))
(pualib (string-append pua "/lib/alsa-lib"))
(puaconf (string-append pua "/share/alsa/alsa.conf.d")))
(pualib (string-append pua "/lib/alsa-lib")))
;; For jack.
(mkdir-p jacklib)
(for-each (lambda (file)
(rename-file file (string-append jacklib "/" (basename file))))
(find-files out ".*jack\\.(la|so)"))
;; For pluseaudio.
(mkdir-p puaconf)
;; For pulseaudio.
(mkdir-p pualib)
(chdir (string-append out "/share"))
(for-each (lambda (file)
(rename-file file (string-append puaconf "/" (basename file))))
(find-files out "\\.(conf|example)"))
(for-each (lambda (file)
(rename-file file (string-append pualib "/" (basename file))))
(find-files out ".*pulse\\.(la|so)"))
(chdir "..")
;; We have moved the files to output pulsaudio, the
;; directory is now empty.
(delete-file-recursively (string-append out "/share"))
#t))))))
(inputs
`(("alsa-lib" ,alsa-lib)
@ -2075,20 +2070,26 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
(version "3.2.5")
(version "3.2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/gentoo/eudev/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference (url "https://github.com/gentoo/eudev")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0dlkcgy7j4fdcksqrpc373zfybiif1bal3n6lpy1kfc5280j02c7"))
"1la7x7v7yqb84wnc7w0kj53sa0an0m9xp6wn01ypi8drh02wjjy2"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-source-writable
(lambda _
;; XXX: Git checkouts are read-only, but this package needs to
;; modify some of its files.
(for-each make-file-writable (find-files "."))
#t))
(add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "man/make.sh"

View File

@ -110,26 +110,6 @@ of programming tools as well as libraries with equivalent functionality.")
(base32
"16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3"))))))
;; FIXME: This package is here to prevent many rebuilds on x86_64 and i686
;; from commit fc9dbf41311d99d0fd8befc789ea7c0e35911890. Update users of
;; this in the next rebuild cycle.
(define-public llvm-without-rtti
(package
(inherit llvm)
(arguments
`(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_ENABLE_FFI:BOOL=TRUE"
"-DLLVM_INSTALL_UTILS=ON")
#:build-type "Release"
#:phases (modify-phases %standard-phases
(add-before 'build 'shared-lib-workaround
(lambda _
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd) "/lib"))
#t)))))))
(define* (clang-runtime-from-llvm llvm hash
#:optional (patches '()))
(package

View File

@ -2930,7 +2930,7 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
(version "0.3.3")
(version "0.3.4")
(source
(origin
(method url-fetch)
@ -2939,7 +2939,7 @@ parts of it.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0cvlixnpc3cdvvn3f30phfvsgnqljqix6wn72ps9rj7xdhvw06jg"))))
"1s56lgilyyw86dzmj3jkci9zsg24n60wq4d0zri1hrxlxb6ihimj"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"

View File

@ -245,7 +245,7 @@ terminal using ncurses.")
"0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"))))
(build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient)
("boost" ,boost-cxx14)
("boost" ,boost)
("readline" ,readline)
("ncurses" ,ncurses)
("taglib" ,taglib)

View File

@ -75,14 +75,14 @@ themselves.")
;; This version is not API-compatible with version 2. In particular, lsh
;; cannot use it yet. So keep it separate.
(package (inherit nettle-2)
(version "3.4")
(version "3.4.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/nettle/nettle-"
version ".tar.gz"))
(sha256
(base32
"150y8655h629wn946dvzasq16qxsc1m9nf58mifvhl350bgl4ymf"))))
"1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr"))))
(arguments
(substitute-keyword-arguments (package-arguments nettle-2)
((#:configure-flags flags)

View File

@ -92,11 +92,15 @@
;; Give -L arguments for cyrus-sasl to avoid propagation.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(sasl (assoc-ref inputs "cyrus-sasl")))
(krb5 (assoc-ref inputs "mit-krb5"))) ;propagated from cyrus-sasl
;; The ancient Libtool bundled with OpenLDAP copies the linker flags
;; from Cyrus-SASL and embeds them into its own .la files. Add an
;; absolute reference to Kerberos so it does not have to be propagated.
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/libldap.la" "lib/libldap_r.la"))
(("-lsasl2" lib)
(string-append "-L" sasl "/lib " lib)))
(("-lkrb5" lib)
(string-append "-L" krb5 "/lib " lib)))
#t))))))
(synopsis "Implementation of the Lightweight Directory Access Protocol")
(description

View File

@ -0,0 +1,41 @@
Fixes compilation with Mesa >= 18.2.5.
Modified from upstream to work on allegro4:
https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47
diff --git a/addons/allegrogl/include/alleggl.h b/addons/allegrogl/include/alleggl.h
index 0f86a6768..652dd024e 100644
--- a/addons/allegrogl/include/alleggl.h
+++ b/addons/allegrogl/include/alleggl.h
@@ -103,10 +103,14 @@
/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
#define __glext_h_
+#define __gl_glext_h_
#define __glxext_h_
+#define __glx_glxext_h_
#include <GL/gl.h>
#undef __glext_h_
+#undef __gl_glext_h_
#undef __glxext_h_
+#undef __glx_glxext_h_
#endif /* ALLEGRO_MACOSX */
diff --git a/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h b/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
index 49c502091..fba8aea5d 100644
--- a/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
+++ b/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
@@ -1,7 +1,9 @@
/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
#define __glxext_h_
+#define __glx_glxext_h_
#include <GL/glx.h>
#undef __glxext_h_
+#undef __glx_glxext_h_
#ifndef GLX_VERSION_1_3
#define _ALLEGRO_GLX_VERSION_1_3
--
2.20.0

View File

@ -1,122 +0,0 @@
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 20 Oct 2016 21:12:30 +1030
Subject: [PATCH] image: prevent invalid ptr access for > 4GB images
Image data is often accessed using:
image->data + y * image->stride
On 64-bit achitectures if the image data is > 4GB, this computation
will overflow since both y and stride are 32-bit types.
bug report: https://bugs.freedesktop.org/show_bug.cgi?id=98165
patch: https://bugs.freedesktop.org/attachment.cgi?id=127421
---
boilerplate/cairo-boilerplate.c | 4 +++-
src/cairo-image-compositor.c | 4 ++--
src/cairo-image-surface-private.h | 2 +-
src/cairo-mesh-pattern-rasterizer.c | 2 +-
src/cairo-png.c | 2 +-
src/cairo-script-surface.c | 3 ++-
6 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/boilerplate/cairo-boilerplate.c b/boilerplate/cairo-boilerplate.c
index 7fdbf79..4804dea 100644
--- a/boilerplate/cairo-boilerplate.c
+++ b/boilerplate/cairo-boilerplate.c
@@ -42,6 +42,7 @@
#undef CAIRO_VERSION_H
#include "../cairo-version.h"
+#include <stddef.h>
#include <stdlib.h>
#include <ctype.h>
#include <assert.h>
@@ -976,7 +977,8 @@ cairo_surface_t *
cairo_boilerplate_image_surface_create_from_ppm_stream (FILE *file)
{
char format;
- int width, height, stride;
+ int width, height;
+ ptrdiff_t stride;
int x, y;
unsigned char *data;
cairo_surface_t *image = NULL;
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
index 48072f8..3ca0006 100644
--- a/src/cairo-image-compositor.c
+++ b/src/cairo-image-compositor.c
@@ -1575,7 +1575,7 @@ typedef struct _cairo_image_span_renderer {
pixman_image_t *src, *mask;
union {
struct fill {
- int stride;
+ ptrdiff_t stride;
uint8_t *data;
uint32_t pixel;
} fill;
@@ -1594,7 +1594,7 @@ typedef struct _cairo_image_span_renderer {
struct finish {
cairo_rectangle_int_t extents;
int src_x, src_y;
- int stride;
+ ptrdiff_t stride;
uint8_t *data;
} mask;
} u;
diff --git a/src/cairo-image-surface-private.h b/src/cairo-image-surface-private.h
index 8ca694c..7e78d61 100644
--- a/src/cairo-image-surface-private.h
+++ b/src/cairo-image-surface-private.h
@@ -71,7 +71,7 @@ struct _cairo_image_surface {
int width;
int height;
- int stride;
+ ptrdiff_t stride;
int depth;
unsigned owns_data : 1;
diff --git a/src/cairo-mesh-pattern-rasterizer.c b/src/cairo-mesh-pattern-rasterizer.c
index 1b63ca8..e7f0db6 100644
--- a/src/cairo-mesh-pattern-rasterizer.c
+++ b/src/cairo-mesh-pattern-rasterizer.c
@@ -470,7 +470,7 @@ draw_pixel (unsigned char *data, int width, int height, int stride,
tg += tg >> 16;
tb += tb >> 16;
- *((uint32_t*) (data + y*stride + 4*x)) = ((ta << 16) & 0xff000000) |
+ *((uint32_t*) (data + y*(ptrdiff_t)stride + 4*x)) = ((ta << 16) & 0xff000000) |
((tr >> 8) & 0xff0000) | ((tg >> 16) & 0xff00) | (tb >> 24);
}
}
diff --git a/src/cairo-png.c b/src/cairo-png.c
index 562b743..aa8c227 100644
--- a/src/cairo-png.c
+++ b/src/cairo-png.c
@@ -673,7 +673,7 @@ read_png (struct png_read_closure_t *png_closure)
}
for (i = 0; i < png_height; i++)
- row_pointers[i] = &data[i * stride];
+ row_pointers[i] = &data[i * (ptrdiff_t)stride];
png_read_image (png, row_pointers);
png_read_end (png, info);
diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c
index ea0117d..91e4baa 100644
--- a/src/cairo-script-surface.c
+++ b/src/cairo-script-surface.c
@@ -1202,7 +1202,8 @@ static cairo_status_t
_write_image_surface (cairo_output_stream_t *output,
const cairo_image_surface_t *image)
{
- int stride, row, width;
+ int row, width;
+ ptrdiff_t stride;
uint8_t row_stack[CAIRO_STACK_BUFFER_SIZE];
uint8_t *rowdata;
uint8_t *data;
--
2.1.4

View File

@ -1,78 +0,0 @@
Revert faulty commit to avoid undefined behaviour:
https://bugs.freedesktop.org/show_bug.cgi?id=104325
Taken from this upstream commit:
https://cgit.freedesktop.org/cairo/commit/?h=1.14&id=2acc4382c54bd8239361ceed14423412a343d311
diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c
index cb2e30c..5541bdc 100644
--- a/src/cairo-bentley-ottmann-rectangular.c
+++ b/src/cairo-bentley-ottmann-rectangular.c
@@ -593,12 +593,6 @@ sweep_line_insert (sweep_line_t *sweep, rectangle_t *rectangle)
pqueue_push (sweep, rectangle);
}
-static int
-sweep_line_setjmp (sweep_line_t *sweep_line)
-{
- return setjmp (sweep_line->unwind);
-}
-
static cairo_status_t
_cairo_bentley_ottmann_tessellate_rectangular (rectangle_t **rectangles,
int num_rectangles,
@@ -615,7 +609,7 @@ _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t **rectangles,
rectangles, num_rectangles,
fill_rule,
do_traps, container);
- if ((status = sweep_line_setjmp (&sweep_line)))
+ if ((status = setjmp (sweep_line.unwind)))
return status;
rectangle = rectangle_pop_start (&sweep_line);
diff --git a/src/cairo-png.c b/src/cairo-png.c
index e64b14a..068617d 100644
--- a/src/cairo-png.c
+++ b/src/cairo-png.c
@@ -158,14 +158,6 @@ png_simple_warning_callback (png_structp png,
*/
}
-static int
-png_setjmp (png_struct *png)
-{
-#ifdef PNG_SETJMP_SUPPORTED
- return setjmp (png_jmpbuf (png));
-#endif
- return 0;
-}
/* Starting with libpng-1.2.30, we must explicitly specify an output_flush_fn.
* Otherwise, we will segfault if we are writing to a stream. */
@@ -237,8 +229,10 @@ write_png (cairo_surface_t *surface,
goto BAIL4;
}
- if (png_setjmp (png))
+#ifdef PNG_SETJMP_SUPPORTED
+ if (setjmp (png_jmpbuf (png)))
goto BAIL4;
+#endif
png_set_write_fn (png, closure, write_func, png_simple_output_flush_fn);
@@ -577,11 +571,12 @@ read_png (struct png_read_closure_t *png_closure)
png_set_read_fn (png, png_closure, stream_read_func);
status = CAIRO_STATUS_SUCCESS;
-
- if (png_setjmp (png)) {
+#ifdef PNG_SETJMP_SUPPORTED
+ if (setjmp (png_jmpbuf (png))) {
surface = _cairo_surface_create_in_error (status);
goto BAIL;
}
+#endif
png_read_info (png, info);

View File

@ -1,130 +0,0 @@
Fix CVE-2013-4122.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4122
Patch copied from upstream source repository:
https://github.com/cyrusimap/cyrus-sasl/commit/dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d
From dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d Mon Sep 17 00:00:00 2001
From: mancha <mancha1@hush.com>
Date: Thu, 11 Jul 2013 10:08:07 +0100
Subject: Handle NULL returns from glibc 2.17+ crypt()
Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
(w/ NULL return) if the salt violates specifications. Additionally,
on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
passed to crypt() fail with EPERM (w/ NULL return).
When using glibc's crypt(), check return value to avoid a possible
NULL pointer dereference.
Patch by mancha1@hush.com.
---
pwcheck/pwcheck_getpwnam.c | 3 ++-
pwcheck/pwcheck_getspnam.c | 4 +++-
saslauthd/auth_getpwent.c | 4 +++-
saslauthd/auth_shadow.c | 8 +++-----
4 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/pwcheck/pwcheck_getpwnam.c b/pwcheck/pwcheck_getpwnam.c
index 4b34222..400289c 100644
--- a/pwcheck/pwcheck_getpwnam.c
+++ b/pwcheck/pwcheck_getpwnam.c
@@ -32,6 +32,7 @@ char *userid;
char *password;
{
char* r;
+ char* crpt_passwd;
struct passwd *pwd;
pwd = getpwnam(userid);
@@ -41,7 +42,7 @@ char *password;
else if (pwd->pw_passwd[0] == '*') {
r = "Account disabled";
}
- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
+ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
r = "Incorrect password";
}
else {
diff --git a/pwcheck/pwcheck_getspnam.c b/pwcheck/pwcheck_getspnam.c
index 2b11286..6d607bb 100644
--- a/pwcheck/pwcheck_getspnam.c
+++ b/pwcheck/pwcheck_getspnam.c
@@ -32,13 +32,15 @@ char *userid;
char *password;
{
struct spwd *pwd;
+ char *crpt_passwd;
pwd = getspnam(userid);
if (!pwd) {
return "Userid not found";
}
- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
+ crpt_passwd = crypt(password, pwd->sp_pwdp);
+ if (!crpt_passwd || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
return "Incorrect password";
}
else {
diff --git a/saslauthd/auth_getpwent.c b/saslauthd/auth_getpwent.c
index fc8029d..d4ebe54 100644
--- a/saslauthd/auth_getpwent.c
+++ b/saslauthd/auth_getpwent.c
@@ -77,6 +77,7 @@ auth_getpwent (
{
/* VARIABLES */
struct passwd *pw; /* pointer to passwd file entry */
+ char *crpt_passwd; /* encrypted password */
int errnum;
/* END VARIABLES */
@@ -105,7 +106,8 @@ auth_getpwent (
}
}
- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
+ crpt_passwd = crypt(password, pw->pw_passwd);
+ if (!crpt_passwd || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
if (flags & VERBOSE) {
syslog(LOG_DEBUG, "DEBUG: auth_getpwent: %s: invalid password", login);
}
diff --git a/saslauthd/auth_shadow.c b/saslauthd/auth_shadow.c
index 677131b..1988afd 100644
--- a/saslauthd/auth_shadow.c
+++ b/saslauthd/auth_shadow.c
@@ -210,8 +210,8 @@ auth_shadow (
RETURN("NO Insufficient permission to access NIS authentication database (saslauthd)");
}
- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
- if (strcmp(sp->sp_pwdp, cpw)) {
+ cpw = crypt(password, sp->sp_pwdp);
+ if (!cpw || strcmp(sp->sp_pwdp, (const char *)cpw)) {
if (flags & VERBOSE) {
/*
* This _should_ reveal the SHADOW_PW_LOCKED prefix to an
@@ -221,10 +221,8 @@ auth_shadow (
syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
sp->sp_pwdp, cpw);
}
- free(cpw);
RETURN("NO Incorrect password");
}
- free(cpw);
/*
* The following fields will be set to -1 if:
@@ -286,7 +284,7 @@ auth_shadow (
RETURN("NO Invalid username");
}
- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
+ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
if (flags & VERBOSE) {
syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
password, upw->upw_passwd);
--
cgit v0.12

View File

@ -0,0 +1,21 @@
Fix build on 32-bit architectures with Mesa 18.3. Patch taken from upstream:
https://git.enlightenment.org/core/efl.git/commit/?id=0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573
diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h
index b6b642400f..4f67b1695f 100644
--- a/src/lib/evas/Evas_GL.h
+++ b/src/lib/evas/Evas_GL.h
@@ -4272,9 +4272,11 @@ typedef signed int GLfixed; // Changed khronos_int32_t
#ifndef GL_ES_VERSION_2_0
/* GL types for handling large vertex buffer objects */
-#include <stddef.h>
+# ifndef GL_VERSION_1_5
+# include <stddef.h>
typedef ptrdiff_t GLintptr; // Changed khronos_intptr_t
typedef ptrdiff_t GLsizeiptr; // Changed khronos_ssize_t
+# endif
#endif
/* Some definitions from GLES 3.0.

View File

@ -0,0 +1,30 @@
https://github.com/geometer/FBReader/commit/b7c78e965d06f78043a57e230c866c3af3f5a1eb.patch
https://github.com/geometer/FBReader/issues/310
https://github.com/geometer/FBReader/pull/311/commits
From b7c78e965d06f78043a57e230c866c3af3f5a1eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= <vcunat@gmail.com>
Date: Sun, 9 Dec 2018 10:18:03 +0100
Subject: [PATCH] fix compatibility with curl-7.62
https://github.com/curl/curl/commit/3f3b26d6fe
---
zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp b/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp
index 54cc37f6c..03e2a5721 100644
--- a/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp
+++ b/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp
@@ -285,9 +285,11 @@ std::string ZLCurlNetworkManager::perform(const ZLExecutionData::Vector &dataLis
#endif
errors.insert(ZLStringUtil::printf(errorResource["peerFailedVerificationMessage"].value(), ZLNetworkUtil::hostFromUrl(url)));
break;
+#if LIBCURL_VERSION_NUM < 0x073e00
case CURLE_SSL_CACERT:
errors.insert(ZLStringUtil::printf(errorResource["sslCertificateAuthorityMessage"].value(), ZLNetworkUtil::hostFromUrl(url)));
break;
+#endif
case CURLE_SSL_CACERT_BADFILE:
errors.insert(ZLStringUtil::printf(errorResource["sslBadCertificateFileMessage"].value(), request.sslCertificate().Path));
break;

View File

@ -1,193 +0,0 @@
Ghostscript 9.24 was released with an incomplete fix for CVE-2018-16509:
https://nvd.nist.gov/vuln/detail/CVE-2018-16509
https://bugs.chromium.org/p/project-zero/issues/detail?id=1640#c19
https://bugs.ghostscript.com/show_bug.cgi?id=699718
The reproducers no longer work after applying these commits:
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5812b1b78fc4d36fdc293b7859de69241140d590
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e914f1da46e33decc534486598dc3eadf69e6efb
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e5d316b72e3965b7968bb1d96baa137cd063ac6
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=643b24dbd002fb9c131313253c307cf3951b3d47
This patch is a "squashed" version of those.
diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps
index bba3c8c0e..8fa7c51df 100644
--- a/Resource/Init/gs_setpd.ps
+++ b/Resource/Init/gs_setpd.ps
@@ -95,27 +95,41 @@ level2dict begin
{ % Since setpagedevice doesn't create new device objects,
% we must (carefully) reinstall the old parameters in
% the same device.
- .currentpagedevice pop //null currentdevice //null .trysetparams
+ .currentpagedevice pop //null currentdevice //null
+ { .trysetparams } .internalstopped
+ {
+ //null
+ } if
dup type /booleantype eq
{ pop pop }
- { % This should never happen!
+ {
SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if
- cleartomark pop pop pop
+ {cleartomark pop pop pop} .internalstopped pop
+ % if resetting the entire device state failed, at least put back the
+ % security related key
+ currentdevice //null //false mark /.LockSafetyParams
+ currentpagedevice /.LockSafetyParams .knownget not
+ {systemdict /SAFER .knownget not {//false} } if
+ .putdeviceparamsonly
/.installpagedevice cvx /rangecheck signalerror
}
ifelse pop pop
% A careful reading of the Red Book reveals that an erasepage
% should occur, but *not* an initgraphics.
erasepage .beginpage
- } bind def
+ } bind executeonly def
/.uninstallpagedevice
- { 2 .endpage { .currentnumcopies //false .outputpage } if
+ {
+ {2 .endpage { .currentnumcopies //false .outputpage } if} .internalstopped pop
nulldevice
} bind def
(%grestorepagedevice) cvn
- { .uninstallpagedevice grestore .installpagedevice
+ {
+ .uninstallpagedevice
+ grestore
+ .installpagedevice
} bind def
(%grestoreallpagedevice) cvn
diff --git a/psi/zdevice2.c b/psi/zdevice2.c
index 0c7080d57..159a0c0d9 100644
--- a/psi/zdevice2.c
+++ b/psi/zdevice2.c
@@ -251,8 +251,8 @@ z2currentgstate(i_ctx_t *i_ctx_p)
/* ------ Wrappers for operators that reset the graphics state. ------ */
/* Check whether we need to call out to restore the page device. */
-static bool
-restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new)
+static int
+restore_page_device(i_ctx_t *i_ctx_p, const gs_gstate * pgs_old, const gs_gstate * pgs_new)
{
gx_device *dev_old = gs_currentdevice(pgs_old);
gx_device *dev_new;
@@ -260,9 +260,10 @@ restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new)
gx_device *dev_t2;
bool samepagedevice = obj_eq(dev_old->memory, &gs_int_gstate(pgs_old)->pagedevice,
&gs_int_gstate(pgs_new)->pagedevice);
+ bool LockSafetyParams = dev_old->LockSafetyParams;
if ((dev_t1 = (*dev_proc(dev_old, get_page_device)) (dev_old)) == 0)
- return false;
+ return 0;
/* If we are going to putdeviceparams in a callout, we need to */
/* unlock temporarily. The device will be re-locked as needed */
/* by putdeviceparams from the pgs_old->pagedevice dict state. */
@@ -271,23 +272,51 @@ restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new)
dev_new = gs_currentdevice(pgs_new);
if (dev_old != dev_new) {
if ((dev_t2 = (*dev_proc(dev_new, get_page_device)) (dev_new)) == 0)
- return false;
- if (dev_t1 != dev_t2)
- return true;
+ samepagedevice = true;
+ else if (dev_t1 != dev_t2)
+ samepagedevice = false;
+ }
+
+ if (LockSafetyParams && !samepagedevice) {
+ const int required_ops = 512;
+ const int required_es = 32;
+
+ /* The %grestorepagedevice must complete: the biggest danger
+ is operand stack overflow. As we use get/putdeviceparams
+ that means pushing all the device params onto the stack,
+ pdfwrite having by far the largest number of parameters
+ at (currently) 212 key/value pairs - thus needing (currently)
+ 424 entries on the op stack. Allowing for working stack
+ space, and safety margin.....
+ */
+ if (required_ops + ref_stack_count(&o_stack) >= ref_stack_max_count(&o_stack)) {
+ gs_currentdevice(pgs_old)->LockSafetyParams = LockSafetyParams;
+ return_error(gs_error_stackoverflow);
+ }
+ /* We also want enough exec stack space - 32 is an overestimate of
+ what we need to complete the Postscript call out.
+ */
+ if (required_es + ref_stack_count(&e_stack) >= ref_stack_max_count(&e_stack)) {
+ gs_currentdevice(pgs_old)->LockSafetyParams = LockSafetyParams;
+ return_error(gs_error_execstackoverflow);
+ }
}
/*
* The current implementation of setpagedevice just sets new
* parameters in the same device object, so we have to check
* whether the page device dictionaries are the same.
*/
- return !samepagedevice;
+ return samepagedevice ? 0 : 1;
}
/* - grestore - */
static int
z2grestore(i_ctx_t *i_ctx_p)
{
- if (!restore_page_device(igs, gs_gstate_saved(igs)))
+ int code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
+ if (code < 0) return code;
+
+ if (code == 0)
return gs_grestore(igs);
return push_callout(i_ctx_p, "%grestorepagedevice");
}
@@ -297,7 +326,9 @@ static int
z2grestoreall(i_ctx_t *i_ctx_p)
{
for (;;) {
- if (!restore_page_device(igs, gs_gstate_saved(igs))) {
+ int code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
+ if (code < 0) return code;
+ if (code == 0) {
bool done = !gs_gstate_saved(gs_gstate_saved(igs));
gs_grestore(igs);
@@ -328,11 +359,15 @@ z2restore(i_ctx_t *i_ctx_p)
if (code < 0) return code;
while (gs_gstate_saved(gs_gstate_saved(igs))) {
- if (restore_page_device(igs, gs_gstate_saved(igs)))
+ code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
+ if (code < 0) return code;
+ if (code > 0)
return push_callout(i_ctx_p, "%restore1pagedevice");
gs_grestore(igs);
}
- if (restore_page_device(igs, gs_gstate_saved(igs)))
+ code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
+ if (code < 0) return code;
+ if (code > 0)
return push_callout(i_ctx_p, "%restorepagedevice");
code = dorestore(i_ctx_p, asave);
@@ -355,9 +390,12 @@ static int
z2setgstate(i_ctx_t *i_ctx_p)
{
os_ptr op = osp;
+ int code;
check_stype(*op, st_igstate_obj);
- if (!restore_page_device(igs, igstate_ptr(op)))
+ code = restore_page_device(i_ctx_p, igs, igstate_ptr(op));
+ if (code < 0) return code;
+ if (code == 0)
return zsetgstate(i_ctx_p);
return push_callout(i_ctx_p, "%setgstatepagedevice");
}

View File

@ -1,160 +0,0 @@
Additional security fix that missed 9.24.
Taken from upstream:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb713b3818b52d8a6cf62c951eba2e1795ff9624
From fb713b3818b52d8a6cf62c951eba2e1795ff9624 Mon Sep 17 00:00:00 2001
From: Chris Liddell <chris.liddell@artifex.com>
Date: Thu, 6 Sep 2018 09:16:22 +0100
Subject: [PATCH] Bug 699708 (part 1): 'Hide' non-replaceable error handlers
for SAFER
We already had a 'private' dictionary for non-standard errors: gserrordict.
This now includes all the default error handlers, the dictionary is made
noaccess and all the prodedures are bound and executeonly.
When running with -dSAFER, in the event of a Postscript error, instead of
pulling the handler from errordict, we'll pull it from gserrordict - thus
malicious input cannot trigger problems by the use of custom error handlers.
errordict remains open and writeable, so files such as the Quality Logic tests
that install their own handlers will still 'work', with the exception that the
custom error handlers will not be called.
This is a 'first pass', 'sledgehammer' approach: a nice addition would to allow
an integrator to specify a list of errors that are not to be replaced (for
example, embedded applications would probably want to ensure that VMerror is
always handled as they intend).
---
Resource/Init/gs_init.ps | 29 ++++++++++++++++++-----------
psi/interp.c | 30 +++++++++++++++++++++---------
2 files changed, 39 insertions(+), 20 deletions(-)
diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
index 071c39205..bc8b7951c 100644
--- a/Resource/Init/gs_init.ps
+++ b/Resource/Init/gs_init.ps
@@ -881,7 +881,7 @@ userdict /.currentresourcefile //null put
{ not exch pop exit } { pop } ifelse
}
for exch pop .quit
- } bind def
+ } bind executeonly def
/.errorhandler % <command> <errorname> .errorhandler -
{ % Detect an internal 'stopped'.
1 .instopped { //null eq { pop pop stop } if } if
@@ -926,7 +926,7 @@ userdict /.currentresourcefile //null put
$error /globalmode get $error /.nosetlocal get and .setglobal
$error /.inerror //false put
stop
- } bind def
+ } bind executeonly def
% Define the standard handleerror. We break out the printing procedure
% (.printerror) so that it can be extended for binary output
% if the Level 2 facilities are present.
@@ -976,7 +976,7 @@ userdict /.currentresourcefile //null put
ifelse % newerror
end
flush
- } bind def
+ } bind executeonly def
/.printerror_long % long error printout,
% $error is on the dict stack
{ % Push the (anonymous) stack printing procedure.
@@ -1053,14 +1053,14 @@ userdict /.currentresourcefile //null put
{ (Current file position is ) print position = }
if
- } bind def
+ } bind executeonly def
% Define a procedure for clearing the error indication.
/.clearerror
{ $error /newerror //false put
$error /errorname //null put
$error /errorinfo //null put
0 .setoserrno
- } bind def
+ } bind executeonly def
% Define $error. This must be in local VM.
.currentglobal //false .setglobal
@@ -1086,11 +1086,15 @@ end
/errordict ErrorNames length 3 add dict
.forcedef % errordict is local, systemdict is global
.setglobal % back to global VM
-% For greater Adobe compatibility, we put all non-standard errors in a
-% separate dictionary, gserrordict. It does not need to be in local VM,
-% because PostScript programs do not access it.
+% gserrordict contains all the default error handling methods, but unlike
+% errordict it is noaccess after creation (also it is in global VM).
+% When running 'SAFER', we'll ignore the contents of errordict, which
+% may have been tampered with by the running job, and always use gserrordict
+% gserrordict also contains any non-standard errors, for better compatibility
+% with Adobe.
+%
% NOTE: the name gserrordict is known to the interpreter.
-/gserrordict 5 dict def
+/gserrordict ErrorNames length 3 add dict def
% Register an error in errordict. We make this a procedure because we only
% register the Level 1 errors here: the rest are registered by "feature"
% files. However, ErrorNames contains all of the error names regardless of
@@ -1119,8 +1123,11 @@ errordict begin
} bind def
end % errordict
-% Put non-standard errors in gserrordict.
-gserrordict /unknownerror errordict /unknownerror get put
+% Put all the default handlers in gserrordict
+gserrordict
+errordict {2 index 3 1 roll put} forall
+noaccess pop
+% remove the non-standard errors from errordict
errordict /unknownerror .undef
% Define a stable private copy of handleerror that we will always use under
% JOBSERVER mode.
diff --git a/psi/interp.c b/psi/interp.c
index c27b70dca..d41a9d3f5 100644
--- a/psi/interp.c
+++ b/psi/interp.c
@@ -661,16 +661,28 @@ again:
return code;
if (gs_errorname(i_ctx_p, code, &error_name) < 0)
return code; /* out-of-range error code! */
- /*
- * For greater Adobe compatibility, only the standard PostScript errors
- * are defined in errordict; the rest are in gserrordict.
+
+ /* If LockFilePermissions is true, we only refer to gserrordict, which
+ * is not accessible to Postcript jobs
*/
- if (dict_find_string(systemdict, "errordict", &perrordict) <= 0 ||
- (dict_find(perrordict, &error_name, &epref) <= 0 &&
- (dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 ||
- dict_find(perrordict, &error_name, &epref) <= 0))
- )
- return code; /* error name not in errordict??? */
+ if (i_ctx_p->LockFilePermissions) {
+ if (((dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 ||
+ dict_find(perrordict, &error_name, &epref) <= 0))
+ )
+ return code; /* error name not in errordict??? */
+ }
+ else {
+ /*
+ * For greater Adobe compatibility, only the standard PostScript errors
+ * are defined in errordict; the rest are in gserrordict.
+ */
+ if (dict_find_string(systemdict, "errordict", &perrordict) <= 0 ||
+ (dict_find(perrordict, &error_name, &epref) <= 0 &&
+ (dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 ||
+ dict_find(perrordict, &error_name, &epref) <= 0))
+ )
+ return code; /* error name not in errordict??? */
+ }
doref = *epref;
epref = &doref;
/* Push the error object on the operand stack if appropriate. */
--
2.18.0

View File

@ -0,0 +1,51 @@
https://gitlab.gnome.org/GNOME/glib-networking/issues/4
https://gitlab.gnome.org/GNOME/glib-networking/commit/55daf3e5fd4bc9e4ebad1a9eab93f852dcbf527e.patch
This ultimately rejected work-around should be removed with the next
release, as the bug has supposedly been fixed for real.
From 55daf3e5fd4bc9e4ebad1a9eab93f852dcbf527e Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@igalia.com>
Date: Thu, 19 Jul 2018 11:16:35 -0500
Subject: [PATCH] Fix intermittent failures in missing client private key test
Because our APIs do nice things like encapsulating the TLS connection
establishment, we have our test server writing to the client after
establishing the TCP connection, because the TLS connection is
established. It's fine in theory, but results in some weirdness like the
server seeing its write having completed successfully before TLS
connection establishment. Normally that's what happens and this test
passes (server sees no error), but sometimes the server sees that the
client has already failed and the test fails.
This is unfortunate, and tricky to fix properly, so let's just remove
the bad check. The point of the test is to ensure that the TLS
connection is not established, and the client-side check is going to
have to be sufficient, because rewriting the test to wait for the TLS
connection to be established on the server side is quite tricky: my
naive attempt resulted in both sides waiting forever on the other.
P.S. At no point in this test does the server ever examine the client
certificate. That's not quite what I expected when I added the test, but
it's fine.
Fixes #4
---
tls/tests/connection.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tls/tests/connection.c b/tls/tests/connection.c
index 94645c3..390275d 100644
--- a/tls/tests/connection.c
+++ b/tls/tests/connection.c
@@ -1125,7 +1125,6 @@ test_client_auth_fail_missing_client_private_key (TestConnection *test,
g_main_loop_run (test->loop);
g_assert_error (test->read_error, G_TLS_ERROR, G_TLS_ERROR_CERTIFICATE_REQUIRED);
- g_assert_no_error (test->server_error);
}
static void
--
2.18.1

View File

@ -1,29 +0,0 @@
From b010e41346d418220582c20ab8d7f3971e4fb78a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
Date: Fri, 14 Aug 2015 17:28:36 +0800
Subject: [PATCH] gnutls: Allow overriding the anchor file location by
'SSL_CERT_FILE'
---
tls/gnutls/gtlsbackend-gnutls.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tls/gnutls/gtlsbackend-gnutls.c b/tls/gnutls/gtlsbackend-gnutls.c
index 55ec1a5..217d3c8 100644
--- a/tls/gnutls/gtlsbackend-gnutls.c
+++ b/tls/gnutls/gtlsbackend-gnutls.c
@@ -101,8 +101,10 @@ g_tls_backend_gnutls_real_create_database (GTlsBackendGnutls *self,
GError **error)
{
const gchar *anchor_file = NULL;
+ anchor_file = g_getenv ("SSL_CERT_FILE");
#ifdef GTLS_SYSTEM_CA_FILE
- anchor_file = GTLS_SYSTEM_CA_FILE;
+ if (!anchor_file)
+ anchor_file = GTLS_SYSTEM_CA_FILE;
#endif
return g_tls_file_database_new (anchor_file, error);
}
--
2.4.3

View File

@ -1,24 +0,0 @@
FIXME: The static test fails with an error such as:
/tmp/guix-build-gnutls-3.5.13.drv-0/ccOnGPmc.o: In function `main':
c.29617.tmp.c:(.text+0x5): undefined reference to `gnutls_global_init'
collect2: error: ld returned 1 exit status
FAIL pkgconfig.sh (exit status: 1)
diff --git a/tests/pkgconfig.sh b/tests/pkgconfig.sh
index 6bd4e62f9..05aab8278 100755
--- a/tests/pkgconfig.sh
+++ b/tests/pkgconfig.sh
@@ -57,11 +57,7 @@ echo "Trying dynamic linking with:"
echo " * flags: $(${PKGCONFIG} --libs gnutls)"
echo " * common: ${COMMON}"
echo " * lib: ${CFLAGS}"
-cc ${TMPFILE} -o ${TMPFILE_O} $(${PKGCONFIG} --libs gnutls) $(${PKGCONFIG} --cflags gnutls) ${COMMON}
-
-echo ""
-echo "Trying static linking with $(${PKGCONFIG} --libs --static gnutls)"
-cc ${TMPFILE} -o ${TMPFILE_O} $(${PKGCONFIG} --static --libs gnutls) $(${PKGCONFIG} --cflags gnutls) ${COMMON}
+gcc ${TMPFILE} -o ${TMPFILE_O} $(${PKGCONFIG} --libs gnutls) $(${PKGCONFIG} --cflags gnutls) ${COMMON}
rm -f ${TMPFILE} ${TMPFILE_O}

View File

@ -0,0 +1,499 @@
Fix compatibility with Poppler >= 0.69.
This is a combination of these upstream commits:
https://gitlab.com/inkscape/inkscape/commit/722e121361d0f784083d10e897155b7d4e44e515
https://gitlab.com/inkscape/inkscape/commit/402c0274420fe39fd2f3393bc7d8d8879d436358
...with slight adjustments for the 0.92.3 release tarball.
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -116,18 +116,6 @@ if(ENABLE_POPPLER)
set(HAVE_POPPLER_GLIB ON)
endif()
endif()
- if(POPPLER_VERSION VERSION_GREATER "0.26.0" OR
- POPPLER_VERSION VERSION_EQUAL "0.26.0")
- set(POPPLER_EVEN_NEWER_COLOR_SPACE_API ON)
- endif()
- if(POPPLER_VERSION VERSION_GREATER "0.29.0" OR
- POPPLER_VERSION VERSION_EQUAL "0.29.0")
- set(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API ON)
- endif()
- if(POPPLER_VERSION VERSION_GREATER "0.58.0" OR
- POPPLER_VERSION VERSION_EQUAL "0.58.0")
- set(POPPLER_NEW_OBJECT_API ON)
- endif()
else()
set(ENABLE_POPPLER_CAIRO OFF)
endif()
diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
--- a/src/extension/internal/pdfinput/pdf-input.cpp
+++ b/src/extension/internal/pdfinput/pdf-input.cpp
@@ -793,7 +793,7 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) {
dlg->getImportSettings(prefs);
// Apply crop settings
- PDFRectangle *clipToBox = NULL;
+ _POPPLER_CONST PDFRectangle *clipToBox = NULL;
double crop_setting;
sp_repr_get_double(prefs, "cropTo", &crop_setting);
diff --git a/src/extension/internal/pdfinput/pdf-input.h b/src/extension/internal/pdfinput/pdf-input.h
--- a/src/extension/internal/pdfinput/pdf-input.h
+++ b/src/extension/internal/pdfinput/pdf-input.h
@@ -15,6 +15,7 @@
#endif
#ifdef HAVE_POPPLER
+#include "poppler-transition-api.h"
#include <gtkmm/dialog.h>
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -36,6 +36,7 @@ extern "C" {
#include "pdf-parser.h"
#include "util/units.h"
+#include "glib/poppler-features.h"
#include "goo/gmem.h"
#include "goo/GooString.h"
#include "GlobalParams.h"
@@ -294,8 +295,8 @@ PdfParser::PdfParser(XRef *xrefA,
int /*pageNum*/,
int rotate,
Dict *resDict,
- PDFRectangle *box,
- PDFRectangle *cropBox) :
+ _POPPLER_CONST PDFRectangle *box,
+ _POPPLER_CONST PDFRectangle *cropBox) :
xref(xrefA),
builder(builderA),
subPage(gFalse),
@@ -317,7 +318,7 @@ PdfParser::PdfParser(XRef *xrefA,
builder->setDocumentSize(Inkscape::Util::Quantity::convert(state->getPageWidth(), "pt", "px"),
Inkscape::Util::Quantity::convert(state->getPageHeight(), "pt", "px"));
- double *ctm = state->getCTM();
+ const double *ctm = state->getCTM();
double scaledCTM[6];
for (int i = 0; i < 6; ++i) {
baseMatrix[i] = ctm[i];
@@ -352,7 +353,7 @@ PdfParser::PdfParser(XRef *xrefA,
PdfParser::PdfParser(XRef *xrefA,
Inkscape::Extension::Internal::SvgBuilder *builderA,
Dict *resDict,
- PDFRectangle *box) :
+ _POPPLER_CONST PDFRectangle *box) :
xref(xrefA),
builder(builderA),
subPage(gTrue),
@@ -571,7 +572,7 @@ const char *PdfParser::getPreviousOperator(unsigned int look_back) {
void PdfParser::execOp(Object *cmd, Object args[], int numArgs) {
PdfOperator *op;
- char *name;
+ const char *name;
Object *argPtr;
int i;
@@ -619,7 +620,7 @@ void PdfParser::execOp(Object *cmd, Object args[], int numArgs) {
(this->*op->func)(argPtr, numArgs);
}
-PdfOperator* PdfParser::findOp(char *name) {
+PdfOperator* PdfParser::findOp(const char *name) {
int a = -1;
int b = numOps;
int cmp = -1;
@@ -1751,7 +1752,7 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat,
GBool stroke, GBool eoFill) {
GfxShading *shading;
GfxPath *savedPath;
- double *ctm, *btm, *ptm;
+ const double *ctm, *btm, *ptm;
double m[6], ictm[6], m1[6];
double xMin, yMin, xMax, yMax;
double det;
@@ -1993,7 +1994,7 @@ void PdfParser::doFunctionShFill1(GfxFunctionShading *shading,
GfxColor color0M, color1M, colorM0, colorM1, colorMM;
GfxColor colors2[4];
double functionColorDelta = colorDeltas[pdfFunctionShading-1];
- double *matrix;
+ const double *matrix;
double xM, yM;
int nComps, i, j;
@@ -2173,7 +2174,7 @@ void PdfParser::doPatchMeshShFill(GfxPatchMeshShading *shading) {
}
}
-void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) {
+void PdfParser::fillPatch(_POPPLER_CONST GfxPatch *patch, int nComps, int depth) {
GfxPatch patch00 = blankPatch();
GfxPatch patch01 = blankPatch();
GfxPatch patch10 = blankPatch();
@@ -2581,7 +2582,11 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/)
}
}
+#if POPPLER_CHECK_VERSION(0,64,0)
void PdfParser::doShowText(const GooString *s) {
+#else
+void PdfParser::doShowText(GooString *s) {
+#endif
GfxFont *font;
int wMode;
double riseX, riseY;
@@ -2590,11 +2595,15 @@ void PdfParser::doShowText(const GooString *s) {
double x, y, dx, dy, tdx, tdy;
double originX, originY, tOriginX, tOriginY;
double oldCTM[6], newCTM[6];
- double *mat;
+ const double *mat;
Object charProc;
Dict *resDict;
Parser *oldParser;
+#if POPPLER_CHECK_VERSION(0,64,0)
+ const char *p;
+#else
char *p;
+#endif
int len, n, uLen;
font = state->getFont();
@@ -2630,7 +2639,7 @@ void PdfParser::doShowText(const GooString *s) {
double lineX = state->getLineX();
double lineY = state->getLineY();
oldParser = parser;
- p = g_strdup(s->getCString());
+ p = s->getCString();
len = s->getLength();
while (len > 0) {
n = font->getNextChar(p, len, &code,
@@ -2685,7 +2694,7 @@ void PdfParser::doShowText(const GooString *s) {
} else {
state->textTransformDelta(0, state->getRise(), &riseX, &riseY);
- p = g_strdup(s->getCString());
+ p = s->getCString();
len = s->getLength();
while (len > 0) {
n = font->getNextChar(p, len, &code,
@@ -2731,7 +2740,11 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
{
Object obj1, obj2, obj3, refObj;
- char *name = g_strdup(args[0].getName());
+#if POPPLER_CHECK_VERSION(0,64,0)
+ const char *name = args[0].getName();
+#else
+ char *name = args[0].getName();
+#endif
#if defined(POPPLER_NEW_OBJECT_API)
if ((obj1 = res->lookupXObject(name)).isNull()) {
#else
@@ -3656,7 +3669,6 @@ void PdfParser::opBeginImage(Object /*args*/[], int /*numArgs*/)
Stream *PdfParser::buildImageStream() {
Object dict;
Object obj;
- char *key;
Stream *str;
// build dictionary
@@ -3674,26 +3686,17 @@ Stream *PdfParser::buildImageStream() {
obj.free();
#endif
} else {
- key = copyString(obj.getName());
-#if defined(POPPLER_NEW_OBJECT_API)
- obj = parser->getObj();
-#else
- obj.free();
- parser->getObj(&obj);
-#endif
- if (obj.isEOF() || obj.isError()) {
- gfree(key);
+ Object obj2;
+ _POPPLER_CALL(obj2, parser->getObj);
+ if (obj2.isEOF() || obj2.isError()) {
+ _POPPLER_FREE(obj);
break;
}
-#if defined(POPPLER_NEW_OBJECT_API)
- dict.dictAdd(key, std::move(obj));
- }
- obj = parser->getObj();
-#else
- dict.dictAdd(key, &obj);
+ _POPPLER_DICTADD(dict, obj.getName(), obj2);
+ _POPPLER_FREE(obj);
+ _POPPLER_FREE(obj2);
}
- parser->getObj(&obj);
-#endif
+ _POPPLER_CALL(obj, parser->getObj);
}
if (obj.isEOF()) {
error(errSyntaxError, getPos(), "End of file in inline image");
diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h
--- a/src/extension/internal/pdfinput/pdf-parser.h
+++ b/src/extension/internal/pdfinput/pdf-parser.h
@@ -9,6 +9,7 @@
#define PDF_PARSER_H
#ifdef HAVE_POPPLER
+#include "poppler-transition-api.h"
#ifdef USE_GCC_PRAGMAS
#pragma interface
@@ -25,6 +26,7 @@ namespace Inkscape {
// TODO clean up and remove using:
using Inkscape::Extension::Internal::SvgBuilder;
+#include "glib/poppler-features.h"
#include "goo/gtypes.h"
#include "Object.h"
@@ -127,11 +129,14 @@ public:
// Constructor for regular output.
PdfParser(XRef *xrefA, SvgBuilder *builderA, int pageNum, int rotate,
- Dict *resDict, PDFRectangle *box, PDFRectangle *cropBox);
+ Dict *resDict,
+ _POPPLER_CONST PDFRectangle *box,
+ _POPPLER_CONST PDFRectangle *cropBox);
// Constructor for a sub-page object.
PdfParser(XRef *xrefA, Inkscape::Extension::Internal::SvgBuilder *builderA,
- Dict *resDict, PDFRectangle *box);
+ Dict *resDict,
+ _POPPLER_CONST PDFRectangle *box);
virtual ~PdfParser();
@@ -185,7 +190,7 @@ private:
void go(GBool topLevel);
void execOp(Object *cmd, Object args[], int numArgs);
- PdfOperator *findOp(char *name);
+ PdfOperator *findOp(const char *name);
GBool checkArg(Object *arg, TchkType type);
int getPos();
@@ -256,7 +261,7 @@ private:
double x2, double y2, GfxColor *color2,
int nComps, int depth);
void doPatchMeshShFill(GfxPatchMeshShading *shading);
- void fillPatch(GfxPatch *patch, int nComps, int depth);
+ void fillPatch(_POPPLER_CONST GfxPatch *patch, int nComps, int depth);
void doEndPath();
// path clipping operators
@@ -287,7 +292,12 @@ private:
void opMoveShowText(Object args[], int numArgs);
void opMoveSetShowText(Object args[], int numArgs);
void opShowSpaceText(Object args[], int numArgs);
+#if POPPLER_CHECK_VERSION(0,64,0)
void doShowText(const GooString *s);
+#else
+ void doShowText(GooString *s);
+#endif
+
// XObject operators
void opXObject(Object args[], int numArgs);
diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
new file mode 100644
--- /dev/null
+++ b/src/extension/internal/pdfinput/poppler-transition-api.h
@@ -0,0 +1,39 @@
+#ifndef SEEN_POPPLER_TRANSITION_API_H
+#define SEEN_POPPLER_TRANSITION_API_H
+
+#include <glib/poppler-features.h>
+
+#if POPPLER_CHECK_VERSION(0,70,0)
+#define _POPPLER_CONST const
+#else
+#define _POPPLER_CONST
+#endif
+
+#if POPPLER_CHECK_VERSION(0,69,0)
+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(key, std::move(obj))
+#elif POPPLER_CHECK_VERSION(0,58,0)
+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(copyString(key), std::move(obj))
+#else
+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(copyString(key), &obj)
+#endif
+
+#if POPPLER_CHECK_VERSION(0,58,0)
+#define POPPLER_NEW_OBJECT_API
+#define _POPPLER_FREE(obj)
+#define _POPPLER_CALL(ret, func) (ret = func())
+#define _POPPLER_CALL_ARGS(ret, func, ...) (ret = func(__VA_ARGS__))
+#else
+#define _POPPLER_FREE(obj) (obj).free()
+#define _POPPLER_CALL(ret, func) (*func(&ret))
+#define _POPPLER_CALL_ARGS(ret, func, ...) (*func(__VA_ARGS__, &ret))
+#endif
+
+#if POPPLER_CHECK_VERSION(0, 29, 0)
+#define POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API
+#endif
+
+#if POPPLER_CHECK_VERSION(0, 25, 0)
+#define POPPLER_EVEN_NEWER_COLOR_SPACE_API
+#endif
+
+#endif
diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
--- a/src/extension/internal/pdfinput/svg-builder.cpp
+++ b/src/extension/internal/pdfinput/svg-builder.cpp
@@ -625,7 +625,7 @@ gchar *SvgBuilder::_createPattern(GfxPattern *pattern, GfxState *state, bool is_
if ( pattern != NULL ) {
if ( pattern->getType() == 2 ) { // Shading pattern
GfxShadingPattern *shading_pattern = static_cast<GfxShadingPattern *>(pattern);
- double *ptm;
+ const double *ptm;
double m[6] = {1, 0, 0, 1, 0, 0};
double det;
@@ -672,7 +672,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern,
Inkscape::XML::Node *pattern_node = _xml_doc->createElement("svg:pattern");
// Set pattern transform matrix
- double *p2u = tiling_pattern->getMatrix();
+ const double *p2u = tiling_pattern->getMatrix();
double m[6] = {1, 0, 0, 1, 0, 0};
double det;
det = _ttm[0] * _ttm[3] - _ttm[1] * _ttm[2]; // see LP Bug 1168908
@@ -698,7 +698,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern,
pattern_node->setAttribute("patternUnits", "userSpaceOnUse");
// Set pattern tiling
// FIXME: don't ignore XStep and YStep
- double *bbox = tiling_pattern->getBBox();
+ const double *bbox = tiling_pattern->getBBox();
sp_repr_set_svg_double(pattern_node, "x", 0.0);
sp_repr_set_svg_double(pattern_node, "y", 0.0);
sp_repr_set_svg_double(pattern_node, "width", bbox[2] - bbox[0]);
@@ -751,7 +751,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern,
*/
gchar *SvgBuilder::_createGradient(GfxShading *shading, double *matrix, bool for_shading) {
Inkscape::XML::Node *gradient;
- Function *func;
+ _POPPLER_CONST Function *func;
int num_funcs;
bool extend0, extend1;
@@ -865,7 +865,7 @@ static bool svgGetShadingColorRGB(GfxShading *shading, double offset, GfxRGB *re
#define INT_EPSILON 8
bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading,
- Function *func) {
+ _POPPLER_CONST Function *func) {
int type = func->getType();
if ( type == 0 || type == 2 ) { // Sampled or exponential function
GfxRGB stop1, stop2;
@@ -877,9 +877,9 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh
_addStopToGradient(gradient, 1.0, &stop2, 1.0);
}
} else if ( type == 3 ) { // Stitching
- StitchingFunction *stitchingFunc = static_cast<StitchingFunction*>(func);
- double *bounds = stitchingFunc->getBounds();
- double *encode = stitchingFunc->getEncode();
+ auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func);
+ const double *bounds = stitchingFunc->getBounds();
+ const double *encode = stitchingFunc->getEncode();
int num_funcs = stitchingFunc->getNumFuncs();
// Add stops from all the stitched functions
@@ -890,7 +890,7 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh
svgGetShadingColorRGB(shading, bounds[i + 1], &color);
// Add stops
if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn
- double expE = (static_cast<ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE();
+ double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE();
if (expE > 1.0) {
expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1
if (encode[2*i] == 0) { // normal sequence
@@ -1020,9 +1020,9 @@ void SvgBuilder::updateFont(GfxState *state) {
GfxFont *font = state->getFont();
// Store original name
if (font->getName()) {
- _font_specification = g_strdup(font->getName()->getCString());
+ _font_specification = font->getName()->getCString();
} else {
- _font_specification = (char*) "Arial";
+ _font_specification = "Arial";
}
// Prune the font name to get the correct font family name
@@ -1030,7 +1030,7 @@ void SvgBuilder::updateFont(GfxState *state) {
char *font_family = NULL;
char *font_style = NULL;
char *font_style_lowercase = NULL;
- char *plus_sign = strstr(_font_specification, "+");
+ const char *plus_sign = strstr(_font_specification, "+");
if (plus_sign) {
font_family = g_strdup(plus_sign + 1);
_font_specification = plus_sign + 1;
@@ -1148,7 +1148,7 @@ void SvgBuilder::updateFont(GfxState *state) {
Inkscape::CSSOStringStream os_font_size;
double css_font_size = _font_scaling * state->getFontSize();
if ( font->getType() == fontType3 ) {
- double *font_matrix = font->getFontMatrix();
+ const double *font_matrix = font->getFontMatrix();
if ( font_matrix[0] != 0.0 ) {
css_font_size *= font_matrix[3] / font_matrix[0];
}
@@ -1193,7 +1193,7 @@ void SvgBuilder::updateTextPosition(double tx, double ty) {
void SvgBuilder::updateTextMatrix(GfxState *state) {
_flushText();
// Update text matrix
- double *text_matrix = state->getTextMat();
+ const double *text_matrix = state->getTextMat();
double w_scale = sqrt( text_matrix[0] * text_matrix[0] + text_matrix[2] * text_matrix[2] );
double h_scale = sqrt( text_matrix[1] * text_matrix[1] + text_matrix[3] * text_matrix[3] );
double max_scale;
diff --git a/src/extension/internal/pdfinput/svg-builder.h b/src/extension/internal/pdfinput/svg-builder.h
--- a/src/extension/internal/pdfinput/svg-builder.h
+++ b/src/extension/internal/pdfinput/svg-builder.h
@@ -15,6 +15,7 @@
#endif
#ifdef HAVE_POPPLER
+#include "poppler-transition-api.h"
class SPDocument;
namespace Inkscape {
@@ -80,7 +81,7 @@ struct SvgGlyph {
bool style_changed; // Set to true if style has to be reset
SPCSSAttr *style;
int render_mode; // Text render mode
- char *font_specification; // Pointer to current font specification
+ const char *font_specification; // Pointer to current font specification
};
/**
@@ -174,7 +175,7 @@ private:
void _addStopToGradient(Inkscape::XML::Node *gradient, double offset,
GfxRGB *color, double opacity);
bool _addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading,
- Function *func);
+ _POPPLER_CONST Function *func);
gchar *_createTilingPattern(GfxTilingPattern *tiling_pattern, GfxState *state,
bool is_stroke=false);
// Image/mask creation
@@ -202,7 +203,7 @@ private:
SPCSSAttr *_font_style; // Current font style
GfxFont *_current_font;
- char *_font_specification;
+ const char *_font_specification;
double _font_scaling;
bool _need_font_update;
Geom::Affine _text_matrix;

View File

@ -1,174 +0,0 @@
Fix floating point issues on 32-bit platforms:
https://gitlab.gnome.org/GNOME/json-glib/issues/27
This is an amalgamation of the following upstream commits:
https://gitlab.gnome.org/GNOME/json-glib/commit/70e2648e02232c1a439a7418388f18fee9afb3fe
https://gitlab.gnome.org/GNOME/json-glib/commit/675e27505776a1d77fa1ffd1974284890caec1f4
diff --git a/json-glib/tests/json-test-utils.h b/json-glib/tests/json-test-utils.h
new file mode 100644
index 0000000..83a02c6
--- /dev/null
+++ b/json-glib/tests/json-test-utils.h
@@ -0,0 +1,21 @@
+#include <string.h>
+#include <math.h>
+#include <float.h>
+#include <glib.h>
+#include <json-glib/json-glib.h>
+
+#define json_fuzzy_equals(n1,n2,epsilon) \
+ (((n1) > (n2) ? ((n1) - (n2)) : ((n2) - (n1))) < (epsilon))
+
+#define json_assert_fuzzy_equals(n1,n2,epsilon) \
+ G_STMT_START { \
+ double __n1 = (n1), __n2 = (n2), __epsilon = (epsilon); \
+ if (json_fuzzy_equals (__n1, __n2, __epsilon)) ; else { \
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
+ #n1 " == " #n2 " (+/- " #epsilon ")", \
+ __n1, "==", __n2, 'f'); \
+ } \
+ } G_STMT_END
+
+#define json_assert_almost_equals(n1,n2) \
+ json_assert_fuzzy_equals (n1, n2, DBL_EPSILON)
diff --git a/json-glib/tests/array.c b/json-glib/tests/array.c
index 98afeab..426cd72 100644
--- a/json-glib/tests/array.c
+++ b/json-glib/tests/array.c
@@ -1,9 +1,4 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <glib.h>
-#include <json-glib/json-glib.h>
+#include "json-test-utils.h"
static void
test_empty_array (void)
@@ -37,7 +32,7 @@ test_add_element (void)
json_array_add_double_element (array, 3.14);
g_assert_cmpint (json_array_get_length (array), ==, 3);
- g_assert_cmpfloat (json_array_get_double_element (array, 2), ==, 3.14);
+ json_assert_fuzzy_equals (json_array_get_double_element (array, 2), 3.14, 0.001);
json_array_add_boolean_element (array, TRUE);
g_assert_cmpint (json_array_get_length (array), ==, 4);
diff --git a/json-glib/tests/node.c b/json-glib/tests/node.c
index 23bda63..80beb78 100644
--- a/json-glib/tests/node.c
+++ b/json-glib/tests/node.c
@@ -1,6 +1,4 @@
-#include <glib.h>
-#include <json-glib/json-glib.h>
-#include <string.h>
+#include "json-test-utils.h"
static void
test_init_int (void)
@@ -19,7 +17,7 @@ test_init_double (void)
JsonNode *node = json_node_new (JSON_NODE_VALUE);
json_node_set_double (node, 3.14159);
- g_assert_cmpfloat (json_node_get_double (node), ==, 3.14159);
+ json_assert_fuzzy_equals (json_node_get_double (node), 3.14159, 0.00001);
json_node_free (node);
}
@@ -119,13 +117,13 @@ test_get_int (void)
json_node_set_int (node, 0);
g_assert_cmpint (json_node_get_int (node), ==, 0);
- g_assert_cmpfloat (json_node_get_double (node), ==, 0.0);
+ json_assert_almost_equals (json_node_get_double (node), 0.0);
g_assert (!json_node_get_boolean (node));
g_assert (!json_node_is_null (node));
json_node_set_int (node, 42);
g_assert_cmpint (json_node_get_int (node), ==, 42);
- g_assert_cmpfloat (json_node_get_double (node), ==, 42.0);
+ json_assert_almost_equals (json_node_get_double (node), 42.0);
g_assert (json_node_get_boolean (node));
g_assert (!json_node_is_null (node));
@@ -138,7 +136,7 @@ test_get_double (void)
JsonNode *node = json_node_new (JSON_NODE_VALUE);
json_node_set_double (node, 3.14);
- g_assert_cmpfloat (json_node_get_double (node), ==, 3.14);
+ json_assert_fuzzy_equals (json_node_get_double (node), 3.14, 0.001);
g_assert_cmpint (json_node_get_int (node), ==, 3);
g_assert (json_node_get_boolean (node));
@@ -232,9 +230,9 @@ test_gvalue_autopromotion (void)
g_print ("Expecting a gdouble, got a %s\n", g_type_name (G_VALUE_TYPE (&check)));
g_assert_cmpint (G_VALUE_TYPE (&check), ==, G_TYPE_DOUBLE);
- g_assert_cmpfloat ((float) g_value_get_double (&check), ==, 3.14159f);
+ json_assert_fuzzy_equals (g_value_get_double (&check), 3.14159, 0.00001);
g_assert_cmpint (G_VALUE_TYPE (&value), !=, G_VALUE_TYPE (&check));
- g_assert_cmpfloat ((gdouble) g_value_get_float (&value), ==, g_value_get_double (&check));
+ json_assert_almost_equals (g_value_get_float (&value), g_value_get_double (&check));
g_value_unset (&value);
g_value_unset (&check);
diff --git a/json-glib/tests/parser.c b/json-glib/tests/parser.c
index f71584a..8c52a1d 100644
--- a/json-glib/tests/parser.c
+++ b/json-glib/tests/parser.c
@@ -1,11 +1,5 @@
-#include "config.h"
-
+#include "json-test-utils.h"
#include <stdlib.h>
-#include <stdio.h>
-
-#include <glib.h>
-
-#include <json-glib/json-glib.h>
static const gchar *test_empty_string = "";
static const gchar *test_empty_array_string = "[ ]";
@@ -38,13 +32,13 @@ verify_string_value (JsonNode *node)
static void
verify_double_value (JsonNode *node)
{
- g_assert_cmpfloat (10.2e3, ==, json_node_get_double (node));
+ json_assert_fuzzy_equals (10.2e3, json_node_get_double (node), 0.1);
}
static void
verify_negative_double_value (JsonNode *node)
{
- g_assert_cmpfloat (-3.14, ==, json_node_get_double (node));
+ json_assert_fuzzy_equals (-3.14, json_node_get_double (node), 0.01);
}
static const struct {
diff --git a/json-glib/tests/reader.c b/json-glib/tests/reader.c
index 43a6aac..9bab312 100644
--- a/json-glib/tests/reader.c
+++ b/json-glib/tests/reader.c
@@ -1,9 +1,4 @@
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <glib.h>
-
-#include <json-glib/json-glib.h>
+#include "json-test-utils.h"
static const gchar *test_base_array_data =
"[ 0, true, null, \"foo\", 3.14, [ false ], { \"bar\" : 42 } ]";
@@ -78,7 +73,7 @@ test_base_object (void)
g_assert (json_reader_get_error (reader) == NULL);
json_reader_read_member (reader, "double");
- g_assert_cmpfloat (json_reader_get_double_value (reader), ==, 42.47);
+ json_assert_fuzzy_equals (json_reader_get_double_value (reader), 42.47, 0.01);
json_reader_end_element (reader);
g_object_unref (reader);

View File

@ -0,0 +1,17 @@
Fix compatibility with newer Boost.
Extracted from this upstream commit:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=23a8d5ffbbe58761b89f590f0735abccd69a3681
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -144,7 +144,7 @@ bool LoadModule()
#endif // ENABLE_QUICKSTART_APPLET
}
assert(!boost::logic::indeterminate(loaded));
- return loaded;
+ return bool(loaded);
}
}

View File

@ -1,45 +0,0 @@
Fix CVE-2017-18013:
http://bugzilla.maptools.org/show_bug.cgi?id=2770
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-18013
Patch copied from upstream source repository:
https://gitlab.com/libtiff/libtiff/commit/c6f41df7b581402dfba3c19a1e3df4454c551a01
From c6f41df7b581402dfba3c19a1e3df4454c551a01 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sun, 31 Dec 2017 15:09:41 +0100
Subject: [PATCH] libtiff/tif_print.c: TIFFPrintDirectory(): fix null pointer
dereference on corrupted file. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2770
---
libtiff/tif_print.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
index 9959d353..8deceb2b 100644
--- a/libtiff/tif_print.c
+++ b/libtiff/tif_print.c
@@ -665,13 +665,13 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
fprintf(fd, " %3lu: [%8I64u, %8I64u]\n",
(unsigned long) s,
- (unsigned __int64) td->td_stripoffset[s],
- (unsigned __int64) td->td_stripbytecount[s]);
+ td->td_stripoffset ? (unsigned __int64) td->td_stripoffset[s] : 0,
+ td->td_stripbytecount ? (unsigned __int64) td->td_stripbytecount[s] : 0);
#else
fprintf(fd, " %3lu: [%8llu, %8llu]\n",
(unsigned long) s,
- (unsigned long long) td->td_stripoffset[s],
- (unsigned long long) td->td_stripbytecount[s]);
+ td->td_stripoffset ? (unsigned long long) td->td_stripoffset[s] : 0,
+ td->td_stripbytecount ? (unsigned long long) td->td_stripbytecount[s] : 0);
#endif
}
}
--
2.16.1

View File

@ -1,162 +0,0 @@
Fix CVE-2017-9935
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9935
http://bugzilla.maptools.org/show_bug.cgi?id=2704
Patch copied from upstream source repository:
https://gitlab.com/libtiff/libtiff/commit/3dd8f6a357981a4090f126ab9025056c938b6940
From 3dd8f6a357981a4090f126ab9025056c938b6940 Mon Sep 17 00:00:00 2001
From: Brian May <brian@linuxpenguins.xyz>
Date: Thu, 7 Dec 2017 07:46:47 +1100
Subject: [PATCH] tiff2pdf: Fix CVE-2017-9935
Fix for http://bugzilla.maptools.org/show_bug.cgi?id=2704
This vulnerability - at least for the supplied test case - is because we
assume that a tiff will only have one transfer function that is the same
for all pages. This is not required by the TIFF standards.
We than read the transfer function for every page. Depending on the
transfer function, we allocate either 2 or 4 bytes to the XREF buffer.
We allocate this memory after we read in the transfer function for the
page.
For the first exploit - POC1, this file has 3 pages. For the first page
we allocate 2 extra extra XREF entries. Then for the next page 2 more
entries. Then for the last page the transfer function changes and we
allocate 4 more entries.
When we read the file into memory, we assume we have 4 bytes extra for
each and every page (as per the last transfer function we read). Which
is not correct, we only have 2 bytes extra for the first 2 pages. As a
result, we end up writing past the end of the buffer.
There are also some related issues that this also fixes. For example,
TIFFGetField can return uninitalized pointer values, and the logic to
detect a N=3 vs N=1 transfer function seemed rather strange.
It is also strange that we declare the transfer functions to be of type
float, when the standard says they are unsigned 16 bit values. This is
fixed in another patch.
This patch will check to ensure that the N value for every transfer
function is the same for every page. If this changes, we abort with an
error. In theory, we should perhaps check that the transfer function
itself is identical for every page, however we don't do that due to the
confusion of the type of the data in the transfer function.
---
libtiff/tif_dir.c | 3 +++
tools/tiff2pdf.c | 65 +++++++++++++++++++++++++++++++++++++------------------
2 files changed, 47 insertions(+), 21 deletions(-)
diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
index 2ccaf448..cbf2b693 100644
--- a/libtiff/tif_dir.c
+++ b/libtiff/tif_dir.c
@@ -1065,6 +1065,9 @@ _TIFFVGetField(TIFF* tif, uint32 tag, va_list ap)
if (td->td_samplesperpixel - td->td_extrasamples > 1) {
*va_arg(ap, uint16**) = td->td_transferfunction[1];
*va_arg(ap, uint16**) = td->td_transferfunction[2];
+ } else {
+ *va_arg(ap, uint16**) = NULL;
+ *va_arg(ap, uint16**) = NULL;
}
break;
case TIFFTAG_REFERENCEBLACKWHITE:
diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
index d1a9b095..c3ec0746 100644
--- a/tools/tiff2pdf.c
+++ b/tools/tiff2pdf.c
@@ -1047,6 +1047,8 @@ void t2p_read_tiff_init(T2P* t2p, TIFF* input){
uint16 pagen=0;
uint16 paged=0;
uint16 xuint16=0;
+ uint16 tiff_transferfunctioncount=0;
+ float* tiff_transferfunction[3];
directorycount=TIFFNumberOfDirectories(input);
t2p->tiff_pages = (T2P_PAGE*) _TIFFmalloc(TIFFSafeMultiply(tmsize_t,directorycount,sizeof(T2P_PAGE)));
@@ -1147,26 +1149,48 @@ void t2p_read_tiff_init(T2P* t2p, TIFF* input){
}
#endif
if (TIFFGetField(input, TIFFTAG_TRANSFERFUNCTION,
- &(t2p->tiff_transferfunction[0]),
- &(t2p->tiff_transferfunction[1]),
- &(t2p->tiff_transferfunction[2]))) {
- if((t2p->tiff_transferfunction[1] != (float*) NULL) &&
- (t2p->tiff_transferfunction[2] != (float*) NULL) &&
- (t2p->tiff_transferfunction[1] !=
- t2p->tiff_transferfunction[0])) {
- t2p->tiff_transferfunctioncount = 3;
- t2p->tiff_pages[i].page_extra += 4;
- t2p->pdf_xrefcount += 4;
- } else {
- t2p->tiff_transferfunctioncount = 1;
- t2p->tiff_pages[i].page_extra += 2;
- t2p->pdf_xrefcount += 2;
- }
- if(t2p->pdf_minorversion < 2)
- t2p->pdf_minorversion = 2;
+ &(tiff_transferfunction[0]),
+ &(tiff_transferfunction[1]),
+ &(tiff_transferfunction[2]))) {
+
+ if((tiff_transferfunction[1] != (float*) NULL) &&
+ (tiff_transferfunction[2] != (float*) NULL)
+ ) {
+ tiff_transferfunctioncount=3;
+ } else {
+ tiff_transferfunctioncount=1;
+ }
} else {
- t2p->tiff_transferfunctioncount=0;
+ tiff_transferfunctioncount=0;
}
+
+ if (i > 0){
+ if (tiff_transferfunctioncount != t2p->tiff_transferfunctioncount){
+ TIFFError(
+ TIFF2PDF_MODULE,
+ "Different transfer function on page %d",
+ i);
+ t2p->t2p_error = T2P_ERR_ERROR;
+ return;
+ }
+ }
+
+ t2p->tiff_transferfunctioncount = tiff_transferfunctioncount;
+ t2p->tiff_transferfunction[0] = tiff_transferfunction[0];
+ t2p->tiff_transferfunction[1] = tiff_transferfunction[1];
+ t2p->tiff_transferfunction[2] = tiff_transferfunction[2];
+ if(tiff_transferfunctioncount == 3){
+ t2p->tiff_pages[i].page_extra += 4;
+ t2p->pdf_xrefcount += 4;
+ if(t2p->pdf_minorversion < 2)
+ t2p->pdf_minorversion = 2;
+ } else if (tiff_transferfunctioncount == 1){
+ t2p->tiff_pages[i].page_extra += 2;
+ t2p->pdf_xrefcount += 2;
+ if(t2p->pdf_minorversion < 2)
+ t2p->pdf_minorversion = 2;
+ }
+
if( TIFFGetField(
input,
TIFFTAG_ICCPROFILE,
@@ -1828,9 +1852,8 @@ void t2p_read_tiff_data(T2P* t2p, TIFF* input){
&(t2p->tiff_transferfunction[1]),
&(t2p->tiff_transferfunction[2]))) {
if((t2p->tiff_transferfunction[1] != (float*) NULL) &&
- (t2p->tiff_transferfunction[2] != (float*) NULL) &&
- (t2p->tiff_transferfunction[1] !=
- t2p->tiff_transferfunction[0])) {
+ (t2p->tiff_transferfunction[2] != (float*) NULL)
+ ) {
t2p->tiff_transferfunctioncount=3;
} else {
t2p->tiff_transferfunctioncount=1;
--
2.16.1

View File

@ -1,40 +0,0 @@
Fix CVE-2018-10963:
http://bugzilla.maptools.org/show_bug.cgi?id=2795
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10963
Patch copied from upstream source repository:
https://gitlab.com/libtiff/libtiff/commit/de144fd228e4be8aa484c3caf3d814b6fa88c6d9
From de144fd228e4be8aa484c3caf3d814b6fa88c6d9 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 12 May 2018 14:24:15 +0200
Subject: [PATCH] TIFFWriteDirectorySec: avoid assertion. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2795. CVE-2018-10963
---
libtiff/tif_dirwrite.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
index 2430de6d..c15a28db 100644
--- a/libtiff/tif_dirwrite.c
+++ b/libtiff/tif_dirwrite.c
@@ -695,8 +695,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64* pdiroff)
}
break;
default:
- assert(0); /* we should never get here */
- break;
+ TIFFErrorExt(tif->tif_clientdata,module,
+ "Cannot write tag %d (%s)",
+ TIFFFieldTag(o),
+ o->field_name ? o->field_name : "unknown");
+ goto bad;
}
}
}
--
2.17.0

View File

@ -1,61 +0,0 @@
Fix CVE-2018-8095:
http://bugzilla.maptools.org/show_bug.cgi?id=2780
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8905
Patch copied from upstream source repository:
https://gitlab.com/libtiff/libtiff/commit/58a898cb4459055bb488ca815c23b880c242a27d
From 58a898cb4459055bb488ca815c23b880c242a27d Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sat, 12 May 2018 15:32:31 +0200
Subject: [PATCH] LZWDecodeCompat(): fix potential index-out-of-bounds write.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2780 / CVE-2018-8905
The fix consists in using the similar code LZWDecode() to validate we
don't write outside of the output buffer.
---
libtiff/tif_lzw.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/libtiff/tif_lzw.c b/libtiff/tif_lzw.c
index 4ccb443c..94d85e38 100644
--- a/libtiff/tif_lzw.c
+++ b/libtiff/tif_lzw.c
@@ -602,6 +602,7 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
char *tp;
unsigned char *bp;
int code, nbits;
+ int len;
long nextbits, nextdata, nbitsmask;
code_t *codep, *free_entp, *maxcodep, *oldcodep;
@@ -753,13 +754,18 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
} while (--occ);
break;
}
- assert(occ >= codep->length);
- op += codep->length;
- occ -= codep->length;
- tp = op;
+ len = codep->length;
+ tp = op + len;
do {
- *--tp = codep->value;
- } while( (codep = codep->next) != NULL );
+ int t;
+ --tp;
+ t = codep->value;
+ codep = codep->next;
+ *tp = (char)t;
+ } while (codep && tp > op);
+ assert(occ >= len);
+ op += len;
+ occ -= len;
} else {
*op++ = (char)code;
occ--;
--
2.17.0

View File

@ -0,0 +1,379 @@
https://github.com/Pingus/pingus/commit/fef8cf6512fa4aa09e87643c22ef66de9ec7bb41.patch
From fef8cf6512fa4aa09e87643c22ef66de9ec7bb41 Mon Sep 17 00:00:00 2001
From: Ingo Ruhnke <grumbel@gmail.com>
Date: Sat, 26 Jul 2014 20:49:11 +0200
Subject: [PATCH] Switched to boost::signals2
---
SConscript | 5 ++---
src/editor/button.hpp | 4 ++--
src/editor/checkbox.hpp | 4 ++--
src/editor/combobox.hpp | 4 ++--
src/editor/file_list.hpp | 4 ++--
src/editor/inputbox.hpp | 6 +++---
src/editor/message_box.hpp | 2 +-
src/editor/object_selector.cpp | 4 ++--
src/editor/viewport.hpp | 4 ++--
src/pingus/components/check_box.hpp | 4 ++--
src/pingus/components/choice_box.hpp | 4 ++--
src/pingus/components/slider_box.hpp | 4 ++--
src/pingus/config_manager.hpp | 28 ++++++++++++++--------------
src/pingus/screens/option_menu.hpp | 4 ++--
14 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/SConscript b/SConscript
index 758567f51..c4d25a8a9 100644
--- a/SConscript
+++ b/SConscript
@@ -187,9 +187,8 @@ class Project:
'src/engine/input/xinput/xinput_device.cpp'])
def configure_boost(self):
- if not self.conf.CheckLibWithHeader('boost_signals', 'boost/signals.hpp', 'c++'):
- if not self.conf.CheckLibWithHeader('boost_signals-mt', 'boost/signals.hpp', 'c++'):
- self.fatal_error += " * library 'boost_signals' not found\n"
+ if not self.conf.CheckHeader('boost/signals2.hpp', '<>', 'c++'):
+ self.fatal_error += " * library 'boost_signals2' not found\n"
def configure_png(self):
if self.conf.CheckMyProgram('pkg-config'):
diff --git a/src/editor/button.hpp b/src/editor/button.hpp
index c85d7da9e..d89dfe669 100644
--- a/src/editor/button.hpp
+++ b/src/editor/button.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_BUTTON_HPP
#define HEADER_PINGUS_EDITOR_BUTTON_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -48,7 +48,7 @@ class Button : public GUI::RectComponent
void enable() { enabled = true; }
void disable() { enabled = false; }
- boost::signal<void()> on_click;
+ boost::signals2::signal<void()> on_click;
private:
Button (const Button&);
diff --git a/src/editor/checkbox.hpp b/src/editor/checkbox.hpp
index 7c3bc835f..66382d79b 100644
--- a/src/editor/checkbox.hpp
+++ b/src/editor/checkbox.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_CHECKBOX_HPP
#define HEADER_PINGUS_EDITOR_CHECKBOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -40,7 +40,7 @@ class Checkbox : public GUI::RectComponent
bool is_checked() const { return checked; }
void on_primary_button_press(int x, int y);
- boost::signal<void (bool)> on_change;
+ boost::signals2::signal<void (bool)> on_change;
private:
Checkbox (const Checkbox&);
diff --git a/src/editor/combobox.hpp b/src/editor/combobox.hpp
index 0ca742593..603556bd9 100644
--- a/src/editor/combobox.hpp
+++ b/src/editor/combobox.hpp
@@ -18,7 +18,7 @@
#ifndef HEADER_PINGUS_EDITOR_COMBOBOX_HPP
#define HEADER_PINGUS_EDITOR_COMBOBOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/display/sprite.hpp"
#include "engine/gui/rect_component.hpp"
@@ -88,7 +88,7 @@ class Combobox : public GUI::RectComponent
void update_layout() {}
- boost::signal<void (const ComboItem&)> on_select;
+ boost::signals2::signal<void (const ComboItem&)> on_select;
private:
Combobox();
diff --git a/src/editor/file_list.hpp b/src/editor/file_list.hpp
index cc4bba2de..85efe6aa0 100644
--- a/src/editor/file_list.hpp
+++ b/src/editor/file_list.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_FILE_LIST_HPP
#define HEADER_PINGUS_EDITOR_FILE_LIST_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/display/sprite.hpp"
#include "engine/gui/rect_component.hpp"
@@ -61,7 +61,7 @@ class FileList : public GUI::RectComponent
bool has_more_next_pages();
bool has_more_prev_pages();
- boost::signal<void (const System::DirectoryEntry&)> on_click;
+ boost::signals2::signal<void (const System::DirectoryEntry&)> on_click;
private:
int items_per_page();
diff --git a/src/editor/inputbox.hpp b/src/editor/inputbox.hpp
index cad9663ec..87321dbba 100644
--- a/src/editor/inputbox.hpp
+++ b/src/editor/inputbox.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_INPUTBOX_HPP
#define HEADER_PINGUS_EDITOR_INPUTBOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -40,8 +40,8 @@ class Inputbox : public GUI::RectComponent
void update_layout() {}
- boost::signal<void (const std::string&)> on_change;
- boost::signal<void (const std::string&)> on_enter;
+ boost::signals2::signal<void (const std::string&)> on_change;
+ boost::signals2::signal<void (const std::string&)> on_enter;
private:
Inputbox (const Inputbox&);
diff --git a/src/editor/message_box.hpp b/src/editor/message_box.hpp
index 385387a61..d885767cf 100644
--- a/src/editor/message_box.hpp
+++ b/src/editor/message_box.hpp
@@ -45,7 +45,7 @@ class MessageBox : public GUI::GroupComponent
void on_cancel_button();
public:
- boost::signal<void()> on_ok;
+ boost::signals2::signal<void()> on_ok;
private:
MessageBox(const MessageBox&);
diff --git a/src/editor/object_selector.cpp b/src/editor/object_selector.cpp
index 28e306826..f3a36b5e8 100644
--- a/src/editor/object_selector.cpp
+++ b/src/editor/object_selector.cpp
@@ -16,7 +16,7 @@
#include "editor/object_selector.hpp"
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "editor/generic_level_obj.hpp"
#include "editor/gui_style.hpp"
@@ -47,7 +47,7 @@ class ObjectSelectorButton : public GUI::RectComponent
std::string tooltip;
public:
- boost::signal<void()> on_click;
+ boost::signals2::signal<void()> on_click;
public:
ObjectSelectorButton(ObjectSelectorList* object_list_,
diff --git a/src/editor/viewport.hpp b/src/editor/viewport.hpp
index 1ae9eff7c..18868254d 100644
--- a/src/editor/viewport.hpp
+++ b/src/editor/viewport.hpp
@@ -18,7 +18,7 @@
#ifndef HEADER_PINGUS_EDITOR_VIEWPORT_HPP
#define HEADER_PINGUS_EDITOR_VIEWPORT_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include <set>
#include "editor/selection.hpp"
@@ -148,7 +148,7 @@ class Viewport : public GUI::RectComponent
void clear_selection();
- boost::signal<void (const Selection&)> selection_changed;
+ boost::signals2::signal<void (const Selection&)> selection_changed;
private:
Viewport();
Viewport (const Viewport&);
diff --git a/src/pingus/components/check_box.hpp b/src/pingus/components/check_box.hpp
index 00e23b764..5bef50f6b 100644
--- a/src/pingus/components/check_box.hpp
+++ b/src/pingus/components/check_box.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP
#define HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/display/sprite.hpp"
#include "engine/gui/rect_component.hpp"
@@ -39,7 +39,7 @@ class CheckBox : public GUI::RectComponent
void set_state(bool v, bool send_signal);
- boost::signal<void (bool)> on_change;
+ boost::signals2::signal<void (bool)> on_change;
private:
CheckBox (const CheckBox&);
diff --git a/src/pingus/components/choice_box.hpp b/src/pingus/components/choice_box.hpp
index 49d6e1948..ef51b6dd2 100644
--- a/src/pingus/components/choice_box.hpp
+++ b/src/pingus/components/choice_box.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP
#define HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -36,7 +36,7 @@ class ChoiceBox : public GUI::RectComponent
void add_choice(const std::string& str);
void set_current_choice(int choice);
- boost::signal<void (std::string)> on_change;
+ boost::signals2::signal<void (std::string)> on_change;
private:
ChoiceBox (const ChoiceBox&);
diff --git a/src/pingus/components/slider_box.hpp b/src/pingus/components/slider_box.hpp
index ae4d92406..75118eac2 100644
--- a/src/pingus/components/slider_box.hpp
+++ b/src/pingus/components/slider_box.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP
#define HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -39,7 +39,7 @@ class SliderBox : public GUI::RectComponent
void set_value(int v);
- boost::signal<void (int)> on_change;
+ boost::signals2::signal<void (int)> on_change;
private:
SliderBox (const SliderBox&);
diff --git a/src/pingus/config_manager.hpp b/src/pingus/config_manager.hpp
index b07b83e65..4cf08e046 100644
--- a/src/pingus/config_manager.hpp
+++ b/src/pingus/config_manager.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP
#define HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "math/size.hpp"
#include "pingus/options.hpp"
@@ -39,55 +39,55 @@ class ConfigManager
void set_master_volume(int);
int get_master_volume() const;
- boost::signal<void(int)> on_master_volume_change;
+ boost::signals2::signal<void(int)> on_master_volume_change;
void set_sound_volume(int);
int get_sound_volume() const;
- boost::signal<void(int)> on_sound_volume_change;
+ boost::signals2::signal<void(int)> on_sound_volume_change;
void set_music_volume(int);
int get_music_volume() const;
- boost::signal<void(int)> on_music_volume_change;
+ boost::signals2::signal<void(int)> on_music_volume_change;
void set_fullscreen_resolution(const Size& size);
Size get_fullscreen_resolution() const;
- boost::signal<void(Size)> on_fullscreen_resolution_change;
+ boost::signals2::signal<void(Size)> on_fullscreen_resolution_change;
void set_fullscreen(bool);
bool get_fullscreen() const;
- boost::signal<void(bool)> on_fullscreen_change;
+ boost::signals2::signal<void(bool)> on_fullscreen_change;
void set_renderer(FramebufferType type);
FramebufferType get_renderer() const;
- boost::signal<void(FramebufferType)> on_renderer_change;
+ boost::signals2::signal<void(FramebufferType)> on_renderer_change;
void set_resizable(bool);
bool get_resizable() const;
- boost::signal<void(bool)> on_resizable_change;
+ boost::signals2::signal<void(bool)> on_resizable_change;
void set_mouse_grab(bool);
bool get_mouse_grab() const;
- boost::signal<void(bool)> on_mouse_grab_change;
+ boost::signals2::signal<void(bool)> on_mouse_grab_change;
void set_print_fps(bool);
bool get_print_fps() const;
- boost::signal<void(bool)> on_print_fps_change;
+ boost::signals2::signal<void(bool)> on_print_fps_change;
void set_language(const tinygettext::Language&);
tinygettext::Language get_language() const;
- boost::signal<void(const tinygettext::Language&)> on_language_change;
+ boost::signals2::signal<void(const tinygettext::Language&)> on_language_change;
void set_software_cursor(bool);
bool get_software_cursor() const;
- boost::signal<void(bool)> on_software_cursor_change;
+ boost::signals2::signal<void(bool)> on_software_cursor_change;
void set_auto_scrolling(bool);
bool get_auto_scrolling() const;
- boost::signal<void(bool)> on_auto_scrolling_change;
+ boost::signals2::signal<void(bool)> on_auto_scrolling_change;
void set_drag_drop_scrolling(bool);
bool get_drag_drop_scrolling() const;
- boost::signal<void(bool)> on_drag_drop_scrolling_change;
+ boost::signals2::signal<void(bool)> on_drag_drop_scrolling_change;
private:
ConfigManager (const ConfigManager&);
diff --git a/src/pingus/screens/option_menu.hpp b/src/pingus/screens/option_menu.hpp
index 60b1578d2..154ef0f69 100644
--- a/src/pingus/screens/option_menu.hpp
+++ b/src/pingus/screens/option_menu.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP
#define HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP
-#include <boost/signals.hpp>
+#include <boost/signals2.hpp>
#include <map>
#include <vector>
@@ -66,7 +66,7 @@ class OptionMenu : public GUIScreen
//Label* defaults_label;
//CheckBox* defaults_box;
- typedef std::vector<boost::signals::connection> Connections;
+ typedef std::vector<boost::signals2::connection> Connections;
Connections connections;
tinygettext::Language m_language;

View File

@ -1,80 +0,0 @@
Fix CVE-2018-19149:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19149
https://gitlab.freedesktop.org/poppler/poppler/issues/664
Patch copied from upstream source repository:
https://gitlab.freedesktop.org/poppler/poppler/commit/f162ecdea0dda5dbbdb45503c1d55d9afaa41d44
From f162ecdea0dda5dbbdb45503c1d55d9afaa41d44 Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Fri, 20 Apr 2018 11:38:13 +0200
Subject: [PATCH] Fix crash on missing embedded file
Check whether an embedded file is actually present in the PDF
and show warning in that case.
https://bugs.freedesktop.org/show_bug.cgi?id=106137
https://gitlab.freedesktop.org/poppler/poppler/issues/236
---
glib/poppler-attachment.cc | 26 +++++++++++++++++---------
glib/poppler-document.cc | 3 ++-
2 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/glib/poppler-attachment.cc b/glib/poppler-attachment.cc
index c6502e9d..11ba5bb5 100644
--- a/glib/poppler-attachment.cc
+++ b/glib/poppler-attachment.cc
@@ -111,17 +111,25 @@ _poppler_attachment_new (FileSpec *emb_file)
attachment->description = _poppler_goo_string_to_utf8 (emb_file->getDescription ());
embFile = emb_file->getEmbeddedFile();
- attachment->size = embFile->size ();
+ if (embFile != NULL && embFile->streamObject()->isStream())
+ {
+ attachment->size = embFile->size ();
- if (embFile->createDate ())
- _poppler_convert_pdf_date_to_gtime (embFile->createDate (), (time_t *)&attachment->ctime);
- if (embFile->modDate ())
- _poppler_convert_pdf_date_to_gtime (embFile->modDate (), (time_t *)&attachment->mtime);
+ if (embFile->createDate ())
+ _poppler_convert_pdf_date_to_gtime (embFile->createDate (), (time_t *)&attachment->ctime);
+ if (embFile->modDate ())
+ _poppler_convert_pdf_date_to_gtime (embFile->modDate (), (time_t *)&attachment->mtime);
- if (embFile->checksum () && embFile->checksum ()->getLength () > 0)
- attachment->checksum = g_string_new_len (embFile->checksum ()->getCString (),
- embFile->checksum ()->getLength ());
- priv->obj_stream = embFile->streamObject()->copy();
+ if (embFile->checksum () && embFile->checksum ()->getLength () > 0)
+ attachment->checksum = g_string_new_len (embFile->checksum ()->getCString (),
+ embFile->checksum ()->getLength ());
+ priv->obj_stream = embFile->streamObject()->copy();
+ }
+ else
+ {
+ g_warning ("Missing stream object for embedded file");
+ g_clear_object (&attachment);
+ }
return attachment;
}
diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc
index 83f6aea6..ea319344 100644
--- a/glib/poppler-document.cc
+++ b/glib/poppler-document.cc
@@ -670,7 +670,8 @@ poppler_document_get_attachments (PopplerDocument *document)
attachment = _poppler_attachment_new (emb_file);
delete emb_file;
- retval = g_list_prepend (retval, attachment);
+ if (attachment != NULL)
+ retval = g_list_prepend (retval, attachment);
}
return g_list_reverse (retval);
}
--
2.19.1

View File

@ -0,0 +1,25 @@
From 223c82d1d6ed1f29f26307249827ff679e09c780 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 28 Jul 2018 12:22:12 +0200
Subject: [PATCH] disable resolve_symlink
---
src/common/exec.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/exec.c b/src/common/exec.c
index 878fc29..6b3e283 100644
--- a/src/common/exec.c
+++ b/src/common/exec.c
@@ -218,6 +218,8 @@ find_my_exec(const char *argv0, char *retpath)
static int
resolve_symlinks(char *path)
{
+ // On GuixSD we *want* stuff relative to symlinks.
+ return 0;
#ifdef HAVE_READLINK
struct stat buf;
char orig_wd[MAXPGPATH],
--
2.18.0

View File

@ -1,4 +1,4 @@
https://sources.debian.org/data/main/p/pyqt5/5.11.2+dfsg-1/debian/patches/public_sip.diff
https://sources.debian.org/data/main/p/pyqt5/5.11.3+dfsg-1/debian/patches/public_sip.diff
From: Dmitry Shachnev <mitya57@debian.org>
Date: Tue, 3 Jul 2018 09:46:42 +0300
@ -6,30 +6,16 @@ Subject: Use the public version of sip module
Per https://www.debian.org/doc/debian-policy/#convenience-copies-of-code.
---
configure.py | 19 +------------------
1 file changed, 1 insertion(+), 18 deletions(-)
configure.py | 2 +-
designer/pluginloader.cpp | 2 +-
qmlscene/pluginloader.cpp | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.py b/configure.py
index 7c48136..ca23f93 100644
index 32d03a0..3c43a14 100644
--- a/configure.py
+++ b/configure.py
@@ -642,15 +642,6 @@ class TargetConfiguration:
"Unable to import enum. Please install the enum34 "
"package from PyPI.")
- # Check there is a private copy of the sip module already installed.
- try:
- from PyQt5 import sip
- except ImportError:
- error(
- "Unable to import PyQt5.sip. Make sure you have "
- "configured SIP to create a private copy of the sip "
- "module.")
-
# Get the details of the Python interpreter library.
py_major = self.py_version >> 16
py_minor = (self.py_version >> 8) & 0x0ff
@@ -2438,7 +2429,7 @@ def get_sip_flags(target_config):
@@ -2440,7 +2440,7 @@ def get_sip_flags(target_config):
the target configuration.
"""
@ -38,18 +24,32 @@ index 7c48136..ca23f93 100644
# If we don't check for signed interpreters, we exclude the 'VendorID'
# feature
@@ -2914,14 +2905,6 @@ def check_sip(target_config):
target_config is the target configuration.
"""
diff --git a/designer/pluginloader.cpp b/designer/pluginloader.cpp
index f41d391..3ca8b11 100644
--- a/designer/pluginloader.cpp
+++ b/designer/pluginloader.cpp
@@ -167,7 +167,7 @@ bool PyCustomWidgets::importPlugins(const QString &dir, const QStringList &plugi
// Make sure we have sip.unwrapinstance.
if (!sip_unwrapinstance)
{
- sip_unwrapinstance = getModuleAttr("PyQt5.sip", "unwrapinstance");
+ sip_unwrapinstance = getModuleAttr("sip", "unwrapinstance");
- # Check there is a private copy of the sip module already installed.
- try:
- from PyQt5 import sip
- except ImportError:
- error(
- "Unable to import PyQt5.sip. Make sure you have configured "
- "SIP to create a private copy of the sip module.")
-
if target_config.sip is None:
error(
"Make sure you have a working sip on your PATH or use the "
if (!sip_unwrapinstance)
return true;
diff --git a/qmlscene/pluginloader.cpp b/qmlscene/pluginloader.cpp
index e14b946..140e80c 100644
--- a/qmlscene/pluginloader.cpp
+++ b/qmlscene/pluginloader.cpp
@@ -412,9 +412,9 @@ PyObject *PyQt5QmlPlugin::getModuleAttr(const char *module, const char *attr)
void PyQt5QmlPlugin::getSipAPI()
{
#if defined(SIP_USE_PYCAPSULE)
- sip = (const sipAPIDef *)PyCapsule_Import("PyQt5.sip._C_API", 0);
+ sip = (const sipAPIDef *)PyCapsule_Import("sip._C_API", 0);
#else
- PyObject *c_api = getModuleAttr("PyQt5.sip", "_C_API");
+ PyObject *c_api = getModuleAttr("sip", "_C_API");
if (c_api)
{

View File

@ -1,35 +0,0 @@
Avoid conflicting declaration of 'renameat2' on glibc 2.28
(see <https://github.com/meta-qt5/meta-qt5/issues/94>.)
Patch from <https://github.com/meta-qt5/meta-qt5/pull/95>
by Andreas Müller <schnitzeltony@gmail.com>.
---
src/corelib/io/qfilesystemengine_unix.cpp | 11 ++++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index be6ce48d0cb..1bf1bebc7f1 100644
--- a/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
@@ -98,6 +98,17 @@ extern "C" NSString *NSTemporaryDirectory();
# define FICLONE _IOW(0x94, 9, int)
#endif
+// renameat2/statx features for non bootstrapped build
+#ifndef QT_BOOTSTRAPPED
+#ifdef __GLIBC_PREREQ
+# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
+# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
+#else
+# define QT_FEATURE_renameat2 -1
+# define QT_FEATURE_statx -1
+#endif
+#endif
+
# if defined(Q_OS_ANDROID)
// renameat2() and statx() are disabled on Android because quite a few systems
// come with sandboxes that kill applications that make system calls outside a
--
2.14.4

View File

@ -0,0 +1,18 @@
Fix build with curl >= 7.62. Patch taken from upstream:
https://pagure.io/SSSD/sssd/c/4d3841ca379afc01184453ba45ab3e75ffec60da?branch=sssd-1-16
diff --git a/src/util/tev_curl.c b/src/util/tev_curl.c
index 6a7a580..d70a429 100644
--- a/src/util/tev_curl.c
+++ b/src/util/tev_curl.c
@@ -97,7 +97,9 @@ static errno_t curl_code2errno(CURLcode crv)
return ETIMEDOUT;
case CURLE_SSL_ISSUER_ERROR:
case CURLE_SSL_CACERT_BADFILE:
+#if LIBCURL_VERSION_NUM < 0x073e00
case CURLE_SSL_CACERT:
+#endif
case CURLE_SSL_CERTPROBLEM:
return ERR_INVALID_CERT;

View File

@ -0,0 +1,318 @@
Fix LuaTeX compatibility with Poppler 0.72.
Upstream LuaTeX have moved from Poppler to "pplib" and thus upstream
fixes are unavailable. This is based on Arch Linux patches, with minor
changes for Poppler 0.72:
https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/texlive-bin&id=f1b424435c8fa31d9296c7a6dc17f939a8332780
diff --git a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w
--- a/texk/web2c/luatexdir/image/pdftoepdf.w
+++ b/texk/web2c/luatexdir/image/pdftoepdf.w
@@ -35,7 +35,7 @@
extern void md5(Guchar *msg, int msgLen, Guchar *digest);
-static GBool isInit = gFalse;
+static bool isInit = false;
/* Maintain AVL tree of all PDF files for embedding */
@@ -363,10 +363,10 @@ void copyReal(PDF pdf, double d)
static void copyString(PDF pdf, GooString * string)
{
- char *p;
+ const char *p;
unsigned char c;
size_t i, l;
- p = string->getCString();
+ p = string->c_str();
l = (size_t) string->getLength();
if (pdf->cave)
pdf_out(pdf, ' ');
@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooString * string)
pdf->cave = true;
}
-static void copyName(PDF pdf, char *s)
+static void copyName(PDF pdf, const char *s)
{
pdf_out(pdf, '/');
for (; *s != 0; s++) {
@@ -468,14 +468,14 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj)
break;
/*
case objNum:
- GBool isNum() { return type == objInt || type == objReal; }
+ bool isNum() { return type == objInt || type == objReal; }
break;
*/
case objString:
copyString(pdf, (GooString *)obj->getString());
break;
case objName:
- copyName(pdf, (char *)obj->getName());
+ copyName(pdf, obj->getName());
break;
case objNull:
pdf_add_null(pdf);
@@ -531,22 +531,22 @@ static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
{
switch (pagebox_spec) {
case PDF_BOX_SPEC_MEDIA:
- return page->getMediaBox();
+ return (PDFRectangle *) page->getMediaBox();
break;
case PDF_BOX_SPEC_CROP:
- return page->getCropBox();
+ return (PDFRectangle *) page->getCropBox();
break;
case PDF_BOX_SPEC_BLEED:
- return page->getBleedBox();
+ return (PDFRectangle *) page->getBleedBox();
break;
case PDF_BOX_SPEC_TRIM:
- return page->getTrimBox();
+ return (PDFRectangle *) page->getTrimBox();
break;
case PDF_BOX_SPEC_ART:
- return page->getArtBox();
+ return (PDFRectangle *) page->getArtBox();
break;
default:
- return page->getMediaBox();
+ return (PDFRectangle *) page->getMediaBox();
break;
}
}
@@ -587,11 +587,11 @@ void read_pdf_info(image_dict * idict)
PDFRectangle *pagebox;
int pdf_major_version_found, pdf_minor_version_found;
float xsize, ysize, xorig, yorig;
- if (isInit == gFalse) {
+ if (isInit == false) {
if (!(globalParams))
globalParams = new GlobalParams();
- globalParams->setErrQuiet(gFalse);
- isInit = gTrue;
+ globalParams->setErrQuiet(false);
+ isInit = true;
}
if (img_type(idict) == IMG_TYPE_PDF)
pdf_doc = refPdfDocument(img_filepath(idict), FE_FAIL);
@@ -966,7 +966,7 @@ void epdf_free()
if (PdfDocumentTree != NULL)
avl_destroy(PdfDocumentTree, destroyPdfDocument);
PdfDocumentTree = NULL;
- if (isInit == gTrue)
+ if (isInit == true)
delete globalParams;
- isInit = gFalse;
+ isInit = false;
}
diff --git a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc
--- a/texk/web2c/luatexdir/lua/lepdflib.cc
+++ b/texk/web2c/luatexdir/lua/lepdflib.cc
@@ -240,7 +240,7 @@ static int l_new_Attribute(lua_State * L)
if (uobj->pd != NULL && uobj->pd->pc != uobj->pc)
pdfdoc_changed_error(L);
uout = new_Attribute_userdata(L);
- uout->d = new Attribute(n, nlen, (Object *)uobj->d);
+ uout->d = new Attribute((GooString)n, (Object *)uobj->d);
uout->atype = ALLOC_LEPDF;
uout->pc = uobj->pc;
uout->pd = uobj->pd;
@@ -439,7 +439,7 @@ static int l_new_Object(lua_State * L)
break;
case 1:
if (lua_isboolean (L,1)) {
- uout->d = new Object(lua_toboolean(L, 1)? gTrue : gFalse);
+ uout->d = new Object(lua_toboolean(L, 1)? true : false);
uout->atype = ALLOC_LEPDF;
uout->pc = 0;
uout->pd = NULL;
@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State * L) \
uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \
if (uin->pd != NULL && uin->pd->pc != uin->pc) \
pdfdoc_changed_error(L); \
- o = ((in *) uin->d)->function(); \
+ o = (out *) ((in *) uin->d)->function(); \
if (o != NULL) { \
uout = new_##out##_userdata(L); \
uout->d = o; \
@@ -676,7 +676,7 @@ static int m_##in##_##function(lua_State * L) \
pdfdoc_changed_error(L); \
gs = (GooString *)((in *) uin->d)->function(); \
if (gs != NULL) \
- lua_pushlstring(L, gs->getCString(), gs->getLength()); \
+ lua_pushlstring(L, gs->c_str(), gs->getLength()); \
else \
lua_pushnil(L); \
return 1; \
@@ -911,7 +911,7 @@ static int m_Array_getString(lua_State * L)
if (i > 0 && i <= len) {
gs = new GooString();
if (((Array *) uin->d)->getString(i - 1, gs))
- lua_pushlstring(L, gs->getCString(), gs->getLength());
+ lua_pushlstring(L, gs->c_str(), gs->getLength());
else
lua_pushnil(L);
delete gs;
@@ -1063,7 +1063,7 @@ static int m_Catalog_getJS(lua_State * L)
if (i > 0 && i <= len) {
gs = ((Catalog *) uin->d)->getJS(i - 1);
if (gs != NULL)
- lua_pushlstring(L, gs->getCString(), gs->getLength());
+ lua_pushlstring(L, gs->c_str(), gs->getLength());
else
lua_pushnil(L);
delete gs;
@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength);
static int m_Dict_add(lua_State * L)
{
- char *s;
+ const char *s;
udstruct *uin, *uobj;
uin = (udstruct *) luaL_checkudata(L, 1, M_Dict);
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
- s = copyString(luaL_checkstring(L, 2));
+ s = luaL_checkstring(L, 2);
uobj = (udstruct *) luaL_checkudata(L, 3, M_Object);
((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d)));
return 0;
@@ -1378,7 +1378,7 @@ static int m_GooString__tostring(lua_State * L)
uin = (udstruct *) luaL_checkudata(L, 1, M_GooString);
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
- lua_pushlstring(L, ((GooString *) uin->d)->getCString(),
+ lua_pushlstring(L, ((GooString *) uin->d)->c_str(),
((GooString *) uin->d)->getLength());
return 1;
}
@@ -1527,9 +1527,9 @@ static int m_Object_initBool(lua_State * L)
pdfdoc_changed_error(L);
luaL_checktype(L, 2, LUA_TBOOLEAN);
if (lua_toboolean(L, 2) != 0)
- *((Object *) uin->d) = Object(gTrue);
+ *((Object *) uin->d) = Object(true);
else
- *((Object *) uin->d) = Object(gFalse);
+ *((Object *) uin->d) = Object(false);
return 0;
}
@@ -1814,7 +1814,7 @@ static int m_Object_getString(lua_State * L)
pdfdoc_changed_error(L);
if (((Object *) uin->d)->isString()) {
gs = (GooString *)((Object *) uin->d)->getString();
- lua_pushlstring(L, gs->getCString(), gs->getLength());
+ lua_pushlstring(L, gs->c_str(), gs->getLength());
} else
lua_pushnil(L);
return 1;
@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State * L)
pdfdoc_changed_error(L);
if (!((Object *) uin->d)->isDict())
luaL_error(L, "Object is not a Dict");
- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d)));
+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d)));
return 0;
}
@@ -2470,9 +2470,9 @@ static int m_PDFDoc_getFileName(lua_State * L)
uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc);
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
- gs = ((PdfDocument *) uin->d)->doc->getFileName();
+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->getFileName();
if (gs != NULL)
- lua_pushlstring(L, gs->getCString(), gs->getLength());
+ lua_pushlstring(L, gs->c_str(), gs->getLength());
else
lua_pushnil(L);
return 1;
@@ -2559,9 +2559,9 @@ static int m_PDFDoc_readMetadata(lua_State * L)
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) {
- gs = ((PdfDocument *) uin->d)->doc->readMetadata();
+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->readMetadata();
if (gs != NULL)
- lua_pushlstring(L, gs->getCString(), gs->getLength());
+ lua_pushlstring(L, gs->c_str(), gs->getLength());
else
lua_pushnil(L);
} else
@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lua_State * L)
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) {
- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot();
+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot();
uout = new_StructTreeRoot_userdata(L);
uout->d = obj;
uout->pc = uin->pc;
@@ -3038,12 +3038,12 @@ m_poppler_get_BOOL(Attribute, isHidden);
static int m_Attribute_setHidden(lua_State * L)
{
- GBool i;
+ bool i;
udstruct *uin;
uin = (udstruct *) luaL_checkudata(L, 1, M_Attribute);
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
- i = (GBool) lua_toboolean(L, 2);
+ i = (bool) lua_toboolean(L, 2);
((Attribute *) uin->d)->setHidden(i);
return 0;
}
@@ -3180,7 +3180,7 @@ static int m_StructElement_getParentRef(lua_State * L)
// Ref is false if the C++ functione return false
static int m_StructElement_getPageRef(lua_State * L)
{
- GBool b;
+ bool b;
Ref *r;
udstruct *uin, *uout;
uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement);
@@ -3226,16 +3226,16 @@ static int m_StructElement_setRevision(lua_State * L)
static int m_StructElement_getText(lua_State * L)
{
- GBool i;
+ bool i;
GooString *gs;
udstruct *uin;
uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement);
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
- i = (GBool) lua_toboolean(L, 2);
+ i = (bool) lua_toboolean(L, 2);
gs = ((StructElement *) uin->d)->getText(i);
if (gs != NULL)
- lua_pushlstring(L, gs->getCString(), gs->getLength());
+ lua_pushlstring(L, gs->c_str(), gs->getLength());
else
lua_pushnil(L);
return 1;
@@ -3321,7 +3321,7 @@ static int m_StructElement_findAttribute(lua_State * L)
{
Attribute::Type t;
Attribute::Owner o;
- GBool g;
+ bool g;
udstruct *uin, *uout;
const Attribute *a;
uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement);
@@ -3329,7 +3329,7 @@ static int m_StructElement_findAttribute(lua_State * L)
pdfdoc_changed_error(L);
t = (Attribute::Type) luaL_checkint(L,1);
o = (Attribute::Owner) luaL_checkint(L,2);
- g = (GBool) lua_toboolean(L, 3);
+ g = (bool) lua_toboolean(L, 3);
a = ((StructElement *) uin->d)->findAttribute(t,g,o);
if (a!=NULL){

View File

@ -0,0 +1,188 @@
Fix compatibility with Poppler 0.72.
These files are taken from the upstream "poppler0.72.0.cc" variants and
diffed against the "newpoppler" files from the 20180414 distribution.
See revision 49336:
https://tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/
--- a/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 1970-01-01 01:00:00.000000000 +0100
+++ b/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc 2018-12-09 21:14:58.479732695 +0100
@@ -22,7 +22,7 @@
https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
by Arch Linux. A little modifications are made to avoid a crash for
some kind of pdf images, such as figure_missing.pdf in gnuplot.
-The poppler should be 0.59.0 or newer versions.
+The poppler should be 0.72.0 or newer versions.
POPPLER_VERSION should be defined.
*/
@@ -120,7 +120,7 @@
static InObj *inObjList;
static UsedEncoding *encodingList;
-static GBool isInit = gFalse;
+static bool isInit = false;
// --------------------------------------------------------------------
// Maintain list of open embedded PDF files
@@ -317,7 +317,7 @@
pdf_puts("<<\n");
assert(r->type == objFont); // FontDescriptor is in fd_tree
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- key = obj->dictGetKey(i);
+ key = (char *)obj->dictGetKey(i);
if (strncmp("FontDescriptor", key, strlen("FontDescriptor")) == 0
|| strncmp("BaseFont", key, strlen("BaseFont")) == 0
|| strncmp("Encoding", key, strlen("Encoding")) == 0)
@@ -427,7 +427,7 @@
charset = fontdesc.dictLookup("CharSet");
if (!charset.isNull() &&
charset.isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, (char *)charset.getString()->getCString());
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
else
embed_whole_font(fd);
addFontDesc(fontdescRef.getRef(), fd);
@@ -454,7 +454,7 @@
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
fontRef = obj->dictGetValNF(i);
if (fontRef.isRef())
- copyFont(obj->dictGetKey(i), &fontRef);
+ copyFont((char *)obj->dictGetKey(i), &fontRef);
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
copyName((char *)obj->dictGetKey(i));
pdf_puts(" ");
@@ -566,7 +566,7 @@
pdf_printf("%s", convertNumToPDF(obj->getNum()));
} else if (obj->isString()) {
s = (GooString *)obj->getString();
- p = s->getCString();
+ p = (char *)s->c_str();
l = s->getLength();
if (strlen(p) == (unsigned int) l) {
pdf_puts("(");
@@ -664,7 +664,7 @@
("PDF inclusion: CID fonts are not supported"
" (try to disable font replacement to fix this)");
}
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
+ if ((s = (char *)((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
glyphNames[i] = s;
else
glyphNames[i] = notdef;
@@ -683,7 +683,7 @@
}
// get the pagebox according to the pagebox_spec
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
{
if (pagebox_spec == pdfboxspecmedia)
return page->getMediaBox();
@@ -715,7 +715,7 @@
{
PdfDocument *pdf_doc;
Page *page;
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
@@ -724,8 +724,8 @@
// initialize
if (!isInit) {
globalParams = new GlobalParams();
- globalParams->setErrQuiet(gFalse);
- isInit = gTrue;
+ globalParams->setErrQuiet(false);
+ isInit = true;
}
// open PDF file
pdf_doc = find_add_document(image_name);
@@ -849,7 +849,7 @@
pageObj = xref->fetch(pageRef->num, pageRef->gen);
pageDict = pageObj.getDict();
rotate = page->getRotate();
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
// write the Page header
pdf_puts("/Type /XObject\n");
pdf_puts("/Subtype /Form\n");
@@ -977,7 +977,7 @@
}
l = dic1.getLength();
for (i = 0; i < l; i++) {
- groupDict.dictAdd(copyString(dic1.getKey(i)),
+ groupDict.dictAdd((const char *)copyString(dic1.getKey(i)),
dic1.getValNF(i));
}
// end modification
@@ -1001,14 +1001,14 @@
pdf_puts("/Resources <<\n");
for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
obj2 = obj1->dictGetVal(i);
- key = obj1->dictGetKey(i);
+ key = (char *)obj1->dictGetKey(i);
if (strcmp("Font", key) == 0)
copyFontResources(&obj2);
else if (strcmp("ProcSet", key) == 0)
copyProcSet(&obj2);
else
- copyOtherResources(&obj2, key);
+ copyOtherResources(&obj2, (char *)key);
}
pdf_puts(">>\n");
}
--- a/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 1970-01-01 01:00:00.000000000 +0100
+++ b/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc 2018-12-09 21:14:58.479732695 +0100
@@ -20,7 +20,7 @@
/*
This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
-by Arch Linux. The poppler should be 0.59.0 or newer versions.
+by Arch Linux. The poppler should be 0.72.0 or newer versions.
POPPLER_VERSION should be defined.
*/
@@ -109,7 +109,7 @@
fprintf(stderr, "No SourceName found\n");
exit(1);
}
- outname = (char *)srcName.getString()->getCString();
+ outname = (char *)srcName.getString()->c_str();
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@@ -118,7 +118,7 @@
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -128,7 +128,7 @@
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
sprintf(p, ".xref");
@@ -173,9 +173,9 @@
// parse the header: object numbers and offsets
objStr.streamReset();
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, gFalse);
+ parser = new Parser(xref, lexer, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();

View File

@ -0,0 +1,31 @@
Fix compatibility with Poppler 0.72.
Patch taken from upstream:
https://tug.org/svn/texlive/trunk/Build/source/texk/web2c/xetexdir/pdfimage.cpp?r1=44964&r2=48969&diff_format=u
--- a/texk/web2c/xetexdir/pdfimage.cpp 2017/08/06 07:12:02 44964
+++ b/texk/web2c/xetexdir/pdfimage.cpp 2018/10/22 04:01:42 48969
@@ -82,19 +82,19 @@
switch (pdf_box) {
default:
case pdfbox_crop:
- r = page->getCropBox();
+ r = (PDFRectangle *)page->getCropBox();
break;
case pdfbox_media:
- r = page->getMediaBox();
+ r = (PDFRectangle *)page->getMediaBox();
break;
case pdfbox_bleed:
- r = page->getBleedBox();
+ r = (PDFRectangle *)page->getBleedBox();
break;
case pdfbox_trim:
- r = page->getTrimBox();
+ r = (PDFRectangle *)page->getTrimBox();
break;
case pdfbox_art:
- r = page->getArtBox();
+ r = (PDFRectangle *)page->getArtBox();
break;
}

View File

@ -0,0 +1,46 @@
https://github.com/wesnoth/wesnoth/commit/f6a32792d023d182d350b5a2ed9e469ad67484c8.patch
This should be able to be removed with wesnoth@1.14.6
From f6a32792d023d182d350b5a2ed9e469ad67484c8 Mon Sep 17 00:00:00 2001
From: Wedge009 <wedge009@wedge009.net>
Date: Thu, 27 Dec 2018 08:15:10 +1100
Subject: [PATCH] Use explicit casts to accommodate changes to boost's tribool
in 1.69.
(fixes #3646)
---
src/units/frame.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/units/frame.cpp b/src/units/frame.cpp
index 3215fa4fa79d..6370ad69566b 100644
--- a/src/units/frame.cpp
+++ b/src/units/frame.cpp
@@ -460,15 +460,15 @@ std::vector<std::string> frame_parsed_parameters::debug_strings() const
}
if(!boost::indeterminate(auto_vflip_)) {
- v.emplace_back("auto_vflip=" + utils::bool_string(auto_vflip_));
+ v.emplace_back("auto_vflip=" + utils::bool_string(static_cast<bool>(auto_vflip_)));
}
if(!boost::indeterminate(auto_hflip_)) {
- v.emplace_back("auto_hflip=" + utils::bool_string(auto_hflip_));
+ v.emplace_back("auto_hflip=" + utils::bool_string(static_cast<bool>(auto_hflip_)));
}
if(!boost::indeterminate(primary_frame_)) {
- v.emplace_back("primary_frame=" + utils::bool_string(primary_frame_));
+ v.emplace_back("primary_frame=" + utils::bool_string(static_cast<bool>(primary_frame_)));
}
if(!drawing_layer_.get_original().empty()) {
@@ -768,7 +768,7 @@ const frame_parameters unit_frame::merge_parameters(int current_time, const fram
}
// Convert the tribool to bool
- const bool primary = result.primary_frame == true || boost::logic::indeterminate(result.primary_frame);
+ const bool primary = static_cast<bool>(result.primary_frame) || boost::logic::indeterminate(result.primary_frame);
/** The engine provides a default image to use for the unit when none is available */
result.image = current_val.image.is_void() || current_val.image.get_filename().empty()

View File

@ -1,32 +0,0 @@
From ae8e4cc9ab57ff25d2ba6c4b369e8531ce43a6d2 Mon Sep 17 00:00:00 2001
From: Paul van der Walt <paul@denknerd.org>
Date: Mon, 2 Mar 2015 22:15:39 +0100
Subject: [PATCH] Search path environment variable for Zathura.
Adds a search path environment variable for zathura plugins (for reading
different file formats) called ZATHURA_PLUGIN_PATH. Command line option
-p still takes precedence.
Patch by Paul van der Walt <paul@denknerd.org>
Adjusted for Zathura 0.3.9 by Tobias Geerinckx-Rice <me@tobias.gr>
---
zathura/zathura.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/zathura/zathura.c b/zathura/zathura.c
--- a/zathura/zathura.c
+++ b/zathura/zathura.c
@@ -597,6 +597,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir)
g_return_if_fail(zathura != NULL);
g_return_if_fail(zathura->plugins.manager != NULL);
+ /* Added for Guix: check if environment variable
+ * is set to specify location of zathura plugins.
+ */
+
+ if (dir == NULL)
+ dir = g_getenv("ZATHURA_PLUGIN_PATH");
+
if (dir != NULL) {
set_plugin_dir(zathura, dir);
#ifdef ZATHURA_PLUGINDIR

View File

@ -83,15 +83,14 @@
(define-public poppler
(package
(name "poppler")
(replacement poppler/fixed)
(version "0.68.0")
(version "0.72.0")
(source (origin
(method url-fetch)
(uri (string-append "https://poppler.freedesktop.org/poppler-"
version ".tar.xz"))
(sha256
(base32
"0n0f7mv24lzv9p3dlzakpdhqg7ygcvl6l40grcz95xldzgq083gr"))))
"0lfs1b1jfamxl13zbl5n448dqvl9n8frbv8180y7b7kfyaw7wx61"))))
(build-system cmake-build-system)
;; FIXME:
;; use libcurl: no
@ -133,14 +132,6 @@
(license license:gpl2+)
(home-page "https://poppler.freedesktop.org/")))
(define poppler/fixed
(package
(inherit poppler)
(source (origin
(inherit (package-source poppler))
(patches (append (origin-patches (package-source poppler))
(search-patches "poppler-CVE-2018-19149.patch")))))))
(define-public poppler-data
(package
(name "poppler-data")
@ -506,7 +497,7 @@ by using the poppler rendering engine.")
(define-public zathura
(package
(name "zathura")
(version "0.4.0")
(version "0.4.3")
(source (origin
(method url-fetch)
(uri
@ -514,9 +505,7 @@ by using the poppler rendering engine.")
version ".tar.xz"))
(sha256
(base32
"1j0yah09adv3bsjhhbqra5lambal32svk8fxmf89wwmcqrcr4qma"))
(patches (search-patches
"zathura-plugindir-environment-variable.patch"))))
"0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky"))))
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
@ -533,7 +522,7 @@ by using the poppler rendering engine.")
("girara" ,girara)))
(native-search-paths
(list (search-path-specification
(variable "ZATHURA_PLUGIN_PATH")
(variable "ZATHURA_PLUGINS_PATH")
(files '("lib/zathura")))))
(build-system meson-build-system)
(arguments

View File

@ -259,6 +259,8 @@
;; XXX: These test failures appear legitimate, needs investigation.
;; open_basedir() restriction failure.
"ext/curl/tests/bug61948.phpt"
;; Fails on recent curl https://bugs.php.net/patch-display.php?bug_id=77493
"ext/curl/tests/curl_basic_009.phpt"
;; Expects a false boolean, gets empty array from glob().
"ext/standard/tests/file/bug41655_1.phpt"
"ext/standard/tests/file/glob_variation5.phpt"

View File

@ -174,14 +174,15 @@ algorithm within the Numpy framework.")
(name "bitshuffle-for-snappy")
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file "Makefile"
(lambda _
(format #t "\
(substitute-keyword-arguments (package-arguments bitshuffle)
((#:tests? _ #f) #f)
((#:phases phases)
`(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file "Makefile"
(lambda _
(format #t "\
libbitshuffle.so: src/bitshuffle.o src/bitshuffle_core.o src/iochain.o lz4/lz4.o
\tgcc -O3 -ffast-math -std=c99 -o $@ -shared -fPIC $^
@ -201,6 +202,6 @@ install: libbitshuffle.so
\tinstall -m644 src/iochain.h $(INCLUDEDIR)
\tinstall -m644 lz4/lz4.h $(INCLUDEDIR)
" (assoc-ref outputs "out"))))
#t)))))
#t))))))
(inputs '())
(native-inputs '())))

View File

@ -111,7 +111,7 @@ system, and the core design of Django is reused in Grantlee.")
(define-public qt
(package
(name "qt")
(version "5.11.2")
(version "5.11.3")
(outputs '("out" "examples"))
(source (origin
(method url-fetch)
@ -124,8 +124,7 @@ system, and the core design of Django is reused in Grantlee.")
version ".tar.xz"))
(sha256
(base32
"10faac59jvz6dxxljdkaknlxazpnaxgvqdcszabfbbkc1f24n466"))
(patches (search-patches "qt-5-renameat2.patch"))
"0kgzy32s1fr22fxxfhcyncfryb3qxrznlr737r4y5khk4xj1g545"))
(modules '((guix build utils)))
(snippet
'(begin
@ -502,7 +501,7 @@ system, and the core design of Django is reused in Grantlee.")
(define-public qtbase
(package
(name "qtbase")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -511,20 +510,19 @@ system, and the core design of Django is reused in Grantlee.")
version ".tar.xz"))
(sha256
(base32
"01q1rn5rp9biq3z38953z2hgm4nirvp2jfv8wg7isnld8v1yg0b3"))
"071yc9iz14qs4s8yvrwllyfdzp5yjxsdpvbjxdrf0g5q69vqigy6"))
;; Use TZDIR to avoid depending on package "tzdata".
(patches (search-patches "qtbase-use-TZDIR.patch"))
(modules '((guix build utils)))
(snippet
;; corelib uses bundled harfbuzz, md4, md5, sha3
'(begin
(for-each
(lambda (dir)
(delete-file-recursively (string-append "src/3rdparty/" dir)))
(list "double-conversion" "freetype" "harfbuzz-ng"
"libpng" "libjpeg" "pcre2" "sqlite" "xcb"
"xkbcommon" "zlib"))
#t))))
(with-directory-excursion "src/3rdparty"
(for-each delete-file-recursively
(list "double-conversion" "freetype" "harfbuzz-ng"
"libpng" "libjpeg" "pcre2" "sqlite" "xcb"
"xkbcommon" "zlib"))
#t)))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)
@ -742,7 +740,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsvg
(package (inherit qtbase)
(name "qtsvg")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -751,7 +749,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
"0rni3cdcli91v7k8ra9s9phpznvkza8qqvcrv9yyfrmlapwbn5mw"))))
"14a4rprbj9f9rhixbk7143xdz34d7d39xh9v2sc1w43q9sf2rsi1"))))
(propagated-inputs `())
(native-inputs `(("perl" ,perl)))
(inputs
@ -817,7 +815,7 @@ HostData=lib/qt5
(define-public qtimageformats
(package (inherit qtsvg)
(name "qtimageformats")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -826,7 +824,7 @@ HostData=lib/qt5
version ".tar.xz"))
(sha256
(base32
"0s1s33k0wrnf9fi1wlm1kaq9hs1fx89597nhk53vzdfha42x3r97"))
"0zq8igsjyyhxsjr43vpaasrqjw3x0g6rwqf8kaz7y9vs7ny63ch4"))
(modules '((guix build utils)))
(snippet
'(begin
@ -848,7 +846,7 @@ support for MNG, TGA, TIFF and WBMP image formats.")))
(define-public qtx11extras
(package (inherit qtsvg)
(name "qtx11extras")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -857,7 +855,7 @@ support for MNG, TGA, TIFF and WBMP image formats.")))
version ".tar.xz"))
(sha256
(base32
"12cha7pd3cjx7zr0l7rbi1j2pfwmfpdwc7w3dsqbyi1d0mhwl1zl"))))
"11fd2mc20qmnyv1vqhaqad2q6m0i4lmkr432rmqvpkgphpkfp7pr"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -872,7 +870,7 @@ from within Qt 5.")))
(define-public qtxmlpatterns
(package (inherit qtsvg)
(name "qtxmlpatterns")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -881,7 +879,7 @@ from within Qt 5.")))
version ".tar.xz"))
(sha256
(base32
"0ik7m1a0shjsyzs8n9hfx8m9hy1p3wg505slcs0xznj0pa0gdmaz"))))
"1vhfvgi39miqsx3iq7c9sii2sykq0yfng69b70i0smr20zihpl4b"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@ -901,7 +899,7 @@ xmlpatternsvalidator.")))
(define-public qtdeclarative
(package (inherit qtsvg)
(name "qtdeclarative")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -910,7 +908,7 @@ xmlpatternsvalidator.")))
version ".tar.xz"))
(sha256
(base32
"1kgj6q53rk573yi47j32mn1mfk5ag98zvhv9qgrlb78y0gw8c392"))))
"1rhsf9bma2zwwpixk2fsg31x7c1pmsk144npypgc9w86swhkc9lf"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -933,7 +931,7 @@ with JavaScript and C++.")))
(define-public qtconnectivity
(package (inherit qtsvg)
(name "qtconnectivity")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -942,7 +940,7 @@ with JavaScript and C++.")))
version ".tar.xz"))
(sha256
(base32
"1ia21llw610wd7licdm81p8zpkrkvkc5yc7y4wplgg6k2jyip42q"))))
"0amks3qad31i7cha85kvcaxvlmmgkc3gm4jdkw2p02ixxfygr30l"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@ -957,7 +955,7 @@ with Bluetooth and NFC.")))
(define-public qtwebsockets
(package (inherit qtsvg)
(name "qtwebsockets")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -966,7 +964,7 @@ with Bluetooth and NFC.")))
version ".tar.xz"))
(sha256
(base32
"13cbr2pffv1hwvm8d8kzask0pyc2j3brgq23vi5i1i70kihrfqdf"))))
"1ffmapfy68xwwbxbg19ng6b5h8v42cf78s21j7rgq49gm70r0402"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -984,7 +982,7 @@ consume data received from the server, or both.")))
(define-public qtsensors
(package (inherit qtsvg)
(name "qtsensors")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -993,7 +991,7 @@ consume data received from the server, or both.")))
version ".tar.xz"))
(sha256
(base32
"1iv3gmk121myqdr64d9lf2m816ypxrb526gn0ssxx8gp4j4c69qf"))))
"0n88c8xi9pbyh7q1pcqv4yjv6nx62abflj8qgfr4qzb0sp8m6mx7"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:parallel-tests? _ #f) #f) ; can lead to race condition
@ -1017,7 +1015,7 @@ recognition API for devices.")))
(define-public qtmultimedia
(package (inherit qtsvg)
(name "qtmultimedia")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1026,7 +1024,7 @@ recognition API for devices.")))
version ".tar.xz"))
(sha256
(base32
"0vbjrxsdahgbgpc2zcvgg3mpijzd5kknz5clfcw2cq3310yqyq15"))
"0h9wx86zj20n4xc3qnml0i360x2dc1yd2z2af1flj8fwyzppi03j"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1068,7 +1066,7 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
(define-public qtwayland
(package (inherit qtsvg)
(name "qtwayland")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1077,7 +1075,7 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
version ".tar.xz"))
(sha256
(base32
"0wdpxjr3zfmgcfg14zlwd8mjbc191pvlchj1xxd0lj30ldfy2daf"))
"1chz4wchgkzd45h143i5hkqg0whcgdbj37gkg7j4kj31whllzjb2"))
(modules '((guix build utils)))
(snippet
;; The examples try to build and cause the build to fail
@ -1120,7 +1118,7 @@ compositor libraries.")))
(define-public qtserialport
(package (inherit qtsvg)
(name "qtserialport")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1129,7 +1127,7 @@ compositor libraries.")))
version ".tar.xz"))
(sha256
(base32
"0vkgvicm67vds2iqmhnjsqwnx1f8zhbzc31w6q198i0x8b76j6xh"))))
"1nkbfsxzgicwns3k11hhzjxy2hgrigj8xcw2by0jc1j71mnmxi4n"))))
(native-inputs `(("perl" ,perl)))
(inputs
`(("qtbase" ,qtbase)
@ -1154,7 +1152,7 @@ interacting with serial ports from within Qt.")))
(define-public qtserialbus
(package (inherit qtsvg)
(name "qtserialbus")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1163,7 +1161,7 @@ interacting with serial ports from within Qt.")))
version ".tar.xz"))
(sha256
(base32
"07k4g5qfh657das2f5i6ph0hl4bva13yzlmxnay7qpzqcb0w4x0p"))))
"0vf12jk1ma0v0dlpliw1x9i04iaik1kjkiaby7gaxm2abprxwr2n"))))
(inputs
`(("qtbase" ,qtbase)
("qtserialport" ,qtserialport)))
@ -1175,7 +1173,7 @@ and others.")))
(define-public qtwebchannel
(package (inherit qtsvg)
(name "qtwebchannel")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1184,7 +1182,7 @@ and others.")))
version ".tar.xz"))
(sha256
(base32
"1z02dhrd1h2rpdhww9py9dnhss80xwf45n568y7gr3gay7ldlpwl"))))
"1wrdawlqvcw84h8q52mvbjhp1vkd6fhz6c8ijlg9rw0s3fj4y99w"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
@ -1199,7 +1197,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
(define-public qtwebglplugin
(package (inherit qtsvg)
(name "qtwebglplugin")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1208,7 +1206,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
version ".tar.xz"))
(sha256
(base32
"0vazz9yr1qgpcq7p77vg9mrjxy6hjabvwj9irw5l5w7fmsk2ns0n"))))
"0wqz8lycmi7pffzy0pz5960w109lbk4mkbw0l1lh64avl6clq7b9"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@ -1234,7 +1232,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
(define-public qtwebview
(package (inherit qtsvg)
(name "qtwebview")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1243,7 +1241,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
version ".tar.xz"))
(sha256
(base32
"1r30n9vjcgh2cd2iycfwwwpmbz7grrd3iqrc0afwnri3vylnfqil"))))
"1njmn1n03dp4md8cz58cq2z6bsxd8nwlw0238zmavh7px3jzc9kh"))))
(native-inputs
`(("perl" ,perl)))
(inputs
@ -1257,7 +1255,7 @@ native APIs where it makes sense.")))
(define-public qtlocation
(package (inherit qtsvg)
(name "qtlocation")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1266,7 +1264,7 @@ native APIs where it makes sense.")))
version ".tar.xz"))
(sha256
(base32
"0kh2c2ahg8xkpvqsva13i35ndsc0x0ypnmd6vix5pm5jvwg9366n"))))
"1sq0f41jwmsimv9a1wl2nk5nifjppm5j92rr4n4s7qwnnjjrir2q"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1287,7 +1285,7 @@ positioning and geolocation plugins.")))
(define-public qttools
(package (inherit qtsvg)
(name "qttools")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1296,7 +1294,7 @@ positioning and geolocation plugins.")))
version ".tar.xz"))
(sha256
(base32
"1f1iqvksrlgkxdbagb6vvjib3argbv9l7iis6ymb8n0rfwn37s7h"))))
"13lzdxxi02yhvx4mflhisl6aqv2fiss5m804cqccd1wvp8dyh1f2"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1315,7 +1313,7 @@ that helps in Qt development.")))
(define-public qtscript
(package (inherit qtsvg)
(name "qtscript")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1324,7 +1322,7 @@ that helps in Qt development.")))
version ".tar.xz"))
(sha256
(base32
"0xprhd1brn30dqf5vy4inqgzpq48i8nlc428x9rr8fk5hdm4dhmj"))
"027cvggbcvwyz76cn1bl1zvqg0nq7iica1b7yx7xyy0hb36g715v"))
(patches (search-patches "qtscript-disable-tests.patch"))))
(native-inputs
`(("perl" ,perl)
@ -1339,7 +1337,7 @@ ECMAScript and Qt.")))
(define-public qtquickcontrols
(package (inherit qtsvg)
(name "qtquickcontrols")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1348,7 +1346,7 @@ ECMAScript and Qt.")))
version ".tar.xz"))
(sha256
(base32
"1q11nr85436xzrf4mbrbav306hrz0s2qaclqhhb0g88vzcq2wxww"))))
"0dvmy31qbl76yy0j5y8m7mvnmqyg2c01fmlkn0snvc5h5ah5skjf"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1363,7 +1361,7 @@ can be used to build complete interfaces in Qt Quick.")))
(define-public qtquickcontrols2
(package (inherit qtsvg)
(name "qtquickcontrols2")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1372,7 +1370,7 @@ can be used to build complete interfaces in Qt Quick.")))
version ".tar.xz"))
(sha256
(base32
"116b5nhmsx898626s37r446yci7kxd3k7xap1dh9spqklkwlj1da"))))
"11nhpb0xckv5jjkqj5szr94c2rvyjwr89ch58hh64nsqaav30mpl"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1388,7 +1386,7 @@ not available.")))
(define-public qtgraphicaleffects
(package (inherit qtsvg)
(name "qtgraphicaleffects")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1397,7 +1395,7 @@ not available.")))
version ".tar.xz"))
(sha256
(base32
"1zd9wjh2hhd6lby0z3ak0ff6zkbv73hh0drrg9qp2yrgjfismp59"))))
"1qjpdzkamf27cg5n1wsf0zk939lcgppgydfjzap9s4fxzj1nkn0l"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1443,7 +1441,7 @@ backend for QtQuick scene graph.")
(define-public qtgamepad
(package (inherit qtsvg)
(name "qtgamepad")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1452,7 +1450,7 @@ backend for QtQuick scene graph.")
version ".tar.xz"))
(sha256
(base32
"076874iyadj7pkprlk24h257nb8i4sni9c6kbixm5zrr2y73fbxf"))))
"1k222cx18zq48sfna91hmy427qzk2n2xz3dlyz59iyz72k6915g9"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))
@ -1473,7 +1471,7 @@ and mobile applications targeting TV-like form factors.")))
(define-public qtscxml
(package (inherit qtsvg)
(name "qtscxml")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1482,7 +1480,7 @@ and mobile applications targeting TV-like form factors.")))
version ".tar.xz"))
(sha256
(base32
"197p5x1dadgjb39pd2vw60r63lvz68i0pm5i8xbyzgzm94hwn9fn"))
"1mv8mz36v34dckrzy5r41mq3sqznbalrhndk3avz2154xmkjf5qk"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1504,7 +1502,7 @@ also contains functionality to support data models and executable content.")))
(define-public qtpurchasing
(package (inherit qtsvg)
(name "qtpurchasing")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1513,7 +1511,7 @@ also contains functionality to support data models and executable content.")))
version ".tar.xz"))
(sha256
(base32
"1xld1yx085mhnqdipy29g2yy5af67hfm0wy4mvj7pl6y5qj8jw9d"))))
"1fd0gxdj5mrh81iwimq1243i3n47sqv9ik8nslahfh0q3dsx7k8n"))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))
@ -1524,7 +1522,7 @@ purchasing goods and services.")))
(define-public qtcanvas3d
(package (inherit qtsvg)
(name "qtcanvas3d")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1533,7 +1531,7 @@ purchasing goods and services.")))
version ".tar.xz"))
(sha256
(base32
"0h7arss7wr0jwl87kiwgbf0nlcgpbriyf7cnv9j4h7g8d09a777x"))
"0f110z7cmkzns9k00aa5zhzq2fpybfxkd7gdlwzcbhc8hn20986m"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1563,7 +1561,7 @@ drawing calls from Qt Quick JavaScript.")))
(define-public qtcharts
(package (inherit qtsvg)
(name "qtcharts")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1572,7 +1570,7 @@ drawing calls from Qt Quick JavaScript.")))
version ".tar.xz"))
(sha256
(base32
"0551qfqnsfiy8kb1ng2v0yn7s6ggy7ghcmis983sbzxzjv2i58zn"))))
"1p4m1nkbbxlkwmbmasx5r83skzssmlcgfzyvj30x2dyrqkmz7627"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1590,7 +1588,7 @@ selecting one of the charts themes.")
(define-public qtdatavis3d
(package (inherit qtsvg)
(name "qtdatavis3d")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1599,7 +1597,7 @@ selecting one of the charts themes.")
version ".tar.xz"))
(sha256
(base32
"05pzvrhvxhxjlav4axrhwlnxjzlr7mi8k3f06g59ryrwmb99kd37"))))
"1kqwr3avcvcyy4i28vjgxk1bsjj9011zr668hsk1zrjxnnwjwdl3"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1617,7 +1615,7 @@ customized by using themes or by adding custom items and labels to them.")
(define-public qtnetworkauth
(package (inherit qtsvg)
(name "qtnetworkauth")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1626,7 +1624,7 @@ customized by using themes or by adding custom items and labels to them.")
version ".tar.xz"))
(sha256
(base32
"1zmpvkhf2kmnr8vsa6jq675d5cpnmsg3f8yds6g91yq1g3prqdvr"))))
"0dd35698wzg89975vi2ijl2lym495fjizsl03mjixsjnvb1x0q50"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@ -1646,7 +1644,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
(define-public qtremoteobjects
(package (inherit qtsvg)
(name "qtremoteobjects")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1655,7 +1653,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
version ".tar.xz"))
(sha256
(base32
"06awsaf15rch1y9p2q9kdlmlaa8g28whbzf04b10zfflyijnvg7j"))))
"1d3jzsxfyjhgb6wj9iv1388bv7j6pi08346nmkm1c1a4iykhc0zp"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@ -1679,7 +1677,7 @@ processes or computers.")))
(define-public qtspeech
(package (inherit qtsvg)
(name "qtspeech")
(version "5.11.2")
(version "5.11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@ -1688,7 +1686,7 @@ processes or computers.")))
version ".tar.xz"))
(sha256
(base32
"110xr2y174sayi9f6swzp1wx7mx4sw9rifcdx2bkbsnbfab6zg8a"))))
"158p7zqd0vg55gf88jzc3d4f7649ihh80k0m1q46m2yp6fpdjbxr"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@ -1711,7 +1709,7 @@ message.")))
(define-public python-sip
(package
(name "python-sip")
(version "4.19.12")
(version "4.19.13")
(source
(origin
(method url-fetch)
@ -1720,7 +1718,7 @@ message.")))
"sip-" version "/sip-" version ".tar.gz"))
(sha256
(base32
"08iqj9qyanc6a4bllbd87gv8pd1gkplw1jhfa1sz0gcq3g1pyq94"))))
"0pniq03jk1n5bs90yjihw3s3rsmjd8m89y9zbnymzgwrcl2sflz3"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-wrapper)))
@ -1773,7 +1771,7 @@ module provides support functions to the automatically generated code.")
(define-public python-pyqt
(package
(name "python-pyqt")
(version "5.11.2")
(version "5.11.3")
(source
(origin
(method url-fetch)
@ -1783,7 +1781,7 @@ module provides support functions to the automatically generated code.")
version ".tar.gz"))
(sha256
(base32
"00wn9svgyp0fsrkc4ma15zcxg31pw4gsgaz6nwb3fhy3al8miakw"))
"0wqh4srqkcc03rvkwrcshaa028psrq58xkys6npnyhqxc0apvdf9"))
(patches (search-patches "pyqt-configure.patch"
"pyqt-public-sip.patch"))))
(build-system gnu-build-system)
@ -1920,7 +1918,7 @@ contain over 620 classes.")
(define-public qscintilla
(package
(name "qscintilla")
(version "2.10.7")
(version "2.10.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pyqt/QScintilla2/"
@ -1928,7 +1926,7 @@ contain over 620 classes.")
version ".tar.gz"))
(sha256
(base32
"06hs6civq13dvzlws0spjb7gwyk6kynpnfwg5plhahnxf7g5h137"))))
"1swjr786w04r514pry9pn32ivza4il1cg35s60qy39cwc175pka6"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1976,19 +1974,21 @@ indicators, code completion and call tips.")
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs configure-flags #:allow-other-keys)
(chdir "Python")
(apply invoke "python3" "configure.py"
configure-flags)
;; Install to the right directory
(substitute* '("Makefile"
"Qsci/Makefile")
(("\\$\\(INSTALL_ROOT\\)/gnu/store/[^/]+")
(assoc-ref outputs "out")))
;; And fix the installed.txt file
(substitute* "installed.txt"
(("/gnu/store/[^/]+")
(assoc-ref outputs "out")))
(lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(python (assoc-ref inputs "python")))
(chdir "Python")
(apply invoke "python3" "configure.py"
configure-flags)
;; Install to the right directory
(substitute* '("Makefile"
"Qsci/Makefile")
(("\\$\\(INSTALL_ROOT\\)/gnu/store/[^/]+") out)
(((string-append python "/lib"))
(string-append out "/lib")))
;; And fix the installed.txt file
(substitute* "installed.txt"
(("/gnu/store/[^/]+") out)))
#t)))))
(inputs
`(("qscintilla" ,qscintilla)

View File

@ -60,7 +60,7 @@
(define-public ruby
(package
(name "ruby")
(version "2.4.3")
(version "2.5.3")
(source
(origin
(method url-fetch)
@ -69,8 +69,7 @@
"/ruby-" version ".tar.xz"))
(sha256
(base32
"0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3"))
(patches (search-patches "ruby-rubygems-276-for-ruby24.patch"))
"0vrhrw7kcz9mg0jkqnihkcxqy5k05v8k1j0y2735z8wfk8sx1j8w"))
(modules '((guix build utils)))
(snippet `(begin
;; Remove bundled libffi
@ -112,6 +111,26 @@ a focus on simplicity and productivity.")
(home-page "https://www.ruby-lang.org")
(license license:ruby)))
(define-public ruby-2.4
(package
(inherit ruby)
(version "2.4.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
(version-major+minor version)
"/ruby-" version ".tar.xz"))
(sha256
(base32
"0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3"))
(patches (search-patches "ruby-rubygems-276-for-ruby24.patch"))
(modules '((guix build utils)))
(snippet `(begin
;; Remove bundled libffi
(delete-file-recursively "ext/fiddle/libffi-3.2.1")
#t))))))
(define-public ruby-2.3
(package
(inherit ruby)

View File

@ -56,7 +56,59 @@
(sha256
(base32
"00ys0p6h3iq77kh72dkl0qrf7qvznq18qdrgiq10gfxja1995034"))
(patches (search-patches "scribus-poppler.patch"))))
(patches (append
;; Scribus relies heavily on Poppler internals, which have
;; changed a lot since the latest Scribus release (2018-04).
;; Thus, we require a bunch of patches to stay compatible.
(search-patches "scribus-poppler.patch")
(list (origin
(method url-fetch)
(uri (string-append
"https://github.com/scribusproject/scribus/commit/"
"7d4ceeb5cac32287769e3c0238699e0b3e56c24d.patch"))
(file-name "scribus-poppler-0.64.patch")
(sha256
(base32
"1kr27bfzkpabrh42nsrrvlqyycdg9isbavpaa5spgmrhidcg02xj")))
(origin
(method url-fetch)
(uri (string-append
"https://github.com/scribusproject/scribus/commit/"
"76561c1a55cd07c268f8f2b2fea888532933700b.patch"))
(file-name "scribus-poppler-config.patch")
(sha256
(base32
"01k18xjj82c3ndzp89dlpfhhdccc8z0acf8b04r592jyr5y9rc19")))
(origin
(method url-fetch)
(uri (string-append
"https://github.com/scribusproject/scribus/commit/"
"8e05d26c19097ac2ad5b4ebbf40a3771ee6faf9c.patch"))
(file-name "scribus-poppler-0.69.patch")
(sha256
(base32
"1avdmsj5l543j0irq18nxgiw99n395jj56ih5dsal59fn0wbqk42")))
(origin
(method url-fetch)
(uri (string-append "https://git.archlinux.org/svntogit/"
"community.git/plain/trunk/scribus-"
"poppler-0.70.patch?h=packages/scribus&id="
"8ef43ee2fceb0753ed5a76bb0a11c84775898ffc"))
(file-name "scribus-poppler-0.70.patch")
(sha256
(base32
"0dw7ix3jaj0y1q97cmmqwb2qgdx760yhxx86wa8rnx0xhfi5x6qr"))))))
(modules '((guix build utils)))
(snippet
'(begin
(for-each (lambda (file)
(substitute* file
;; These are required for compatibility with Poppler 0.71.
(("GBool") "bool") (("gTrue") "true") (("gFalse") "false")
;; ...and this for Poppler 0.72.
(("getCString") "c_str")))
(find-files "scribus/plugins/import/pdf"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target

View File

@ -213,11 +213,7 @@ which allows users to view a desktop computing environment.")
"--enable-automated-tests")
;; Several tests appear to be opening the same sockets concurrently.
#:parallel-tests? #f
#:phases (modify-phases %standard-phases
(add-before 'check 'use-empty-ssl-cert-file
(lambda _ (setenv "SSL_CERT_FILE" "/dev/null") #t)))))
#:parallel-tests? #f))
(synopsis "Server implementation of the SPICE protocol")
(description "SPICE is a remote display system built for virtual
environments which allows you to view a computing 'desktop' environment

View File

@ -86,6 +86,7 @@ fundamental object types for C.")
(method url-fetch)
(uri (string-append "http://releases.pagure.org/SSSD/sssd/"
"sssd-" version ".tar.gz"))
(patches (search-patches "sssd-curl-compat.patch"))
(sha256
(base32
"032ppk57qs1lnvz7pb7lw9ldwm9i1yagh9fzgqgn6na3bg61ynzy"))))

View File

@ -322,7 +322,7 @@
("python2-testtools" ,python2-testtools)
("python2-tox" ,python2-tox)))
(inputs
`(("boost" ,boost-cxx14)
`(("boost" ,boost)
("curl" ,curl)
("cryptsetup" ,cryptsetup)
("expat" ,expat)

View File

@ -104,15 +104,19 @@
(patches
(list
;; This is required for compatibility with Poppler 0.64.0 and to fix a
;; segmentation fault in dvipdfm-x from XeTeX.
;; segmentation fault in dvipdfm-x from XeTeX, and also contains a fix
;; for CVE-2018-17407.
(origin
(method url-fetch)
(uri (string-append "http://www.linuxfromscratch.org/patches/blfs/"
"svn/texlive-" version "-source-upstream_fixes-1.patch"))
"svn/texlive-" version "-source-upstream_fixes-2.patch"))
(file-name "texlive-poppler-compat.patch")
(sha256
(base32
"0f8vhyj167y4xj0jx47vkybrcacfpxw0wdn1b777yq3xmhlahhlg")))))))
"04sxy1qv9y575mxwyg3y7rx7mh540pfjqx7yni7ncb5wjbq9pq1a")))
(search-patch "texlive-bin-luatex-poppler-compat.patch")
(search-patch "texlive-bin-pdftex-poppler-compat.patch")
(search-patch "texlive-bin-xetex-poppler-compat.patch")))))
(build-system gnu-build-system)
(inputs
`(("texlive-extra-src" ,texlive-extra-src)

View File

@ -164,7 +164,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
(version "3.5.18")
(version "3.6.5")
(source (origin
(method url-fetch)
(uri
@ -173,12 +173,19 @@ living in the same process.")
(string-append "mirror://gnupg/gnutls/v"
(version-major+minor version)
"/gnutls-" version ".tar.xz"))
(patches
(search-patches "gnutls-skip-trust-store-test.patch"
"gnutls-skip-pkgconfig-test.patch"))
(patches (search-patches "gnutls-skip-trust-store-test.patch"))
(sha256
(base32
"0d02x28fwkkx7xzn7807nww6idchizzq3plx8sfcyiw7wzclh8mf"))))
"0ddvg97dyrh8dkffv1mdc0knxx5my3qdbzv97s4a6jggmk9wwgh7"))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: The generated configure script in GnuTLS 3.6.5
;; apparently does not know about Guile 2.2.
(substitute* "configure"
(("guile_versions_to_search=\"2\\.0 1\\.8\"")
"guile_versions_to_search=\"2.2 2.0 1.8\""))
#t))))
(build-system gnu-build-system)
(arguments
`(; Ensure we don't keep a reference to this buggy software.

View File

@ -627,7 +627,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libva
(package
(name "libva")
(version "2.2.0")
(version "2.3.0")
(source
(origin
(method url-fetch)
@ -639,7 +639,7 @@ libebml is a C++ library to read and write EBML files.")
(string-append "https://www.freedesktop.org/software/vaapi/releases/"
"libva/libva-" version "/libva-" version ".tar.bz2")))
(sha256
(base32 "1wjfrs261fp9wkhgpmrlz5smnhxrmsk31way646x6i2mg16a0v3g"))))
(base32 "1r6wiw4k044cpb39rfqqdw6qmzw0268whpz124hywck9v980x130"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
@ -163,19 +163,19 @@ interpretation of the specifications for these languages.")
(define-public vulkan-headers
(package
(name "vulkan-headers")
(version "1.1.85.0")
(version "1.1.99")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/KhronosGroup/Vulkan-Headers/"
"archive/sdk-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Headers")
(commit (string-append "v" version))))
(sha256
(base32
"166hqqb97kjg6h9vp8yxb1cq02i1kqaxvl693482gf8v21fl7ink"))))
"166z6wn5kxnqm55zgzhmqa9hg48d11bfmi3wnf1mqhsx48xw6b8z"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
`(#:tests? #f)) ; No tests.
(home-page
"https://github.com/KhronosGroup/Vulkan-Headers")
(synopsis "Vulkan Header files and API registry")
@ -189,13 +189,13 @@ interpretation of the specifications for these languages.")
(version (package-version vulkan-headers))
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/KhronosGroup/Vulkan-Loader/"
"archive/sdk-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Loader")
(commit (string-append "v" version))))
(sha256
(base32
"04d53ynlc0ww8r67hv4sxwg5sirjhpr1laaa9hc6j4niliw0166n"))))
"02m3sdcbl8s6qr1nsba5621vg3f4akkfaa7g9hi70cpvws4x0gg8"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".
@ -210,7 +210,7 @@ interpretation of the specifications for these languages.")
"-DBUILD_LAYERS=OFF" ; FIXME: Fails to build.
"-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' submodule.
(string-append "-DCMAKE_INSTALL_LIBDIR="
(assoc-ref %outputs "out") "/lib"))))
(assoc-ref %outputs "out") "/lib"))))
(inputs `(("glslang" ,glslang)
("libxcb" ,libxcb)
("libx11" ,libx11)
@ -242,16 +242,16 @@ and the ICD.")
(define-public vulkan-tools
(package
(name "vulkan-tools")
(version (package-version vulkan-headers))
(version "1.1.97.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/KhronosGroup/Vulkan-Tools/"
"archive/sdk-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit (string-append "sdk-" version))))
(sha256
(base32
"0r26px9rh09giddajlmafv21rx1la1y3bbnjgnpai8aw98wvq9mm"))))
"1p70wk0x546w1dlvlghrqm4l4b6ql0x08pdybyagnwwph0gdvqy3"))))
(build-system cmake-build-system)
(inputs
`(("glslang" ,glslang)
@ -264,7 +264,7 @@ and the ICD.")
`(("pkg-config" ,pkg-config)
("python" ,python)))
(arguments
`(#:tests? #f)) ; No tests.
`(#:tests? #f)) ; No tests.
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")

View File

@ -77,6 +77,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@ -507,16 +508,18 @@ libraries for working with JNLP applets.")
(define-public jansson
(package
(name "jansson")
(version "2.11")
(version "2.12")
(source (origin
(method url-fetch)
(uri
(string-append "http://www.digip.org/jansson/releases/jansson-"
version ".tar.gz"))
version ".tar.bz2"))
(sha256
(base32
"1x5jllzzqamq6kahx9d9a5mrarm9m3f30vfxvcqpi6p4mcnz91bf"))))
"1lp1mv8pjp5yziws66cy0dhpcam4bbjqhffk13v4vgdybp674pb4"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
(home-page "http://www.digip.org/jansson/")
(synopsis "JSON C library")
(description
@ -3993,15 +3996,6 @@ you'd expect.")
(base32
"163py4klka423x7li2b685gmg3a6hjf074mlff2ajhmi3l0lm8x6"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'use-empty-ssl-cert-file
(lambda _
;; Search for ca-certificates.crt files
;; during the check phase.
(setenv "SSL_CERT_FILE" "/dev/null")
#t)))))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
;; For check phase.
@ -6244,7 +6238,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(define-public nghttp2
(package
(name "nghttp2")
(version "1.32.0")
(version "1.35.1")
(source
(origin
(method url-fetch)
@ -6253,12 +6247,13 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
name "-" version ".tar.xz"))
(sha256
(base32
"0zbgp8f80h2zlfn8cd2ldrmgl81jzcdh1141n71aqmfckzaqj2kh"))))
"0fi6qg2w82636wixwkqy7bclpgxslmvg82r431hs8h6aqc4mnzwv"))))
(build-system gnu-build-system)
(outputs (list "out"
"lib")) ; only libnghttp2
(native-inputs
`(("pkg-config" ,pkg-config)
("gcc" ,gcc-7) ; 1.35.0 requires GCC6 or later
;; Required by tests.
("cunit" ,cunit)
@ -6290,6 +6285,9 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(("@prefix@")
(assoc-ref outputs "lib")))
#t))
(add-before 'configure 'work-around-bug-30756
(lambda _
(for-each unsetenv '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) #t))
(add-before 'check 'set-timezone-directory
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")

View File

@ -298,7 +298,7 @@ following the mouse.")
(define-public pixman
(package
(name "pixman")
(version "0.34.0")
(version "0.36.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -306,7 +306,7 @@ following the mouse.")
version ".tar.gz"))
(sha256
(base32
"13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))
"1blzrx50ssdv0pn56hcv2v0zw0vrjwj1sx22pkgjls1p9n6rr88w"))
(patches (search-patches "pixman-CVE-2016-5296.patch"))))
(build-system gnu-build-system)
(inputs
@ -324,7 +324,7 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
(version "2.4.93")
(version "2.4.96")
(source
(origin
(method url-fetch)
@ -334,7 +334,7 @@ rasterisation.")
".tar.bz2"))
(sha256
(base32
"0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f"))
"14xkip83qgljjaahzq40qgl60j54q7k00la1hbf5kk5lgg7ilmhd"))
(patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(arguments
@ -343,14 +343,12 @@ rasterisation.")
("armhf-linux"
'("--enable-exynos-experimental-api"
"--enable-omap-experimental-api"
;; XXX: This fails a symbol check on a build machine:
;; <https://hydra.gnu.org/build/2270314/nixlog/4/raw>
;; TODO: Update the list of symbols.
;;"--enable-etnaviv-experimental-api"
"--enable-etnaviv-experimental-api"
"--enable-tegra-experimental-api"
"--enable-freedreno-kgsl"))
("aarch64-linux"
'("--enable-tegra-experimental-api"
"--enable-etnaviv-experimental-api"
"--enable-freedreno-kgsl"))
(_ '())))))
(inputs

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,7 +27,10 @@
#:use-module (gnu system shadow)
#:use-module (gnu packages admin)
#:use-module (gnu packages databases)
#:use-module (guix build-system trivial)
#:use-module (guix build union)
#:use-module (guix modules)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
@ -141,16 +145,18 @@ host all all ::1/128 trust"))
(define-record-type* <postgresql-configuration>
postgresql-configuration make-postgresql-configuration
postgresql-configuration?
(postgresql postgresql-configuration-postgresql ;<package>
(default postgresql))
(port postgresql-configuration-port
(default 5432))
(locale postgresql-configuration-locale
(default "en_US.utf8"))
(config-file postgresql-configuration-file
(default (postgresql-config-file)))
(data-directory postgresql-configuration-data-directory
(default "/var/lib/postgresql/data")))
(postgresql postgresql-configuration-postgresql ;<package>
(default postgresql))
(port postgresql-configuration-port
(default 5432))
(locale postgresql-configuration-locale
(default "en_US.utf8"))
(config-file postgresql-configuration-file
(default (postgresql-config-file)))
(data-directory postgresql-configuration-data-directory
(default "/var/lib/postgresql/data"))
(extension-packages postgresql-configuration-extension-packages
(default '())))
(define %postgresql-accounts
(list (user-group (name "postgres") (system? #t))
@ -162,15 +168,36 @@ host all all ::1/128 trust"))
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin")))))
(define (final-postgresql postgresql extension-packages)
(if (null? extension-packages)
postgresql
(package
(inherit postgresql)
(source #f)
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils) (guix build union))
#:builder
(begin
(use-modules (guix build utils) (guix build union) (srfi srfi-26))
(union-build (assoc-ref %outputs "out") (map (lambda (input) (cdr input)) %build-inputs))
#t)))
(inputs
`(("postgresql" ,postgresql)
,@(map (lambda (extension) (list "extension" extension))
extension-packages))))))
(define postgresql-activation
(match-lambda
(($ <postgresql-configuration> postgresql port locale config-file data-directory)
(($ <postgresql-configuration> postgresql port locale config-file data-directory
extension-packages)
#~(begin
(use-modules (guix build utils)
(ice-9 match))
(let ((user (getpwnam "postgres"))
(initdb (string-append #$postgresql "/bin/initdb"))
(initdb (string-append #$(final-postgresql postgresql extension-packages)
"/bin/initdb"))
(initdb-args
(append
(if #$locale
@ -202,7 +229,8 @@ host all all ::1/128 trust"))
(define postgresql-shepherd-service
(match-lambda
(($ <postgresql-configuration> postgresql port locale config-file data-directory)
(($ <postgresql-configuration> postgresql port locale config-file data-directory
extension-packages)
(let* ((pg_ctl-wrapper
;; Wrapper script that switches to the 'postgres' user before
;; launching daemon.
@ -214,7 +242,8 @@ host all all ::1/128 trust"))
(match (command-line)
((_ mode)
(let ((user (getpwnam "postgres"))
(pg_ctl #$(file-append postgresql "/bin/pg_ctl"))
(pg_ctl #$(file-append (final-postgresql postgresql extension-packages)
"/bin/pg_ctl"))
(options (format #f "--config-file=~a -p ~d"
#$config-file #$port)))
(setgid (passwd:gid user))
@ -253,7 +282,8 @@ host all all ::1/128 trust"))
(port 5432)
(locale "en_US.utf8")
(config-file (postgresql-config-file))
(data-directory "/var/lib/postgresql/data"))
(data-directory "/var/lib/postgresql/data")
(extension-packages '()))
"Return a service that runs @var{postgresql}, the PostgreSQL database server.
The PostgreSQL daemon loads its runtime configuration from @var{config-file}
@ -264,7 +294,8 @@ and stores the database cluster in @var{data-directory}."
(port port)
(locale locale)
(config-file config-file)
(data-directory data-directory))))
(data-directory data-directory)
(extension-packages extension-packages))))
;;;

View File

@ -157,7 +157,8 @@ out if the connection could not be established in less than TIMEOUT seconds."
;; XXX: Use this hack instead of #:autoload to avoid compilation errors.
;; See <http://bugs.gnu.org/12202>.
(module-autoload! (current-module)
'(gnutls) '(make-session connection-end/client))
'(gnutls)
'(gnutls-version make-session connection-end/client))
(define %tls-ports
;; Mapping of session record ports to the underlying file port.
@ -268,7 +269,18 @@ host name without trailing dot."
;; "(gnutls) Priority Strings"); see <http://bugs.gnu.org/23311>.
;; Explicitly disable SSLv3, which is insecure:
;; <https://tools.ietf.org/html/rfc7568>.
(set-session-priorities! session "NORMAL:%COMPAT:-VERS-SSL3.0")
;;
;; FIXME: Since we currently fail to handle TLS 1.3 (with GnuTLS 3.6.5),
;; remove it; see <https://bugs.gnu.org/34102>.
(set-session-priorities! session
(string-append
"NORMAL:%COMPAT:-VERS-SSL3.0"
;; The "VERS-TLS1.3" priority string is not
;; supported by GnuTLS 3.5.
(if (string-prefix? "3.5." (gnutls-version))
""
":-VERS-TLS1.3")))
(set-session-credentials! session
(if (and verify-certificate? ca-certs)