From 54d3863f4487caf692625d6d85d083f03915b05a Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Sat, 18 Jan 2020 10:16:11 +0100 Subject: 20200118.1 global branch merge. Signed-off-by: Matteo Bernardini --- libraries/Atlas-C++/Atlas-C++.SlackBuild | 2 +- libraries/CEGUI0.7/CEGUI0.7.SlackBuild | 2 +- libraries/FreeImage/010_avoid-raw-literal.diff | 44 - libraries/FreeImage/FreeImage.SlackBuild | 6 +- libraries/FreeImage/FreeImage.info | 6 +- libraries/OpenAL/OpenAL.SlackBuild | 8 +- .../OpenSceneGraph/0008-Fix_wxWidgets_gl.patch | 12 + libraries/OpenSceneGraph/OpenSceneGraph.SlackBuild | 3 + libraries/SDL2/README | 7 - libraries/SDL2/SDL2.SlackBuild | 93 - libraries/SDL2/SDL2.info | 10 - libraries/SDL2/slack-desc | 19 - libraries/SDL2_image/README | 4 - libraries/SDL2_image/SDL2_image.SlackBuild | 99 - libraries/SDL2_image/SDL2_image.info | 10 - libraries/SDL2_image/slack-desc | 19 - libraries/SDL2_mixer/README | 11 - libraries/SDL2_mixer/SDL2_mixer.SlackBuild | 99 - libraries/SDL2_mixer/SDL2_mixer.info | 10 - libraries/SDL2_mixer/slack-desc | 19 - libraries/SDL2_net/README | 3 - libraries/SDL2_net/SDL2_net.SlackBuild | 100 - libraries/SDL2_net/SDL2_net.info | 10 - libraries/SDL2_net/slack-desc | 19 - libraries/SDL2_ttf/README | 4 - libraries/SDL2_ttf/SDL2_ttf.SlackBuild | 99 - libraries/SDL2_ttf/SDL2_ttf.info | 10 - libraries/SDL2_ttf/slack-desc | 19 - libraries/SDL_sound/SDL_sound.SlackBuild | 1 + libraries/SFGUI/SFGUI.SlackBuild | 18 +- libraries/SFGUI/SFGUI.info | 6 +- libraries/SimGear/SimGear.SlackBuild | 5 + libraries/agg/agg.SlackBuild | 1 + libraries/agg/patches/0016-bad-const.patch | 12 + libraries/argon2/README | 11 - libraries/argon2/argon2.SlackBuild | 95 - libraries/argon2/argon2.info | 10 - libraries/argon2/patches/Makefile.diff | 11 - libraries/argon2/patches/pkgconfig.diff | 21 - libraries/argon2/slack-desc | 19 - libraries/avr-libc/avr-libc.SlackBuild | 15 +- libraries/avr-libc/avr-libc.info | 6 +- libraries/bamf/add_compile_warning_flags.patch | 71 + libraries/bamf/bamf.SlackBuild | 6 +- libraries/bamf/bamf.info | 2 +- libraries/beignet/beignet.SlackBuild | 4 +- libraries/beignet/beignet.info | 6 +- libraries/beignet/llvm6.patch | 30 + libraries/belle-sip/belle-sip.SlackBuild | 2 + libraries/belle-sip/gcc9.patch | 19 + libraries/ccrtp/ccrtp.SlackBuild | 2 +- libraries/ccrtp/ccrtp.info | 6 +- libraries/cffi/cffi.SlackBuild | 2 +- libraries/cffi/cffi.info | 6 +- libraries/cppo/README | 2 + libraries/cppo/cppo.SlackBuild | 87 + libraries/cppo/cppo.info | 10 + libraries/cppo/slack-desc | 19 + libraries/cuneiform/cuneiform-gcc.patch | 98 + libraries/cuneiform/cuneiform.SlackBuild | 14 +- libraries/cuneiform/strings.patch | 19 + libraries/efivar/README | 1 - libraries/efivar/efivar.SlackBuild | 95 - libraries/efivar/efivar.info | 10 - libraries/efivar/slack-desc | 19 - .../0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch | 31 + libraries/efl/efl.SlackBuild | 3 + libraries/fuzzylite/fuzzylite.SlackBuild | 6 +- libraries/fuzzylite/fuzzylite.info | 6 +- libraries/gdl/gdl.SlackBuild | 4 +- libraries/gdl/gdl.info | 6 +- .../gstreamer-editing-services.SlackBuild | 2 +- .../gstreamer-editing-services.info | 6 +- libraries/gstreamermm/fix_warnings.patch | 15 + libraries/gstreamermm/gstreamermm.SlackBuild | 3 + libraries/gtkglext/0002-GCC-8-fixes.patch | 34 + libraries/gtkglext/gtkglext.SlackBuild | 3 +- libraries/gtksourceview3/gtksourceview3.SlackBuild | 2 +- libraries/gtksourceview3/gtksourceview3.info | 8 +- libraries/gtksourceview4/README | 4 + libraries/gtksourceview4/gtksourceview4.SlackBuild | 104 + libraries/gtksourceview4/gtksourceview4.info | 10 + libraries/gtksourceview4/slack-desc | 19 + libraries/hpx/gcc7.patch | 23 + libraries/hpx/hpx.SlackBuild | 4 + libraries/http-parser/http-parser.SlackBuild | 2 +- libraries/id3lib/README | 13 - libraries/id3lib/id3lib.SlackBuild | 119 - libraries/id3lib/id3lib.info | 10 - .../id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch | 90 - .../patches/id3lib_3.8.3_UTF16_writing_bug.patch | 39 - libraries/id3lib/patches/id3lib_Doxyfile.patch | 22 - libraries/id3lib/slack-desc | 19 - libraries/isl/README | 8 - libraries/isl/isl.SlackBuild | 115 - libraries/isl/isl.info | 10 - libraries/isl/slack-desc | 19 - libraries/jansson/README | 1 - libraries/jansson/jansson.SlackBuild | 99 - libraries/jansson/jansson.info | 10 - libraries/jansson/slack-desc | 19 - libraries/json-glib/README | 3 - libraries/json-glib/json-glib.SlackBuild | 97 - libraries/json-glib/json-glib.info | 10 - libraries/json-glib/slack-desc | 19 - libraries/lablgtk/README | 2 +- libraries/lablgtk/lablgtk.SlackBuild | 10 +- libraries/lablgtk/lablgtk.info | 10 +- libraries/lame/CVE-2017-15018.patch.gz | Bin 307 -> 0 bytes libraries/lame/README | 5 - libraries/lame/lame.SlackBuild | 118 - libraries/lame/lame.info | 10 - libraries/lame/slack-desc | 19 - libraries/libart-lgpl/README | 3 + libraries/libart-lgpl/libart-lgpl.SlackBuild | 100 + libraries/libart-lgpl/libart-lgpl.info | 10 + libraries/libart-lgpl/slack-desc | 20 + libraries/libbluray/README | 15 - libraries/libbluray/libbluray.SlackBuild | 111 - libraries/libbluray/libbluray.info | 10 - libraries/libbluray/slack-desc | 19 - libraries/libc++/README | 5 - libraries/libc++/libc++.SlackBuild | 116 - libraries/libc++/libc++.info | 14 - libraries/libc++/slack-desc | 19 - libraries/libclaw/lib.patch | 11 - libraries/libclaw/libclaw.SlackBuild | 6 +- .../libclaw/patches/01_libclaw-1.7.4-libdir.patch | 36 + .../libclaw/patches/02_libclaw-1.7.4-gcc62.patch | 89 + .../libclaw/patches/03_libclaw-1.7.4-gcc7.patch | 36 + libraries/libcuefile/libcuefile.SlackBuild | 18 +- libraries/libdbus-c++/gcc47.patch | 10 - libraries/libdbus-c++/libdbus-c++.SlackBuild | 22 +- libraries/libdbus-c++/libdbus-c++.info | 6 +- libraries/libdbus-c++/nested_variant_map.patch | 11 - .../libdbus-c++/patches/libdbus-c++-gcc7.patch | 11 + .../patches/libdbus-c++-glibmm-2.43.patch | 13 + .../patches/libdbus-c++-nodocdatetime.patch | 25 + .../libdbus-c++/patches/libdbus-c++-noreturn.patch | 21 + .../libdbus-c++/patches/libdbus-c++-pthread.patch | 11 + .../libdbus-c++/patches/libdbus-c++-sover.patch | 28 + libraries/libedit/README | 11 - libraries/libedit/libedit.SlackBuild | 105 - libraries/libedit/libedit.info | 10 - libraries/libedit/slack-desc | 19 - libraries/libevhtp/libevhtp.SlackBuild | 10 +- libraries/libevhtp/libevhtp.info | 6 +- libraries/libffado/libffado.SlackBuild | 23 +- libraries/libffado/libffado.info | 8 +- ...sing-semicolon-to-fix-build-with-icu-65.1.patch | 29 + libraries/libfreehand/libfreehand.SlackBuild | 2 + libraries/libgexiv2/README | 3 - libraries/libgexiv2/libgexiv2.SlackBuild | 95 - libraries/libgexiv2/libgexiv2.info | 10 - libraries/libgexiv2/slack-desc | 19 - libraries/libgksu/libgksu.SlackBuild | 1 + libraries/libgnome/libgnome.SlackBuild | 6 + libraries/libgnome/libgnome.info | 2 +- libraries/libgnomecanvas/libgnomecanvas.info | 2 +- libraries/libgnomeprint/libgnomeprint.SlackBuild | 1 + libraries/libgnomeprint/libgnomeprint.info | 2 +- libraries/libgnomeui/libgnomeui.SlackBuild | 6 + libraries/libidn2/README | 5 - libraries/libidn2/libidn2.SlackBuild | 107 - libraries/libidn2/libidn2.info | 10 - libraries/libidn2/slack-desc | 19 - libraries/libido3/libido3.SlackBuild | 3 + libraries/libindicator3/libindicator3.SlackBuild | 3 + libraries/libinput/README | 11 - libraries/libinput/libinput.SlackBuild | 93 - libraries/libinput/libinput.info | 10 - libraries/libinput/slack-desc | 19 - libraries/libircclient/libircclient.SlackBuild | 4 + libraries/libkqueue/libkqueue.SlackBuild | 28 +- libraries/libkqueue/libkqueue.info | 6 +- libraries/libmemcached/libmemcached.SlackBuild | 2 +- libraries/libmp4v2/libmp4v2.SlackBuild | 2 +- libraries/libmusicbrainz/libmusicbrainz.SlackBuild | 2 +- libraries/libmwaw/libmwaw.SlackBuild | 2 +- .../liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch | 147 + libraries/liboauth/liboauth.SlackBuild | 3 + .../libopenshot-audio/libopenshot-audio.SlackBuild | 4 +- libraries/libopenshot-audio/libopenshot-audio.info | 6 +- libraries/libopenshot/libopenshot.SlackBuild | 4 +- libraries/libopenshot/libopenshot.info | 10 +- libraries/libopusenc/README | 2 - libraries/libopusenc/libopusenc.SlackBuild | 99 - libraries/libopusenc/libopusenc.info | 10 - libraries/libopusenc/slack-desc | 19 - libraries/libpeas/libpeas.SlackBuild | 45 +- libraries/libpeas/libpeas.info | 6 +- libraries/libqinfinity/libqinfinity.SlackBuild | 2 +- .../libquicktime/libquicktime-1.2.4-ffmpeg4.patch | 342 ++ libraries/libquicktime/libquicktime.SlackBuild | 3 +- libraries/libqxt/libqxt-gcc6.patch | 11 + libraries/libqxt/libqxt.SlackBuild | 3 + libraries/libreplaygain/libreplaygain.SlackBuild | 16 +- libraries/libsearpc/libsearpc.SlackBuild | 14 +- libraries/libsearpc/libsearpc.info | 4 +- libraries/libsidplayfp/libsidplayfp.SlackBuild | 8 +- libraries/libsidplayfp/libsidplayfp.info | 6 +- libraries/libsodium/README | 2 - libraries/libsodium/libsodium.SlackBuild | 98 - libraries/libsodium/libsodium.info | 10 - libraries/libsodium/slack-desc | 19 - libraries/libsrtp/libsrtp.SlackBuild | 1 - libraries/libtorrent-rasterbar/boost-1.72.0.patch | 36 + .../libtorrent-rasterbar.SlackBuild | 5 + .../libtorrent-rasterbar/libtorrent-rasterbar.info | 6 +- libraries/libtxc_dxtn/README | 5 - libraries/libtxc_dxtn/libtxc_dxtn.SlackBuild | 96 - libraries/libtxc_dxtn/libtxc_dxtn.info | 10 - libraries/libtxc_dxtn/slack-desc | 19 - libraries/libunwind/README | 9 - libraries/libunwind/libunwind.SlackBuild | 104 - libraries/libunwind/libunwind.info | 10 - libraries/libunwind/slack-desc | 19 - libraries/libvirt-glib/libvirt-glib.SlackBuild | 2 +- libraries/libvirt-glib/libvirt-glib.info | 6 +- libraries/libvirt-python/libvirt-python.SlackBuild | 5 +- libraries/libvirt-python/libvirt-python.info | 8 +- libraries/libvirt/libvirt.SlackBuild | 10 +- libraries/libvirt/libvirt.info | 8 +- libraries/libwacom/README | 5 - libraries/libwacom/libwacom.SlackBuild | 102 - libraries/libwacom/libwacom.info | 10 - libraries/libwacom/slack-desc | 19 - libraries/libwebp/README | 18 - libraries/libwebp/libwebp.SlackBuild | 98 - libraries/libwebp/libwebp.info | 10 - libraries/libwebp/slack-desc | 19 - libraries/libwps/libwps.SlackBuild | 2 +- libraries/libzdb/libzdb.SlackBuild | 1 - libraries/libzrtpcpp/libzrtpcpp.SlackBuild | 4 +- libraries/libzrtpcpp/libzrtpcpp.info | 6 +- libraries/live555/live555.SlackBuild | 4 + libraries/med/med.SlackBuild | 1 + libraries/npth/README | 11 - libraries/npth/npth.SlackBuild | 95 - libraries/npth/npth.info | 10 - libraries/npth/slack-desc | 19 - libraries/ocaml-camomile/ocaml-camomile.SlackBuild | 49 +- libraries/ocaml-camomile/ocaml-camomile.info | 6 +- libraries/ocaml-findlib/ocaml-findlib.SlackBuild | 8 +- libraries/ocaml-findlib/ocaml-findlib.info | 10 +- libraries/ocl-icd/README | 19 - libraries/ocl-icd/ocl-icd.SlackBuild | 110 - libraries/ocl-icd/ocl-icd.info | 10 - libraries/ocl-icd/slack-desc | 19 - libraries/opal/README | 2 +- libraries/opal/ffmpeg2.patch | 398 -- libraries/opal/opal.SlackBuild | 12 +- libraries/openbabel/openbabel.SlackBuild | 14 +- libraries/openbabel/openbabel.info | 6 +- libraries/pcre2/README | 2 - libraries/pcre2/pcre2.SlackBuild | 103 - libraries/pcre2/pcre2.info | 10 - libraries/pcre2/slack-desc | 19 - libraries/physfs/physfs.SlackBuild | 4 +- libraries/podofo/podofo.SlackBuild | 2 + libraries/poppler-qt5/poppler-qt5.SlackBuild | 54 +- libraries/poppler-qt5/poppler-qt5.info | 6 +- .../ptlib/ptlib-2.10.10-mga-bison-parameter.patch | 39 - libraries/ptlib/ptlib-2.10.11-bison_fixes-2.patch | 2951 +++++++++++++++ libraries/ptlib/ptlib-2.10.11-openssl11.patch | 212 ++ libraries/ptlib/ptlib-gcc8.patch | 12 + libraries/ptlib/ptlib.SlackBuild | 8 +- libraries/ptlib/ssl3.patch | 19 - libraries/python3-PyQt5/python3-PyQt5.SlackBuild | 2 +- libraries/python3-pillow/README | 8 - libraries/python3-pillow/python3-pillow.SlackBuild | 107 - libraries/python3-pillow/python3-pillow.info | 10 - libraries/python3-pillow/slack-desc | 19 - libraries/qt5-webkit/icu4c-65.1.patch | 60 + libraries/qt5-webkit/qt5-webkit.SlackBuild | 7 +- libraries/qt5-webkit/qt5-webkit.info | 6 +- libraries/qt5/patches/eglfs_kms_egldevice.patch | 34 + libraries/qt5/patches/kernel_5.4_qtserialbus.patch | 11 + libraries/qt5/patches/qt5.webengine_gcc8.patch | 26 + libraries/qt5/patches/qtbase59-openssl11.patch | 3961 ++++++++++++++++++++ libraries/qt5/qt5.SlackBuild | 18 +- libraries/rapidjson/rapidjson.SlackBuild | 2 +- libraries/rudiments/rudiments.SlackBuild | 8 +- libraries/rudiments/rudiments.info | 6 +- libraries/sdformat/cmake.patch | 20 + libraries/sdformat/sdformat.SlackBuild | 3 + libraries/t4k_common/916060_bugfix.patch | 32 + libraries/t4k_common/t4k_common.SlackBuild | 3 + libraries/tls/tls.SlackBuild | 5 +- libraries/tls/tls.info | 6 +- .../totem-pl-parser/totem-pl-parser.SlackBuild | 42 +- libraries/totem-pl-parser/totem-pl-parser.info | 8 +- libraries/ucl/ucl.SlackBuild | 1 + libraries/ucommon/ucommon.SlackBuild | 2 +- libraries/ucommon/ucommon.info | 6 +- libraries/vte2/README | 7 + libraries/vte2/fix_meta_alt_keybinding.patch | 74 + libraries/vte2/slack-desc | 19 + libraries/vte2/vte.escape.cpu.usage.diff | 89 + libraries/vte2/vte2.SlackBuild | 109 + libraries/vte2/vte2.info | 10 + libraries/vte3/README | 7 - libraries/vte3/slack-desc | 19 - libraries/vte3/vte3.SlackBuild | 101 - libraries/vte3/vte3.info | 10 - libraries/webkit2gtk/icu4c-65.1.patch | 39 + libraries/webkit2gtk/webkit2gtk.SlackBuild | 4 +- libraries/webkit2gtk/webkit2gtk.info | 8 +- libraries/webkitgtk/icu4c-65.1.patch | 39 + libraries/webkitgtk/webkitgtk.SlackBuild | 6 +- libraries/webkitgtk3/icu4c-65.1.patch | 39 + libraries/webkitgtk3/webkitgtk3.SlackBuild | 8 +- ...-explicit-cast-and-prevent-compiler-error.patch | 50 + libraries/wvstreams/patches/05_gcc.diff | 13 - libraries/wvstreams/patches/openssl-buildfix.patch | 16 + libraries/wvstreams/wvstreams.SlackBuild | 9 +- libraries/wxsvg/wxsvg.SlackBuild | 4 +- libraries/wxsvg/wxsvg.info | 6 +- libraries/xf86-input-libinput/README | 20 - libraries/xf86-input-libinput/slack-desc | 19 - .../xf86-input-libinput.SlackBuild | 116 - .../xf86-input-libinput/xf86-input-libinput.info | 10 - libraries/xulrunner/README | 12 - libraries/xulrunner/ftfntfmt.patch | 35 - libraries/xulrunner/gold/gold | 2 - libraries/xulrunner/gold/ld | 2 - libraries/xulrunner/slack-desc | 19 - libraries/xulrunner/xulrunner.SlackBuild | 162 - libraries/xulrunner/xulrunner.info | 10 - 329 files changed, 9908 insertions(+), 5579 deletions(-) delete mode 100644 libraries/FreeImage/010_avoid-raw-literal.diff create mode 100644 libraries/OpenSceneGraph/0008-Fix_wxWidgets_gl.patch delete mode 100644 libraries/SDL2/README delete mode 100644 libraries/SDL2/SDL2.SlackBuild delete mode 100644 libraries/SDL2/SDL2.info delete mode 100644 libraries/SDL2/slack-desc delete mode 100644 libraries/SDL2_image/README delete mode 100644 libraries/SDL2_image/SDL2_image.SlackBuild delete mode 100644 libraries/SDL2_image/SDL2_image.info delete mode 100644 libraries/SDL2_image/slack-desc delete mode 100644 libraries/SDL2_mixer/README delete mode 100644 libraries/SDL2_mixer/SDL2_mixer.SlackBuild delete mode 100644 libraries/SDL2_mixer/SDL2_mixer.info delete mode 100644 libraries/SDL2_mixer/slack-desc delete mode 100644 libraries/SDL2_net/README delete mode 100644 libraries/SDL2_net/SDL2_net.SlackBuild delete mode 100644 libraries/SDL2_net/SDL2_net.info delete mode 100644 libraries/SDL2_net/slack-desc delete mode 100644 libraries/SDL2_ttf/README delete mode 100644 libraries/SDL2_ttf/SDL2_ttf.SlackBuild delete mode 100644 libraries/SDL2_ttf/SDL2_ttf.info delete mode 100644 libraries/SDL2_ttf/slack-desc create mode 100644 libraries/agg/patches/0016-bad-const.patch delete mode 100644 libraries/argon2/README delete mode 100644 libraries/argon2/argon2.SlackBuild delete mode 100644 libraries/argon2/argon2.info delete mode 100644 libraries/argon2/patches/Makefile.diff delete mode 100644 libraries/argon2/patches/pkgconfig.diff delete mode 100644 libraries/argon2/slack-desc create mode 100644 libraries/bamf/add_compile_warning_flags.patch create mode 100644 libraries/beignet/llvm6.patch create mode 100644 libraries/belle-sip/gcc9.patch create mode 100644 libraries/cppo/README create mode 100644 libraries/cppo/cppo.SlackBuild create mode 100644 libraries/cppo/cppo.info create mode 100644 libraries/cppo/slack-desc create mode 100644 libraries/cuneiform/cuneiform-gcc.patch create mode 100644 libraries/cuneiform/strings.patch delete mode 100644 libraries/efivar/README delete mode 100644 libraries/efivar/efivar.SlackBuild delete mode 100644 libraries/efivar/efivar.info delete mode 100644 libraries/efivar/slack-desc create mode 100644 libraries/efl/0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch create mode 100644 libraries/gstreamermm/fix_warnings.patch create mode 100644 libraries/gtkglext/0002-GCC-8-fixes.patch create mode 100644 libraries/gtksourceview4/README create mode 100644 libraries/gtksourceview4/gtksourceview4.SlackBuild create mode 100644 libraries/gtksourceview4/gtksourceview4.info create mode 100644 libraries/gtksourceview4/slack-desc create mode 100644 libraries/hpx/gcc7.patch delete mode 100644 libraries/id3lib/README delete mode 100644 libraries/id3lib/id3lib.SlackBuild delete mode 100644 libraries/id3lib/id3lib.info delete mode 100644 libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch delete mode 100644 libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch delete mode 100644 libraries/id3lib/patches/id3lib_Doxyfile.patch delete mode 100644 libraries/id3lib/slack-desc delete mode 100644 libraries/isl/README delete mode 100644 libraries/isl/isl.SlackBuild delete mode 100644 libraries/isl/isl.info delete mode 100644 libraries/isl/slack-desc delete mode 100644 libraries/jansson/README delete mode 100644 libraries/jansson/jansson.SlackBuild delete mode 100644 libraries/jansson/jansson.info delete mode 100644 libraries/jansson/slack-desc delete mode 100644 libraries/json-glib/README delete mode 100644 libraries/json-glib/json-glib.SlackBuild delete mode 100644 libraries/json-glib/json-glib.info delete mode 100644 libraries/json-glib/slack-desc delete mode 100644 libraries/lame/CVE-2017-15018.patch.gz delete mode 100644 libraries/lame/README delete mode 100644 libraries/lame/lame.SlackBuild delete mode 100644 libraries/lame/lame.info delete mode 100644 libraries/lame/slack-desc create mode 100644 libraries/libart-lgpl/README create mode 100644 libraries/libart-lgpl/libart-lgpl.SlackBuild create mode 100644 libraries/libart-lgpl/libart-lgpl.info create mode 100644 libraries/libart-lgpl/slack-desc delete mode 100644 libraries/libbluray/README delete mode 100644 libraries/libbluray/libbluray.SlackBuild delete mode 100644 libraries/libbluray/libbluray.info delete mode 100644 libraries/libbluray/slack-desc delete mode 100644 libraries/libc++/README delete mode 100644 libraries/libc++/libc++.SlackBuild delete mode 100644 libraries/libc++/libc++.info delete mode 100644 libraries/libc++/slack-desc delete mode 100644 libraries/libclaw/lib.patch create mode 100644 libraries/libclaw/patches/01_libclaw-1.7.4-libdir.patch create mode 100644 libraries/libclaw/patches/02_libclaw-1.7.4-gcc62.patch create mode 100644 libraries/libclaw/patches/03_libclaw-1.7.4-gcc7.patch delete mode 100644 libraries/libdbus-c++/gcc47.patch delete mode 100644 libraries/libdbus-c++/nested_variant_map.patch create mode 100644 libraries/libdbus-c++/patches/libdbus-c++-gcc7.patch create mode 100644 libraries/libdbus-c++/patches/libdbus-c++-glibmm-2.43.patch create mode 100644 libraries/libdbus-c++/patches/libdbus-c++-nodocdatetime.patch create mode 100644 libraries/libdbus-c++/patches/libdbus-c++-noreturn.patch create mode 100644 libraries/libdbus-c++/patches/libdbus-c++-pthread.patch create mode 100644 libraries/libdbus-c++/patches/libdbus-c++-sover.patch delete mode 100644 libraries/libedit/README delete mode 100644 libraries/libedit/libedit.SlackBuild delete mode 100644 libraries/libedit/libedit.info delete mode 100644 libraries/libedit/slack-desc create mode 100644 libraries/libfreehand/Add-missing-semicolon-to-fix-build-with-icu-65.1.patch delete mode 100644 libraries/libgexiv2/README delete mode 100644 libraries/libgexiv2/libgexiv2.SlackBuild delete mode 100644 libraries/libgexiv2/libgexiv2.info delete mode 100644 libraries/libgexiv2/slack-desc delete mode 100644 libraries/libidn2/README delete mode 100644 libraries/libidn2/libidn2.SlackBuild delete mode 100644 libraries/libidn2/libidn2.info delete mode 100644 libraries/libidn2/slack-desc delete mode 100644 libraries/libinput/README delete mode 100644 libraries/libinput/libinput.SlackBuild delete mode 100644 libraries/libinput/libinput.info delete mode 100644 libraries/libinput/slack-desc create mode 100644 libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch delete mode 100644 libraries/libopusenc/README delete mode 100644 libraries/libopusenc/libopusenc.SlackBuild delete mode 100644 libraries/libopusenc/libopusenc.info delete mode 100644 libraries/libopusenc/slack-desc create mode 100644 libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch create mode 100644 libraries/libqxt/libqxt-gcc6.patch delete mode 100644 libraries/libsodium/README delete mode 100644 libraries/libsodium/libsodium.SlackBuild delete mode 100644 libraries/libsodium/libsodium.info delete mode 100644 libraries/libsodium/slack-desc create mode 100644 libraries/libtorrent-rasterbar/boost-1.72.0.patch delete mode 100644 libraries/libtxc_dxtn/README delete mode 100644 libraries/libtxc_dxtn/libtxc_dxtn.SlackBuild delete mode 100644 libraries/libtxc_dxtn/libtxc_dxtn.info delete mode 100644 libraries/libtxc_dxtn/slack-desc delete mode 100644 libraries/libunwind/README delete mode 100644 libraries/libunwind/libunwind.SlackBuild delete mode 100644 libraries/libunwind/libunwind.info delete mode 100644 libraries/libunwind/slack-desc delete mode 100644 libraries/libwacom/README delete mode 100644 libraries/libwacom/libwacom.SlackBuild delete mode 100644 libraries/libwacom/libwacom.info delete mode 100644 libraries/libwacom/slack-desc delete mode 100644 libraries/libwebp/README delete mode 100644 libraries/libwebp/libwebp.SlackBuild delete mode 100644 libraries/libwebp/libwebp.info delete mode 100644 libraries/libwebp/slack-desc delete mode 100644 libraries/npth/README delete mode 100644 libraries/npth/npth.SlackBuild delete mode 100644 libraries/npth/npth.info delete mode 100644 libraries/npth/slack-desc delete mode 100644 libraries/ocl-icd/README delete mode 100644 libraries/ocl-icd/ocl-icd.SlackBuild delete mode 100644 libraries/ocl-icd/ocl-icd.info delete mode 100644 libraries/ocl-icd/slack-desc delete mode 100644 libraries/opal/ffmpeg2.patch delete mode 100644 libraries/pcre2/README delete mode 100644 libraries/pcre2/pcre2.SlackBuild delete mode 100644 libraries/pcre2/pcre2.info delete mode 100644 libraries/pcre2/slack-desc delete mode 100644 libraries/ptlib/ptlib-2.10.10-mga-bison-parameter.patch create mode 100644 libraries/ptlib/ptlib-2.10.11-bison_fixes-2.patch create mode 100644 libraries/ptlib/ptlib-2.10.11-openssl11.patch create mode 100644 libraries/ptlib/ptlib-gcc8.patch delete mode 100644 libraries/ptlib/ssl3.patch delete mode 100644 libraries/python3-pillow/README delete mode 100644 libraries/python3-pillow/python3-pillow.SlackBuild delete mode 100644 libraries/python3-pillow/python3-pillow.info delete mode 100644 libraries/python3-pillow/slack-desc create mode 100644 libraries/qt5-webkit/icu4c-65.1.patch create mode 100644 libraries/qt5/patches/eglfs_kms_egldevice.patch create mode 100644 libraries/qt5/patches/kernel_5.4_qtserialbus.patch create mode 100644 libraries/qt5/patches/qt5.webengine_gcc8.patch create mode 100644 libraries/qt5/patches/qtbase59-openssl11.patch create mode 100644 libraries/sdformat/cmake.patch create mode 100644 libraries/t4k_common/916060_bugfix.patch create mode 100644 libraries/vte2/README create mode 100644 libraries/vte2/fix_meta_alt_keybinding.patch create mode 100644 libraries/vte2/slack-desc create mode 100644 libraries/vte2/vte.escape.cpu.usage.diff create mode 100644 libraries/vte2/vte2.SlackBuild create mode 100644 libraries/vte2/vte2.info delete mode 100644 libraries/vte3/README delete mode 100644 libraries/vte3/slack-desc delete mode 100644 libraries/vte3/vte3.SlackBuild delete mode 100644 libraries/vte3/vte3.info create mode 100644 libraries/webkit2gtk/icu4c-65.1.patch create mode 100644 libraries/webkitgtk/icu4c-65.1.patch create mode 100644 libraries/webkitgtk3/icu4c-65.1.patch create mode 100644 libraries/wvstreams/patches/0001-Use-explicit-cast-and-prevent-compiler-error.patch create mode 100644 libraries/wvstreams/patches/openssl-buildfix.patch delete mode 100644 libraries/xf86-input-libinput/README delete mode 100644 libraries/xf86-input-libinput/slack-desc delete mode 100644 libraries/xf86-input-libinput/xf86-input-libinput.SlackBuild delete mode 100644 libraries/xf86-input-libinput/xf86-input-libinput.info delete mode 100644 libraries/xulrunner/README delete mode 100644 libraries/xulrunner/ftfntfmt.patch delete mode 100644 libraries/xulrunner/gold/gold delete mode 100644 libraries/xulrunner/gold/ld delete mode 100644 libraries/xulrunner/slack-desc delete mode 100644 libraries/xulrunner/xulrunner.SlackBuild delete mode 100644 libraries/xulrunner/xulrunner.info (limited to 'libraries') diff --git a/libraries/Atlas-C++/Atlas-C++.SlackBuild b/libraries/Atlas-C++/Atlas-C++.SlackBuild index ebd6a108a4..0d55715acd 100644 --- a/libraries/Atlas-C++/Atlas-C++.SlackBuild +++ b/libraries/Atlas-C++/Atlas-C++.SlackBuild @@ -70,7 +70,7 @@ find -L . \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -Wno-error=deprecated" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/CEGUI0.7/CEGUI0.7.SlackBuild b/libraries/CEGUI0.7/CEGUI0.7.SlackBuild index 30917134f4..18d54dd14a 100644 --- a/libraries/CEGUI0.7/CEGUI0.7.SlackBuild +++ b/libraries/CEGUI0.7/CEGUI0.7.SlackBuild @@ -72,7 +72,7 @@ find -L . \ patch -p1 < $CWD/CEGUI.patch CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -fpermissive" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/FreeImage/010_avoid-raw-literal.diff b/libraries/FreeImage/010_avoid-raw-literal.diff deleted file mode 100644 index a22d3f58a8..0000000000 --- a/libraries/FreeImage/010_avoid-raw-literal.diff +++ /dev/null @@ -1,44 +0,0 @@ -# See: https://sourceforge.net/p/freeimage/discussion/36110/thread/605ef8e4 -# ---- Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c.orig 2015-02-20 03:34:38.000000000 +1000 -+++ Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c 2016-11-20 08:42:49.733624164 +1000 -@@ -54,9 +54,9 @@ - "srl %[temp5], %[temp5], 24 \n\t" \ - "srl %[temp6], %[temp6], 24 \n\t" \ - "srl %[temp7], %[temp7], 24 \n\t" \ -- "sb %[temp5], "#R"(%[dst]) \n\t" \ -- "sb %[temp6], "#G"(%[dst]) \n\t" \ -- "sb %[temp7], "#B"(%[dst]) \n\t" \ -+ "sb %[temp5], " #R "(%[dst]) \n\t" \ -+ "sb %[temp6], " #G "(%[dst]) \n\t" \ -+ "sb %[temp7], " #B "(%[dst]) \n\t" \ - - #define ASM_CLOBBER_LIST() \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ ---- Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c.orig 2015-02-20 03:34:36.000000000 +1000 -+++ Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c 2016-11-20 08:39:33.163757201 +1000 -@@ -34,15 +34,15 @@ - G = G - t2 + kGCst; \ - B = B + kBCst; \ - __asm__ volatile ( \ -- "shll_s.w %["#R"], %["#R"], 9 \n\t" \ -- "shll_s.w %["#G"], %["#G"], 9 \n\t" \ -- "shll_s.w %["#B"], %["#B"], 9 \n\t" \ -- "precrqu_s.qb.ph %["#R"], %["#R"], $zero \n\t" \ -- "precrqu_s.qb.ph %["#G"], %["#G"], $zero \n\t" \ -- "precrqu_s.qb.ph %["#B"], %["#B"], $zero \n\t" \ -- "srl %["#R"], %["#R"], 24 \n\t" \ -- "srl %["#G"], %["#G"], 24 \n\t" \ -- "srl %["#B"], %["#B"], 24 \n\t" \ -+ "shll_s.w %[" #R "], %[" #R "], 9 \n\t" \ -+ "shll_s.w %[" #G "], %[" #G "], 9 \n\t" \ -+ "shll_s.w %[" #B "], %[" #B "], 9 \n\t" \ -+ "precrqu_s.qb.ph %[" #R "], %[" #R "], $zero \n\t" \ -+ "precrqu_s.qb.ph %[" #G "], %[" #G "], $zero \n\t" \ -+ "precrqu_s.qb.ph %[" #B "], %[" #B "], $zero \n\t" \ -+ "srl %[" #R "], %[" #R "], 24 \n\t" \ -+ "srl %[" #G "], %[" #G "], 24 \n\t" \ -+ "srl %[" #B "], %[" #B "], 24 \n\t" \ - : [R]"+r"(R), [G]"+r"(G), [B]"+r"(B) \ - : \ - ); \ diff --git a/libraries/FreeImage/FreeImage.SlackBuild b/libraries/FreeImage/FreeImage.SlackBuild index 9787e0772a..200292024e 100644 --- a/libraries/FreeImage/FreeImage.SlackBuild +++ b/libraries/FreeImage/FreeImage.SlackBuild @@ -5,7 +5,7 @@ # Taken over in 2011 by Alan Alberghini <414N@slacky.it> PRGNAM=FreeImage -VERSION=${VERSION:-3.17.0} +VERSION=${VERSION:-3.18.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -53,10 +53,6 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Patch in order to compile on gcc >= 5.1 environments -# Thanks to Christoph Willing -patch -p0 < $CWD/010_avoid-raw-literal.diff - CFLAGS="$SLKCFLAGS -fexceptions -fvisibility=hidden -DNO_LCMS" \ CXXFLAGS="$SLKCFLAGS -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy" \ make INSTALLDIR=$PKG/usr/lib${LIBDIRSUFFIX} DESTDIR=$PKG diff --git a/libraries/FreeImage/FreeImage.info b/libraries/FreeImage/FreeImage.info index 10a5f841cb..639d2753d1 100644 --- a/libraries/FreeImage/FreeImage.info +++ b/libraries/FreeImage/FreeImage.info @@ -1,8 +1,8 @@ PRGNAM="FreeImage" -VERSION="3.17.0" +VERSION="3.18.0" HOMEPAGE="http://freeimage.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/freeimage/FreeImage3170.zip" -MD5SUM="459e15f0ec75d6efa3c7bd63277ead86" +DOWNLOAD="http://downloads.sourceforge.net/freeimage/FreeImage3180.zip" +MD5SUM="f8ba138a3be233a3eed9c456e42e2578" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/OpenAL/OpenAL.SlackBuild b/libraries/OpenAL/OpenAL.SlackBuild index 7dccf74faf..829b3bf204 100644 --- a/libraries/OpenAL/OpenAL.SlackBuild +++ b/libraries/OpenAL/OpenAL.SlackBuild @@ -30,7 +30,7 @@ TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -41,8 +41,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -76,7 +76,7 @@ cmake \ -DCMAKE_VERBOSE_MAKEFILE:BOOL="on" \ -DCMAKE_BUILD_TYPE=Release \ -DALSOFT_EXAMPLES=OFF \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} + -DLIB_SUFFIX=${LIBDIRSUFFIX} . make make install/strip DESTDIR=$PKG diff --git a/libraries/OpenSceneGraph/0008-Fix_wxWidgets_gl.patch b/libraries/OpenSceneGraph/0008-Fix_wxWidgets_gl.patch new file mode 100644 index 0000000000..70cc792eb8 --- /dev/null +++ b/libraries/OpenSceneGraph/0008-Fix_wxWidgets_gl.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -763,8 +763,7 @@ IF (BUILD_OSG_EXAMPLES AND NOT ANDROID + FIND_PACKAGE(GLUT) + FIND_PACKAGE(FOX) + +- SET(wxWidgets_USE_LIBS base core gl net) +- FIND_PACKAGE(wxWidgets) ++ FIND_PACKAGE(wxWidgets COMPONENTS base core gl net) + + ENDIF(BUILD_OSG_EXAMPLES AND NOT ANDROID) + diff --git a/libraries/OpenSceneGraph/OpenSceneGraph.SlackBuild b/libraries/OpenSceneGraph/OpenSceneGraph.SlackBuild index a158f30565..41183973f1 100644 --- a/libraries/OpenSceneGraph/OpenSceneGraph.SlackBuild +++ b/libraries/OpenSceneGraph/OpenSceneGraph.SlackBuild @@ -59,6 +59,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Work around for wx_gtk3_gl library not being linked with - thanks fedora +patch -p1 < $CWD/0008-Fix_wxWidgets_gl.patch + mkdir -p build cd build cmake .. \ diff --git a/libraries/SDL2/README b/libraries/SDL2/README deleted file mode 100644 index 8e26524439..0000000000 --- a/libraries/SDL2/README +++ /dev/null @@ -1,7 +0,0 @@ -Simple DirectMedia Layer is a cross-platform development library designed to -provide low-level access to audio, keyboard, mouse, joystick, and graphics -hardware via OpenGL. - -SDL is written in C and works natively with C++. - -This is safe to install alongside Slackware's SDL libraries. diff --git a/libraries/SDL2/SDL2.SlackBuild b/libraries/SDL2/SDL2.SlackBuild deleted file mode 100644 index 7fe728b6e2..0000000000 --- a/libraries/SDL2/SDL2.SlackBuild +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh - -# Slackware build script for SDL2 - -# Copyright 2013 Dugan Chen Canada -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=SDL2 -VERSION=${VERSION:-2.0.9} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p build -cd build - cmake \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} \ - -DCMAKE_BUILD_TYPE=Release .. - make - make install DESTDIR=$PKG -cd .. - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a *.txt docs/*.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/SDL2/SDL2.info b/libraries/SDL2/SDL2.info deleted file mode 100644 index 20cbe825dc..0000000000 --- a/libraries/SDL2/SDL2.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="SDL2" -VERSION="2.0.9" -HOMEPAGE="https://libsdl.org" -DOWNLOAD="https://www.libsdl.org/release/SDL2-2.0.9.tar.gz" -MD5SUM="f2ecfba915c54f7200f504d8b48a5dfe" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Dugan Chen" -EMAIL="thedoogster [at] gmail [dot] com" diff --git a/libraries/SDL2/slack-desc b/libraries/SDL2/slack-desc deleted file mode 100644 index fa23090367..0000000000 --- a/libraries/SDL2/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -SDL2: SDL2 (Simple DirectMedia Layer Version 2) -SDL2: -SDL2: Simple DirectMedia Layer is a cross-platform development library -SDL2: designed to provide low-level access to audio, keyboard, mouse, -SDL2: joystick, and graphics hardware ia via OpenGL. -SDL2: -SDL2: SDL is written in C and works natively with C++. -SDL2: -SDL2: https://libsdl.org -SDL2: -SDL2: diff --git a/libraries/SDL2_image/README b/libraries/SDL2_image/README deleted file mode 100644 index efd18ed49e..0000000000 --- a/libraries/SDL2_image/README +++ /dev/null @@ -1,4 +0,0 @@ -SDL2_image is a simple library to load images of various formats as -SDL surfaces. It is safe to install alongside Slackware's SDL libraries. - -libwebp is an optional dependency. diff --git a/libraries/SDL2_image/SDL2_image.SlackBuild b/libraries/SDL2_image/SDL2_image.SlackBuild deleted file mode 100644 index 73562ae808..0000000000 --- a/libraries/SDL2_image/SDL2_image.SlackBuild +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh - -# Slackware build script for SDL2_image - -# Copyright 2013 Dugan Chen Canada -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=SDL2_image -VERSION=${VERSION:-2.0.4} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --enable-static=no \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux \ - --enable-jpg-shared=no - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/SDL2_image/SDL2_image.info b/libraries/SDL2_image/SDL2_image.info deleted file mode 100644 index 755869fb05..0000000000 --- a/libraries/SDL2_image/SDL2_image.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="SDL2_image" -VERSION="2.0.4" -HOMEPAGE="https://www.libsdl.org/projects/SDL_image/" -DOWNLOAD="https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz" -MD5SUM="88b9766d5b64a67f82ba511c57e7ce10" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="SDL2" -MAINTAINER="Dugan Chen" -EMAIL="thedoogster [at] gmail [dot] com" diff --git a/libraries/SDL2_image/slack-desc b/libraries/SDL2_image/slack-desc deleted file mode 100644 index c92a593f27..0000000000 --- a/libraries/SDL2_image/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -SDL2_image: SDL2_image (image loading library) -SDL2_image: -SDL2_image: SDL2_image is a simple image loading library. It loads images of -SDL2_image: various formats as SDL surfaces and textures. -SDL2_image: -SDL2_image: https://www.libsdl.org/projects/SDL_image/ -SDL2_image: -SDL2_image: -SDL2_image: -SDL2_image: -SDL2_image: diff --git a/libraries/SDL2_mixer/README b/libraries/SDL2_mixer/README deleted file mode 100644 index 5d39240c67..0000000000 --- a/libraries/SDL2_mixer/README +++ /dev/null @@ -1,11 +0,0 @@ -SDL2_mixer is a sample multi-channel audio mixer library. It supports -any number of simultaneously playing channels of 16-bit stereo audio, -plus a single channel of music. - -It is safe to install alongside Slackware's SDL libraries. - -Optional dependencies are: - -* libmodplug (for MOD support) -* fluidsynth (for MIDI support via SDL_SOUNDFONTS) -* smpeg2 (for MP3 support, not available on SBo) diff --git a/libraries/SDL2_mixer/SDL2_mixer.SlackBuild b/libraries/SDL2_mixer/SDL2_mixer.SlackBuild deleted file mode 100644 index ff3d6cb323..0000000000 --- a/libraries/SDL2_mixer/SDL2_mixer.SlackBuild +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh - -# Slackware build script for SDL2_mixer - -# Copyright 2013-2015 Dugan Chen Canada -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=SDL2_mixer -VERSION=${VERSION:-2.0.4} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --enable-static=no \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples -cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION -cp -a playmus.c playwave.c $PKG/usr/doc/$PRGNAM-$VERSION/examples -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/SDL2_mixer/SDL2_mixer.info b/libraries/SDL2_mixer/SDL2_mixer.info deleted file mode 100644 index 23ba1784ba..0000000000 --- a/libraries/SDL2_mixer/SDL2_mixer.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="SDL2_mixer" -VERSION="2.0.4" -HOMEPAGE="https://www.libsdl.org/projects/SDL_mixer/" -DOWNLOAD="https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.tar.gz" -MD5SUM="a36e8410cac46b00a4d01752b32c3eb1" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="SDL2" -MAINTAINER="Dugan Chen" -EMAIL="thedoogster [at] gmail [dot] com" diff --git a/libraries/SDL2_mixer/slack-desc b/libraries/SDL2_mixer/slack-desc deleted file mode 100644 index bf7934c6ee..0000000000 --- a/libraries/SDL2_mixer/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -SDL2_mixer: SDL2_mixer (sample multi-channel audio mixer library) -SDL2_mixer: -SDL2_mixer: SDL_mixer is a sample multi-channel audio mixer library. It supports -SDL2_mixer: any number of simultaneously playing channels of 16-bit stereo audio, -SDL2_mixer: plus a single channel of music. -SDL2_mixer: -SDL2_mixer: https://www.libsdl.org/projects/SDL_mixer/ -SDL2_mixer: -SDL2_mixer: -SDL2_mixer: -SDL2_mixer: diff --git a/libraries/SDL2_net/README b/libraries/SDL2_net/README deleted file mode 100644 index 3f3e632887..0000000000 --- a/libraries/SDL2_net/README +++ /dev/null @@ -1,3 +0,0 @@ -This SDL2 extension is a small cross platform networking library. - -It is safe to install alongside Slackware's SDL libraries. diff --git a/libraries/SDL2_net/SDL2_net.SlackBuild b/libraries/SDL2_net/SDL2_net.SlackBuild deleted file mode 100644 index ac25dc3fe3..0000000000 --- a/libraries/SDL2_net/SDL2_net.SlackBuild +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/sh - -# Slackware build script for SDL2_net - -# Copyright 2013 Dugan Chen Canada -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=SDL2_net -VERSION=${VERSION:-2.0.1} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --enable-static=no \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux \ - --disable-gui - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/demo -cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION -cp -a chat.cpp chat.h chatd.c $PKG/usr/doc/$PRGNAM-$VERSION/demo -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/SDL2_net/SDL2_net.info b/libraries/SDL2_net/SDL2_net.info deleted file mode 100644 index d607b71b3f..0000000000 --- a/libraries/SDL2_net/SDL2_net.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="SDL2_net" -VERSION="2.0.1" -HOMEPAGE="https://www.libsdl.org/projects/SDL_net/" -DOWNLOAD="https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.0.1.tar.gz" -MD5SUM="5c1d9d1cfa63301b141cb5c0de2ea7c4" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="SDL2" -MAINTAINER="Dugan Chen" -EMAIL="thedoogster [at] gmail [dot] com" diff --git a/libraries/SDL2_net/slack-desc b/libraries/SDL2_net/slack-desc deleted file mode 100644 index 3f45345ca4..0000000000 --- a/libraries/SDL2_net/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -SDL2_net: SDL2_net (cross platform networking library) -SDL2_net: -SDL2_net: This is a small cross platform networking library. -SDL2_net: -SDL2_net: -SDL2_net: -SDL2_net: -SDL2_net: -SDL2_net: -SDL2_net: -SDL2_net: diff --git a/libraries/SDL2_ttf/README b/libraries/SDL2_ttf/README deleted file mode 100644 index ac5e99801e..0000000000 --- a/libraries/SDL2_ttf/README +++ /dev/null @@ -1,4 +0,0 @@ -This is a sample library which allows you to use TrueType fonts -in your SDL2 applications. - -It is safe to install alongside Slackware's SDL packages. diff --git a/libraries/SDL2_ttf/SDL2_ttf.SlackBuild b/libraries/SDL2_ttf/SDL2_ttf.SlackBuild deleted file mode 100644 index fb3177ba19..0000000000 --- a/libraries/SDL2_ttf/SDL2_ttf.SlackBuild +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh - -# Slackware build script for SDL2_ttf - -# Copyright 2013 Dugan Chen Canada -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=SDL2_ttf -VERSION=${VERSION:-2.0.14} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --enable-static=no \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples -cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION -cp -a showfont.c $PKG/usr/doc/$PRGNAM-$VERSION/examples -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/SDL2_ttf/SDL2_ttf.info b/libraries/SDL2_ttf/SDL2_ttf.info deleted file mode 100644 index e81eed0c1d..0000000000 --- a/libraries/SDL2_ttf/SDL2_ttf.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="SDL2_ttf" -VERSION="2.0.14" -HOMEPAGE="https://www.libsdl.org/projects/SDL_ttf/" -DOWNLOAD="https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.tar.gz" -MD5SUM="e53c05e1e7f1382c316afd6c763388b1" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="SDL2" -MAINTAINER="Dugan Chen" -EMAIL="thedoogster [at] gmail [dot] com" diff --git a/libraries/SDL2_ttf/slack-desc b/libraries/SDL2_ttf/slack-desc deleted file mode 100644 index dbd7fee216..0000000000 --- a/libraries/SDL2_ttf/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -SDL2_ttf: SDL2_ttf (SDL2 truetype font library) -SDL2_ttf: -SDL2_ttf: This is a sample library which allows you to use -SDL2_ttf: TrueType fonts in your SDL applications. -SDL2_ttf: -SDL2_ttf: -SDL2_ttf: -SDL2_ttf: -SDL2_ttf: -SDL2_ttf: -SDL2_ttf: diff --git a/libraries/SDL_sound/SDL_sound.SlackBuild b/libraries/SDL_sound/SDL_sound.SlackBuild index 3098531f6a..4d69722942 100644 --- a/libraries/SDL_sound/SDL_sound.SlackBuild +++ b/libraries/SDL_sound/SDL_sound.SlackBuild @@ -75,6 +75,7 @@ CXXFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ + --disable-physfs \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --build=$ARCH-slackware-linux diff --git a/libraries/SFGUI/SFGUI.SlackBuild b/libraries/SFGUI/SFGUI.SlackBuild index 4d1707634a..834f3d0f3c 100644 --- a/libraries/SFGUI/SFGUI.SlackBuild +++ b/libraries/SFGUI/SFGUI.SlackBuild @@ -10,13 +10,13 @@ # without any warranty. PRGNAM=SFGUI -VERSION=${VERSION:-0.3.0} +VERSION=${VERSION:-0.4.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -27,8 +27,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -47,7 +47,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -unzip $CWD/$PRGNAM-$VERSION.zip || unzip $CWD/$VERSION.zip +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION chown -R root:root . find -L . \ @@ -62,13 +62,9 @@ cd build -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX="$LIBDIRSUFFIX" \ -DCMAKE_BUILD_TYPE=Release .. -# -DLIB_SUFFIX is ignored. Patch CMakeLists as needed. - sed -i \ - -e "s:\\\${CMAKE_INSTALL_PREFIX}/lib:&${LIBDIRSUFFIX}:" \ - cmake_install.cmake - make make install DESTDIR=$PKG cd .. @@ -79,7 +75,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a README CHANGELOG FONT.LICENSE LICENSE AUTHORS $PKG/usr/doc/$PRGNAM-$VERSION +cp -a README.md CHANGELOG.md FONT.LICENSE.md LICENSE.md AUTHORS.md $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/libraries/SFGUI/SFGUI.info b/libraries/SFGUI/SFGUI.info index 189165e049..008223a196 100644 --- a/libraries/SFGUI/SFGUI.info +++ b/libraries/SFGUI/SFGUI.info @@ -1,8 +1,8 @@ PRGNAM="SFGUI" -VERSION="0.3.0" +VERSION="0.4.0" HOMEPAGE="https://github.com/TankOs/SFGUI" -DOWNLOAD="https://github.com/TankOs/SFGUI/archive/0.3.0.zip" -MD5SUM="9e704175dca7c8632e9f72a321c21e25" +DOWNLOAD="https://github.com/TankOs/SFGUI/archive/0.4.0/SFGUI-0.4.0.tar.gz" +MD5SUM="16d4784fbdba30583a6c4fd38c27b323" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="SFML" diff --git a/libraries/SimGear/SimGear.SlackBuild b/libraries/SimGear/SimGear.SlackBuild index 02e0b04b75..6d90182ca0 100644 --- a/libraries/SimGear/SimGear.SlackBuild +++ b/libraries/SimGear/SimGear.SlackBuild @@ -80,6 +80,11 @@ cd build -DSYSTEM_EXPAT=ON \ -DENABLE_TESTS=OFF \ -DCMAKE_BUILD_TYPE=Release .. + + # various CMakeLists.txt files must be revised for the newer cmake... + mv config.h ../3rdparty/udns/ + mv simgear/simgear_config.h simgear/version.h ../simgear/ + make make install DESTDIR=$PKG cd .. diff --git a/libraries/agg/agg.SlackBuild b/libraries/agg/agg.SlackBuild index 02a9477479..619b80b00f 100644 --- a/libraries/agg/agg.SlackBuild +++ b/libraries/agg/agg.SlackBuild @@ -71,6 +71,7 @@ CXXFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/man \ + --disable-examples \ --disable-static \ --build=$ARCH-slackware-linux diff --git a/libraries/agg/patches/0016-bad-const.patch b/libraries/agg/patches/0016-bad-const.patch new file mode 100644 index 0000000000..045e77ba13 --- /dev/null +++ b/libraries/agg/patches/0016-bad-const.patch @@ -0,0 +1,12 @@ +diff -u -r agg-2.5/include/agg_renderer_outline_aa.h agg-2.5-const/include/agg_renderer_outline_aa.h +--- agg-2.5/include/agg_renderer_outline_aa.h 2006-10-09 06:07:08.000000000 +0200 ++++ agg-2.5-const/include/agg_renderer_outline_aa.h 2018-06-16 23:09:16.500057814 +0200 +@@ -1375,7 +1375,7 @@ + //--------------------------------------------------------------------- + void profile(const line_profile_aa& prof) { m_profile = &prof; } + const line_profile_aa& profile() const { return *m_profile; } +- line_profile_aa& profile() { return *m_profile; } ++ line_profile_aa& profile() { return *const_cast(m_profile); } + + //--------------------------------------------------------------------- + int subpixel_width() const { return m_profile->subpixel_width(); } diff --git a/libraries/argon2/README b/libraries/argon2/README deleted file mode 100644 index d4460f624c..0000000000 --- a/libraries/argon2/README +++ /dev/null @@ -1,11 +0,0 @@ -This is the reference C implementation of Argon2, the password-hashing -function that won the Password Hashing Competition (PHC). - -Argon2 is a password-hashing function that summarizes the state of the art -in the design of memory-hard functions and can be used to hash passwords -for credential storage, key derivation, or other applications. - -It has a simple design aimed at the highest memory filling rate and effective -use of multiple computing units, while still providing defense against -tradeoff attacks (by exploiting the cache and memory organization of the -recent processors). diff --git a/libraries/argon2/argon2.SlackBuild b/libraries/argon2/argon2.SlackBuild deleted file mode 100644 index a72688156e..0000000000 --- a/libraries/argon2/argon2.SlackBuild +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - -# Slackware build script for argon2 - -# Copyright 2017 Mario Preksavec, Zagreb, Croatia -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=argon2 -VERSION=${VERSION:-20170329_1eea010} -SRCNAM=phc-winner-argon2 -COMMIT=${COMMIT:-1eea0104e7cb2a38c617cf90ffa46ce5db6aceda} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - LIBDIRSUFFIX="64" -else - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-COMMIT -tar xvf $CWD/$SRCNAM-$COMMIT.tar.gz -cd $SRCNAM-$COMMIT -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -sed -e "s|@@LIBDIRSUFFIX@@|$LIBDIRSUFFIX|" \ - -e "s|@@VERSION@@|$VERSION|" $CWD/patches/pkgconfig.diff | patch -p1 - -sed -e "s|@@LIBDIRSUFFIX@@|$LIBDIRSUFFIX|" $CWD/patches/Makefile.diff | patch -p1 - -make libs DESTDIR=$PKG -make install DESTDIR=$PKG - -install -Dm644 man/$PRGNAM.1 $PKG/usr/man/man1/$PRGNAM.1 -install -Dm644 lib$PRGNAM.pc $PKG/usr/lib$LIBDIRSUFFIX/pkgconfig/lib$PRGNAM.pc - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE README.md argon2-specs.pdf $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/argon2/argon2.info b/libraries/argon2/argon2.info deleted file mode 100644 index 860af64a39..0000000000 --- a/libraries/argon2/argon2.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="argon2" -VERSION="20170329_1eea010" -HOMEPAGE="https://github.com/P-H-C/phc-winner-argon2/" -DOWNLOAD="https://github.com/P-H-C/phc-winner-argon2/archive/1eea010/phc-winner-argon2-1eea0104e7cb2a38c617cf90ffa46ce5db6aceda.tar.gz" -MD5SUM="c65e2070180a65c34db7190a6a932f3c" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Mario Preksavec" -EMAIL="mario at slackware dot hr" diff --git a/libraries/argon2/patches/Makefile.diff b/libraries/argon2/patches/Makefile.diff deleted file mode 100644 index 42506d23dd..0000000000 --- a/libraries/argon2/patches/Makefile.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- argon2-20170329_1eea010/Makefile.orig 2017-03-29 00:44:20.000000000 +0200 -+++ argon2-20170329_1eea010/Makefile 2017-08-01 14:01:49.766250175 +0200 -@@ -114,7 +114,7 @@ - DESTDIR = - PREFIX = /usr - INCLUDE_REL = include --LIBRARY_REL = lib -+LIBRARY_REL = lib@@LIBDIRSUFFIX@@ - BINARY_REL = bin - - INST_INCLUDE = $(DESTDIR)$(PREFIX)/$(INCLUDE_REL) diff --git a/libraries/argon2/patches/pkgconfig.diff b/libraries/argon2/patches/pkgconfig.diff deleted file mode 100644 index 807de8045e..0000000000 --- a/libraries/argon2/patches/pkgconfig.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- argon2-20170329_1eea010/libargon2.pc.orig 2017-03-29 00:44:20.000000000 +0200 -+++ argon2-20170329_1eea010/libargon2.pc 2017-08-01 13:47:25.874580099 +0200 -@@ -1,16 +1,11 @@ --# libargon2 info for pkg-config --## Template for downstream installers: --## - replace @HOST_MULTIARCH@ with target arch, eg 'x86_64-linux-gnu' --## - replace @UPSTREAM_VER@ with current version, eg '20160406' -- - prefix=/usr - exec_prefix=${prefix} --libdir=${prefix}/lib/@HOST_MULTIARCH@ -+libdir=${prefix}/lib@@LIBDIRSUFFIX@@ - includedir=${prefix}/include - - Name: libargon2 - Description: Development libraries for libargon2 --Version: @UPSTREAM_VER@ -+Version: @@VERSION@@ - Libs: -L${libdir} -largon2 -lrt -ldl - Cflags: - URL: https://github.com/P-H-C/phc-winner-argon2 diff --git a/libraries/argon2/slack-desc b/libraries/argon2/slack-desc deleted file mode 100644 index 0be295ca69..0000000000 --- a/libraries/argon2/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -argon2: argon2 (password-hashing function) -argon2: -argon2: Argon2 is a password-hashing function that summarizes the state of -argon2: the art in the design of memory-hard functions and can be used to -argon2: hash passwords for credential storage, key derivation, or other -argon2: applications. -argon2: -argon2: Homepage: https://github.com/P-H-C/phc-winner-argon2/ -argon2: -argon2: -argon2: diff --git a/libraries/avr-libc/avr-libc.SlackBuild b/libraries/avr-libc/avr-libc.SlackBuild index 3c1455ba09..c2866302f1 100644 --- a/libraries/avr-libc/avr-libc.SlackBuild +++ b/libraries/avr-libc/avr-libc.SlackBuild @@ -13,13 +13,13 @@ # incorrect use of this script. PRGNAM=avr-libc -VERSION=${VERSION:-1.8.1} -BUILD=${BUILD:-3} +VERSION=${VERSION:-2.0.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -36,8 +36,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -65,6 +65,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +./bootstrap + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -82,8 +84,7 @@ CXXFLAGS="$SLKCFLAGS" \ make all make install DOC_INST_DIR=$PKG/usr/doc/$PRGNAM-$VERSION DESTDIR=$PKG -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +# Don't strip the libraries to avoid damaging them # Create the directory for program documentation. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION diff --git a/libraries/avr-libc/avr-libc.info b/libraries/avr-libc/avr-libc.info index b8e89f4dda..b2f5078b3d 100644 --- a/libraries/avr-libc/avr-libc.info +++ b/libraries/avr-libc/avr-libc.info @@ -1,8 +1,8 @@ PRGNAM="avr-libc" -VERSION="1.8.1" +VERSION="2.0.0" HOMEPAGE="http://avr-libc.nongnu.org/" -DOWNLOAD="http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.8.1.tar.bz2" -MD5SUM="0caccead59eaaa61ac3f060ca3a803ef" +DOWNLOAD="http://download.savannah.gnu.org/releases/avr-libc/avr-libc-2.0.0.tar.bz2" +MD5SUM="2360981cd5d94e1d7a70dfc6983bdf15" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="avr-gcc" diff --git a/libraries/bamf/add_compile_warning_flags.patch b/libraries/bamf/add_compile_warning_flags.patch new file mode 100644 index 0000000000..203ccc75d3 --- /dev/null +++ b/libraries/bamf/add_compile_warning_flags.patch @@ -0,0 +1,71 @@ +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940164 + +diff -Naur bamf-0.5.4.orig/configure.ac bamf-0.5.4/configure.ac +--- bamf-0.5.4.orig/configure.ac 2018-11-07 23:39:11.355315678 +0100 ++++ bamf-0.5.4/configure.ac 2019-11-18 12:57:04.534000000 +0100 +@@ -18,14 +18,15 @@ + GNOME_COMPILE_WARNINGS(maximum) + + AM_MAINTAINER_MODE +-AM_DISABLE_STATIC +-AM_PROG_LIBTOOL + AC_ISC_POSIX + AC_SUBST(ACLOCAL_AMFLAFS, "$ACLOCAL_FLAGS -I m4") + + PKG_PROG_PKG_CONFIG + if test "x$PKG_CONFIG" = "x"; then AC_MSG_ERROR([You need to install pkg-config]); fi + ++LT_INIT([disable-static]) ++LT_LIB_M ++ + # Checks for programs. + AC_PROG_CC + AM_PROG_CC_C_O +@@ -154,8 +155,39 @@ + # + AM_PATH_GTK_3_0 + ++# Compile warnings ++AC_ARG_ENABLE(compile-warnings, ++ AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@], ++ [Trun on compiler warnings]),, ++ [enable_compile_warnings=maximum]) ++ ++warning_flags= ++ ++case "$enable_compile_warnings" in ++no) ++warning_flags= ++;; ++minimum) ++warning_flags="-Wall" ++;; ++yes) ++warning_flags="-wall -Wno-error=deprecated-declarations" ++;; ++maximum|error) ++warning_flags="-Wall -Wno-error=deprecated-declarations -Wempty-body -Wformat-security -Winit-self -Warray-bounds -Wimplicit-function-declaration" ++if test "$enable_compile_warnings" = "error" ; then ++ warning_flags="$warning_flags -Werror" ++fi ++;; ++*) ++AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings) ++;; ++esac ++AC_MSG_CHECKING(what warning flags to pass to the C compiler) ++AC_MSG_RESULT($warning_flags) ++ + dnl CFLAGS +-CFLAGS="$CFLAGS -Wall -Werror -Wno-error=deprecated-declarations -Wempty-body -Wformat-security -Winit-self -Warray-bounds -Wimplicit-function-declaration -lm" ++CFLAGS="$CFLAGS $warning_flags $LIBM" + + AC_SUBST(BAMFDAEMON_CFLAGS) + AC_SUBST(BAMFDAEMON_LIBS) +@@ -190,5 +222,6 @@ + Headless tests: ${enable_headless_tests} + Coverage Reporting: ${use_gcov} + Export actions menus: ${enable_export_actions_menu} ++ Compiler Flags: ${CFLAGS} + + EOF diff --git a/libraries/bamf/bamf.SlackBuild b/libraries/bamf/bamf.SlackBuild index c950ae1115..0a12d2f802 100644 --- a/libraries/bamf/bamf.SlackBuild +++ b/libraries/bamf/bamf.SlackBuild @@ -70,6 +70,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +patch -p1 < $CWD/add_compile_warning_flags.patch +autoreconf -vif + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -79,7 +82,8 @@ CXXFLAGS="$SLKCFLAGS" \ --localstatedir=/var \ --mandir=/usr/man \ --docdir=/usr/doc/$PRGNAM-$VERSION \ - --disable-introspection \ + --enable-introspection \ + --enable-compile-warnings=no \ --build=$ARCH-slackware-linux make diff --git a/libraries/bamf/bamf.info b/libraries/bamf/bamf.info index af9621ea49..600d9355a9 100644 --- a/libraries/bamf/bamf.info +++ b/libraries/bamf/bamf.info @@ -5,6 +5,6 @@ DOWNLOAD="https://launchpad.net/bamf/0.5/0.5.4/+download/bamf-0.5.4.tar.gz" MD5SUM="e5078ec8f6c8a9d77242010dcd3b3217" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="libgtop libwnck3" +REQUIRES="gnome-common libgtop libwnck3" MAINTAINER="Donald Cooley" EMAIL="chytraeus@protonmail.com" diff --git a/libraries/beignet/beignet.SlackBuild b/libraries/beignet/beignet.SlackBuild index ce61606dea..1d7a06dcdd 100644 --- a/libraries/beignet/beignet.SlackBuild +++ b/libraries/beignet/beignet.SlackBuild @@ -24,7 +24,7 @@ # ----------------------------------------------------------------------------- PRGNAM=beignet -VERSION=${VERSION:-1.3.1} +VERSION=${VERSION:-1.3.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} DOCS="README.md docs NEWS.mdwn COPYING" @@ -75,6 +75,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +patch -p1 < $CWD/llvm6.patch + mkdir -p build cd build cmake \ diff --git a/libraries/beignet/beignet.info b/libraries/beignet/beignet.info index dae99c57d9..fff7aa7b6d 100644 --- a/libraries/beignet/beignet.info +++ b/libraries/beignet/beignet.info @@ -1,8 +1,8 @@ PRGNAM="beignet" -VERSION="1.3.1" +VERSION="1.3.2" HOMEPAGE="https://01.org/beignet" -DOWNLOAD="https://01.org/sites/default/files/beignet-1.3.1-source.tar.gz" -MD5SUM="850886a71a34672ca26a42046d0bb442" +DOWNLOAD="https://01.org/sites/default/files/beignet-1.3.2-source.tar.gz" +MD5SUM="a577ab18d67a891c8767b8ea62253543" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/beignet/llvm6.patch b/libraries/beignet/llvm6.patch new file mode 100644 index 0000000000..f3634e2389 --- /dev/null +++ b/libraries/beignet/llvm6.patch @@ -0,0 +1,30 @@ +diff -uprb Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_to_gen.cpp Beignet-1.3.2-Source/backend/src/llvm/llvm_to_gen.cpp +--- Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_to_gen.cpp 2017-10-24 09:04:48.000000000 +0300 ++++ Beignet-1.3.2-Source/backend/src/llvm/llvm_to_gen.cpp 2018-03-16 16:08:54.669963824 +0200 +@@ -322,7 +322,11 @@ namespace gbe + DataLayout DL(&mod); + + gbeDiagnosticContext dc; ++#if LLVM_VERSION_MAJOR >= 6 ++ mod.getContext().setDiagnosticHandlerCallBack(&gbeDiagnosticHandler,&dc); ++#else + mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc); ++#endif + + #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37 + mod.setDataLayout(DL); +diff -uprb Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_unroll.cpp Beignet-1.3.2-Source/backend/src/llvm/llvm_unroll.cpp +--- Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_unroll.cpp 2017-10-24 09:04:48.000000000 +0300 ++++ Beignet-1.3.2-Source/backend/src/llvm/llvm_unroll.cpp 2018-03-16 16:09:47.736403557 +0200 +@@ -205,7 +205,9 @@ namespace gbe { + if (parentTripCount != 0 && currTripCount * parentTripCount > 32) { + //Don't change the unrollID if doesn't force unroll. + //setUnrollID(parentL, false); +-#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38 ++#if LLVM_VERSION_MAJOR >= 6 ++ loopInfo.erase(parentL); ++#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38 + loopInfo.markAsRemoved(parentL); + #else + LPM.deleteLoopFromQueue(parentL); +Only in Beignet-1.3.2-Source: build diff --git a/libraries/belle-sip/belle-sip.SlackBuild b/libraries/belle-sip/belle-sip.SlackBuild index 60a6869a5c..a823f815cd 100644 --- a/libraries/belle-sip/belle-sip.SlackBuild +++ b/libraries/belle-sip/belle-sip.SlackBuild @@ -92,6 +92,8 @@ autoreconf -ivf # Kill the accursed -Werror (fix for -current) SLKCFLAGS="$SLKCFLAGS -Wno-error" +patch -p1 < $CWD/gcc9.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ CPPFLAGS="${CPPFLAGS} -I/usr/include/antlr3" \ diff --git a/libraries/belle-sip/gcc9.patch b/libraries/belle-sip/gcc9.patch new file mode 100644 index 0000000000..35fa1ceae0 --- /dev/null +++ b/libraries/belle-sip/gcc9.patch @@ -0,0 +1,19 @@ +diff --git a/src/dns.h b/src/dns.h +index ac390ae..33d99de 100644 +--- a/src/dns.h ++++ b/src/dns.h +@@ -158,14 +158,6 @@ DNS_PUBLIC int *dns_debug_p(void); + + #define dns_quietinit(...) \ + DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__ DNS_PRAGMA_POP +-#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4 +-#define DNS_PRAGMA_PUSH _Pragma("GCC diagnostic push") +-#define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"") +-#define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop") +- +-/* GCC parses the _Pragma operator less elegantly than clang. */ +-#define dns_quietinit(...) \ +- __extension__ ({ DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__; DNS_PRAGMA_POP }) + #else + #define DNS_PRAGMA_PUSH + #define DNS_PRAGMA_QUIET diff --git a/libraries/ccrtp/ccrtp.SlackBuild b/libraries/ccrtp/ccrtp.SlackBuild index 04fff8c2b7..9ea1685863 100644 --- a/libraries/ccrtp/ccrtp.SlackBuild +++ b/libraries/ccrtp/ccrtp.SlackBuild @@ -24,7 +24,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=ccrtp -VERSION=${VERSION:-2.0.9} +VERSION=${VERSION:-2.1.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/ccrtp/ccrtp.info b/libraries/ccrtp/ccrtp.info index 38929c008d..0232990714 100644 --- a/libraries/ccrtp/ccrtp.info +++ b/libraries/ccrtp/ccrtp.info @@ -1,8 +1,8 @@ PRGNAM="ccrtp" -VERSION="2.0.9" +VERSION="2.1.2" HOMEPAGE="http://www.gnu.org/software/ccrtp/" -DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/ccrtp/ccrtp-2.0.9.tar.gz" -MD5SUM="f2e143c2558fbbe5715a1f04be2fb692" +DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/ccrtp/ccrtp-2.1.2.tar.gz" +MD5SUM="e6792cbd8b705901c205a509bd7f812f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="ucommon" diff --git a/libraries/cffi/cffi.SlackBuild b/libraries/cffi/cffi.SlackBuild index fff9a062b1..9e9f2d82e6 100644 --- a/libraries/cffi/cffi.SlackBuild +++ b/libraries/cffi/cffi.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=cffi -VERSION=${VERSION:-1.11.5} +VERSION=${VERSION:-1.13.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/cffi/cffi.info b/libraries/cffi/cffi.info index bea16058d3..f64849ab41 100644 --- a/libraries/cffi/cffi.info +++ b/libraries/cffi/cffi.info @@ -1,8 +1,8 @@ PRGNAM="cffi" -VERSION="1.11.5" +VERSION="1.13.2" HOMEPAGE="http://cffi.readthedocs.org" -DOWNLOAD="https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz" -MD5SUM="ac8492f4ad952360737413e82d661908" +DOWNLOAD="https://files.pythonhosted.org/packages/2d/bf/960e5a422db3ac1a5e612cb35ca436c3fc985ed4b7ed13a1b4879006f450/cffi-1.13.2.tar.gz" +MD5SUM="652203cf99faa254efff7fab23c2f3a2" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="pycparser" diff --git a/libraries/cppo/README b/libraries/cppo/README new file mode 100644 index 0000000000..b8f9d84c8c --- /dev/null +++ b/libraries/cppo/README @@ -0,0 +1,2 @@ +Cppo is an equivalent of the C preprocessor for OCaml programs. +It allows the definition of simple macros and file. diff --git a/libraries/cppo/cppo.SlackBuild b/libraries/cppo/cppo.SlackBuild new file mode 100644 index 0000000000..13d2735cdf --- /dev/null +++ b/libraries/cppo/cppo.SlackBuild @@ -0,0 +1,87 @@ +#!/bin/sh + +# Slackware build script for cppo + +# Copyright 2019 Matteo Bernardini , Pisa, Italy +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=cppo +VERSION=${VERSION:-1.6.6} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +dune build +dune install --destdir=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +rm -fR $PKG/usr/doc +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a Changes *.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/cppo/cppo.info b/libraries/cppo/cppo.info new file mode 100644 index 0000000000..1ca6d5a170 --- /dev/null +++ b/libraries/cppo/cppo.info @@ -0,0 +1,10 @@ +PRGNAM="cppo" +VERSION="1.6.6" +HOMEPAGE="https://github.com/ocaml-community/cppo/" +DOWNLOAD="https://github.com/ocaml-community/cppo/archive/v1.6.6/cppo-1.6.6.tar.gz" +MD5SUM="2258f90f3b7f0190bda76b710df0af56" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="dune ocamlbuild" +MAINTAINER="Matteo Bernardini" +EMAIL="ponce@slackbuilds.org" diff --git a/libraries/cppo/slack-desc b/libraries/cppo/slack-desc new file mode 100644 index 0000000000..bc43af6c08 --- /dev/null +++ b/libraries/cppo/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +cppo: cppo (C-style preprocessor for OCaml) +cppo: +cppo: Cppo is an equivalent of the C preprocessor for OCaml programs. +cppo: It allows the definition of simple macros and file. +cppo: +cppo: homepage: https://github.com/ocaml-community/cppo +cppo: +cppo: +cppo: +cppo: +cppo: diff --git a/libraries/cuneiform/cuneiform-gcc.patch b/libraries/cuneiform/cuneiform-gcc.patch new file mode 100644 index 0000000000..4b51da8e84 --- /dev/null +++ b/libraries/cuneiform/cuneiform-gcc.patch @@ -0,0 +1,98 @@ +diff -wbBur cuneiform-linux-1.1.0/cuneiform_src/Kern/include/utf8-tables.h cuneiform-linux-1.1.0.q/cuneiform_src/Kern/include/utf8-tables.h +--- cuneiform-linux-1.1.0/cuneiform_src/Kern/include/utf8-tables.h 2011-04-19 16:49:57.000000000 +0400 ++++ cuneiform-linux-1.1.0.q/cuneiform_src/Kern/include/utf8-tables.h 2017-07-05 16:35:34.338871445 +0300 +@@ -68,7 +68,7 @@ + #endif + + +-const char win1250_to_utf8[][4] = { ++const unsigned char win1250_to_utf8[][4] = { + {0, 0, 0, 0}, + {1, 0, 0, 0}, + {2, 0, 0, 0}, +@@ -328,7 +328,7 @@ + }; + + +-const char win1251_to_utf8[][4] = { ++const unsigned char win1251_to_utf8[][4] = { + {0, 0, 0, 0}, + {1, 0, 0, 0}, + {2, 0, 0, 0}, +@@ -587,7 +587,7 @@ + {209, 143, 0, 0}, + }; + +-const char win1252_to_utf8[][4] = { ++const unsigned char win1252_to_utf8[][4] = { + {0, 0, 0, 0}, + {1, 0, 0, 0}, + {2, 0, 0, 0}, +@@ -847,7 +847,7 @@ + }; + + +-const char win1254_to_utf8[][4] = { ++const unsigned char win1254_to_utf8[][4] = { + {0, 0, 0, 0}, + {1, 0, 0, 0}, + {2, 0, 0, 0}, +@@ -1107,7 +1107,7 @@ + }; + + +-const char win1257_to_utf8[][4] = { ++const unsigned char win1257_to_utf8[][4] = { + {0, 0, 0, 0}, + {1, 0, 0, 0}, + {2, 0, 0, 0}, +diff -wbBur cuneiform-linux-1.1.0/cuneiform_src/Kern/rfrmt/sources/main/stdafx.h +cuneiform-linux-1.1.0.q/cuneiform_src/Kern/rfrmt/sources/main/stdafx.h +--- cuneiform-linux-1.1.0/cuneiform_src/Kern/rfrmt/sources/main/stdafx.h 2011-04-19 16:49:57.000000000 +0400 ++++ cuneiform-linux-1.1.0.q/cuneiform_src/Kern/rfrmt/sources/main/stdafx.h 2017-07-05 16:37:23.528866265 +0300 +@@ -74,6 +74,9 @@ + //отключаем warning о слишком длинных stl'ных именах + #pragma warning(disable:4786) + ++#undef min ++#undef max ++ + #include + typedef std::vector vectorWord; + +diff -wbBur cuneiform-linux-1.1.0/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp +cuneiform-linux-1.1.0.q/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp +--- cuneiform-linux-1.1.0/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp 2011-04-19 16:49:57.000000000 +0400 ++++ cuneiform-linux-1.1.0.q/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp 2017-07-05 16:33:02.962211959 +0300 +@@ -594,8 +594,8 @@ + return FALSE; + } + +- wNewHeight = (mbMarginsFlag ? abs(mrMargins.rmBottomMarg - mrMargins.rmTopMarg) : mpSourceDIB->GetLinesNumber()); +- wNewWidth = (mbMarginsFlag ? abs(mrMargins.rmLeftMarg - mrMargins.rmRightMarg) : mpSourceDIB->GetLineWidth()); ++ wNewHeight = (mbMarginsFlag ? std::abs((long int)(mrMargins.rmBottomMarg - mrMargins.rmTopMarg)) : mpSourceDIB->GetLinesNumber()); ++ wNewWidth = (mbMarginsFlag ? std::abs((long int)(mrMargins.rmLeftMarg - mrMargins.rmRightMarg)) : mpSourceDIB->GetLineWidth()); + mpSourceDIB->GetResolutionDPM( &wXResolution, &wYResolution); + + if ( !mpDestinationDIB->CreateDIBBegin( wNewWidth, wNewHeight, BitCount) ) +diff -wbBur cuneiform-linux-1.1.0/cuneiform_src/Kern/rout/src/codetables.cpp cuneiform-linux-1.1.0.q/cuneiform_src/Kern/rout/src/codetables.cpp +--- cuneiform-linux-1.1.0/cuneiform_src/Kern/rout/src/codetables.cpp 2011-04-19 16:49:57.000000000 +0400 ++++ cuneiform-linux-1.1.0.q/cuneiform_src/Kern/rout/src/codetables.cpp 2017-07-05 16:36:05.178869982 +0300 +@@ -939,11 +939,11 @@ + + const char * getUTF8Str(const unsigned char in, const int codepage) { + switch(codepage) { +- case 1250 : return win1250_to_utf8[in]; +- case 1251 : return win1251_to_utf8[in]; +- case 1252 : return win1252_to_utf8[in]; +- case 1254 : return win1254_to_utf8[in]; +- case 1257 : return win1257_to_utf8[in]; ++ case 1250 : return (const char *)win1250_to_utf8[in]; ++ case 1251 : return (const char *)win1251_to_utf8[in]; ++ case 1252 : return (const char *)win1252_to_utf8[in]; ++ case 1254 : return (const char *)win1254_to_utf8[in]; ++ case 1257 : return (const char *)win1257_to_utf8[in]; + default : return "?"; + } + } + diff --git a/libraries/cuneiform/cuneiform.SlackBuild b/libraries/cuneiform/cuneiform.SlackBuild index 10103d58f8..2fbeed8b1b 100644 --- a/libraries/cuneiform/cuneiform.SlackBuild +++ b/libraries/cuneiform/cuneiform.SlackBuild @@ -11,7 +11,7 @@ TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -22,8 +22,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -53,6 +53,11 @@ find -L . \ sed -i 's/\r//g' cuneiform_src/Addfiles/license.txt +# Thanks to Debian +patch -p1 < $CWD/strings.patch +# Thanks to ARCH Linux +patch -p1 < $CWD/cuneiform-gcc.patch + mkdir build cd build cmake \ @@ -70,8 +75,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - issues.txt readme.txt original*.rtf cuneiform_src/Addfiles/license.txt \ +cp -a issues.txt readme.txt original*.rtf cuneiform_src/Addfiles/license.txt \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/libraries/cuneiform/strings.patch b/libraries/cuneiform/strings.patch new file mode 100644 index 0000000000..d7b585eab7 --- /dev/null +++ b/libraries/cuneiform/strings.patch @@ -0,0 +1,19 @@ +Author: Andreas Beckmann +Description: avoid strings.h collision + +--- a/cuneiform_src/Kern/hhh/tigerh/h/strings.h ++++ b/cuneiform_src/Kern/hhh/tigerh/h/strings.h +@@ -75,6 +75,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * * + ***************************************************************************/ + ++#include_next ++#if 0 + # ifndef __STRINGS_H_INCLUDE + # define __STRINGS_H_INCLUDE + +@@ -154,3 +156,4 @@ extern STRING *pStringsListEnd; + extern STRING *pStringsUpList; + extern STRING *pStringsDownList; + # endif ++#endif diff --git a/libraries/efivar/README b/libraries/efivar/README deleted file mode 100644 index 18459b204f..0000000000 --- a/libraries/efivar/README +++ /dev/null @@ -1 +0,0 @@ -efivar - Tools and libraries to manipulate EFI variables diff --git a/libraries/efivar/efivar.SlackBuild b/libraries/efivar/efivar.SlackBuild deleted file mode 100644 index 19ab3ecf46..0000000000 --- a/libraries/efivar/efivar.SlackBuild +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - -# Slackware build script for efivar - -# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=efivar -VERSION=${VERSION:-37} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -SLKCFLAGS="$SLKCFLAGS -flto" - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -make -j1 libdir=/usr/lib$LIBDIRSUFFIX/ mandir=/usr/man/ -make -j1 install DESTDIR=$PKG/ libdir=/usr/lib$LIBDIRSUFFIX/ mandir=/usr/man/ - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - COPYING README.md TODO \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/efivar/efivar.info b/libraries/efivar/efivar.info deleted file mode 100644 index 9858916849..0000000000 --- a/libraries/efivar/efivar.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="efivar" -VERSION="37" -HOMEPAGE="https://github.com/rhboot/efivar" -DOWNLOAD="https://github.com/rhboot/efivar/archive/37/efivar-37.tar.gz" -MD5SUM="c47be879853137b6493fe49dd9c70e1d" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Andrew Clemons" -EMAIL="andrew.clemons@gmail.com" diff --git a/libraries/efivar/slack-desc b/libraries/efivar/slack-desc deleted file mode 100644 index f2eca450ba..0000000000 --- a/libraries/efivar/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -efivar: efivar (Tools and library to manipulate EFI variables.) -efivar: -efivar: Tools and libraries to manipulate EFI variables -efivar: -efivar: https://github.com/rhboot/efivar -efivar: -efivar: -efivar: -efivar: -efivar: -efivar: diff --git a/libraries/efl/0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch b/libraries/efl/0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch new file mode 100644 index 0000000000..e7cc95aa95 --- /dev/null +++ b/libraries/efl/0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch @@ -0,0 +1,31 @@ +From 0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573 Mon Sep 17 00:00:00 2001 +From: "Carsten Haitzler (Rasterman)" +Date: Sat, 15 Dec 2018 16:19:01 +0000 +Subject: [PATCH] evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 + fix typedef + +It seems that GL_VERSION_1_5 define == these provided by gl already. At +least reading the mesa headers I do, so this should fix T7502 + +@fix +--- + src/lib/evas/Evas_GL.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +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 ++# ifndef GL_VERSION_1_5 ++# include + typedef ptrdiff_t GLintptr; // Changed khronos_intptr_t + typedef ptrdiff_t GLsizeiptr; // Changed khronos_ssize_t ++# endif + #endif + + /* Some definitions from GLES 3.0. diff --git a/libraries/efl/efl.SlackBuild b/libraries/efl/efl.SlackBuild index 356c593ad0..7fe87ca59a 100644 --- a/libraries/efl/efl.SlackBuild +++ b/libraries/efl/efl.SlackBuild @@ -76,6 +76,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Required by the newer mesa +patch -p1 < $CWD/0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/fuzzylite/fuzzylite.SlackBuild b/libraries/fuzzylite/fuzzylite.SlackBuild index 70961c4d7c..d75feb8637 100644 --- a/libraries/fuzzylite/fuzzylite.SlackBuild +++ b/libraries/fuzzylite/fuzzylite.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=fuzzylite -VERSION=${VERSION:-5.1} +VERSION=${VERSION:-6.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -60,7 +60,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || tar xvf $CWD/v$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION chown -R root:root . find -L . \ @@ -91,7 +91,7 @@ fi rm $PKG/usr/lib${LIBDIRSUFFIX}/libfuzzylite-static.a mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHOR ChangeLog README.md LICENSE COPYING* $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHOR README.md LICENSE COPYING* $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/libraries/fuzzylite/fuzzylite.info b/libraries/fuzzylite/fuzzylite.info index f81b2e5914..ee96c5ed57 100644 --- a/libraries/fuzzylite/fuzzylite.info +++ b/libraries/fuzzylite/fuzzylite.info @@ -1,8 +1,8 @@ PRGNAM="fuzzylite" -VERSION="5.1" +VERSION="6.0" HOMEPAGE="https://www.fuzzylite.com" -DOWNLOAD="https://github.com/fuzzylite/fuzzylite/archive/v5.1.tar.gz" -MD5SUM="fcee03636fa417847d703e55cf11e34f" +DOWNLOAD="https://github.com/fuzzylite/fuzzylite/archive/v6.0/fuzzylite-6.0.tar.gz" +MD5SUM="34f3e1b27aa2abd9210b7d90f9d45785" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/gdl/gdl.SlackBuild b/libraries/gdl/gdl.SlackBuild index 6ad5f2032c..d2157b7388 100644 --- a/libraries/gdl/gdl.SlackBuild +++ b/libraries/gdl/gdl.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=gdl -VERSION=${VERSION:-3.26.0} +VERSION=${VERSION:-3.34.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -88,7 +88,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL MAINTAINERS NEWS \ +cp -a AUTHORS COPYING ChangeLog INSTALL MAINTAINERS NEWS \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/libraries/gdl/gdl.info b/libraries/gdl/gdl.info index c4667a0207..49fb2d17de 100644 --- a/libraries/gdl/gdl.info +++ b/libraries/gdl/gdl.info @@ -1,8 +1,8 @@ PRGNAM="gdl" -VERSION="3.26.0" +VERSION="3.34.0" HOMEPAGE="https://www.gnome.org/" -DOWNLOAD="https://ftp.gnome.org/pub/GNOME/sources/gdl/3.26/gdl-3.26.0.tar.xz" -MD5SUM="1366cbca43242336f5e61b010145d76e" +DOWNLOAD="https://ftp.gnome.org/pub/GNOME/sources/gdl/3.34/gdl-3.34.0.tar.xz" +MD5SUM="d624f2ca85555402828d5c4a98912b82" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/gstreamer-editing-services/gstreamer-editing-services.SlackBuild b/libraries/gstreamer-editing-services/gstreamer-editing-services.SlackBuild index 6ba6fb2d4d..e23a1b1b71 100644 --- a/libraries/gstreamer-editing-services/gstreamer-editing-services.SlackBuild +++ b/libraries/gstreamer-editing-services/gstreamer-editing-services.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=gstreamer-editing-services -VERSION=${VERSION:-1.6.2} +VERSION=${VERSION:-1.14.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/gstreamer-editing-services/gstreamer-editing-services.info b/libraries/gstreamer-editing-services/gstreamer-editing-services.info index e58125ace5..f11b134a9f 100644 --- a/libraries/gstreamer-editing-services/gstreamer-editing-services.info +++ b/libraries/gstreamer-editing-services/gstreamer-editing-services.info @@ -1,8 +1,8 @@ PRGNAM="gstreamer-editing-services" -VERSION="1.6.2" +VERSION="1.14.0" HOMEPAGE="https://gstreamer.freedesktop.org/modules/gst-editing-services.html" -DOWNLOAD="https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gstreamer-editing-services-1.6.2.tar.xz" -MD5SUM="76a1aa3f08af4c56b08d784aea46b712" +DOWNLOAD="https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gstreamer-editing-services-1.14.0.tar.xz" +MD5SUM="6f49450e692f6a5e328e57be811d2d82" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/gstreamermm/fix_warnings.patch b/libraries/gstreamermm/fix_warnings.patch new file mode 100644 index 0000000000..fccb480a11 --- /dev/null +++ b/libraries/gstreamermm/fix_warnings.patch @@ -0,0 +1,15 @@ +Author: Marcin Kolny +Description: Fix warnings +Origin: https://git.gnome.org/browse/gstreamermm/commit/gstreamer/gstreamermm/check.cc?id=c5006faf05bc4b46767d30f42bcb6157836b7540 +Last-update: 2016-09-25 +--- a/gstreamer/gstreamermm/check.cc ++++ b/gstreamer/gstreamermm/check.cc +@@ -54,7 +54,7 @@ + + element = ElementFactory::create_element (factory, factory); + +- ThrowIf (element, "Could not create a '" + factory + "' element"); ++ ThrowIf (!!element, "Could not create a '" + factory + "' element"); + CheckRefCount (element->gobj(), factory, 1); + + return element; diff --git a/libraries/gstreamermm/gstreamermm.SlackBuild b/libraries/gstreamermm/gstreamermm.SlackBuild index 73ece14f12..d6c0925fd9 100644 --- a/libraries/gstreamermm/gstreamermm.SlackBuild +++ b/libraries/gstreamermm/gstreamermm.SlackBuild @@ -69,6 +69,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Needed for gcc >= 7.x - Thanks to opensuse +patch -p1 < $CWD/fix_warnings.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS -std=c++11" \ ./configure \ diff --git a/libraries/gtkglext/0002-GCC-8-fixes.patch b/libraries/gtkglext/0002-GCC-8-fixes.patch new file mode 100644 index 0000000000..266f5fefc1 --- /dev/null +++ b/libraries/gtkglext/0002-GCC-8-fixes.patch @@ -0,0 +1,34 @@ +From 1fe275cd7dfa9f3a6db771b0cb945d96787e72cf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Thu, 15 Mar 2018 15:56:20 +0100 +Subject: [PATCH 2/2] GCC-8 fixes. + +--- + gdk/gdkglshapes.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdk/gdkglshapes.c b/gdk/gdkglshapes.c +index f72abba..9d1197f 100644 +--- a/gdk/gdkglshapes.c ++++ b/gdk/gdkglshapes.c +@@ -544,7 +544,7 @@ static GLfloat idata[12][3] = + {-Z, -X, 0} + }; + +-static int index[20][3] = ++static int iindex[20][3] = + { + {0, 4, 1}, + {0, 9, 4}, +@@ -574,7 +574,7 @@ icosahedron(GLenum shadeType) + int i; + + for (i = 19; i >= 0; i--) { +- drawtriangle(i, idata, index, shadeType); ++ drawtriangle(i, idata, iindex, shadeType); + } + } + +-- +2.14.3 + diff --git a/libraries/gtkglext/gtkglext.SlackBuild b/libraries/gtkglext/gtkglext.SlackBuild index 4aa77fbbfe..b95332a485 100644 --- a/libraries/gtkglext/gtkglext.SlackBuild +++ b/libraries/gtkglext/gtkglext.SlackBuild @@ -72,6 +72,8 @@ find -L . \ # Don't disable deprecated stuff patch -p1 < $CWD/gtkglext-no-deprecated-flags.patch +# From fedora - conflicting definition +patch -p1 < $CWD/0002-GCC-8-fixes.patch CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -79,7 +81,6 @@ CXXFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --disable-static \ - --enable-gtk-doc \ --enable-debug=no \ --build=$ARCH-slackware-linux diff --git a/libraries/gtksourceview3/gtksourceview3.SlackBuild b/libraries/gtksourceview3/gtksourceview3.SlackBuild index adf532d033..30826998bd 100644 --- a/libraries/gtksourceview3/gtksourceview3.SlackBuild +++ b/libraries/gtksourceview3/gtksourceview3.SlackBuild @@ -26,7 +26,7 @@ PRGNAM=gtksourceview3 SRCNAM=gtksourceview -VERSION=${VERSION:-3.18.4} +VERSION=${VERSION:-3.24.11} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/gtksourceview3/gtksourceview3.info b/libraries/gtksourceview3/gtksourceview3.info index 4f05f8d29b..8d171af68d 100644 --- a/libraries/gtksourceview3/gtksourceview3.info +++ b/libraries/gtksourceview3/gtksourceview3.info @@ -1,8 +1,8 @@ PRGNAM="gtksourceview3" -VERSION="3.18.4" -HOMEPAGE="http://projects.gnome.org/gtksourceview/" -DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/3.18/gtksourceview-3.18.4.tar.xz" -MD5SUM="b2fa71fc6b63c9ffb7aaed6c20859f4d" +VERSION="3.24.11" +HOMEPAGE="https://projects.gnome.org/gtksourceview/" +DOWNLOAD="https://download.gnome.org/sources/gtksourceview/3.24/gtksourceview-3.24.11.tar.xz" +MD5SUM="b748da426a7d64e1304f0c532b0f2a67" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="glade" diff --git a/libraries/gtksourceview4/README b/libraries/gtksourceview4/README new file mode 100644 index 0000000000..50bc5ddb9c --- /dev/null +++ b/libraries/gtksourceview4/README @@ -0,0 +1,4 @@ +GtkSourceView is a portable C library that extends the standard GTK+ +framework for multiline text editing with support for configurable +syntax highlighting, unlimited undo/redo, UTF-8 compliant caseless +searching, printing and other features typical of a source code editor. diff --git a/libraries/gtksourceview4/gtksourceview4.SlackBuild b/libraries/gtksourceview4/gtksourceview4.SlackBuild new file mode 100644 index 0000000000..e7ce6ca1fb --- /dev/null +++ b/libraries/gtksourceview4/gtksourceview4.SlackBuild @@ -0,0 +1,104 @@ +#!/bin/sh + +# Slackware build script for gtksourceview + +# Copyright 2012-2016 Willy Sudiarto Raharjo +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=gtksourceview4 +SRCNAM=gtksourceview +VERSION=${VERSION:-4.0.3} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.xz +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --enable-glade-catalog \ + --build=$ARCH-slackware-linux + +# At the end of build process, the uninstalled gtksourceview.pc is +# used. Let's make sure pkg-config can find it. +PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$TMP/$PRGNAM-$VERSION make +make install-strip DESTDIR=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING* HACKING NEWS README \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/gtksourceview4/gtksourceview4.info b/libraries/gtksourceview4/gtksourceview4.info new file mode 100644 index 0000000000..76c94956dc --- /dev/null +++ b/libraries/gtksourceview4/gtksourceview4.info @@ -0,0 +1,10 @@ +PRGNAM="gtksourceview4" +VERSION="4.0.3" +HOMEPAGE="http://projects.gnome.org/gtksourceview/" +DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/4.0/gtksourceview-4.0.3.tar.xz" +MD5SUM="91e01df36e1476083f7b8a474f7d0c34" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="glade" +MAINTAINER="Willy Sudiarto Raharjo" +EMAIL="willysr@slackbuilds.org" diff --git a/libraries/gtksourceview4/slack-desc b/libraries/gtksourceview4/slack-desc new file mode 100644 index 0000000000..5ceea4e49e --- /dev/null +++ b/libraries/gtksourceview4/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +gtksourceview4: gtksourceview4 (a GTK+ framework for source code editing) +gtksourceview4: +gtksourceview4: GtkSourceView is a portable C library that extends the standard +gtksourceview4: GTK+ framework for multiline text editing with support for +gtksourceview4: configurable syntax highlighting, unlimited undo/redo, UTF-8 +gtksourceview4: compliant caseless searching, printing and other features +gtksourceview4: typical of a source code editor. +gtksourceview4: +gtksourceview4: Homepage: http://projects.gnome.org/gtksourceview/ +gtksourceview4: +gtksourceview4: diff --git a/libraries/hpx/gcc7.patch b/libraries/hpx/gcc7.patch new file mode 100644 index 0000000000..ab8d5cb94a --- /dev/null +++ b/libraries/hpx/gcc7.patch @@ -0,0 +1,23 @@ +From cc15d1c67144200f070e74d80b6d840df0a16ee3 Mon Sep 17 00:00:00 2001 +From: Thomas Heller +Date: Thu, 4 May 2017 08:15:13 +0200 +Subject: [PATCH] Fixing uninitialized usage warning with gcc 7 + +--- + src/runtime/parcelset/parcel.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/runtime/parcelset/parcel.cpp b/src/runtime/parcelset/parcel.cpp +index 0f86c4043a1..56714af4c7b 100644 +--- a/src/runtime/parcelset/parcel.cpp ++++ b/src/runtime/parcelset/parcel.cpp +@@ -47,7 +47,8 @@ namespace hpx { namespace parcelset + creation_time_(util::high_resolution_timer::now()), + #endif + source_id_(naming::invalid_gid), +- dest_(naming::invalid_gid) ++ dest_(naming::invalid_gid), ++ has_continuation_(false) + {} + + parcel_data::parcel_data(naming::gid_type&& dest, naming::address&& addr, diff --git a/libraries/hpx/hpx.SlackBuild b/libraries/hpx/hpx.SlackBuild index 0dbdd285e9..5156a21773 100644 --- a/libraries/hpx/hpx.SlackBuild +++ b/libraries/hpx/hpx.SlackBuild @@ -69,11 +69,15 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# From upstream +patch -p1 < $CWD/gcc7.patch + mkdir -p build cd build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DHPX_WITH_CXX11=On \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB=lib${LIBDIRSUFFIX} \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/libraries/http-parser/http-parser.SlackBuild b/libraries/http-parser/http-parser.SlackBuild index 81e4b6fb4d..f3d4cdf980 100644 --- a/libraries/http-parser/http-parser.SlackBuild +++ b/libraries/http-parser/http-parser.SlackBuild @@ -69,7 +69,7 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -CFLAGS="$SLKCFLAGS" \ +CFLAGS="$SLKCFLAGS -Wno-error=implicit-fallthrough=" \ make install \ PREFIX=$PKG/usr \ LIBDIR=$PKG/usr/lib${LIBDIRSUFFIX} diff --git a/libraries/id3lib/README b/libraries/id3lib/README deleted file mode 100644 index 1200e808a8..0000000000 --- a/libraries/id3lib/README +++ /dev/null @@ -1,13 +0,0 @@ -This package provides a software library for manipulating ID3v1 and -ID3v2 tags. It provides a convenient interface for software -developers to include standards-compliant ID3v1/2 tagging -capabilities in their applications. -Features include identification of valid tags, automatic size -conversions, (re)synchronisation of tag frames, seamless tag -(de)compression, and optional padding facilities. - -This has been patched with the latest UTF16bugfix patch so that -it correctly writes UTF8 and 16 files. - -This SlackBuild is heavily based on alienBob's, but with added -patch for correct UTF handling and some other minor changes. diff --git a/libraries/id3lib/id3lib.SlackBuild b/libraries/id3lib/id3lib.SlackBuild deleted file mode 100644 index d0b72264bf..0000000000 --- a/libraries/id3lib/id3lib.SlackBuild +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh - -# Slackware build script for id3lib - -# Copyright 2006 Halim Issa -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Heavily based on original slackbuild by AlienBOB. -# Modified by Robby Workman - -PRGNAM=id3lib -VERSION=${VERSION:-3.8.3} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - SLKLDFLAGS="-L/usr/lib64" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -patch -p1 < $CWD/patches/id3lib_3.8.3_UTF16_writing_bug.patch -patch -p1 < $CWD/patches/id3lib-3.8.3-GCC43FIX-1.patch -patch -p1 -d doc < $CWD/patches/id3lib_Doxyfile.patch - -# iomanip.h is obsolete; use the standard c++ header -sed -i "s%iomanip.h%iomanip%g" configure - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --localstatedir=/var \ - --sysconfdir=/etc \ - --enable-static=no \ - --enable-debug=no \ - --build=$ARCH-slackware-linux - -make -make docs 2>/dev/null || true -make install DESTDIR=$PKG - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Strip down the doc and examples directories so we can copy w/impunity -for i in doc/ examples/; do \ - find $i \ - \( -name 'Makefile*' -or -name '*.ps.gz' -or -name '*.pdf' -or -name '*.in' \ - \) -exec rm {} \; ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS COPYING ChangeLog HISTORY NEWS README THANKS TODO doc/* \ - $PKG/usr/doc/$PRGNAM-$VERSION -find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 0644 {} \; -# Remove the massive amount of API docs -rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/api - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -chmod -R o-w $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/id3lib/id3lib.info b/libraries/id3lib/id3lib.info deleted file mode 100644 index 15fa568f65..0000000000 --- a/libraries/id3lib/id3lib.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="id3lib" -VERSION="3.8.3" -HOMEPAGE="http://id3lib.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/id3lib/id3lib-3.8.3.tar.gz" -MD5SUM="19f27ddd2dda4b2d26a559a4f0f402a7" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Dominik Drobek" -EMAIL="dominik.drobek (at) o2.pl" diff --git a/libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch b/libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch deleted file mode 100644 index cae30e1870..0000000000 --- a/libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch +++ /dev/null @@ -1,90 +0,0 @@ -Submitted By: zippo zippo@oppiz.net -Date: 2008-10-28 -Initial Package Version: 3.8.3 -Upstream Status: Unknown -Origin: zippo@oppiz.net -Description:Fixes things up for GCC-4.3.2 - -diff -Naur id3lib-3.8.3/examples/demo_convert.cpp 32/id3lib-3.8.3/examples/demo_convert.cpp ---- id3lib-3.8.3/examples/demo_convert.cpp 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/examples/demo_convert.cpp 2008-10-29 20:10:04.000000000 +0000 -@@ -84,7 +84,7 @@ - } - } - --int main( unsigned int argc, char * const argv[]) -+int main(int argc, char * const argv[]) - { - flags_t ulFlag = ID3TT_ALL; - gengetopt_args_info args; -diff -Naur id3lib-3.8.3/examples/demo_copy.cpp 32/id3lib-3.8.3/examples/demo_copy.cpp ---- id3lib-3.8.3/examples/demo_copy.cpp 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/examples/demo_copy.cpp 2008-10-29 20:10:54.000000000 +0000 -@@ -81,7 +81,7 @@ - } - } - --int main( unsigned int argc, char * const argv[]) -+int main(int argc, char * const argv[]) - { - int ulFlag = ID3TT_ID3; - ID3D_INIT_DOUT(); -diff -Naur id3lib-3.8.3/examples/demo_info.cpp 32/id3lib-3.8.3/examples/demo_info.cpp ---- id3lib-3.8.3/examples/demo_info.cpp 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/examples/demo_info.cpp 2008-10-29 20:09:31.000000000 +0000 -@@ -309,7 +309,7 @@ - - #define DEBUG - --int main( unsigned int argc, char * const argv[]) -+int main(int argc, char * const argv[]) - { - ID3D_INIT_DOUT(); - -diff -Naur id3lib-3.8.3/examples/demo_tag.cpp 32/id3lib-3.8.3/examples/demo_tag.cpp ---- id3lib-3.8.3/examples/demo_tag.cpp 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/examples/demo_tag.cpp 2008-10-29 20:10:26.000000000 +0000 -@@ -46,7 +46,7 @@ - os << "v2"; - } - --int main( unsigned int argc, char * const argv[]) -+int main(int argc, char * const argv[]) - { - int ulFlag = ID3TT_ID3; - ID3D_INIT_DOUT(); -diff -Naur id3lib-3.8.3/include/id3/id3lib_strings.h 32/id3lib-3.8.3/include/id3/id3lib_strings.h ---- id3lib-3.8.3/include/id3/id3lib_strings.h 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/include/id3/id3lib_strings.h 2008-10-29 20:03:28.000000000 +0000 -@@ -30,6 +30,7 @@ - #define _ID3LIB_STRINGS_H_ - - #include -+#include "string.h" - - #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000)) - namespace std -diff -Naur id3lib-3.8.3/include/id3/writers.h 32/id3lib-3.8.3/include/id3/writers.h ---- id3lib-3.8.3/include/id3/writers.h 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/include/id3/writers.h 2008-10-29 20:05:56.000000000 +0000 -@@ -30,7 +30,7 @@ - - #include "id3/writer.h" - #include "id3/id3lib_streams.h" --//#include -+#include "string.h" - - class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer - { -diff -Naur id3lib-3.8.3/src/field.cpp 32/id3lib-3.8.3/src/field.cpp ---- id3lib-3.8.3/src/field.cpp 2003-03-02 00:23:00.000000000 +0000 -+++ 32/id3lib-3.8.3/src/field.cpp 2008-10-29 20:02:19.000000000 +0000 -@@ -33,6 +33,8 @@ - #include "readers.h" - #include - -+#include "string.h" -+ - using namespace dami; - - // This is used for unimplemented frames so that their data is preserved when diff --git a/libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch b/libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch deleted file mode 100644 index b05d2cf298..0000000000 --- a/libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog ---- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100 -+++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100 -@@ -1,3 +1,8 @@ -+2006-02-17 Jerome Couderc -+ -+ * Patch from Spoon to fix UTF-16 writing bug -+ http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 -+ - 2003-03-02 Sunday 17:38 Thijmen Klok - - * THANKS (1.20): added more people -diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp ---- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100 -+++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100 -@@ -363,11 +363,22 @@ - // Write the BOM: 0xFEFF - unicode_t BOM = 0xFEFF; - writer.writeChars((const unsigned char*) &BOM, 2); -+ // Patch from Spoon : 2004-08-25 14:17 -+ // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 -+ // Wrong code -+ //for (size_t i = 0; i < size; i += 2) -+ //{ -+ // unicode_t ch = (data[i] << 8) | data[i+1]; -+ // writer.writeChars((const unsigned char*) &ch, 2); -+ //} -+ // Right code -+ unsigned char *pdata = (unsigned char *) data.c_str(); - for (size_t i = 0; i < size; i += 2) - { -- unicode_t ch = (data[i] << 8) | data[i+1]; -+ unicode_t ch = (pdata[i] << 8) | pdata[i+1]; - writer.writeChars((const unsigned char*) &ch, 2); - } -+ // End patch - } - return writer.getCur() - beg; - } diff --git a/libraries/id3lib/patches/id3lib_Doxyfile.patch b/libraries/id3lib/patches/id3lib_Doxyfile.patch deleted file mode 100644 index 76288cbb05..0000000000 --- a/libraries/id3lib/patches/id3lib_Doxyfile.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/Doxyfile.in 2005-01-05 14:27:05.000000000 +0100 -+++ b/Doxyfile.in 2005-01-05 14:30:19.000000000 +0100 -@@ -263,14 +263,17 @@ - - INPUT = ../src \ - ../include/id3/field.h \ -- ../include/id3/frame.h \ - ../include/id3/globals.h \ -+ ../include/id3/helpers.h \ -+ ../include/id3/id3lib_frame.h \ -+ ../include/id3/id3lib_streams.h \ -+ ../include/id3/id3lib_strings.h \ - ../include/id3/misc_support.h \ - ../include/id3/reader.h \ - ../include/id3/readers.h \ - ../include/id3/sized_types.h \ - ../include/id3/tag.h \ -- ../include/id3/tag.h \ -+ ../include/id3/utils.h \ - ../include/id3/writer.h \ - ../include/id3/writers.h - diff --git a/libraries/id3lib/slack-desc b/libraries/id3lib/slack-desc deleted file mode 100644 index ccfa45ce29..0000000000 --- a/libraries/id3lib/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -id3lib: id3lib (id3 tag manipulation library) -id3lib: -id3lib: This package provides a software library for manipulating ID3v1 and -id3lib: ID3v2 tags. It provides a convenient interface for software -id3lib: developers to include standards-compliant ID3v1/2 tagging -id3lib: capabilities in their applications. -id3lib: -id3lib: Features include identification of valid tags, automatic size -id3lib: conversions, (re)synchronisation of tag frames, seamless tag -id3lib: (de)compression, and optional padding facilities. -id3lib: diff --git a/libraries/isl/README b/libraries/isl/README deleted file mode 100644 index 342213d403..0000000000 --- a/libraries/isl/README +++ /dev/null @@ -1,8 +0,0 @@ -isl is a library for manipulating sets and relations of integer points -bounded by linear constraints. Supported operations on sets include -intersection, union, set difference, emptiness check, convex hull, -(integer) affine hull, integer projection, computings the lexicographic -minimum using parametric integer programming, coalescing and parametric -vertex enumeration. It also includes an ILP solver based on generalized -basis reduction, transitive closures on maps (which may encode infinite -graphs), dependence analysis and bounds on piecewise step-polynomials. diff --git a/libraries/isl/isl.SlackBuild b/libraries/isl/isl.SlackBuild deleted file mode 100644 index 58173fad6d..0000000000 --- a/libraries/isl/isl.SlackBuild +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/sh - -# Slackware build script for isl - -# Copyright 2017 Jan F. Chadima -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=isl -VERSION=${VERSION:-0.18} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="${SLKCFLAGS:--O2 -march=i586 -mtune=i686}" - LIBDIRSUFFIX="" - GNUEABI="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="${SLKCFLAGS:--O2 -march=i686 -mtune=i686}" - LIBDIRSUFFIX="" - GNUEABI="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="${SLKCFLAGS:--O2 -fPIC}" - LIBDIRSUFFIX="64" - GNUEABI="" -elif [ "$ARCH" = "arm" ]; then - SLKCFLAGS="${SLKCFLAGS:--O3 -march=armv4t -mtune=cortex-a6 -fPIC}" - LIBDIRSUFFIX="" - GNUEABI="-gnueabi" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="${SLKCFLAGS:--O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon-vfpv4 -fPIC}" - LIBDIRSUFFIX="" - GNUEABI="-gnueabi" -else - SLKCFLAGS="${SLKCFLAGS:--O2}" - LIBDIRSUFFIX="" - GNUEABI="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.xz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib$LIBDIRSUFFIX \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux$GNUEABI - -make -make install DESTDIR=$PKG - -# Move gdb extension to its place. -mkdir -p $PKG/usr/share/gdb/auto-load/usr/lib$LIBDIRSUFFIX -mv $PKG/usr/lib$LIBDIRSUFFIX/*-gdb.py* \ - $PKG/usr/share/gdb/auto-load/usr/lib$LIBDIRSUFFIX - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS ChangeLog LICENSE README doc/*.bib doc/*.pdf doc/*.pod doc/*.tex \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/isl/isl.info b/libraries/isl/isl.info deleted file mode 100644 index 1784d2ae24..0000000000 --- a/libraries/isl/isl.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="isl" -VERSION="0.18" -HOMEPAGE="http://isl.gforge.inria.fr" -DOWNLOAD="http://isl.gforge.inria.fr/isl-0.18.tar.xz" -MD5SUM="5337cd4c29101fe8e8e1b0f5948f91e2" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Jan F. Chadima" -EMAIL="jfch@jagda.eu" diff --git a/libraries/isl/slack-desc b/libraries/isl/slack-desc deleted file mode 100644 index 8bd67300f0..0000000000 --- a/libraries/isl/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -isl: isl (Integer point manipulation library) -isl: -isl: isl is a library for manipulating sets and relations of integer -isl: points bounded by linear constraints. -isl: -isl: Homepage: http://isl.gforge.inria.fr/ -isl: -isl: -isl: -isl: -isl: diff --git a/libraries/jansson/README b/libraries/jansson/README deleted file mode 100644 index 658898eea1..0000000000 --- a/libraries/jansson/README +++ /dev/null @@ -1 +0,0 @@ -Jansson is a C library for encoding, decoding and manipulating JSON data. diff --git a/libraries/jansson/jansson.SlackBuild b/libraries/jansson/jansson.SlackBuild deleted file mode 100644 index 442ed044e0..0000000000 --- a/libraries/jansson/jansson.SlackBuild +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh - -# Slackware build script for jansson - -# Copyright 2014-2018 Larry Hajali -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=jansson -VERSION=${VERSION:-2.12} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --enable-static=no \ - --disable-silent-rules \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a CHANGES LICENSE README.rst $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/jansson/jansson.info b/libraries/jansson/jansson.info deleted file mode 100644 index edd491c9fd..0000000000 --- a/libraries/jansson/jansson.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="jansson" -VERSION="2.12" -HOMEPAGE="http://www.digip.org/jansson/" -DOWNLOAD="http://www.digip.org/jansson/releases/jansson-2.12.tar.bz2" -MD5SUM="317dbaf90a9f85ea0ec7b12d080d173d" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Larry Hajali" -EMAIL="larryhaja[at]gmail[dot]com" diff --git a/libraries/jansson/slack-desc b/libraries/jansson/slack-desc deleted file mode 100644 index 9379939173..0000000000 --- a/libraries/jansson/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -jansson: jansson (C library) -jansson: -jansson: Jansson is a C library for encoding, decoding and manipulating JSON -jansson: data. -jansson: -jansson: Homepage: http://www.digip.org/jansson/ -jansson: -jansson: -jansson: -jansson: -jansson: diff --git a/libraries/json-glib/README b/libraries/json-glib/README deleted file mode 100644 index 84d3d2669b..0000000000 --- a/libraries/json-glib/README +++ /dev/null @@ -1,3 +0,0 @@ -JSON-GLib is a library providing serialization and deserialization -support for the JavaScript Object Notation (JSON) format described -by RFC 4627. diff --git a/libraries/json-glib/json-glib.SlackBuild b/libraries/json-glib/json-glib.SlackBuild deleted file mode 100644 index acf870593e..0000000000 --- a/libraries/json-glib/json-glib.SlackBuild +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -# -# Slackware build script for JSON-Glib -# -# Copyright 2009-2017 Erik W. Hanson, Minneapolis, MN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=json-glib -VERSION=${VERSION:-1.2.8} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -eu - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.xz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var/lib \ - --mandir=/usr/man \ - --disable-static \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --build=$ARCH-slackware-linux - -make -make install-strip DESTDIR=$PKG - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a ABOUT-NLS COPYING ChangeLog NEWS $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -ln -s /usr/share/gtk-doc/html/json-glib $PKG/usr/doc/$PRGNAM-$VERSION/html - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/json-glib/json-glib.info b/libraries/json-glib/json-glib.info deleted file mode 100644 index 50a013fe73..0000000000 --- a/libraries/json-glib/json-glib.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="json-glib" -VERSION="1.2.8" -HOMEPAGE="http://live.gnome.org/JsonGlib" -DOWNLOAD="http://ftp.acc.umu.se/pub/GNOME/sources/json-glib/1.2/json-glib-1.2.8.tar.xz" -MD5SUM="ff31e7d0594df44318e12facda3d086e" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Erik Hanson" -EMAIL="erik@slackbuilds.org" diff --git a/libraries/json-glib/slack-desc b/libraries/json-glib/slack-desc deleted file mode 100644 index 3f96be22b3..0000000000 --- a/libraries/json-glib/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -json-glib: json-glib (a de/serialization library for the JS Object Notation) -json-glib: -json-glib: JSON-GLib is a library providing serialization and deserialization -json-glib: support for the JavaScript Object Notation (JSON) format described -json-glib: by RFC 4627. -json-glib: -json-glib: Homepage: http://live.gnome.org/JsonGlib -json-glib: -json-glib: -json-glib: -json-glib: diff --git a/libraries/lablgtk/README b/libraries/lablgtk/README index aac7126de1..c549b2f274 100644 --- a/libraries/lablgtk/README +++ b/libraries/lablgtk/README @@ -1,6 +1,6 @@ LablGTK is an Objective Caml interface to gtk+/gtk+-2 -LablGTK uses the rich type system of Objective Caml 3 to provide a strongly +LablGTK uses the rich type system of Objective Caml to provide a strongly typed, yet very comfortable, object-oriented interface to gtk+. Some optional dependencies are libgnomecanvas, libgnomeui, diff --git a/libraries/lablgtk/lablgtk.SlackBuild b/libraries/lablgtk/lablgtk.SlackBuild index 5cb0a33e18..563eda8643 100644 --- a/libraries/lablgtk/lablgtk.SlackBuild +++ b/libraries/lablgtk/lablgtk.SlackBuild @@ -24,13 +24,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=lablgtk -VERSION=${VERSION:-2.18.4} +VERSION=${VERSION:-2.18.8} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -41,8 +41,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -82,7 +82,7 @@ make -j1 world make DESTDIR=$PKG install # remove file conflicting with ocaml's ones -rm -f $PKG/usr/lib$LIBDIRSUFFIX/ocaml/ld.conf +rm $PKG/usr/lib$LIBDIRSUFFIX/ocaml/ld.conf || exit 1 find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true diff --git a/libraries/lablgtk/lablgtk.info b/libraries/lablgtk/lablgtk.info index 24707f09b1..f8136d4d2a 100644 --- a/libraries/lablgtk/lablgtk.info +++ b/libraries/lablgtk/lablgtk.info @@ -1,10 +1,10 @@ PRGNAM="lablgtk" -VERSION="2.18.4" +VERSION="2.18.8" HOMEPAGE="http://lablgtk.forge.ocamlcore.org" -DOWNLOAD="https://forge.ocamlcore.org/frs/download.php/1602/lablgtk-2.18.4.tar.gz" -MD5SUM="cb95497a3a34facd70d475892a806d02" +DOWNLOAD="https://github.com/garrigue/lablgtk/releases/download/lablgtk2188/lablgtk-2.18.8.tar.gz" +MD5SUM="97c1572965a2942133eaff5123775d11" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="ocaml-findlib" -MAINTAINER="Markus Hutmacher" -EMAIL="mailing@markhu.de" +MAINTAINER="Matteo Bernardini" +EMAIL="ponce@slackbuilds.org" diff --git a/libraries/lame/CVE-2017-15018.patch.gz b/libraries/lame/CVE-2017-15018.patch.gz deleted file mode 100644 index 30d768d4f0..0000000000 Binary files a/libraries/lame/CVE-2017-15018.patch.gz and /dev/null differ diff --git a/libraries/lame/README b/libraries/lame/README deleted file mode 100644 index 6e4fe7db20..0000000000 --- a/libraries/lame/README +++ /dev/null @@ -1,5 +0,0 @@ -lame (LAME Ain't an Mp3 Encoder) - -LAME is an educational tool to be used for learning about MP3 encoding. -The goal of the LAME project is to use the open source model to improve -the psycho acoustics, noise shaping, and speed of MP3. diff --git a/libraries/lame/lame.SlackBuild b/libraries/lame/lame.SlackBuild deleted file mode 100644 index 368f47b1ee..0000000000 --- a/libraries/lame/lame.SlackBuild +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh - -# Slackware build script for lame - -# Copyright 2006 Martin Lefebvre -# Copyright 2008,2010 Michiel van Wessem, Manchester, United Kingdom -# Copyright 2019 B. Watson -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Now maintained by B. Watson - -# 20191231 bkw: -# - take over maintenance -# - update for v3.100 - -PRGNAM=lame -VERSION=${VERSION:-3.100} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ - \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ - -# This stuff isn't needed for 3.100, but keep compatibility with the -# old 3.99.5 version: -if [ "$VERSION" = "3.99.5" ]; then - # Fix for the newer gcc - # http://www.linuxfromscratch.org/blfs/view/svn/multimedia/lame.html - case "$ARCH" in - i?86) sed -i -e '/xmmintrin\.h/d' configure ;; - esac - - # Fix CVE-2017-15018 - zcat $CWD/CVE-2017-15018.patch.gz | patch -p1 -fi - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --htmldir=/usr/doc/$PRGNAM-$VERSION \ - --enable-nasm \ - --enable-static=no \ - --build=$ARCH-slackware-linux - -make pkgdocdir=/usr/doc/$PRGNAM-$VERSION -make install-strip pkgdocdir=/usr/doc/$PRGNAM-$VERSION DESTDIR=$PKG - -gzip -9 $PKG/usr/man/man1/$PRGNAM.1 - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a API COPYING ChangeLog DEFINES HACKING INSTALL* LICENSE README* \ - STYLEGUIDE TODO USAGE $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/lame/lame.info b/libraries/lame/lame.info deleted file mode 100644 index 3ce4d08494..0000000000 --- a/libraries/lame/lame.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="lame" -VERSION="3.100" -HOMEPAGE="http://lame.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/lame/lame-3.100.tar.gz" -MD5SUM="83e260acbe4389b54fe08e0bdbf7cddb" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="B. Watson" -EMAIL="yalhcru@gmail.com" diff --git a/libraries/lame/slack-desc b/libraries/lame/slack-desc deleted file mode 100644 index c8c2c6d12e..0000000000 --- a/libraries/lame/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -lame: lame (LAME Ain't an Mp3 Encoder) -lame: -lame: LAME is an educational tool to be used for learning about MP3 -lame: encoding. The goal of the LAME project is to use the open source -lame: model to improve the psycho acoustics, noise shaping, and speed of -lame: MP3. -lame: -lame: -lame: -lame: -lame: diff --git a/libraries/libart-lgpl/README b/libraries/libart-lgpl/README new file mode 100644 index 0000000000..1dfaf798f6 --- /dev/null +++ b/libraries/libart-lgpl/README @@ -0,0 +1,3 @@ +Libart is a library for high-performance 2D graphics. It was used by +both KDE and GNOME. This is the LGPL'd component of the library. +Raph Levien is the author of libart. diff --git a/libraries/libart-lgpl/libart-lgpl.SlackBuild b/libraries/libart-lgpl/libart-lgpl.SlackBuild new file mode 100644 index 0000000000..27801d55a5 --- /dev/null +++ b/libraries/libart-lgpl/libart-lgpl.SlackBuild @@ -0,0 +1,100 @@ +#!/bin/sh + +# Slackware build script for libart-lgpl + +# Copyright 2018 Matteo Bernardini , Pisa, Italy +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=libart-lgpl +VERSION=${VERSION:-r14.0.4} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +DOCS="AUTHORS COPYING ChangeLog NEWS README" + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-static \ + --build=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libart-lgpl/libart-lgpl.info b/libraries/libart-lgpl/libart-lgpl.info new file mode 100644 index 0000000000..13a7454980 --- /dev/null +++ b/libraries/libart-lgpl/libart-lgpl.info @@ -0,0 +1,10 @@ +PRGNAM="libart-lgpl" +VERSION="r14.0.4" +HOMEPAGE="http://mirror.git.trinitydesktop.org/cgit/libart-lgpl/" +DOWNLOAD="http://ponce.cc/slackware/sources/repo/libart-lgpl-r14.0.4.tar.xz" +MD5SUM="12e8ee49a6c843fad3a4be9b3514104a" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Matteo Bernardini" +EMAIL="ponce@slackbuilds.org" diff --git a/libraries/libart-lgpl/slack-desc b/libraries/libart-lgpl/slack-desc new file mode 100644 index 0000000000..eb0120d1d0 --- /dev/null +++ b/libraries/libart-lgpl/slack-desc @@ -0,0 +1,20 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +libart-lgpl: libart_lgpl (graphics library) +libart-lgpl: +libart-lgpl: Libart is a library for high-performance 2D graphics. It was used by +libart-lgpl: both KDE and GNOME. This is the LGPL'd component of the library. +libart-lgpl: Raph Levien is the author of libart. +libart-lgpl: +libart-lgpl: homepage: http://mirror.git.trinitydesktop.org/cgit/libart-lgpl/ +libart-lgpl: +libart-lgpl: +libart-lgpl: +libart-lgpl: +libart-lgpl: diff --git a/libraries/libbluray/README b/libraries/libbluray/README deleted file mode 100644 index aab8dd8f96..0000000000 --- a/libraries/libbluray/README +++ /dev/null @@ -1,15 +0,0 @@ -libbluray is an open-source library designed for Blu-Ray Discs playback for -media players, like VLC or MPlayer. libbluray integrates navigation, playlist -parsing, menus and BD-J. libbluray is DRM-circumvention free, and thus, safe to -integrate in your software. - -Optional runtime dependencies: libaacs and libbdplus - -Optional build time dependency is graphviz, apache-ant and jdk. To build the -extra bdjava capabilities, apache-ant and jdk are needed. Then run the -slackbuild as: - - BDJAVA=yes sh libbluray.SlackBuild - -Most commercial Blu-Ray are protected by AACS or BD+ technologies and this -library is not enough to playback those discs. diff --git a/libraries/libbluray/libbluray.SlackBuild b/libraries/libbluray/libbluray.SlackBuild deleted file mode 100644 index f0b5ad6834..0000000000 --- a/libraries/libbluray/libbluray.SlackBuild +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/sh - -# Slackware build script for libbluray - -# Copyright 2011-2019 Larry Hajali -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libbluray -VERSION=${VERSION:-1.1.0} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -# Hack for compiling xine plugin bindings for libbluray. -sed -i -e '/pkg-config libbluray/d' -e 's|0644|0755|' player_wrappers/xine/Makefile - -# If you want bdjava enabled then set BDAJVA=yes to the slackbuild. -if [ "${BDJAVA:-no}" == 'yes' ]; then - OPT_ARGS="--enable-bdjava-jar" -else - OPT_ARGS="--disable-bdjava-jar" -fi - -CFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --disable-silent-rules \ - --enable-static=no \ - $OPT_ARGS \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -# Install the xine bluray plugin -CFLAGS="$SLKCFLAGS -I$PKG/usr/include" \ -LDFLAGS="-L$PKG/usr/lib$LIBDIRSUFFIX" \ -LIBS_BD="-lbluray" \ -make -C player_wrappers/xine DESTDIR=$PKG install - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a COPYING README.txt player_wrappers/xine/HOWTO $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libbluray/libbluray.info b/libraries/libbluray/libbluray.info deleted file mode 100644 index bde3dbcde3..0000000000 --- a/libraries/libbluray/libbluray.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libbluray" -VERSION="1.1.0" -HOMEPAGE="http://www.videolan.org/developers/libbluray.html" -DOWNLOAD="http://ftp.videolan.org/pub/videolan/libbluray/1.1.0/libbluray-1.1.0.tar.bz2" -MD5SUM="ba1aa5803a55e89f813090ec6d238635" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Larry Hajali" -EMAIL="larryhaja[at]gmail[dot]com" diff --git a/libraries/libbluray/slack-desc b/libraries/libbluray/slack-desc deleted file mode 100644 index 920e26f2a7..0000000000 --- a/libraries/libbluray/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libbluray: libbluray (Blu-Ray Disc playback library) -libbluray: -libbluray: libbluray is an open-source library designed for Blu-Ray Discs -libbluray: playback for media players, like VLC or MPlayer. -libbluray: -libbluray: Homepage: http://www.videolan.org/developers/libbluray.html -libbluray: -libbluray: -libbluray: -libbluray: -libbluray: diff --git a/libraries/libc++/README b/libraries/libc++/README deleted file mode 100644 index 6573443a04..0000000000 --- a/libraries/libc++/README +++ /dev/null @@ -1,5 +0,0 @@ -libc++ is the LLVM C++ standard library, targeting C++11. -This SlackBuild will produce a version of libc++ that uses the -libc++abi ABI interface. - -Note that the experimental library is NOT built by this script. diff --git a/libraries/libc++/libc++.SlackBuild b/libraries/libc++/libc++.SlackBuild deleted file mode 100644 index 8df3cbd82a..0000000000 --- a/libraries/libc++/libc++.SlackBuild +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh - -# Slackware build script for libc++ - -# Copyright 2017 Coastal Carolina University -# Copyright 2020 Hunter Sezen California, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libc++ -VERSION=${VERSION:-3.8.0} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -eu - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -tar xvf $CWD/llvm-$VERSION.src.tar.xz -cd llvm-$VERSION.src - -( - cd projects - tar xvf $CWD/libcxx-$VERSION.src.tar.xz - mv libcxx-$VERSION.src libcxx - tar xvf $CWD/libcxxabi-$VERSION.src.tar.xz - mv libcxxabi-$VERSION.src libcxxabi -) - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p build -cd build - cmake \ - -DCMAKE_C_COMPILER="clang" \ - -DCMAKE_CXX_COMPILER="clang++" \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLLVM_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \ - -DLIBCXX_INCLUDE_DOCS=ON \ - -DCMAKE_BUILD_TYPE=Release .. - make install-libcxx install-libcxxabi DESTDIR=$PKG -cd .. - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | - grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp projects/libcxx/CREDITS.TXT \ - $PKG/usr/doc/$PRGNAM-$VERSION/libcxx-CREDITS.TXT -cp projects/libcxx/LICENSE.TXT \ - $PKG/usr/doc/$PRGNAM-$VERSION/libcxx-LICENSE.TXT -cp projects/libcxxabi/CREDITS.TXT \ - $PKG/usr/doc/$PRGNAM-$VERSION/libcxxabi-CREDITS.TXT -cp projects/libcxxabi/LICENSE.TXT \ - $PKG/usr/doc/$PRGNAM-$VERSION/libcxxabi-LICENSE.TXT -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libc++/libc++.info b/libraries/libc++/libc++.info deleted file mode 100644 index 9fd41afe86..0000000000 --- a/libraries/libc++/libc++.info +++ /dev/null @@ -1,14 +0,0 @@ -PRGNAM="libc++" -VERSION="3.8.0" -HOMEPAGE="http://libcxx.llvm.org/" -DOWNLOAD="http://releases.llvm.org/3.8.0/llvm-3.8.0.src.tar.xz \ - http://releases.llvm.org/3.8.0/libcxx-3.8.0.src.tar.xz \ - http://releases.llvm.org/3.8.0/libcxxabi-3.8.0.src.tar.xz" -MD5SUM="07a7a74f3c6bd65de4702bf941b511a0 \ - d6e0bdbbee39f7907ad74fd56d03b88a \ - bbe6b4d72c7c5978550d370af529bcf7" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="libunwind" -MAINTAINER="Hunter Sezen" -EMAIL="orbea@riseup.net" diff --git a/libraries/libc++/slack-desc b/libraries/libc++/slack-desc deleted file mode 100644 index 3991a810fa..0000000000 --- a/libraries/libc++/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libc++: libc++ (LLVM C++ standard library implementation) -libc++: -libc++: libc++ is a new implementation of the C++ standard library, -libc++: targeting C++11. -libc++: -libc++: Homepage: http://libcxx.llvm.org/ -libc++: -libc++: -libc++: -libc++: -libc++: diff --git a/libraries/libclaw/lib.patch b/libraries/libclaw/lib.patch deleted file mode 100644 index 8ea8694e1a..0000000000 --- a/libraries/libclaw/lib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libclaw-1.7.4/CMakeLists.orig.txt 2015-05-14 17:54:05.443919651 +0300 -+++ libclaw-1.7.4/CMakeLists.txt 2015-05-14 17:54:22.925701098 +0300 -@@ -30,7 +30,7 @@ - set( CLAW_CODE_DIR claw/code/ ) - set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include/" ) - set( CLAW_INSTALLDIR_SOURCE include/claw/ ) --set( CLAW_INSTALLDIR_LIB lib/ ) -+set( CLAW_INSTALLDIR_LIB lib64/ ) - set( CLAW_INSTALLDIR_DOC share/doc/libclaw${CLAW_VERSION_MAJOR}/ ) - set( CLAW_TRANSLATIONS_INSTALL_DIR "share/locale" ) - set( CLAW_EXECUTABLE_DIR bin/ ) diff --git a/libraries/libclaw/libclaw.SlackBuild b/libraries/libclaw/libclaw.SlackBuild index 1cee1fa691..7b426f6ace 100644 --- a/libraries/libclaw/libclaw.SlackBuild +++ b/libraries/libclaw/libclaw.SlackBuild @@ -69,9 +69,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -if [ "$ARCH" = "x86_64" ]; then - patch -p1 < $CWD/lib.patch -fi +# Apply some patches from fedora +for i in $CWD/patches/*.patch ; do patch -p1 < $i ; done mkdir -p build cd build @@ -79,6 +78,7 @@ cd build -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=$LIBDIRSUFFIX \ -DCMAKE_BUILD_TYPE=Release .. make make install DESTDIR=$PKG diff --git a/libraries/libclaw/patches/01_libclaw-1.7.4-libdir.patch b/libraries/libclaw/patches/01_libclaw-1.7.4-libdir.patch new file mode 100644 index 0000000000..7e1172f22b --- /dev/null +++ b/libraries/libclaw/patches/01_libclaw-1.7.4-libdir.patch @@ -0,0 +1,36 @@ +diff -up libclaw-1.7.4/claw-config.in.libdir libclaw-1.7.4/claw-config.in +--- libclaw-1.7.4/claw-config.in.libdir 2013-07-03 13:34:38.000000000 -0600 ++++ libclaw-1.7.4/claw-config.in 2016-12-29 16:58:52.140591117 -0700 +@@ -140,7 +140,7 @@ while test $# -gt 0; do + echo -I$CLAW_INCLUDE_DIRECTORY + ;; + --libs) +- libdirs="-L${exec_prefix}/lib " ++ libdirs="-L${exec_prefix}/@CLAW_INSTALLDIR_LIB@ " + + echo -n "$libdirs" + echo $(print_libraries) +diff -up libclaw-1.7.4/CMakeLists.txt.libdir libclaw-1.7.4/CMakeLists.txt +--- libclaw-1.7.4/CMakeLists.txt.libdir 2016-12-29 16:50:24.124507641 -0700 ++++ libclaw-1.7.4/CMakeLists.txt 2016-12-29 16:50:24.137508590 -0700 +@@ -30,7 +30,7 @@ endif(SVN_ENTRIES) + set( CLAW_CODE_DIR claw/code/ ) + set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include/" ) + set( CLAW_INSTALLDIR_SOURCE include/claw/ ) +-set( CLAW_INSTALLDIR_LIB lib/ ) ++set( CLAW_INSTALLDIR_LIB "lib${LIB_SUFFIX}/" ) + set( CLAW_INSTALLDIR_DOC share/doc/libclaw${CLAW_VERSION_MAJOR}/ ) + set( CLAW_TRANSLATIONS_INSTALL_DIR "share/locale" ) + set( CLAW_EXECUTABLE_DIR bin/ ) +diff -up libclaw-1.7.4/cmake-module/CMakeLists.txt.libdir libclaw-1.7.4/cmake-module/CMakeLists.txt +--- libclaw-1.7.4/cmake-module/CMakeLists.txt.libdir 2013-07-03 13:34:38.000000000 -0600 ++++ libclaw-1.7.4/cmake-module/CMakeLists.txt 2016-12-29 16:50:24.148509393 -0700 +@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.6) + project(claw:cmake-modules) + + if( NOT CLAW_CMAKE_MODULES_INSTALL_PATH ) +- set( CLAW_CMAKE_MODULES_INSTALL_PATH "share/cmake/libclaw" ) ++ set( CLAW_CMAKE_MODULES_INSTALL_PATH "lib${LIB_SUFFIX}/cmake/libclaw" ) + endif( NOT CLAW_CMAKE_MODULES_INSTALL_PATH ) + + set( CLAW_CMAKE_MODULES diff --git a/libraries/libclaw/patches/02_libclaw-1.7.4-gcc62.patch b/libraries/libclaw/patches/02_libclaw-1.7.4-gcc62.patch new file mode 100644 index 0000000000..e1da77043d --- /dev/null +++ b/libraries/libclaw/patches/02_libclaw-1.7.4-gcc62.patch @@ -0,0 +1,89 @@ +From a13a75306bba55538ba7d5188ffc1a7eb34f173b Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Mon, 28 Nov 2016 10:21:33 +0100 +Subject: [PATCH 1/2] Deal with correct getline() type +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + libclaw-1.7.4/claw/code/configuration_file.cpp: + In member function ‘bool claw::configuration_file::get_line(std::istream&, + const claw::configuration_file::syntax_description&, std::__cxx11::string&) const’: + libclaw-1.7.4/claw/code/configuration_file.cpp:444:39: error: cannot convert + ‘std::basic_istream’ to ‘bool’ in initialization + bool result = text::getline(is, line); +--- + claw/code/configuration_file.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/claw/code/configuration_file.cpp b/claw/code/configuration_file.cpp +index e7bb26a..3839cff 100644 +--- a/claw/code/configuration_file.cpp ++++ b/claw/code/configuration_file.cpp +@@ -441,7 +441,7 @@ claw::configuration_file::file_end() const + bool claw::configuration_file::get_line + ( std::istream& is, const syntax_description& syntax, std::string& line ) const + { +- bool result = text::getline(is, line); ++ bool result = text::getline(is, line).good(); + + if ( result ) + { +-- +2.9.3 + +From cadc97d9626307d2f1fcf113099c9c4ca0f7cf6b Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Mon, 28 Nov 2016 10:09:33 +0100 +Subject: [PATCH 2/2] Do something random to make C++ happy +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + In file included from /usr/include/boost/bind.hpp:22:0, libclaw-1.7.4/claw/code/tween/single_tweener.cpp:32: + /usr/include/boost/bind/bind.hpp: In instantiation of ‘void boost::_bi::list2::operator()(boost::_bi::type, F&, A&, int) [with F = void (*)(double&, double&); A = boost::_bi::rrlist1; A1 = boost::reference_wrapper; A2 = boost::arg<1>]’: + /usr/include/boost/bind/bind.hpp:1234:50: required from ‘boost::_bi::bind_t::result_type boost::_bi::bind_t::operator()(A1&&) [with A1 = double; R = void; F = void (*)(double&, double&); L = boost::_bi::list2, boost::arg<1> >; boost::_bi::bind_t::result_type = void]’ + /usr/include/boost/function/function_template.hpp:159:11: required from ‘static void boost::detail::function::void_function_obj_invoker1::invoke(boost::detail::function::function_buffer&, T0) [with FunctionObj = boost::_bi::bind_t, boost::arg<1> > >; R = void; T0 = double]’ + /usr/include/boost/function/function_template.hpp:937:38: required from ‘void boost::function1::assign_to(Functor) [with Functor = boost::_bi::bind_t, boost::arg<1> > >; R = void; T0 = double]’ + /usr/include/boost/function/function_template.hpp:727:7: required from ‘boost::function1::function1(Functor, typename boost::enable_if_c<(! boost::is_integral::value), int>::type) [with Functor = boost::_bi::bind_t, boost::arg<1> > >; R = void; T0 = double; typename boost::enable_if_c<(! boost::is_integral::value), int>::type = int]’ + /usr/include/boost/function/function_template.hpp:1073:16: required from ‘boost::function::function(Functor, typename boost::enable_if_c<(! boost::is_integral::value), int>::type) [with Functor = boost::_bi::bind_t, boost::arg<1> > >; R = void; T0 = double; typename boost::enable_if_c<(! boost::is_integral::value), int>::type = int]’ + /usr/include/boost/function/function_template.hpp:1126:5: required from ‘typename boost::enable_if_c<(! boost::is_integral::value), boost::function&>::type boost::function::operator=(Functor) [with Functor = boost::_bi::bind_t, boost::arg<1> > >; R = void; T0 = double; typename boost::enable_if_c<(! boost::is_integral::value), boost::function&>::type = boost::function&]’ + libclaw-1.7.4/claw/code/tween/single_tweener.cpp:125:62: required from here + /usr/include/boost/bind/bind.hpp:319:35: error: invalid initialization of non-const reference of type ‘double&’ from an rvalue of type ‘double’ + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); + ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CMakeFiles/claw_tween-static.dir/build.make:89: recipe for target 'CMakeFiles/claw_tween-static.dir/claw/code/tween/single_tweener.cpp.o' failed +--- + claw/code/tween/single_tweener.cpp | 2 +- + claw/tween/single_tweener.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/claw/code/tween/single_tweener.cpp b/claw/code/tween/single_tweener.cpp +index 2a3c7fe..d173eec 100644 +--- a/claw/code/tween/single_tweener.cpp ++++ b/claw/code/tween/single_tweener.cpp +@@ -241,7 +241,7 @@ double claw::tween::single_tweener::do_update( double dt ) + const double result = dt - t; + m_date += t; + +- const double val( get_value() ); ++ double val( get_value() ); + + m_callback(val); + +diff --git a/claw/tween/single_tweener.hpp b/claw/tween/single_tweener.hpp +index 9f05671..f730cfa 100644 +--- a/claw/tween/single_tweener.hpp ++++ b/claw/tween/single_tweener.hpp +@@ -51,7 +51,7 @@ namespace claw + public: + /** \brief The type of the function called when the single_tweener is + updated. */ +- typedef boost::function update_function; ++ typedef boost::function update_function; + + /** \brief The type of the function used to compute the new value. */ + typedef boost::function easing_function; +-- +2.9.3 + diff --git a/libraries/libclaw/patches/03_libclaw-1.7.4-gcc7.patch b/libraries/libclaw/patches/03_libclaw-1.7.4-gcc7.patch new file mode 100644 index 0000000000..dd89e3e256 --- /dev/null +++ b/libraries/libclaw/patches/03_libclaw-1.7.4-gcc7.patch @@ -0,0 +1,36 @@ +Patch taken from upstream and edited for use in Fedora: + +commit 6033275773313fe052f6e222321a8ec87587fbe6 +Author: Julien Jorge +Date: Thu Apr 24 20:39:18 2014 +0200 + + Fix various errors pointed by clang on iOS. + +diff --git a/claw/impl/box_2d.tpp b/claw/impl/box_2d.tpp +index e4b6936..71f3883 100644 +--- a/claw/impl/box_2d.tpp ++++ b/claw/impl/box_2d.tpp +@@ -136,8 +136,8 @@ template + claw::math::box_2d claw::math::box_2d::cast_value_type_to() const + { + return claw::math::box_2d +- ( first_point.cast_value_type_to(), +- second_point.cast_value_type_to() ); ++ ( first_point.template cast_value_type_to(), ++ second_point.template cast_value_type_to() ); + } // box_2d::cast_value_type_to() + + /*----------------------------------------------------------------------------*/ +diff --git a/claw/impl/rectangle.tpp b/claw/impl/rectangle.tpp +index 9e6f14a..3c3c8f3 100644 +--- a/claw/impl/rectangle.tpp ++++ b/claw/impl/rectangle.tpp +@@ -140,7 +140,7 @@ template + claw::math::rectangle claw::math::rectangle::cast_value_type_to() const + { + return claw::math::rectangle +- ( position.cast_value_type_to(), (U)width, (U)height ); ++ ( position.template cast_value_type_to(), (U)width, (U)height ); + } // rectangle::cast_value_type_to() + + /*----------------------------------------------------------------------------*/ diff --git a/libraries/libcuefile/libcuefile.SlackBuild b/libraries/libcuefile/libcuefile.SlackBuild index 4111753fbb..499da0205c 100644 --- a/libraries/libcuefile/libcuefile.SlackBuild +++ b/libraries/libcuefile/libcuefile.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Slackware build script for libreplaygain +# Slackware build script for libcuefile # Written by Šime Ramov PRGNAM=libcuefile @@ -10,7 +10,7 @@ TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -21,8 +21,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -45,10 +45,10 @@ tar xzvf $CWD/$PRGNAM\_$VERSION.tar.gz cd $PRGNAM\_$VERSION chown -R root:root . find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; # adding missing include files to CMakeLists.txt echo 'INSTALL(FILES ${libcuefile_SOURCE_DIR}/include/cuetools/cuefile.h ${libcuefile_SOURCE_DIR}/include/cuetools/cd.h ${libcuefile_SOURCE_DIR}/include/cuetools/cdtext.h DESTINATION include/cuetools)' >> src/CMakeLists.txt @@ -59,12 +59,12 @@ cmake \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} + -DLIB_SUFFIX=${LIBDIRSUFFIX} . make make install DESTDIR=$PKG -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION diff --git a/libraries/libdbus-c++/gcc47.patch b/libraries/libdbus-c++/gcc47.patch deleted file mode 100644 index 6a82773006..0000000000 --- a/libraries/libdbus-c++/gcc47.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/eventloop-integration.cpp.orig 2012-05-09 11:22:09.683290763 +0200 -+++ src/eventloop-integration.cpp 2012-05-09 11:22:44.313288912 +0200 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - using namespace DBus; - using namespace std; diff --git a/libraries/libdbus-c++/libdbus-c++.SlackBuild b/libraries/libdbus-c++/libdbus-c++.SlackBuild index 3df02abcb3..77bbd394c2 100644 --- a/libraries/libdbus-c++/libdbus-c++.SlackBuild +++ b/libraries/libdbus-c++/libdbus-c++.SlackBuild @@ -23,13 +23,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libdbus-c++ -VERSION=${VERSION:-0.9.0} -BUILD=${BUILD:-2} +VERSION=${VERSION:-20160924_e3455d2} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -60,22 +60,20 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Fix compiling with newer gcc versions -patch -p0 -i $CWD/gcc47.patch +# Apply some patches (thanks opensuse!) +for i in $CWD/patches/*.patch ; do patch -p0 < $i ; done -# Fix https://sourceforge.net/p/dbus-cplusplus/bugs/5/ -patch -p1 -i $CWD/nested_variant_map.patch +./bootstrap -LDFLAGS="-lpthread" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/libdbus-c++/libdbus-c++.info b/libraries/libdbus-c++/libdbus-c++.info index df6ec8de77..264ec943dc 100644 --- a/libraries/libdbus-c++/libdbus-c++.info +++ b/libraries/libdbus-c++/libdbus-c++.info @@ -1,8 +1,8 @@ PRGNAM="libdbus-c++" -VERSION="0.9.0" +VERSION="20160924_e3455d2" HOMEPAGE="http://dbus-cplusplus.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/dbus-cplusplus/libdbus-c++-0.9.0.tar.gz" -MD5SUM="e752116f523fa88ef041e63d3dee4de2" +DOWNLOAD="http://ponce.cc/slackware/sources/repo/libdbus-c++-20160924_e3455d2.tar.xz" +MD5SUM="f6aa26e23d73fa0f02d03e68932f8be7" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/libdbus-c++/nested_variant_map.patch b/libraries/libdbus-c++/nested_variant_map.patch deleted file mode 100644 index 8b41ed3a3a..0000000000 --- a/libraries/libdbus-c++/nested_variant_map.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libdbus-c++-0.9.0/src/message.cpp 2016-02-20 12:15:52.069704535 +0100 -+++ libdbus-c++-0.9.0-patch/src/message.cpp 2016-02-20 12:31:34.159854472 +0100 -@@ -347,6 +347,7 @@ - ( - (DBusMessageIter *) & (to._iter), - from.type(), -- from.type() == DBUS_TYPE_VARIANT ? NULL : sig, -+ from.type() == DBUS_TYPE_DICT_ENTRY || -+ from.type() == DBUS_TYPE_STRUCT ? NULL : sig, - (DBusMessageIter *) & (to_container._iter) - ); diff --git a/libraries/libdbus-c++/patches/libdbus-c++-gcc7.patch b/libraries/libdbus-c++/patches/libdbus-c++-gcc7.patch new file mode 100644 index 0000000000..42efd3ab8a --- /dev/null +++ b/libraries/libdbus-c++/patches/libdbus-c++-gcc7.patch @@ -0,0 +1,11 @@ +Index: src/pipe.cpp +=================================================================== +--- src/pipe.cpp.orig 2011-11-30 00:16:31.000000000 +0200 ++++ src/pipe.cpp 2017-03-27 10:34:55.261175583 +0200 +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigne + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, 0, 1); + } diff --git a/libraries/libdbus-c++/patches/libdbus-c++-glibmm-2.43.patch b/libraries/libdbus-c++/patches/libdbus-c++-glibmm-2.43.patch new file mode 100644 index 0000000000..56bce80d17 --- /dev/null +++ b/libraries/libdbus-c++/patches/libdbus-c++-glibmm-2.43.patch @@ -0,0 +1,13 @@ +--- examples/glib/dbus-browser.h.orig 2016-09-24 11:03:56.000000000 +0200 ++++ examples/glib/dbus-browser.h 2017-06-21 14:58:48.350046047 +0200 +@@ -1,9 +1,9 @@ + #ifndef __DEMO_DBUS_BROWSER_H + #define __DEMO_DBUS_BROWSER_H + ++#include + #include + #include +-#include + + #include "dbus-glue.h" + diff --git a/libraries/libdbus-c++/patches/libdbus-c++-nodocdatetime.patch b/libraries/libdbus-c++/patches/libdbus-c++-nodocdatetime.patch new file mode 100644 index 0000000000..68684c8add --- /dev/null +++ b/libraries/libdbus-c++/patches/libdbus-c++-nodocdatetime.patch @@ -0,0 +1,25 @@ +Index: doc/foot.html +=================================================================== +--- doc/foot.html.orig 2016-09-24 11:03:56.000000000 +0200 ++++ doc/foot.html 2017-04-10 15:51:55.951931300 +0200 +@@ -10,7 +10,6 @@ + + + +- +
Docs generated $datetime
+ + +Index: doc/Doxyfile.in +=================================================================== +--- doc/Doxyfile.in.orig 2016-09-24 11:03:56.000000000 +0200 ++++ doc/Doxyfile.in 2017-04-10 15:54:18.748279756 +0200 +@@ -836,7 +836,7 @@ HTML_STYLESHEET = @srcdir@/dbus-c + # page will contain the date and time when the page was generated. Setting + # this to NO can help when comparing the output of multiple runs. + +-HTML_TIMESTAMP = YES ++HTML_TIMESTAMP = NO + + # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, + # files or namespaces will be aligned in HTML using tables. If set to diff --git a/libraries/libdbus-c++/patches/libdbus-c++-noreturn.patch b/libraries/libdbus-c++/patches/libdbus-c++-noreturn.patch new file mode 100644 index 0000000000..b87abf331f --- /dev/null +++ b/libraries/libdbus-c++/patches/libdbus-c++-noreturn.patch @@ -0,0 +1,21 @@ +Index: include/dbus-c++/util.h +=================================================================== +--- include/dbus-c++/util.h.orig 2011-11-28 17:03:19.000000000 +0200 ++++ include/dbus-c++/util.h 2012-03-11 13:21:18.851849466 +0200 +@@ -243,6 +243,7 @@ public: + // TODO: think about return type in this case + // this assert should help me to find the use case where it's needed... + //assert (false); ++ return _cb->call(param); + } + + R call(P param) const +@@ -255,6 +256,8 @@ public: + // TODO: think about return type in this case + // this assert should help me to find the use case where it's needed... + //assert (false); ++ return _cb->call(param); ++ + } + + bool empty() const diff --git a/libraries/libdbus-c++/patches/libdbus-c++-pthread.patch b/libraries/libdbus-c++/patches/libdbus-c++-pthread.patch new file mode 100644 index 0000000000..38b3878ac2 --- /dev/null +++ b/libraries/libdbus-c++/patches/libdbus-c++-pthread.patch @@ -0,0 +1,11 @@ +Index: dbus-c++-1.pc.in +=================================================================== +--- dbus-c++-1.pc.in.orig 2011-11-28 22:52:01.000000000 +0200 ++++ dbus-c++-1.pc.in 2012-03-11 15:49:36.452603560 +0200 +@@ -7,5 +7,5 @@ Name: @PACKAGE@ + Description: Native C++ bindings for D-Bus + Requires: dbus-1 + Version: @VERSION@ +-Libs: -L${libdir} -ldbus-c++-1 ++Libs: -L${libdir} -ldbus-c++-1 -lpthread + Cflags: -I${includedir}/dbus-c++-1 -DDBUS_API_SUBJECT_TO_CHANGE diff --git a/libraries/libdbus-c++/patches/libdbus-c++-sover.patch b/libraries/libdbus-c++/patches/libdbus-c++-sover.patch new file mode 100644 index 0000000000..3517991846 --- /dev/null +++ b/libraries/libdbus-c++/patches/libdbus-c++-sover.patch @@ -0,0 +1,28 @@ +Index: src/Makefile.am +=================================================================== +--- src/Makefile.am.orig 2016-09-24 11:03:56.000000000 +0200 ++++ src/Makefile.am 2017-03-28 14:53:22.941031645 +0200 +@@ -28,6 +28,9 @@ libdbus_c___1_la_CXXFLAGS = \ + -I$(top_srcdir)/include \ + -Wno-unused-parameter + ++libdbus_c___1_la_LDFLAGS= \ ++ -version-info "$(SOVER)" ++ + libdbus_c___1_la_LIBADD = \ + $(dbus_LIBS) + +Index: src/integration/glib/Makefile.am +=================================================================== +--- src/integration/glib/Makefile.am.orig 2016-09-24 11:03:56.000000000 +0200 ++++ src/integration/glib/Makefile.am 2017-03-28 15:04:24.695822590 +0200 +@@ -16,6 +16,9 @@ libdbus_c___glib_1_la_LIBADD = \ + $(dbus_LIBS) \ + $(glib_LIBS) + ++libdbus_c___glib_1_la_LDFLAGS= \ ++ -version-info "$(SOVER)" ++ + AM_CPPFLAGS = \ + $(dbus_CFLAGS) \ + $(glib_CFLAGS) diff --git a/libraries/libedit/README b/libraries/libedit/README deleted file mode 100644 index 026d498ff5..0000000000 --- a/libraries/libedit/README +++ /dev/null @@ -1,11 +0,0 @@ -This is an autotool- and libtoolized port of the NetBSD Editline -library (libedit). This Berkeley-style licensed command line editor -library provides generic line editing, history, and tokenization -functions, similar to those found in GNU Readline. - -The slackbuild has a build time variable called LIBEDIT_WIDEC, which if set to -`yes', turns on the wide character support of the built libedit library. -Although the support is there, initial testing shows that it acts weird, and -displays Unicode byte sequences instead of the real typed-in characters. You -can experiment with it, but don't count on it until it is cleared up. -The default build option was and is disabled widechar support. diff --git a/libraries/libedit/libedit.SlackBuild b/libraries/libedit/libedit.SlackBuild deleted file mode 100644 index f27b861524..0000000000 --- a/libraries/libedit/libedit.SlackBuild +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/sh - -# Slackware build script for libedit - -# Copyright 2011 Mikko Värri, Finland -# Copyright 2013-2019 LEVAI Daniel -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libedit -VERSION=${VERSION:-20190324_3.1} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -SRC_VERSION=$(echo $VERSION | tr _ -) - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$SRC_VERSION -tar xvf $CWD/$PRGNAM-$SRC_VERSION.tar.gz -cd $PRGNAM-$SRC_VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -if [ "${LIBEDIT_WIDEC}" = 'yes' ];then - LIBEDIT_WIDEC='--enable-widec' -else - LIBEDIT_WIDEC='--disable-widec' -fi - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --mandir=/usr/man \ - --disable-static \ - --build=$ARCH-slackware-linux \ - "${LIBEDIT_WIDEC}" - -make -make install-strip DESTDIR=$PKG - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a COPYING ChangeLog INSTALL THANKS $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libedit/libedit.info b/libraries/libedit/libedit.info deleted file mode 100644 index c9a4f11e3e..0000000000 --- a/libraries/libedit/libedit.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libedit" -VERSION="20190324_3.1" -HOMEPAGE="http://www.thrysoee.dk/editline/" -DOWNLOAD="http://thrysoee.dk/editline/libedit-20190324-3.1.tar.gz" -MD5SUM="bec755c8044ad84b752dfe49a0b371d8" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="LEVAI Daniel" -EMAIL="leva@ecentrum.hu" diff --git a/libraries/libedit/slack-desc b/libraries/libedit/slack-desc deleted file mode 100644 index e500ae85a3..0000000000 --- a/libraries/libedit/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libedit: libedit (Command line editor library) -libedit: -libedit: This is an autotool- and libtoolized port of the NetBSD Editline -libedit: library (libedit). This Berkeley-style licensed command line editor -libedit: library provides generic line editing, history, and tokenization -libedit: functions, similar to those found in GNU Readline. -libedit: -libedit: Homepage: http://www.thrysoee.dk/editline/ -libedit: -libedit: -libedit: diff --git a/libraries/libevhtp/libevhtp.SlackBuild b/libraries/libevhtp/libevhtp.SlackBuild index 4b6993221c..0697ea8e9c 100644 --- a/libraries/libevhtp/libevhtp.SlackBuild +++ b/libraries/libevhtp/libevhtp.SlackBuild @@ -25,13 +25,13 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libevhtp -VERSION=${VERSION:-1.2.10} +VERSION=${VERSION:-1.2.16} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -42,8 +42,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -74,6 +74,8 @@ find -L . \ # fix wrong version number sed -i "s/@PROJECT_VERSION@/${VERSION}/" evhtp.pc.in +sed -i "s|/lib/pkgconfig|/lib$LIBDIRSUFFIX/pkgconfig|" CMakeLists.txt + mkdir -p build cd build cmake \ diff --git a/libraries/libevhtp/libevhtp.info b/libraries/libevhtp/libevhtp.info index 64efb10f0f..cdd66ddc85 100644 --- a/libraries/libevhtp/libevhtp.info +++ b/libraries/libevhtp/libevhtp.info @@ -1,8 +1,8 @@ PRGNAM="libevhtp" -VERSION="1.2.10" +VERSION="1.2.16" HOMEPAGE="https://github.com/criticalstack/libevhtp" -DOWNLOAD="https://github.com/criticalstack/libevhtp/archive/1.2.10/libevhtp-1.2.10.tar.gz" -MD5SUM="e7261c7e34654f78047431d169b88806" +DOWNLOAD="https://github.com/criticalstack/libevhtp/archive/1.2.16/libevhtp-1.2.16.tar.gz" +MD5SUM="6eebc21fe41201612ac814764bf7474a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/libffado/libffado.SlackBuild b/libraries/libffado/libffado.SlackBuild index f0bc67fb3b..ca8687e62b 100644 --- a/libraries/libffado/libffado.SlackBuild +++ b/libraries/libffado/libffado.SlackBuild @@ -23,13 +23,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libffado -VERSION=${VERSION:-2.2.1} +VERSION=${VERSION:-2.4.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" TARGET="i386" elif [ "$ARCH" = "i686" ]; then @@ -69,25 +69,18 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Use our CFLAGS -sed -i "s/-O2 -DNDEBUG/$SLKCFLAGS -DNDEBUG/" SConstruct - -patch -p1 < $CWD/libffado-mixer.patch - +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -std=gnu++11 -Wno-deprecated-declarations" \ scons \ PREFIX=/usr \ LIBDIR=/usr/lib${LIBDIRSUFFIX} \ DIST_TARGET="$TARGET" \ - COMPILE_FLAGS="$CFLAGS -std=gnu++11" \ + CUSTOM_ENV="True" \ DEBUG="False" scons \ - --implicit-deps-unchanged \ - PREFIX=/usr \ - LIBDIR=/usr/lib${LIBDIRSUFFIX} \ - DIST_TARGET="$TARGET" \ - DEBUG="False" \ DESTDIR=$PKG \ + WILL_DEAL_WITH_XDG_MYSELF="True" \ install mkdir -p $PKG/usr/share/{applications,pixmaps} diff --git a/libraries/libffado/libffado.info b/libraries/libffado/libffado.info index 04eee7ed85..9abbad539d 100644 --- a/libraries/libffado/libffado.info +++ b/libraries/libffado/libffado.info @@ -1,10 +1,10 @@ PRGNAM="libffado" -VERSION="2.2.1" +VERSION="2.4.1" HOMEPAGE="http://www.ffado.org/" -DOWNLOAD="http://www.ffado.org/files/libffado-2.2.1.tgz" -MD5SUM="e113d828835051f835fb4a329cb0cbd4" +DOWNLOAD="http://www.ffado.org/files/libffado-2.4.1.tgz" +MD5SUM="58d42bae946a9a98d0c8e4efa56f99f5" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="libconfig libiec61883 libxml++" +REQUIRES="libconfig libdbus-c++ libiec61883 libxml++" MAINTAINER="Heinz Wiesinger" EMAIL="pprkut@liwjatan.at" diff --git a/libraries/libfreehand/Add-missing-semicolon-to-fix-build-with-icu-65.1.patch b/libraries/libfreehand/Add-missing-semicolon-to-fix-build-with-icu-65.1.patch new file mode 100644 index 0000000000..2a904e4fb7 --- /dev/null +++ b/libraries/libfreehand/Add-missing-semicolon-to-fix-build-with-icu-65.1.patch @@ -0,0 +1,29 @@ +From af3197f795625f5188602073205a34369698b6df Mon Sep 17 00:00:00 2001 +From: Heiko Becker +Date: Fri, 4 Oct 2019 01:46:12 +0200 +Subject: [PATCH] Add missing semicolon to fix build with icu 65.1 + +Change-Id: I7a0b0d600e9f7770245a7485813a944bfac4f088 +Reviewed-on: https://gerrit.libreoffice.org/80224 +Reviewed-by: Miklos Vajna +Tested-by: Miklos Vajna +--- + src/lib/libfreehand_utils.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/libfreehand_utils.cpp b/src/lib/libfreehand_utils.cpp +index 439c457..32f23e0 100644 +--- a/src/lib/libfreehand_utils.cpp ++++ b/src/lib/libfreehand_utils.cpp +@@ -162,7 +162,7 @@ void libfreehand::_appendUTF16(librevenge::RVNGString &text, std::vector /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING NEWS README THANKS $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libgexiv2/libgexiv2.info b/libraries/libgexiv2/libgexiv2.info deleted file mode 100644 index 6942a4f407..0000000000 --- a/libraries/libgexiv2/libgexiv2.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libgexiv2" -VERSION="0.10.3" -HOMEPAGE="https://wiki.gnome.org/gexiv2" -DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/gexiv2/0.10/gexiv2-0.10.3.tar.xz" -MD5SUM="f255100a009027d4eaa0f075bb79c655" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="vala" -MAINTAINER="Soydaner Ulker" -EMAIL="soydaner@kahverengi.com" diff --git a/libraries/libgexiv2/slack-desc b/libraries/libgexiv2/slack-desc deleted file mode 100644 index ae4dcb9130..0000000000 --- a/libraries/libgexiv2/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libgexiv2: libgexiv2 (GObject wrapper around Exiv2 library) -libgexiv2: -libgexiv2: gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. -libgexiv2: It allows for GNOME applications to easily inspect and update EXIF, -libgexiv2: IPTC, and XMP metadata in photo files of various formats. -libgexiv2: Homepage: https://wiki.gnome.org/gexiv2 -libgexiv2: -libgexiv2: -libgexiv2: -libgexiv2: -libgexiv2: diff --git a/libraries/libgksu/libgksu.SlackBuild b/libraries/libgksu/libgksu.SlackBuild index 6bdbbe3bb9..994ea9b76f 100644 --- a/libraries/libgksu/libgksu.SlackBuild +++ b/libraries/libgksu/libgksu.SlackBuild @@ -99,6 +99,7 @@ CXXFLAGS="$SLKCFLAGS" \ --disable-schemas-install \ --enable-shared \ --disable-static \ + --disable-gtk-doc \ --build=$ARCH-slackware-linux make diff --git a/libraries/libgnome/libgnome.SlackBuild b/libraries/libgnome/libgnome.SlackBuild index 15083db758..a05779e965 100644 --- a/libraries/libgnome/libgnome.SlackBuild +++ b/libraries/libgnome/libgnome.SlackBuild @@ -69,6 +69,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# https://github.com/voidlinux/void-packages/commit/f16a2d557e84f5d7f5ece8b2022aab4fd17aa0ce +for f in $(find . -type f -exec file "{}" \; | grep "C source" | cut -d ':' -f1); do + echo "${f}" + recode ISO-8859-1..UTF-8 "${f}" +done + # Fix for the newer glib sed -i "/-DG_DISABLE_DEPRECATED/d" libgnome/Makefile.* diff --git a/libraries/libgnome/libgnome.info b/libraries/libgnome/libgnome.info index 5b173bffdb..1fe704d75d 100644 --- a/libraries/libgnome/libgnome.info +++ b/libraries/libgnome/libgnome.info @@ -5,6 +5,6 @@ DOWNLOAD="https://ftp.gnome.org/pub/GNOME/sources/libgnome/2.32/libgnome-2.32.1. MD5SUM="a4345e6087ae6195d65a4674ffdca559" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="gnome-vfs" +REQUIRES="gnome-vfs recode" MAINTAINER="Erik Hanson" EMAIL="erik@slackbuilds.org" diff --git a/libraries/libgnomecanvas/libgnomecanvas.info b/libraries/libgnomecanvas/libgnomecanvas.info index 5d5066e396..4c42aff604 100644 --- a/libraries/libgnomecanvas/libgnomecanvas.info +++ b/libraries/libgnomecanvas/libgnomecanvas.info @@ -5,6 +5,6 @@ DOWNLOAD="http://ftp.gnome.org/pub/gnome/sources/libgnomecanvas/2.30/libgnomecan MD5SUM="ffcbb719c671ff5cd86e59aeba8d0b92" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="" +REQUIRES="libart-lgpl" MAINTAINER="Erik Hanson" EMAIL="erik@slackbuilds.org" diff --git a/libraries/libgnomeprint/libgnomeprint.SlackBuild b/libraries/libgnomeprint/libgnomeprint.SlackBuild index 931db6a313..ffec017e14 100644 --- a/libraries/libgnomeprint/libgnomeprint.SlackBuild +++ b/libraries/libgnomeprint/libgnomeprint.SlackBuild @@ -85,6 +85,7 @@ CXXFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --localstatedir=/var \ --enable-static=no \ + --disable-gtk-doc \ --build=$ARCH-slackware-linux make diff --git a/libraries/libgnomeprint/libgnomeprint.info b/libraries/libgnomeprint/libgnomeprint.info index 348444b4cb..789c856c58 100644 --- a/libraries/libgnomeprint/libgnomeprint.info +++ b/libraries/libgnomeprint/libgnomeprint.info @@ -5,6 +5,6 @@ DOWNLOAD="https://ftp.gnome.org/pub/gnome/sources/libgnomeprint/2.18/libgnomepri MD5SUM="63b05ffb5386e131487c6af30f4c56ac" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="libgnomecups" +REQUIRES="libart-lgpl libgnomecups" MAINTAINER="David Somero" EMAIL="dsomero@hotmail.com" diff --git a/libraries/libgnomeui/libgnomeui.SlackBuild b/libraries/libgnomeui/libgnomeui.SlackBuild index d048a25b90..948f6d7fdc 100644 --- a/libraries/libgnomeui/libgnomeui.SlackBuild +++ b/libraries/libgnomeui/libgnomeui.SlackBuild @@ -69,6 +69,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# https://github.com/voidlinux/void-packages/commit/f16a2d557e84f5d7f5ece8b2022aab4fd17aa0ce +for f in $(find . -type f -exec file "{}" \; | grep "C source" | cut -d ':' -f1); do + echo "${f}" + recode ISO-8859-1..UTF-8 "${f}" +done + CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ diff --git a/libraries/libidn2/README b/libraries/libidn2/README deleted file mode 100644 index 972855606d..0000000000 --- a/libraries/libidn2/README +++ /dev/null @@ -1,5 +0,0 @@ -GNU Libidn is a fully documented implementation of the Stringprep, -Punycode and IDNA 2003 specifications. Libidn's purpose is to encode -and decode internationalized domain names. - -The libidn2 package does not clash with Slackware's libidn package. diff --git a/libraries/libidn2/libidn2.SlackBuild b/libraries/libidn2/libidn2.SlackBuild deleted file mode 100644 index 8ccfaa4583..0000000000 --- a/libraries/libidn2/libidn2.SlackBuild +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/sh - -# Slackware build script for libidn2 - -# Copyright 2017 Mohammad Etemaddar Iran -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libidn2 -VERSION=${VERSION:-2.0.4} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.lz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -size 0 -delete -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -rm -f $PKG/usr/info/dir -gzip -9 $PKG/usr/info/*.info* - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - ABOUT-NLS AUTHORS CONTRIBUTING.md COPYING* INSTALL NEWS README* \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libidn2/libidn2.info b/libraries/libidn2/libidn2.info deleted file mode 100644 index b07454fe03..0000000000 --- a/libraries/libidn2/libidn2.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libidn2" -VERSION="2.0.4" -HOMEPAGE="https://www.gnu.org/software/libidn/" -DOWNLOAD="https://ftp.gnu.org/gnu/libidn/libidn2-2.0.4.tar.lz" -MD5SUM="376e879081abe810449389ffcc300585" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Mohammad Etemaddar" -EMAIL="mohammad.etemaddar@gmail.com" diff --git a/libraries/libidn2/slack-desc b/libraries/libidn2/slack-desc deleted file mode 100644 index 251ce06f1c..0000000000 --- a/libraries/libidn2/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libidn2: libidn2 (GNU IDN Library version 2) -libidn2: -libidn2: GNU Libidn is a fully documented implementation of the Stringprep, -libidn2: Punycode and IDNA 2003 specifications. Libidn's purpose is to encode -libidn2: and decode internationalized domain names. -libidn2: -libidn2: The libidn2 package does not clash with Slackware's libidn package. -libidn2: -libidn2: -libidn2: -libidn2: diff --git a/libraries/libido3/libido3.SlackBuild b/libraries/libido3/libido3.SlackBuild index d642540364..4b86f212f8 100644 --- a/libraries/libido3/libido3.SlackBuild +++ b/libraries/libido3/libido3.SlackBuild @@ -76,6 +76,9 @@ patch -p1 --verbose \ # Pinched from Manjaro patch -p1 --verbose < $CWD/ido-optional-ubuntu-private.patch +# Disable warnings-as-errors +sed -i "s|-Wall -Werror|-Wall|" src/Makefile.am + ./autogen.sh CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ diff --git a/libraries/libindicator3/libindicator3.SlackBuild b/libraries/libindicator3/libindicator3.SlackBuild index c47ccefa2a..f4c8d0ee8a 100644 --- a/libraries/libindicator3/libindicator3.SlackBuild +++ b/libraries/libindicator3/libindicator3.SlackBuild @@ -69,6 +69,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Disable warnings-as-errors +sed -i "s|-Wall -Werror|-Wall|" */Makefile.am + ./autogen.sh CFLAGS="$SLKCFLAGS -Wno-deprecated -Wno-deprecated-declarations" \ CXXFLAGS="$SLKCFLAGS -Wno-deprecated -Wno-deprecated-declarations" \ diff --git a/libraries/libinput/README b/libraries/libinput/README deleted file mode 100644 index 6ffad5d887..0000000000 --- a/libraries/libinput/README +++ /dev/null @@ -1,11 +0,0 @@ -libinput (Input device library) - -libinput is a library to handle input devices in Wayland compositors -and to provide a generic X.Org input driver. - -It provides device detection, device handling, input device event -processing and abstraction so minimize the amount of custom input -code compositors need to provide the common set of functionality -that users expect. Input event processing includes scaling touch -coordinates, generating pointer events from touchpads, pointer -acceleration, etc. diff --git a/libraries/libinput/libinput.SlackBuild b/libraries/libinput/libinput.SlackBuild deleted file mode 100644 index a90dea830b..0000000000 --- a/libraries/libinput/libinput.SlackBuild +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh -# -# Slackware build script for libinput. -# -# Copyright 2016-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil. -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libinput -VERSION=${VERSION:-1.15.0} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -rm -rf $TMP/$PRGNAM-$VERSION -cd $TMP -tar xvf $CWD/$PRGNAM-$VERSION.tar.xz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -meson --prefix /usr --libdir lib${LIBDIRSUFFIX} --mandir /usr/man \ - build -Ddebug-gui="false" -Dtests="false" -Ddocumentation="false" \ --Dudev-dir="/lib/udev" - -DESTDIR=$PKG ninja -C build all install - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -r COPYING README.md doc/ $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libinput/libinput.info b/libraries/libinput/libinput.info deleted file mode 100644 index 055a72cbfa..0000000000 --- a/libraries/libinput/libinput.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libinput" -VERSION="1.15.0" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/libinput" -DOWNLOAD="https://www.freedesktop.org/software/libinput/libinput-1.15.0.tar.xz" -MD5SUM="d5fe153c4b1d69ec35dc846588cd47ec" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="libwacom meson graphviz python-evdev pyudev" -MAINTAINER="Edinaldo P. Silva" -EMAIL="edps.mundognu@gmail.com" diff --git a/libraries/libinput/slack-desc b/libraries/libinput/slack-desc deleted file mode 100644 index 385f7da66f..0000000000 --- a/libraries/libinput/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libinput: libinput (Input device library) -libinput: -libinput: libinput is a library to handle input devices in Wayland compositors -libinput: and to provide a generic X.Org input driver. -libinput: -libinput: Home page: http://www.freedesktop.org/wiki/Software/libinput/ -libinput: -libinput: -libinput: -libinput: -libinput: diff --git a/libraries/libircclient/libircclient.SlackBuild b/libraries/libircclient/libircclient.SlackBuild index 70d4361559..b53a7626bc 100644 --- a/libraries/libircclient/libircclient.SlackBuild +++ b/libraries/libircclient/libircclient.SlackBuild @@ -73,6 +73,10 @@ find -L . \ # example: error: 'LIBIRC_RFC_RPL_ENDOFNAMES' was not declared in this scope patch -p1 < $CWD/libircclient-1.6-rfc.patch +# for openssl-1.1.x +sed -i "s|SSL_library_init|OPENSSL_init_ssl|" configure.in +autoreconf -vif + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/libkqueue/libkqueue.SlackBuild b/libraries/libkqueue/libkqueue.SlackBuild index a989d26944..c5eb815798 100644 --- a/libraries/libkqueue/libkqueue.SlackBuild +++ b/libraries/libkqueue/libkqueue.SlackBuild @@ -25,7 +25,7 @@ # Modified by the slackbuilds.org project. PRGNAM=libkqueue -VERSION=${VERSION:-2.0.1} +VERSION=${VERSION:-2.3.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -75,22 +75,28 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -CFLAGS="$SLKCFLAGS" \ - ./configure \ - --prefix=/usr \ - --mandir=/usr/man \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=/usr/man \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install DESTDIR=$PKG +cd .. -make -j1 -make install DESTDIR=$PKG +# MAN_INSTALL_DIR is actually ignored ATM +mv $PKG/usr/share/man $PKG/usr/man +rm -fR $PKG/usr/share find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION +cp -a BUGS ChangeLog LICENSE README.md TODO $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild find $PKG/usr/man -type f -exec gzip -9 {} \; diff --git a/libraries/libkqueue/libkqueue.info b/libraries/libkqueue/libkqueue.info index 6cd089bc9f..b446f003bf 100644 --- a/libraries/libkqueue/libkqueue.info +++ b/libraries/libkqueue/libkqueue.info @@ -1,8 +1,8 @@ PRGNAM="libkqueue" -VERSION="2.0.1" +VERSION="2.3.1" HOMEPAGE="https://github.com/mheily/libkqueue" -DOWNLOAD="http://sourceforge.net/projects/libkqueue/files/libkqueue-2.0/libkqueue-2.0.1.tar.gz" -MD5SUM="3d939aa5fa83a870aee71f2181b22994" +DOWNLOAD="https://github.com/mheily/libkqueue/archive/v2.3.1/libkqueue-2.3.1.tar.gz" +MD5SUM="e64baefa000c5667f4a15ea93fe8356b" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/libmemcached/libmemcached.SlackBuild b/libraries/libmemcached/libmemcached.SlackBuild index 3cc3e35ca1..aa21736960 100644 --- a/libraries/libmemcached/libmemcached.SlackBuild +++ b/libraries/libmemcached/libmemcached.SlackBuild @@ -82,7 +82,7 @@ export PATH="/usr/libexec:$PATH" patch -p1 < $CWD/patches/libmemcached-fix-linking-with-libpthread.patch CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -fpermissive" \ ./configure \ --prefix=/usr \ --exec-prefix=/usr \ diff --git a/libraries/libmp4v2/libmp4v2.SlackBuild b/libraries/libmp4v2/libmp4v2.SlackBuild index a7e1eb8c40..b6f978196b 100644 --- a/libraries/libmp4v2/libmp4v2.SlackBuild +++ b/libraries/libmp4v2/libmp4v2.SlackBuild @@ -84,7 +84,7 @@ find -L . \ autoreconf -vif CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -fpermissive" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/libmusicbrainz/libmusicbrainz.SlackBuild b/libraries/libmusicbrainz/libmusicbrainz.SlackBuild index e378f14ade..85ea239ddb 100644 --- a/libraries/libmusicbrainz/libmusicbrainz.SlackBuild +++ b/libraries/libmusicbrainz/libmusicbrainz.SlackBuild @@ -52,7 +52,7 @@ find -L . \ patch -p1 < $CWD/libmusicbrainz-2.1.5-include_stringh.patch CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -Wno-narrowing" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/libmwaw/libmwaw.SlackBuild b/libraries/libmwaw/libmwaw.SlackBuild index 8019a62064..c6d9bcdf8a 100644 --- a/libraries/libmwaw/libmwaw.SlackBuild +++ b/libraries/libmwaw/libmwaw.SlackBuild @@ -75,7 +75,7 @@ case "${DOC:-0}" in esac CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -Wno-error=implicit-fallthrough= -Wno-error=int-in-bool-context" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch b/libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch new file mode 100644 index 0000000000..eafd3eb9bf --- /dev/null +++ b/libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch @@ -0,0 +1,147 @@ +Submitted by: DJ Lucas (dj_AT_linuxfromscratch_DOT_org) +Date: 2017-05-27 +Initial Package Version: 1.0.3 +Update by: Bruce Dubbs +Date: 2017-06-14 +Upstream Status: Submitted +Origin: https://github.com/x42/liboauth/issues/9 +Description: Fixes build issue with OpenSSL-1.1.0. +Update: Additional fix from upstream. Three lines changed. + +diff -Naurp liboauth-1.0.3-orig/src/hash.c liboauth-1.0.3/src/hash.c +--- liboauth-1.0.3-orig/src/hash.c 2013-10-04 08:02:50.000000000 -0500 ++++ liboauth-1.0.3/src/hash.c 2017-05-27 00:51:04.708633351 -0500 +@@ -362,6 +362,11 @@ looser: + #include "oauth.h" // base64 encode fn's. + #include + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++#define EVP_MD_CTX_new EVP_MD_CTX_create ++#define EVP_MD_CTX_free EVP_MD_CTX_destroy ++#endif ++ + char *oauth_sign_hmac_sha1 (const char *m, const char *k) { + return(oauth_sign_hmac_sha1_raw (m, strlen(m), k, strlen(k))); + } +@@ -386,7 +391,7 @@ char *oauth_sign_rsa_sha1 (const char *m + unsigned char *sig = NULL; + unsigned char *passphrase = NULL; + unsigned int len=0; +- EVP_MD_CTX md_ctx; ++ EVP_MD_CTX *md_ctx; + + EVP_PKEY *pkey; + BIO *in; +@@ -399,24 +404,31 @@ char *oauth_sign_rsa_sha1 (const char *m + return xstrdup("liboauth/OpenSSL: can not read private key"); + } + ++ md_ctx = EVP_MD_CTX_new(); ++ if (md_ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ + len = EVP_PKEY_size(pkey); + sig = (unsigned char*)xmalloc((len+1)*sizeof(char)); + +- EVP_SignInit(&md_ctx, EVP_sha1()); +- EVP_SignUpdate(&md_ctx, m, strlen(m)); +- if (EVP_SignFinal (&md_ctx, sig, &len, pkey)) { ++ EVP_SignInit(md_ctx, EVP_sha1()); ++ EVP_SignUpdate(md_ctx, m, strlen(m)); ++ if (EVP_SignFinal (md_ctx, sig, &len, pkey)) { + char *tmp; + sig[len] = '\0'; + tmp = oauth_encode_base64(len,sig); + OPENSSL_free(sig); + EVP_PKEY_free(pkey); ++ EVP_MD_CTX_free(md_ctx); + return tmp; + } ++ EVP_MD_CTX_free(md_ctx); + return xstrdup("liboauth/OpenSSL: rsa-sha1 signing failed"); + } + + int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { +- EVP_MD_CTX md_ctx; ++ EVP_MD_CTX *md_ctx; + EVP_PKEY *pkey; + BIO *in; + X509 *cert = NULL; +@@ -437,13 +449,18 @@ int oauth_verify_rsa_sha1 (const char *m + return -2; + } + ++ md_ctx = EVP_MD_CTX_new(); ++ if (md_ctx == NULL) { ++ return -2; ++ } ++ + b64d= (unsigned char*) xmalloc(sizeof(char)*strlen(s)); + slen = oauth_decode_base64(b64d, s); + +- EVP_VerifyInit(&md_ctx, EVP_sha1()); +- EVP_VerifyUpdate(&md_ctx, m, strlen(m)); +- err = EVP_VerifyFinal(&md_ctx, b64d, slen, pkey); +- EVP_MD_CTX_cleanup(&md_ctx); ++ EVP_VerifyInit(md_ctx, EVP_sha1()); ++ EVP_VerifyUpdate(md_ctx, m, strlen(m)); ++ err = EVP_VerifyFinal(md_ctx, b64d, slen, pkey); ++ EVP_MD_CTX_free(pkey); + EVP_PKEY_free(pkey); + xfree(b64d); + return (err); +@@ -455,35 +472,41 @@ int oauth_verify_rsa_sha1 (const char *m + */ + char *oauth_body_hash_file(char *filename) { + unsigned char fb[BUFSIZ]; +- EVP_MD_CTX ctx; ++ EVP_MD_CTX *ctx; + size_t len=0; + unsigned char *md; + FILE *F= fopen(filename, "r"); + if (!F) return NULL; + +- EVP_MD_CTX_init(&ctx); +- EVP_DigestInit(&ctx,EVP_sha1()); ++ ctx = EVP_MD_CTX_new(); ++ if (ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ EVP_DigestInit(ctx,EVP_sha1()); + while (!feof(F) && (len=fread(fb,sizeof(char),BUFSIZ, F))>0) { +- EVP_DigestUpdate(&ctx, fb, len); ++ EVP_DigestUpdate(ctx, fb, len); + } + fclose(F); + len=0; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); +- EVP_DigestFinal(&ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(&ctx); ++ EVP_DigestFinal(ctx, md,(unsigned int*) &len); ++ EVP_MD_CTX_free(ctx); + return oauth_body_hash_encode(len, md); + } + + char *oauth_body_hash_data(size_t length, const char *data) { +- EVP_MD_CTX ctx; ++ EVP_MD_CTX *ctx; + size_t len=0; + unsigned char *md; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); +- EVP_MD_CTX_init(&ctx); +- EVP_DigestInit(&ctx,EVP_sha1()); +- EVP_DigestUpdate(&ctx, data, length); +- EVP_DigestFinal(&ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(&ctx); ++ ctx = EVP_MD_CTX_new(); ++ if (ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ EVP_DigestInit(ctx,EVP_sha1()); ++ EVP_DigestUpdate(ctx, data, length); ++ EVP_DigestFinal(ctx, md,(unsigned int*) &len); ++ EVP_MD_CTX_free(ctx); + return oauth_body_hash_encode(len, md); + } + diff --git a/libraries/liboauth/liboauth.SlackBuild b/libraries/liboauth/liboauth.SlackBuild index 819e22333a..9f225f8676 100644 --- a/libraries/liboauth/liboauth.SlackBuild +++ b/libraries/liboauth/liboauth.SlackBuild @@ -77,6 +77,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# port to openssl-1.1.x +patch -p1 < $CWD/liboauth-1.0.3-openssl-1.1.0-2.patch + # compile in clean dir mkdir -v build cd build diff --git a/libraries/libopenshot-audio/libopenshot-audio.SlackBuild b/libraries/libopenshot-audio/libopenshot-audio.SlackBuild index a8ab2f418a..596fc0c2a5 100644 --- a/libraries/libopenshot-audio/libopenshot-audio.SlackBuild +++ b/libraries/libopenshot-audio/libopenshot-audio.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libopenshot-audio -VERSION=${VERSION:-0.1.8} +VERSION=${VERSION:-20191024_0eb5fb4} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -60,7 +60,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z cd $PRGNAM-$VERSION chown -R root:root . find -L . \ diff --git a/libraries/libopenshot-audio/libopenshot-audio.info b/libraries/libopenshot-audio/libopenshot-audio.info index b4ee01343a..fd2160cb9a 100644 --- a/libraries/libopenshot-audio/libopenshot-audio.info +++ b/libraries/libopenshot-audio/libopenshot-audio.info @@ -1,8 +1,8 @@ PRGNAM="libopenshot-audio" -VERSION="0.1.8" +VERSION="20191024_0eb5fb4" HOMEPAGE="https://github.com/OpenShot/libopenshot-audio" -DOWNLOAD="https://github.com/OpenShot/libopenshot-audio/archive/v0.1.8/libopenshot-audio-0.1.8.tar.gz" -MD5SUM="989a367f1f0546b3f0d9940c79337924" +DOWNLOAD="http://ponce.cc/slackware/sources/repo/libopenshot-audio-20191024_0eb5fb4.tar.xz" +MD5SUM="db695874a682b1f1962aaecb01cd3321" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/libopenshot/libopenshot.SlackBuild b/libraries/libopenshot/libopenshot.SlackBuild index cb04349871..cea8e9f35e 100644 --- a/libraries/libopenshot/libopenshot.SlackBuild +++ b/libraries/libopenshot/libopenshot.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libopenshot -VERSION=${VERSION:-0.2.3} +VERSION=${VERSION:-20191104_c271352} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -60,7 +60,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z cd $PRGNAM-$VERSION cp -p $CWD/zmq.hpp include/ chown -R root:root . diff --git a/libraries/libopenshot/libopenshot.info b/libraries/libopenshot/libopenshot.info index d1b65cdc5a..8f0e63836f 100644 --- a/libraries/libopenshot/libopenshot.info +++ b/libraries/libopenshot/libopenshot.info @@ -1,10 +1,10 @@ PRGNAM="libopenshot" -VERSION="0.2.3" +VERSION="20191104_c271352" HOMEPAGE="https://github.com/OpenShot/libopenshot" -DOWNLOAD="https://github.com/OpenShot/libopenshot/archive/v0.2.3/libopenshot-0.2.3.tar.gz \ - https://raw.githubusercontent.com/zeromq/cppzmq/014628c/zmq.hpp" -MD5SUM="7ba70ff88ef52f658ce550aad1f5eaa1 \ - 56f264ec5604a5576e0d836d89c38c77" +DOWNLOAD="http://ponce.cc/slackware/sources/repo/libopenshot-20191104_c271352.tar.xz \ + https://raw.githubusercontent.com/zeromq/cppzmq/014628c/zmq.hpp" +MD5SUM="a66613a3417f83181c843db42bfd87c0 \ + 56f264ec5604a5576e0d836d89c38c77" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="qt5 python3 ffmpeg zeromq unittest-cpp libopenshot-audio" diff --git a/libraries/libopusenc/README b/libraries/libopusenc/README deleted file mode 100644 index 44dab27110..0000000000 --- a/libraries/libopusenc/README +++ /dev/null @@ -1,2 +0,0 @@ -libopusenc is a library that provides an easy way to encode Ogg -Opus files. diff --git a/libraries/libopusenc/libopusenc.SlackBuild b/libraries/libopusenc/libopusenc.SlackBuild deleted file mode 100644 index 199690a36a..0000000000 --- a/libraries/libopusenc/libopusenc.SlackBuild +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh - -# Slackware build script for libopusenc - -# Copyright 2017 Willy Sudiarto Raharjo -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libopusenc -VERSION=${VERSION:-0.2.1} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --enable-static=no \ - --enable-fixed-point \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING README.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libopusenc/libopusenc.info b/libraries/libopusenc/libopusenc.info deleted file mode 100644 index 2347f6e5a3..0000000000 --- a/libraries/libopusenc/libopusenc.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libopusenc" -VERSION="0.2.1" -HOMEPAGE="https://opus-codec.org/" -DOWNLOAD="https://archive.mozilla.org/pub/opus/libopusenc-0.2.1.tar.gz" -MD5SUM="f038ea0f4168d184c76b42d293697c57" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="opus" -MAINTAINER="Willy Sudiarto Raharjo" -EMAIL="willysr@slackbuilds.org" diff --git a/libraries/libopusenc/slack-desc b/libraries/libopusenc/slack-desc deleted file mode 100644 index 041704af97..0000000000 --- a/libraries/libopusenc/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libopusenc: libopusenc (High-level Opus decoding library) -libopusenc: -libopusenc: libopusenc is a library that provides an easy way to encode Ogg -libopusenc: Opus files. -libopusenc: -libopusenc: -libopusenc: -libopusenc: Project site: https://opus-codec.org/ -libopusenc: -libopusenc: -libopusenc: diff --git a/libraries/libpeas/libpeas.SlackBuild b/libraries/libpeas/libpeas.SlackBuild index 9ab50bcfec..08be4cbf6f 100644 --- a/libraries/libpeas/libpeas.SlackBuild +++ b/libraries/libpeas/libpeas.SlackBuild @@ -1,7 +1,7 @@ #!/bin/sh # Slackware build script for libpeas -# Copyright 2013-2015 Matteo Bernardini , Pisa, Italy +# Copyright 2013-2019 Matteo Bernardini , Pisa, Italy # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,13 +22,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libpeas -VERSION=${VERSION:-1.16.0} +VERSION=${VERSION:-1.24.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -39,8 +39,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -53,7 +53,7 @@ else LIBDIRSUFFIX="" fi -DOCS="AUTHORS COPYING ChangeLog NEWS README" +DOCS="AUTHORS COPYING NEWS README" set -e @@ -70,22 +70,23 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -sed -i -e 's|"lua5.1 |"lua |' -e 's|with_lua51=lua5.1|with_lua51=lua|' configure - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --enable-gtk \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG +mkdir build +cd build + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + meson .. \ + --buildtype=release \ + --infodir=/usr/info \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --mandir=/usr/man \ + --prefix=/usr \ + --sysconfdir=/etc \ + -Dvapi=true \ + -Ddoc=true + ninja + DESTDIR=$PKG ninja install +cd .. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true diff --git a/libraries/libpeas/libpeas.info b/libraries/libpeas/libpeas.info index f9c6dac566..3c46c9c1df 100644 --- a/libraries/libpeas/libpeas.info +++ b/libraries/libpeas/libpeas.info @@ -1,8 +1,8 @@ PRGNAM="libpeas" -VERSION="1.16.0" +VERSION="1.24.1" HOMEPAGE="https://wiki.gnome.org/Projects/Libpeas" -DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/libpeas/1.16/libpeas-1.16.0.tar.xz" -MD5SUM="48c5b3da391da1ae390e9d45d88a6aeb" +DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/libpeas/1.24/libpeas-1.24.1.tar.xz" +MD5SUM="bbecf334a7333d0a5d4d655ba38be9b4" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/libqinfinity/libqinfinity.SlackBuild b/libraries/libqinfinity/libqinfinity.SlackBuild index 4820de7ca0..751f619b74 100644 --- a/libraries/libqinfinity/libqinfinity.SlackBuild +++ b/libraries/libqinfinity/libqinfinity.SlackBuild @@ -58,7 +58,7 @@ mkdir -p build cd build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=narrowing" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DCMAKE_BUILD_TYPE=Release .. diff --git a/libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch b/libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch new file mode 100644 index 0000000000..eb196ea16a --- /dev/null +++ b/libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch @@ -0,0 +1,342 @@ +Index: libquicktime-1.2.4/plugins/ffmpeg/audio.c +=================================================================== +--- libquicktime-1.2.4.orig/plugins/ffmpeg/audio.c ++++ libquicktime-1.2.4/plugins/ffmpeg/audio.c +@@ -545,7 +545,7 @@ static int decode_chunk_vbr(quicktime_t + + #if DECODE_AUDIO3 || DECODE_AUDIO4 + codec->pkt.data = codec->chunk_buffer; +- codec->pkt.size = packet_size + FF_INPUT_BUFFER_PADDING_SIZE; ++ codec->pkt.size = packet_size + AV_INPUT_BUFFER_PADDING_SIZE; + + #if DECODE_AUDIO4 + frame_bytes = avcodec_decode_audio4(codec->avctx, &f, +@@ -583,7 +583,7 @@ static int decode_chunk_vbr(quicktime_t + (codec->sample_buffer_end - codec->sample_buffer_start)], + &bytes_decoded, + codec->chunk_buffer, +- packet_size + FF_INPUT_BUFFER_PADDING_SIZE); ++ packet_size + AV_INPUT_BUFFER_PADDING_SIZE); + if(frame_bytes < 0) + { + lqt_log(file, LQT_LOG_ERROR, LOG_DOMAIN, "avcodec_decode_audio2 error"); +@@ -645,13 +645,13 @@ static int decode_chunk(quicktime_t * fi + return 0; + } + +- if(codec->chunk_buffer_alloc < mph.frame_bytes + FF_INPUT_BUFFER_PADDING_SIZE) ++ if(codec->chunk_buffer_alloc < mph.frame_bytes + AV_INPUT_BUFFER_PADDING_SIZE) + { +- codec->chunk_buffer_alloc = mph.frame_bytes + FF_INPUT_BUFFER_PADDING_SIZE; ++ codec->chunk_buffer_alloc = mph.frame_bytes + AV_INPUT_BUFFER_PADDING_SIZE; + codec->chunk_buffer = realloc(codec->chunk_buffer, codec->chunk_buffer_alloc); + } + memset(codec->chunk_buffer + codec->bytes_in_chunk_buffer, 0, +- mph.frame_bytes - codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE); ++ mph.frame_bytes - codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE); + num_samples = mph.samples_per_frame; + codec->bytes_in_chunk_buffer = mph.frame_bytes; + } +@@ -695,7 +695,7 @@ static int decode_chunk(quicktime_t * fi + { + + +- /* BIG NOTE: We pass extra FF_INPUT_BUFFER_PADDING_SIZE for the buffer size ++ /* BIG NOTE: We pass extra AV_INPUT_BUFFER_PADDING_SIZE for the buffer size + because we know, that lqt_read_audio_chunk allocates 16 extra bytes for us */ + + /* Some really broken mp3 files have the header bytes split across 2 chunks */ +@@ -761,7 +761,7 @@ static int decode_chunk(quicktime_t * fi + + #if DECODE_AUDIO3 || DECODE_AUDIO4 + codec->pkt.data = &codec->chunk_buffer[bytes_used]; +- codec->pkt.size = codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE; ++ codec->pkt.size = codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE; + + #if DECODE_AUDIO4 + +@@ -798,7 +798,7 @@ static int decode_chunk(quicktime_t * fi + (codec->sample_buffer_end - codec->sample_buffer_start)], + &bytes_decoded, + &codec->chunk_buffer[bytes_used], +- codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE); ++ codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE); + #endif + if(frame_bytes < 0) + { +@@ -838,7 +838,7 @@ static int decode_chunk(quicktime_t * fi + } + } + +- /* This happens because ffmpeg adds FF_INPUT_BUFFER_PADDING_SIZE to the bytes returned */ ++ /* This happens because ffmpeg adds AV_INPUT_BUFFER_PADDING_SIZE to the bytes returned */ + + if(codec->bytes_in_chunk_buffer < 0) + codec->bytes_in_chunk_buffer = 0; +Index: libquicktime-1.2.4/plugins/ffmpeg/params.c +=================================================================== +--- libquicktime-1.2.4.orig/plugins/ffmpeg/params.c ++++ libquicktime-1.2.4/plugins/ffmpeg/params.c +@@ -124,16 +124,6 @@ typedef struct + } + + +-enum_t me_method[] = +- { +- { "Zero", ME_ZERO }, +- { "Phods", ME_PHODS }, +- { "Log", ME_LOG }, +- { "X1", ME_X1 }, +- { "Epzs", ME_EPZS }, +- { "Full", ME_FULL } +- }; +- + enum_t prediction_method[] = + { + { "Left", FF_PRED_LEFT }, +@@ -163,15 +153,6 @@ enum_t mb_decision[] = + { "Rate distoration", FF_MB_DECISION_RD } + }; + +-enum_t coder_type[] = +- { +- { "VLC", FF_CODER_TYPE_VLC }, +- { "Arithmetic", FF_CODER_TYPE_AC }, +- { "Raw", FF_CODER_TYPE_RAW }, +- { "RLE", FF_CODER_TYPE_RLE }, +- { "Deflate", FF_CODER_TYPE_DEFLATE }, +- }; +- + #define PARAM_ENUM(name, var, arr) \ + if(!strcasecmp(key, name)) \ + { \ +@@ -203,7 +184,7 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_INT_SCALE("ff_bit_rate_audio",bit_rate,1000); + PARAM_INT_SCALE("ff_bit_rate_video",bit_rate,1000); + PARAM_INT_SCALE("ff_bit_rate_tolerance",bit_rate_tolerance,1000); +- PARAM_ENUM("ff_me_method",me_method,me_method); ++ PARAM_DICT_INT("ff_me_method","motion-est"); + PARAM_INT("ff_gop_size",gop_size); + PARAM_FLOAT("ff_qcompress",qcompress); + PARAM_FLOAT("ff_qblur",qblur); +@@ -227,10 +208,9 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_INT("ff_rc_min_rate",rc_min_rate); + PARAM_INT("ff_rc_max_rate",rc_max_rate); + PARAM_INT_SCALE("ff_rc_buffer_size",rc_buffer_size,1000); +- PARAM_FLOAT("ff_rc_buffer_aggressivity",rc_buffer_aggressivity); + PARAM_FLOAT("ff_i_quant_factor",i_quant_factor); + PARAM_QP2LAMBDA("ff_i_quant_offset",i_quant_offset); +- PARAM_FLOAT("ff_rc_initial_cplx",rc_initial_cplx); ++ PARAM_DICT_INT("ff_rc_initial_cplx","rc_init_cplx"); + PARAM_FLOAT("ff_lumi_masking",lumi_masking); + PARAM_FLOAT("ff_temporal_cplx_masking",temporal_cplx_masking); + PARAM_FLOAT("ff_spatial_cplx_masking",spatial_cplx_masking); +@@ -255,8 +235,8 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_INT("ff_me_range",me_range); + PARAM_ENUM("ff_mb_decision",mb_decision,mb_decision); + PARAM_INT("ff_scenechange_threshold",scenechange_threshold); +- PARAM_QP2LAMBDA("ff_lmin", lmin); +- PARAM_QP2LAMBDA("ff_lmax", lmax); ++ PARAM_DICT_INT("ff_lmin", "lmin"); ++ PARAM_DICT_INT("ff_lmax", "lmax"); + PARAM_INT("ff_noise_reduction",noise_reduction); + PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000); + +@@ -269,33 +249,29 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + #endif + + PARAM_INT("ff_thread_count",thread_count); +- PARAM_INT("ff_me_threshold",me_threshold); +- PARAM_INT("ff_mb_threshold",mb_threshold); + PARAM_INT("ff_nsse_weight",nsse_weight); +- PARAM_FLOAT("ff_border_masking",border_masking); ++ PARAM_DICT_INT("ff_border_masking","border_mask"); + PARAM_QP2LAMBDA("ff_mb_lmin", mb_lmin); + PARAM_QP2LAMBDA("ff_mb_lmax", mb_lmax); + PARAM_INT("ff_me_penalty_compensation",me_penalty_compensation); + PARAM_INT("ff_bidir_refine",bidir_refine); + PARAM_INT("ff_brd_scale",brd_scale); +- PARAM_INT("ff_scenechange_factor",scenechange_factor); +- PARAM_FLAG("ff_flag_qscale",CODEC_FLAG_QSCALE); +- PARAM_FLAG("ff_flag_4mv",CODEC_FLAG_4MV); +- PARAM_FLAG("ff_flag_qpel",CODEC_FLAG_QPEL); +- PARAM_FLAG("ff_flag_gmc",CODEC_FLAG_GMC); +- PARAM_FLAG("ff_flag_mv0",CODEC_FLAG_MV0); ++ PARAM_FLAG("ff_flag_qscale",AV_CODEC_FLAG_QSCALE); ++ PARAM_FLAG("ff_flag_4mv",AV_CODEC_FLAG_4MV); ++ PARAM_FLAG("ff_flag_qpel",AV_CODEC_FLAG_QPEL); ++ PARAM_DICT_FLAG("ff_flag_gmc","gmc"); ++ PARAM_DICT_FLAG("ff_flag_mv0","mpv_flags"); + // PARAM_FLAG("ff_flag_part",CODEC_FLAG_PART); // Unused +- PARAM_FLAG("ff_flag_gray",CODEC_FLAG_GRAY); +- PARAM_FLAG("ff_flag_emu_edge",CODEC_FLAG_EMU_EDGE); +- PARAM_FLAG("ff_flag_normalize_aqp",CODEC_FLAG_NORMALIZE_AQP); ++ PARAM_FLAG("ff_flag_gray",AV_CODEC_FLAG_GRAY); ++ PARAM_DICT_FLAG("ff_flag_normalize_aqp","naq"); + // PARAM_FLAG("ff_flag_alt_scan",CODEC_FLAG_ALT_SCAN); // Unused + #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) + PARAM_FLAG("ff_flag_trellis_quant",CODEC_FLAG_TRELLIS_QUANT); + #else + PARAM_INT("ff_trellis",trellis); + #endif +- PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT); +- PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED); ++ PARAM_FLAG("ff_flag_bitexact",AV_CODEC_FLAG_BITEXACT); ++ PARAM_FLAG("ff_flag_ac_pred",AV_CODEC_FLAG_AC_PRED); + // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused + + #if LIBAVCODEC_VERSION_MAJOR >= 55 +@@ -303,9 +279,9 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_DICT_FLAG("ff_flag_qp_rd","qp_rd"); + PARAM_DICT_FLAG("ff_flag2_strict_gop","strict_gop"); + #else +- PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD); +- PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD); +- PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP); ++ PARAM_FLAG("ff_flag_cbp_rd",AV_CODEC_FLAG_CBP_RD); ++ PARAM_FLAG("ff_flag_qp_rd",AV_CODEC_FLAG_QP_RD); ++ PARAM_FLAG2("ff_flag2_strict_gop",AV_CODEC_FLAG2_STRICT_GOP); + #endif + + #if LIBAVCODEC_VERSION_MAJOR >= 54 +@@ -313,14 +289,14 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_DICT_FLAG("ff_flag_obmc","obmc"); + PARAM_DICT_FLAG("ff_flag_h263p_slice_struct","structured_slices"); + #else +- PARAM_FLAG("ff_flag_h263p_aiv",CODEC_FLAG_H263P_AIV); +- PARAM_FLAG("ff_flag_obmc",CODEC_FLAG_OBMC); +- PARAM_FLAG("ff_flag_h263p_slice_struct",CODEC_FLAG_H263P_SLICE_STRUCT); ++ PARAM_FLAG("ff_flag_h263p_aiv",AV_CODEC_FLAG_H263P_AIV); ++ PARAM_FLAG("ff_flag_obmc",AV_CODEC_FLAG_OBMC); ++ PARAM_FLAG("ff_flag_h263p_slice_struct",AV_CODEC_FLAG_H263P_SLICE_STRUCT); + #endif + +- PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER); +- PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP); +- PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST); +- PARAM_ENUM("ff_coder_type",coder_type,coder_type); ++ PARAM_FLAG("ff_flag_loop_filter",AV_CODEC_FLAG_LOOP_FILTER); ++ PARAM_FLAG("ff_flag_closed_gop",AV_CODEC_FLAG_CLOSED_GOP); ++ PARAM_FLAG2("ff_flag2_fast",AV_CODEC_FLAG2_FAST); ++ PARAM_DICT_INT("ff_coder_type","coder"); + + } +Index: libquicktime-1.2.4/plugins/ffmpeg/params.h +=================================================================== +--- libquicktime-1.2.4.orig/plugins/ffmpeg/params.h ++++ libquicktime-1.2.4/plugins/ffmpeg/params.h +@@ -149,7 +149,7 @@ the reference. Unused for constant quant + .type = LQT_PARAMETER_INT, \ + .val_default = { .val_int = 0 }, \ + .val_min = { .val_int = 0 }, \ +- .val_max = { .val_int = FF_MAX_B_FRAMES }, \ ++ .val_max = { .val_int = 16 }, \ + .help_string = TRS("Maximum number of B-frames between non B-frames") \ + } + +Index: libquicktime-1.2.4/plugins/ffmpeg/video.c +=================================================================== +--- libquicktime-1.2.4.orig/plugins/ffmpeg/video.c ++++ libquicktime-1.2.4/plugins/ffmpeg/video.c +@@ -781,7 +781,7 @@ static int lqt_ffmpeg_decode_video(quick + if(extradata) + { + codec->extradata = +- calloc(1, extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); ++ calloc(1, extradata_size + AV_INPUT_BUFFER_PADDING_SIZE); + memcpy(codec->extradata, extradata, extradata_size); + codec->avctx->extradata_size = extradata_size; + codec->avctx->extradata = codec->extradata; +@@ -1140,8 +1140,8 @@ static int init_imx_encoder(quicktime_t + codec->avctx->qmin = 1; + codec->avctx->qmax = 3; + codec->avctx->rtp_payload_size = 1; // ?? +- codec->avctx->rc_buffer_aggressivity = 0.25; +- codec->avctx->flags |= CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_LOW_DELAY; ++ av_dict_set(&codec->options, "rc_buf_aggressivity", "0.25", 0); ++ codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_LOW_DELAY; + + #if (LIBAVCODEC_VERSION_MAJOR < 54) + codec->avctx->flags2 |= CODEC_FLAG2_INTRA_VLC|CODEC_FLAG2_NON_LINEAR_QUANT; +@@ -1328,7 +1328,7 @@ static int lqt_ffmpeg_encode_video(quick + // codec->avctx->time_base.den = 1; + // codec->avctx->time_base.num = lqt_video_time_scale(file, track); + +- if(codec->avctx->flags & CODEC_FLAG_QSCALE) ++ if(codec->avctx->flags & AV_CODEC_FLAG_QSCALE) + codec->avctx->global_quality = codec->qscale; + + codec->avctx->width = width; +@@ -1344,7 +1344,7 @@ static int lqt_ffmpeg_encode_video(quick + { + if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML))) + { +- codec->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ codec->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + codec->write_global_header = 1; + } + +@@ -1360,7 +1360,7 @@ static int lqt_ffmpeg_encode_video(quick + { + lqt_log(file, LQT_LOG_INFO, LOG_DOMAIN, "Enabling interlaced encoding"); + codec->avctx->flags |= +- (CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_INTERLACED_ME|CODEC_FLAG_ALT_SCAN); ++ (AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_INTERLACED_ME|AV_CODEC_FLAG_ALT_SCAN); + } + #endif + } +@@ -1387,7 +1387,7 @@ static int lqt_ffmpeg_encode_video(quick + { + if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML))) + { +- codec->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ codec->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + codec->write_global_header = 1; + } + } +@@ -1410,7 +1410,7 @@ static int lqt_ffmpeg_encode_video(quick + { + if(vtrack->interlace_mode != LQT_INTERLACE_NONE) + { +- codec->avctx->flags |= CODEC_FLAG_INTERLACED_DCT; ++ codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT; + } + } + else if(codec->is_imx) +@@ -1422,7 +1422,7 @@ static int lqt_ffmpeg_encode_video(quick + if(codec->pass == 1) + { + codec->stats_file = fopen(codec->stats_filename, "w"); +- codec->avctx->flags |= CODEC_FLAG_PASS1; ++ codec->avctx->flags |= AV_CODEC_FLAG_PASS1; + } + else if(codec->pass == codec->total_passes) + { +@@ -1438,7 +1438,7 @@ static int lqt_ffmpeg_encode_video(quick + fclose(codec->stats_file); + codec->stats_file = (FILE*)0; + +- codec->avctx->flags |= CODEC_FLAG_PASS2; ++ codec->avctx->flags |= AV_CODEC_FLAG_PASS2; + } + } + /* Open codec */ +@@ -1516,7 +1516,7 @@ static int lqt_ffmpeg_encode_video(quick + } + + codec->frame->pts = vtrack->timestamp; +- if(codec->avctx->flags & CODEC_FLAG_QSCALE) ++ if(codec->avctx->flags & AV_CODEC_FLAG_QSCALE) + codec->frame->quality = codec->qscale; + #ifdef DO_INTERLACE + if(vtrack->interlace_mode != LQT_INTERLACE_NONE) +@@ -1599,8 +1599,7 @@ static int lqt_ffmpeg_encode_video(quick + else if(codec->encoder->id == AV_CODEC_ID_MPEG4) + { + int advanced = 0; +- if(codec->avctx->max_b_frames || +- (codec->avctx->flags & (CODEC_FLAG_QPEL|CODEC_FLAG_GMC))) ++ if(codec->avctx->max_b_frames) + advanced = 1; + + setup_header_mpeg4(file, track, codec->avctx->extradata, diff --git a/libraries/libquicktime/libquicktime.SlackBuild b/libraries/libquicktime/libquicktime.SlackBuild index 8b74f00782..b26035d2d3 100644 --- a/libraries/libquicktime/libquicktime.SlackBuild +++ b/libraries/libquicktime/libquicktime.SlackBuild @@ -69,9 +69,10 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Fix compatibility with ffmpeg 3.x +# Fix compatibility with ffmpeg 4.x patch -p1 -i $CWD/libquicktime-1.2.4-ffmpeg2.patch patch -p1 -i $CWD/libquicktime-ffmpeg3.patch +patch -p1 -i $CWD/libquicktime-1.2.4-ffmpeg4.patch CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ diff --git a/libraries/libqxt/libqxt-gcc6.patch b/libraries/libqxt/libqxt-gcc6.patch new file mode 100644 index 0000000000..519646d6eb --- /dev/null +++ b/libraries/libqxt/libqxt-gcc6.patch @@ -0,0 +1,11 @@ +--- a/src/core/qxtslotjob.cpp 2011-11-24 16:10:32.000000000 -0600 ++++ b/src/core/qxtslotjob.cpp 2016-03-07 16:20:32.758268253 -0600 +@@ -174,7 +174,7 @@ This uses QxtSignalWaiter so it will _no + + QVariant QxtFuture::delayedResult(int msec) + { +- if (!waiter->wait(msec, false)) ++ if (!waiter->wait(msec, NULL)) + return QVariant(); + return job->result(); + } diff --git a/libraries/libqxt/libqxt.SlackBuild b/libraries/libqxt/libqxt.SlackBuild index 870d2ead16..fe260941aa 100644 --- a/libraries/libqxt/libqxt.SlackBuild +++ b/libraries/libqxt/libqxt.SlackBuild @@ -74,6 +74,9 @@ find -L . \ # Fix linking during the xrandr test sed -i "s|lXrandr$|lXrandr -lX11|" config.tests/xrandr/xrandr.pro +# Thanks to Archlinux for this +patch -p1 < $CWD/libqxt-gcc6.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure -prefix /usr -libdir /usr/lib$LIBDIRSUFFIX diff --git a/libraries/libreplaygain/libreplaygain.SlackBuild b/libraries/libreplaygain/libreplaygain.SlackBuild index 60554fedb3..a7f3e187c2 100644 --- a/libraries/libreplaygain/libreplaygain.SlackBuild +++ b/libraries/libreplaygain/libreplaygain.SlackBuild @@ -10,7 +10,7 @@ TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -21,8 +21,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -45,10 +45,10 @@ tar xzvf $CWD/$PRGNAM\_$VERSION.tar.gz cd $PRGNAM\_$VERSION chown -R root:root . find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; # adding missing include file to CMakeLists.txt echo 'INSTALL(FILES ${libreplaygain_SOURCE_DIR}/include/replaygain/gain_analysis.h DESTINATION include/replaygain)' >> src/CMakeLists.txt @@ -59,12 +59,12 @@ cmake \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} + -DLIB_SUFFIX=${LIBDIRSUFFIX} . make make install DESTDIR=$PKG -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION diff --git a/libraries/libsearpc/libsearpc.SlackBuild b/libraries/libsearpc/libsearpc.SlackBuild index 56aed9cbda..99407b59c5 100644 --- a/libraries/libsearpc/libsearpc.SlackBuild +++ b/libraries/libsearpc/libsearpc.SlackBuild @@ -25,13 +25,13 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libsearpc -VERSION=${VERSION:-3.0.7} +VERSION=${VERSION:-3.1.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -42,8 +42,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -61,8 +61,8 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION-latest -tar xvf $CWD/v$VERSION.tar.gz || tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION chown -R root:root . find -L . \ @@ -88,7 +88,7 @@ make make install-strip DESTDIR=$PKG mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING INSTALL README.markdown $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS LICENSE.txt INSTALL README.markdown $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/libraries/libsearpc/libsearpc.info b/libraries/libsearpc/libsearpc.info index 24f2e679a6..292bc4baa5 100644 --- a/libraries/libsearpc/libsearpc.info +++ b/libraries/libsearpc/libsearpc.info @@ -1,7 +1,7 @@ PRGNAM="libsearpc" -VERSION="3.0.7" +VERSION="3.1.0" HOMEPAGE="http://seafile.com/" -DOWNLOAD="https://github.com/haiwen/libsearpc/archive/v3.0.7.tar.gz" +DOWNLOAD="https://github.com/haiwen/libsearpc/archive/v3.1.0/libsearpc-3.1.0.tar.gz" MD5SUM="1d20e93e0fb39f98c907e633d9f1b11b" DOWNLOAD_x86_64="" MD5SUM_x86_64="" diff --git a/libraries/libsidplayfp/libsidplayfp.SlackBuild b/libraries/libsidplayfp/libsidplayfp.SlackBuild index 8406a5fb5d..f9c3c6aae0 100644 --- a/libraries/libsidplayfp/libsidplayfp.SlackBuild +++ b/libraries/libsidplayfp/libsidplayfp.SlackBuild @@ -25,13 +25,13 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libsidplayfp -VERSION=${VERSION:-1.8.6} +VERSION=${VERSION:-1.8.7} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -42,8 +42,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" diff --git a/libraries/libsidplayfp/libsidplayfp.info b/libraries/libsidplayfp/libsidplayfp.info index 1a24881670..ad709ec1ca 100644 --- a/libraries/libsidplayfp/libsidplayfp.info +++ b/libraries/libsidplayfp/libsidplayfp.info @@ -1,8 +1,8 @@ PRGNAM="libsidplayfp" -VERSION="1.8.6" +VERSION="1.8.7" HOMEPAGE="https://sourceforge.net/projects/sidplay-residfp/" -DOWNLOAD="http://downloads.sourceforge.net/project/sidplay-residfp/libsidplayfp/1.8/libsidplayfp-1.8.6.tar.gz" -MD5SUM="fe1a88baa347cb896234327f61e62428" +DOWNLOAD="http://downloads.sourceforge.net/sidplay-residfp/libsidplayfp-1.8.7.tar.gz" +MD5SUM="9f6d46a1c2572cc2a6837173895d6f21" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="xa" diff --git a/libraries/libsodium/README b/libraries/libsodium/README deleted file mode 100644 index d401f6c292..0000000000 --- a/libraries/libsodium/README +++ /dev/null @@ -1,2 +0,0 @@ -libsodium is a portable fork of NaCl with a compatible API. It is a software -library for network communication, encryption, decryption, signatures, etc. diff --git a/libraries/libsodium/libsodium.SlackBuild b/libraries/libsodium/libsodium.SlackBuild deleted file mode 100644 index d116e15595..0000000000 --- a/libraries/libsodium/libsodium.SlackBuild +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh - -# Slackware build script for libsodium - -# Copyright 2019 T3slider -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libsodium -VERSION=${VERSION:-1.0.18} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --enable-static=no \ - --build=$ARCH-slackware-linux - -make -make check -make install-strip DESTDIR=$PKG - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS ChangeLog LICENSE README.markdown THANKS \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libsodium/libsodium.info b/libraries/libsodium/libsodium.info deleted file mode 100644 index 885712aec3..0000000000 --- a/libraries/libsodium/libsodium.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libsodium" -VERSION="1.0.18" -HOMEPAGE="https://github.com/jedisct1/libsodium" -DOWNLOAD="https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz" -MD5SUM="3ca9ebc13b6b4735acae0a6a4c4f9a95" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="T3slider" -EMAIL="t3slider@gmail.com" diff --git a/libraries/libsodium/slack-desc b/libraries/libsodium/slack-desc deleted file mode 100644 index 9f9b669bc6..0000000000 --- a/libraries/libsodium/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libsodium: libsodium (a library for network communication and cryptography) -libsodium: -libsodium: libsodium is a portable fork of NaCl with a compatible API. It is -libsodium: a software library for network communication, encryption, decryption, -libsodium: signatures, etc. -libsodium: -libsodium: https://github.com/jedisct1/libsodium -libsodium: -libsodium: -libsodium: -libsodium: diff --git a/libraries/libsrtp/libsrtp.SlackBuild b/libraries/libsrtp/libsrtp.SlackBuild index 0ec00c4f3a..5bcb7cad5e 100644 --- a/libraries/libsrtp/libsrtp.SlackBuild +++ b/libraries/libsrtp/libsrtp.SlackBuild @@ -78,7 +78,6 @@ CXXFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ - --enable-openssl \ --disable-debug \ --build=$ARCH-slackware-linux diff --git a/libraries/libtorrent-rasterbar/boost-1.72.0.patch b/libraries/libtorrent-rasterbar/boost-1.72.0.patch new file mode 100644 index 0000000000..dc2d28f783 --- /dev/null +++ b/libraries/libtorrent-rasterbar/boost-1.72.0.patch @@ -0,0 +1,36 @@ +From 94bd4ae76f0fb3233eda58794e0105f6e3be92ee Mon Sep 17 00:00:00 2001 +From: arvidn +Date: Fri, 13 Dec 2019 21:58:09 +0100 +Subject: [PATCH] support building with new boost version + +--- + ChangeLog | 1 + + include/libtorrent/socket_type.hpp | 4 ++++ + 2 files changed, 5 insertions(+) + +diff --git a/ChangeLog b/ChangeLog +index 6c74a8067a..e060ab190e 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,5 +1,6 @@ + 1.1.14 release + ++ * support building with new boost version + * add handling on invalid piece index to torrent_handle::have_piece() + * fix error in treatment of move_storage() flags + * fix division by zero in anti-leech choker +diff --git a/include/libtorrent/socket_type.hpp b/include/libtorrent/socket_type.hpp +index 578b4534a9..69eabd2569 100644 +--- a/include/libtorrent/socket_type.hpp ++++ b/include/libtorrent/socket_type.hpp +@@ -190,6 +190,10 @@ namespace libtorrent + typedef tcp::socket::protocol_type protocol_type; + + typedef tcp::socket::receive_buffer_size receive_buffer_size; ++ ++#if BOOST_VERSION >= 106600 ++ using executor_type = tcp::socket::executor_type; ++#endif + typedef tcp::socket::send_buffer_size send_buffer_size; + + explicit socket_type(io_service& ios): m_io_service(ios), m_type(0) {} diff --git a/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild index 0501141e52..35fc752c8f 100644 --- a/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild +++ b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild @@ -77,6 +77,11 @@ sed -i -e "s/+ target_specific(),/+ target_specific() + ['-std=c++14'],/" \ EXAMPLES=${EXAMPLES:-no} [ "$EXAMPLES" = "yes" ] && examples="--enable-examples" +patch -p1 < $CWD/libtorrent-1_1_13...RC_1_1-5c39557.patch +patch -p1 < $CWD/boost-1.72.0.patch + +autoreconf -fi + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS -std=c++14" \ LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \ diff --git a/libraries/libtorrent-rasterbar/libtorrent-rasterbar.info b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.info index d6c78127df..b937a72582 100644 --- a/libraries/libtorrent-rasterbar/libtorrent-rasterbar.info +++ b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.info @@ -1,8 +1,10 @@ PRGNAM="libtorrent-rasterbar" VERSION="1.1.13" HOMEPAGE="https://libtorrent.org/" -DOWNLOAD="https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_13/libtorrent-rasterbar-1.1.13.tar.gz" -MD5SUM="a3eec8d384f0343df1fb417c14c4e20d" +DOWNLOAD="https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_13/libtorrent-rasterbar-1.1.13.tar.gz \ + http://ponce.cc/slackware/sources/repo/libtorrent-1_1_13...RC_1_1-5c39557.patch" +MD5SUM="a3eec8d384f0343df1fb417c14c4e20d \ + 0680c67fe370348d0cc8959f7d7160b2" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/libtxc_dxtn/README b/libraries/libtxc_dxtn/README deleted file mode 100644 index a20c465fa6..0000000000 --- a/libraries/libtxc_dxtn/README +++ /dev/null @@ -1,5 +0,0 @@ -This library provides the GL_EXT_texture_compression_s3tc extenstion for Mesa -for using precompressed textures with hardware decompression (precompressed -textures are used by most modern games). - -Due to US patent restrictions, this library is not part of Mesa itself. diff --git a/libraries/libtxc_dxtn/libtxc_dxtn.SlackBuild b/libraries/libtxc_dxtn/libtxc_dxtn.SlackBuild deleted file mode 100644 index 49192eecb0..0000000000 --- a/libraries/libtxc_dxtn/libtxc_dxtn.SlackBuild +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/sh - -# Slackware build script for libtxc_dxtn - -# Copyright 2012 Carlos Corbacho -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libtxc_dxtn -VERSION=${VERSION:-1.0.1} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libtxc_dxtn/libtxc_dxtn.info b/libraries/libtxc_dxtn/libtxc_dxtn.info deleted file mode 100644 index 57831f2652..0000000000 --- a/libraries/libtxc_dxtn/libtxc_dxtn.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libtxc_dxtn" -VERSION="1.0.1" -HOMEPAGE="https://people.freedesktop.org/~cbrill/libtxc_dxtn/" -DOWNLOAD="https://people.freedesktop.org/~cbrill/libtxc_dxtn/libtxc_dxtn-1.0.1.tar.bz2" -MD5SUM="7105107f07ac49753f4b61ba9d0c79c5" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Carlos Corbacho" -EMAIL="carlos@strangeworlds.co.uk" diff --git a/libraries/libtxc_dxtn/slack-desc b/libraries/libtxc_dxtn/slack-desc deleted file mode 100644 index 86695e02b8..0000000000 --- a/libraries/libtxc_dxtn/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libtxc_dxtn: libtxc_dxtn (S3TC for Mesa) -libtxc_dxtn: -libtxc_dxtn: Support for using precompressed textures with hardware decompression -libtxc_dxtn: in Mesa (currently used by most new games). -libtxc_dxtn: -libtxc_dxtn: -libtxc_dxtn: -libtxc_dxtn: -libtxc_dxtn: -libtxc_dxtn: -libtxc_dxtn: diff --git a/libraries/libunwind/README b/libraries/libunwind/README deleted file mode 100644 index c650d3ee47..0000000000 --- a/libraries/libunwind/README +++ /dev/null @@ -1,9 +0,0 @@ -Libunwind is a portable and efficient C programming interface -to determine the call-chain of a program. - -The API is useful in a number of applications: - -* debuggers -* introspection -* efficient setjmp() -* ... diff --git a/libraries/libunwind/libunwind.SlackBuild b/libraries/libunwind/libunwind.SlackBuild deleted file mode 100644 index 6d9dbe168f..0000000000 --- a/libraries/libunwind/libunwind.SlackBuild +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh - -# Slackware build script for libunwind - -# Copyright 2013 tjohann -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libunwind -VERSION=${VERSION:-1.1} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -DOCS="AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README TODO" - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --disable-static \ - --build=$ARCH-slackware-linux - -make -# make pdf # doesn't work -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libunwind/libunwind.info b/libraries/libunwind/libunwind.info deleted file mode 100644 index 4f4c7c124b..0000000000 --- a/libraries/libunwind/libunwind.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libunwind" -VERSION="1.1" -HOMEPAGE="http://www.nongnu.org/libunwind/" -DOWNLOAD="http://download.savannah.nongnu.org/releases/libunwind/libunwind-1.1.tar.gz" -MD5SUM="fb4ea2f6fbbe45bf032cd36e586883ce" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="tjohann" -EMAIL="thorsten.johannvorderbrueggen@t-online.de" diff --git a/libraries/libunwind/slack-desc b/libraries/libunwind/slack-desc deleted file mode 100644 index 3fe00993a0..0000000000 --- a/libraries/libunwind/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libunwind: libunwind (C programming interface to determine the call-chain) -libunwind: -libunwind: It is a portable and efficient C programming interface -libunwind: to determine the call-chain of a program. -libunwind: The API is useful in a number of applications: -libunwind: * debuggers -libunwind: * introspection -libunwind: * efficient setjmp() -libunwind: * ... -libunwind: -libunwind: Homepage: http://www.nongnu.org/libunwind diff --git a/libraries/libvirt-glib/libvirt-glib.SlackBuild b/libraries/libvirt-glib/libvirt-glib.SlackBuild index 60a9c1969f..d75dee4058 100644 --- a/libraries/libvirt-glib/libvirt-glib.SlackBuild +++ b/libraries/libvirt-glib/libvirt-glib.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libvirt-glib -VERSION=${VERSION:-1.0.0} +VERSION=${VERSION:-3.0.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/libvirt-glib/libvirt-glib.info b/libraries/libvirt-glib/libvirt-glib.info index 90a4b953cc..6217ff56cd 100644 --- a/libraries/libvirt-glib/libvirt-glib.info +++ b/libraries/libvirt-glib/libvirt-glib.info @@ -1,8 +1,8 @@ PRGNAM="libvirt-glib" -VERSION="1.0.0" +VERSION="3.0.0" HOMEPAGE="http://libvirt.org/" -DOWNLOAD="https://libvirt.org/sources/glib/libvirt-glib-1.0.0.tar.gz" -MD5SUM="cb1332e97c175606306fe8966f8243af" +DOWNLOAD="https://libvirt.org/sources/glib/libvirt-glib-3.0.0.tar.gz" +MD5SUM="1c9a7c43118ba44e7b8eacc9c105f498" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="libvirt vala" diff --git a/libraries/libvirt-python/libvirt-python.SlackBuild b/libraries/libvirt-python/libvirt-python.SlackBuild index 9688b5afe4..8ecccb3148 100644 --- a/libraries/libvirt-python/libvirt-python.SlackBuild +++ b/libraries/libvirt-python/libvirt-python.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libvirt-python -VERSION=${VERSION:-4.5.0} +VERSION=${VERSION:-5.10.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -66,7 +66,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -python setup.py install --root=$PKG +python2 setup.py install --root=$PKG +python3 setup.py install --root=$PKG find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true diff --git a/libraries/libvirt-python/libvirt-python.info b/libraries/libvirt-python/libvirt-python.info index 0670df4073..e0c28f7ae4 100644 --- a/libraries/libvirt-python/libvirt-python.info +++ b/libraries/libvirt-python/libvirt-python.info @@ -1,8 +1,8 @@ PRGNAM="libvirt-python" -VERSION="4.5.0" -HOMEPAGE="http://libvirt.org" -DOWNLOAD="https://libvirt.org/sources/python/libvirt-python-4.5.0.tar.gz" -MD5SUM="0c1b66a8878d6436b036565060707f73" +VERSION="5.10.0" +HOMEPAGE="https://libvirt.org" +DOWNLOAD="https://libvirt.org/sources/python/libvirt-python-5.10.0.tar.gz" +MD5SUM="045c8b45a1aed0725d874ce072027570" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="libvirt" diff --git a/libraries/libvirt/libvirt.SlackBuild b/libraries/libvirt/libvirt.SlackBuild index 84008caff4..00641011d2 100644 --- a/libraries/libvirt/libvirt.SlackBuild +++ b/libraries/libvirt/libvirt.SlackBuild @@ -5,8 +5,8 @@ # Maintained by Robby Workman PRGNAM=libvirt -VERSION=${VERSION:-4.5.0} -BUILD=${BUILD:-2} +VERSION=${VERSION:-5.10.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -56,8 +56,11 @@ sed -i "s|(prefix)/lib/sysctl|(sysconfdir)/sysctl|" src/Makefile.in patch -p1 < $CWD/use-virtgroup-in-polkit-rules.diff sed -i -e "s,@VIRTGROUP@,$VIRTGROUP,g" src/remote/libvirtd.rules +# Since 5.10: "configure: error: Build directory must be different from source directory" +mkdir -p build +cd build CFLAGS="$SLKCFLAGS" \ -./configure \ +../configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --bindir=/usr/sbin \ @@ -79,6 +82,7 @@ make \ HTML_DIR=/usr/doc/$PRGNAM-$VERSION \ EXAMPLE_DIR=/usr/doc/$PRGNAM-$VERSION/examples \ install-strip DESTDIR=$PKG +cd .. # we don't have augeas rm -fr $PKG/usr/share/augeas diff --git a/libraries/libvirt/libvirt.info b/libraries/libvirt/libvirt.info index f8186d1ad3..1bb424b0f9 100644 --- a/libraries/libvirt/libvirt.info +++ b/libraries/libvirt/libvirt.info @@ -1,10 +1,10 @@ PRGNAM="libvirt" -VERSION="4.5.0" +VERSION="5.10.0" HOMEPAGE="http://libvirt.org" -DOWNLOAD="https://libvirt.org/sources/libvirt-4.5.0.tar.xz" -MD5SUM="692b2d00907438ed08a68813d3177cd3" +DOWNLOAD="https://libvirt.org/sources/libvirt-5.10.0.tar.xz" +MD5SUM="d15aaba3f1e7dc311aacbded48f0dff7" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="yajl urlgrabber" +REQUIRES="yajl" MAINTAINER="Robby Workman" EMAIL="rworkman@slackbuilds.org" diff --git a/libraries/libwacom/README b/libraries/libwacom/README deleted file mode 100644 index 6ee0b09e28..0000000000 --- a/libraries/libwacom/README +++ /dev/null @@ -1,5 +0,0 @@ -libwacom (Library to identify Wacom tablets and their features) - -Manages the libraries, configuration, and diagnostic tools for Wacom -tablets running under Linux. It also maintains updated Linux kernel -drivers and Xorg/XFree86 XInput drivers. diff --git a/libraries/libwacom/libwacom.SlackBuild b/libraries/libwacom/libwacom.SlackBuild deleted file mode 100644 index d05f7bf795..0000000000 --- a/libraries/libwacom/libwacom.SlackBuild +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh -# -# Slackware build script for libwacom. -# -# Copyright 2016-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil. -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=libwacom -VERSION=${VERSION:-1.2} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$(uname -m)" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$(uname -m) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$PRGNAM-$VERSION.tar.gz -mv $PRGNAM-$PRGNAM-$VERSION $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./autogen.sh \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --disable-static \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp COPYING NEWS README.md $PKG/usr/doc/$PRGNAM-$VERSION/ -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libwacom/libwacom.info b/libraries/libwacom/libwacom.info deleted file mode 100644 index 80b87362bb..0000000000 --- a/libraries/libwacom/libwacom.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libwacom" -VERSION="1.2" -HOMEPAGE="https://github.com/linuxwacom/libwacom" -DOWNLOAD="https://github.com/linuxwacom/libwacom/archive/libwacom-1.2/libwacom-libwacom-1.2.tar.gz" -MD5SUM="f7956584c6faa68621545865303697d4" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Edinaldo P. Silva" -EMAIL="edps.mundognu@gmail.com" diff --git a/libraries/libwacom/slack-desc b/libraries/libwacom/slack-desc deleted file mode 100644 index 35db81dc05..0000000000 --- a/libraries/libwacom/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libwacom: libwacom (Library to identify Wacom tablets and their features) -libwacom: -libwacom: Manages the libraries, configuration, and diagnostic tools for Wacom -libwacom: tablets running under Linux. It also maintains updated Linux kernel -libwacom: drivers and Xorg/XFree86 XInput drivers. -libwacom: -libwacom: Home Page: https://github.com/linuxwacom/libwacom -libwacom: -libwacom: -libwacom: -libwacom: diff --git a/libraries/libwebp/README b/libraries/libwebp/README deleted file mode 100644 index 1ea4235291..0000000000 --- a/libraries/libwebp/README +++ /dev/null @@ -1,18 +0,0 @@ -WebP is a method of lossy compression that can be used on photographic -images. The degree of compression is adjustable so a user can choose -the trade-off between file size and image quality. -WebP typically achieves an average of 39% more compression than JPEG -and JPEG 2000, without loss of image quality. - -WebP is a new image format that provides lossless and lossy compression for -images on the web. WebP lossless images are 26% smaller in size compared to -PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at -equivalent SSIM index. - -WebP supports lossless transparency (also known as alpha channel) with just 22% -additional bytes. Transparency is also supported with lossy compression and -typically provides 3x smaller file sizes compared to PNG when lossy compression -is acceptable for the red/green/blue color channels. - -Webmasters and web developers can use the WebP image format to create smaller -and richer images that can help make the web faster. diff --git a/libraries/libwebp/libwebp.SlackBuild b/libraries/libwebp/libwebp.SlackBuild deleted file mode 100644 index 7e4da7c575..0000000000 --- a/libraries/libwebp/libwebp.SlackBuild +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh - -# Slackware build script for webP -# written by powtrix (@gmail.com) - -PRGNAM=libwebp -VERSION=${VERSION:-1.0.3} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --disable-static \ - --disable-silent-rules \ - --enable-everything \ - --enable-swap-16bit-csp \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -( - cd swig - # Fix temporary working directory. - sed -i "/^tmpdir/s|=.*|= 'tmpdir'|" setup.py - CFLAGS="$SLKCFLAGS -I$PKG/usr/include" \ - LDFLAGS="-L$PKG/usr/lib${LIBDIRSUFFIX} -lwebp" \ - python setup.py install --root=$PKG - # Install the python3 module if python3 is installed - if $(python3 -c 'import sys' 2>/dev/null); then - CFLAGS="$SLKCFLAGS -I$PKG/usr/include" \ - LDFLAGS="-L$PKG/usr/lib${LIBDIRSUFFIX} -lwebp" \ - python3 setup.py install --root=$PKG - fi -) - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING ChangeLog NEWS PATENTS README $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/libwebp/libwebp.info b/libraries/libwebp/libwebp.info deleted file mode 100644 index eb0e19dac9..0000000000 --- a/libraries/libwebp/libwebp.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="libwebp" -VERSION="1.0.3" -HOMEPAGE="https://developers.google.com/speed/webp/" -DOWNLOAD="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz" -MD5SUM="906ad85daaaa2eac97c8aa2dec9e8b77" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="powtrix" -EMAIL="powtrix@gmail.com" diff --git a/libraries/libwebp/slack-desc b/libraries/libwebp/slack-desc deleted file mode 100644 index c37e841aaf..0000000000 --- a/libraries/libwebp/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libwebp: libwebp (WebP photo compression library) -libwebp: -libwebp: WebP is a method of lossy compression that can be used on -libwebp: photographic images. The degree of compression is adjustable so a -libwebp: user can choose the trade-off between file size and image quality. -libwebp: WebP typically achieves an average of 39% more compression than -libwebp: JPEG and JPEG 2000, without loss of image quality. -libwebp: -libwebp: Homepage: https://developers.google.com/speed/webp/ -libwebp: -libwebp: diff --git a/libraries/libwps/libwps.SlackBuild b/libraries/libwps/libwps.SlackBuild index 838e0c09dd..4e14aff208 100644 --- a/libraries/libwps/libwps.SlackBuild +++ b/libraries/libwps/libwps.SlackBuild @@ -75,7 +75,7 @@ case "${DOC:-0}" in esac CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -Wno-error=implicit-fallthrough=" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/libzdb/libzdb.SlackBuild b/libraries/libzdb/libzdb.SlackBuild index 00f439ba09..2267542660 100644 --- a/libraries/libzdb/libzdb.SlackBuild +++ b/libraries/libzdb/libzdb.SlackBuild @@ -83,7 +83,6 @@ CXXFLAGS="$SLKCFLAGS" \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --enable-static=no \ --enable-protected \ - --enable-openssl \ --enable-sqliteunlock \ --with-mysql \ --with-sqlite=/usr/include \ diff --git a/libraries/libzrtpcpp/libzrtpcpp.SlackBuild b/libraries/libzrtpcpp/libzrtpcpp.SlackBuild index 0fe58e8c8d..a717ac8ec9 100644 --- a/libraries/libzrtpcpp/libzrtpcpp.SlackBuild +++ b/libraries/libzrtpcpp/libzrtpcpp.SlackBuild @@ -24,7 +24,7 @@ PRGNAM=libzrtpcpp SRCNAM=ZRTPCPP -VERSION=${VERSION:-4.1.2} +VERSION=${VERSION:-4.6.6} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -55,7 +55,7 @@ else LIBDIRSUFFIX="" fi -DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README.md $CWD/$PRGNAM.SlackBuild" +DOCS="AUTHORS COPYING ChangeLog INSTALL README.md $CWD/$PRGNAM.SlackBuild" set -e diff --git a/libraries/libzrtpcpp/libzrtpcpp.info b/libraries/libzrtpcpp/libzrtpcpp.info index 362f787ee7..280482cd0a 100644 --- a/libraries/libzrtpcpp/libzrtpcpp.info +++ b/libraries/libzrtpcpp/libzrtpcpp.info @@ -1,8 +1,8 @@ PRGNAM="libzrtpcpp" -VERSION="4.1.2" +VERSION="4.6.6" HOMEPAGE="http://www.gnutelephony.org/" -DOWNLOAD="https://github.com/wernerd/ZRTPCPP/archive/V4.1.2.tar.gz" -MD5SUM="dd13e50d0106eb38132fd74bd024664c" +DOWNLOAD="https://github.com/wernerd/ZRTPCPP/archive/V4.6.6/ZRTPCPP-4.6.6.tar.gz" +MD5SUM="e4f4fd0b5f228782cde398fbcff5d139" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="ccrtp" diff --git a/libraries/live555/live555.SlackBuild b/libraries/live555/live555.SlackBuild index 2cbbae91e4..301ae45da4 100644 --- a/libraries/live555/live555.SlackBuild +++ b/libraries/live555/live555.SlackBuild @@ -62,6 +62,10 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# This header isn't shipped in glibc >= 2.26 anymore +# https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27 +sed -i 's/#include .*/#include /' liveMedia/include/Locale.hh + for f in $(find . -type f |xargs grep -l "PREFIX =") ; do echo $f; sed -i -e "/PREFIX =/c\PREFIX = \/usr" $f ; done for f in $(find . -type f |xargs grep -l "LIBDIR =") ; do echo $f; sed -i -e "/LIBDIR =/c\LIBDIR = \$(PREFIX)\/lib$LIBDIRSUFFIX" $f ; done diff --git a/libraries/med/med.SlackBuild b/libraries/med/med.SlackBuild index 9256b4e3b0..a9e8ff100d 100644 --- a/libraries/med/med.SlackBuild +++ b/libraries/med/med.SlackBuild @@ -79,6 +79,7 @@ CXXFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --enable-fortran \ + --disable-python \ --disable-static \ --build=$ARCH-slackware-linux diff --git a/libraries/npth/README b/libraries/npth/README deleted file mode 100644 index b89f596996..0000000000 --- a/libraries/npth/README +++ /dev/null @@ -1,11 +0,0 @@ -npth (New GNU Portable Threads Library) - -nPth is a library to provide the GNU Pth API and thus a non-preemptive -threads implementation. - -In contrast to GNU Pth is is based on the system's standard threads -implementation. This allows the use of libraries which are not compatible -to GNU Pth. Experience with a Windows Pth emulation showed that this -is a solid way to provide a co-routine based framework. - -This library is required to compile GnuPG 2.1. diff --git a/libraries/npth/npth.SlackBuild b/libraries/npth/npth.SlackBuild deleted file mode 100644 index 570dd8e992..0000000000 --- a/libraries/npth/npth.SlackBuild +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - -# Slackware build script for nPth - -# Copyright 2016 pyllyukko -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=npth -VERSION=${VERSION:-1.6} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux - -make -make install-strip DESTDIR=$PKG - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING.LIB ChangeLog HACKING INSTALL NEWS README VERSION \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/npth/npth.info b/libraries/npth/npth.info deleted file mode 100644 index 61f97c00b1..0000000000 --- a/libraries/npth/npth.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="npth" -VERSION="1.6" -HOMEPAGE="https://www.gnupg.org/related_software/npth/index.html" -DOWNLOAD="https://www.gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2" -MD5SUM="375d1a15ad969f32d25f1a7630929854" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="pyllyukko" -EMAIL="pyllyukko AT maimed dot org" diff --git a/libraries/npth/slack-desc b/libraries/npth/slack-desc deleted file mode 100644 index fa1c3c2ab7..0000000000 --- a/libraries/npth/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -npth: npth (New GNU Portable Threads Library) -npth: -npth: nPth is a library to provide the GNU Pth API and thus a non-preemptive -npth: threads implementation. -npth: -npth: In contrast to GNU Pth is is based on the system's standard threads -npth: implementation. This allows the use of libraries which are not -npth: compatible to GNU Pth. Experience with a Windows Pth emulation showed -npth: that this is a solid way to provide a co-routine based framework. -npth: -npth: Homepage: https://www.gnupg.org/related_software/npth/index.html diff --git a/libraries/ocaml-camomile/ocaml-camomile.SlackBuild b/libraries/ocaml-camomile/ocaml-camomile.SlackBuild index 1acdb0ba15..ce1a1b262d 100644 --- a/libraries/ocaml-camomile/ocaml-camomile.SlackBuild +++ b/libraries/ocaml-camomile/ocaml-camomile.SlackBuild @@ -21,15 +21,16 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=ocaml-camomile -VERSION=${VERSION:-0.8.5} -BUILD=${BUILD:-2} +VERSION=${VERSION:-1.0.2} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} SRCNAM=camomile +SRCNAM2=Camomile if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$(uname -m) ;; esac @@ -40,8 +41,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -58,9 +59,9 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2 -cd $SRCNAM-$VERSION +rm -rf $SRCNAM2-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +cd $SRCNAM2-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -68,35 +69,15 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Install missing library, thanks debian -patch -p1 < $CWD/0002-Install-missing-camomileLibrary.a.patch +ocaml configure.ml +dune build -p camomile @install +DESTDIR=$PKG dune install --prefix=/usr --libdir="$(ocamlfind printconf destdir)" -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure --prefix=/usr - -# add DESTDIR for `install-data' -sed -i 's|^prefix=\(.*\)$|prefix=$(DESTDIR)\1|' Makefile - -# for `install-without-ocamlfind' -sed -i 's|^OCAMLLIB = \(.*\)$|OCAMLLIB = $(DESTDIR)\1|' Makefile - -# for `install-with-ocamlfind' -long='$(DESTDIR)/$$(ocamlfind printconf destdir)' -sed -i "s|\\(ocamlfind install\\)| mkdir -p $long; \\1 -destdir $long |" Makefile - -make -j1 -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file \ - | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null \ - || true +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - COPYING Changes README \ - $PKG/usr/doc/$PRGNAM-$VERSION +cp -a *.md $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/libraries/ocaml-camomile/ocaml-camomile.info b/libraries/ocaml-camomile/ocaml-camomile.info index 5706af8a10..028d83635f 100644 --- a/libraries/ocaml-camomile/ocaml-camomile.info +++ b/libraries/ocaml-camomile/ocaml-camomile.info @@ -1,8 +1,8 @@ PRGNAM="ocaml-camomile" -VERSION="0.8.5" +VERSION="1.0.2" HOMEPAGE="http://camomile.sourceforge.net/" -DOWNLOAD="https://github.com/yoriyuki/Camomile/releases/download/rel-0.8.5/camomile-0.8.5.tar.bz2" -MD5SUM="1e25b6cd4efd26ab38a667db18d83f02" +DOWNLOAD="https://github.com/yoriyuki/Camomile/archive/1.0.2/camomile-1.0.2.tar.gz" +MD5SUM="2ec60575e485b0b92f821949a81acb4d" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="camlp4" diff --git a/libraries/ocaml-findlib/ocaml-findlib.SlackBuild b/libraries/ocaml-findlib/ocaml-findlib.SlackBuild index 489b2d1d52..50c641277f 100644 --- a/libraries/ocaml-findlib/ocaml-findlib.SlackBuild +++ b/libraries/ocaml-findlib/ocaml-findlib.SlackBuild @@ -22,7 +22,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=ocaml-findlib -VERSION=${VERSION:-1.6.2} +VERSION=${VERSION:-1.8.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -30,7 +30,7 @@ SRCNAM=findlib if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$(uname -m) ;; esac @@ -41,8 +41,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" diff --git a/libraries/ocaml-findlib/ocaml-findlib.info b/libraries/ocaml-findlib/ocaml-findlib.info index 63828cfae9..d5e7d3ed20 100644 --- a/libraries/ocaml-findlib/ocaml-findlib.info +++ b/libraries/ocaml-findlib/ocaml-findlib.info @@ -1,10 +1,10 @@ PRGNAM="ocaml-findlib" -VERSION="1.6.2" +VERSION="1.8.1" HOMEPAGE="http://projects.camlcity.org/projects/findlib.html" -DOWNLOAD="http://download.camlcity.org/download/findlib-1.6.2.tar.gz" -MD5SUM="530ff275d6b96e140f0d3a03ed14b68e" +DOWNLOAD="http://download.camlcity.org/download/findlib-1.8.1.tar.gz" +MD5SUM="18ca650982c15536616dea0e422cbd8c" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="ocaml" -MAINTAINER="Markus Hutmacher" -EMAIL="mailing@markhu.de" +MAINTAINER="Matteo Bernardini" +EMAIL="ponce@slackbuilds.org" diff --git a/libraries/ocl-icd/README b/libraries/ocl-icd/README deleted file mode 100644 index 3a939287d6..0000000000 --- a/libraries/ocl-icd/README +++ /dev/null @@ -1,19 +0,0 @@ -ocl-icd: free OpenCL ICD Loader - -OpenCL implementations are provided as ICD (Installable Client Driver). An -OpenCL program can use several ICD thanks to the use of an ICD Loader as -provided by this project. This free ICD Loader can load any (free or non free) -ICD. - -NOTE: ocl-icd should not be needed on systems where graphics drivers -by AMD or Nvidia already provide an OpenCL ICD Loader implementation. -To check if you already have an ICD loader, run this as root: - - ldconfig -p | grep -i opencl - -If nothing is printed out, then your system probably lacks an ICD -implementation (libOpenCL.so* objects) and you need this package. - -If something is printed out, then you don't need this package, as it -would probably overwrite the ICD loader that came with your graphics -drivers. diff --git a/libraries/ocl-icd/ocl-icd.SlackBuild b/libraries/ocl-icd/ocl-icd.SlackBuild deleted file mode 100644 index c4e5555601..0000000000 --- a/libraries/ocl-icd/ocl-icd.SlackBuild +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/sh - -# Slackware build script for ocl-icd - -# Copyright (c) 2017-2019 Alan Alberghini <414N@slacky.it> -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ----------------------------------------------------------------------------- -# -# Build history: -# -# 1 - Initial release. - -PRGNAM=ocl-icd -VERSION=${VERSION:-2.2.12} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -DOCS="README NEWS COPYING" - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/${PRGNAM}-${VERSION}.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./bootstrap -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --enable-official-khronos-headers \ - --disable-debug \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - $DOCS \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/ocl-icd/ocl-icd.info b/libraries/ocl-icd/ocl-icd.info deleted file mode 100644 index 180d3f8ef5..0000000000 --- a/libraries/ocl-icd/ocl-icd.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="ocl-icd" -VERSION="2.2.12" -HOMEPAGE="https://github.com/OCL-dev/ocl-icd" -DOWNLOAD="https://github.com/OCL-dev/ocl-icd/archive/v2.2.12.tar.gz" -MD5SUM="47035a0b597fe334be16a653c7c7951f" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Alan Alberghini" -EMAIL="414N@slacky.it" diff --git a/libraries/ocl-icd/slack-desc b/libraries/ocl-icd/slack-desc deleted file mode 100644 index 58678a4610..0000000000 --- a/libraries/ocl-icd/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -ocl-icd: ocl-icd (OpenCL ICD Loader) -ocl-icd: -ocl-icd: OpenCL implementations are provided as ICD (Installable Client -ocl-icd: Driver). An OpenCL program can use several ICD thanks to the use of an -ocl-icd: ICD Loader as provided by this project. This free ICD Loader can load -ocl-icd: any (free or non free) ICD. -ocl-icd: -ocl-icd: -ocl-icd: -ocl-icd: Homepage: -ocl-icd: https://github.com/OCL-dev/ocl-icd diff --git a/libraries/opal/README b/libraries/opal/README index a6a7e53e88..b20eafbaeb 100644 --- a/libraries/opal/README +++ b/libraries/opal/README @@ -2,4 +2,4 @@ The Open Phone Abstraction Library (OPAL) is a C++ multi-platform, multi-protocol library for Fax, Video & Voice over IP and other networks. -Optional dependencies are ffmpeg, x264, celt and jdk/openjdk. +Optional dependencies are x264, celt and jdk/openjdk. diff --git a/libraries/opal/ffmpeg2.patch b/libraries/opal/ffmpeg2.patch deleted file mode 100644 index 80dca469d9..0000000000 --- a/libraries/opal/ffmpeg2.patch +++ /dev/null @@ -1,398 +0,0 @@ -patch from: http://www.linuxfromscratch.org/blfs/view/svn/multimedia/opal.html - -Submitted By: Igor Živković -Date: 2013-10-08 -Initial Package Version: 3.10.10 -Upstream Status: Unknown -Origin: Gentoo -Description: Fixes building against FFmpeg version >= 2.0.0 - -diff -Naur opal-3.10.10.orig/plugins/video/common/dyna.cxx opal-3.10.10/plugins/video/common/dyna.cxx ---- opal-3.10.10.orig/plugins/video/common/dyna.cxx 2013-02-20 03:18:05.000000000 +0100 -+++ plugins/video/common/dyna.cxx 2013-10-08 12:57:25.058873513 +0200 -@@ -210,7 +210,7 @@ - #endif - - --FFMPEGLibrary::FFMPEGLibrary(CodecID codec) -+FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec) - { - m_codec = codec; - if (m_codec==CODEC_ID_H264) -@@ -348,12 +348,12 @@ - return true; - } - --AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id) -+AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id) - { - return Favcodec_find_encoder(id); - } - --AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id) -+AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id) - { - WaitAndSignal m(processLock); - -diff -Naur opal-3.10.10.orig/plugins/video/common/dyna.h opal-3.10.10/plugins/video/common/dyna.h ---- opal-3.10.10.orig/plugins/video/common/dyna.h 2013-02-20 03:18:05.000000000 +0100 -+++ plugins/video/common/dyna.h 2013-10-08 12:57:25.058873513 +0200 -@@ -88,13 +88,13 @@ - class FFMPEGLibrary - { - public: -- FFMPEGLibrary(CodecID codec); -+ FFMPEGLibrary(AVCodecID codec); - ~FFMPEGLibrary(); - - bool Load(); - -- AVCodec *AvcodecFindEncoder(enum CodecID id); -- AVCodec *AvcodecFindDecoder(enum CodecID id); -+ AVCodec *AvcodecFindEncoder(enum AVCodecID id); -+ AVCodec *AvcodecFindDecoder(enum AVCodecID id); - AVCodecContext *AvcodecAllocContext(void); - AVFrame *AvcodecAllocFrame(void); - int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec); -@@ -117,15 +117,15 @@ - DynaLink m_libAvcodec; - DynaLink m_libAvutil; - -- CodecID m_codec; -+ AVCodecID m_codec; - char m_codecString[32]; - - void (*Favcodec_init)(void); - void (*Fav_init_packet)(AVPacket *pkt); - - void (*Favcodec_register_all)(void); -- AVCodec *(*Favcodec_find_encoder)(enum CodecID id); -- AVCodec *(*Favcodec_find_decoder)(enum CodecID id); -+ AVCodec *(*Favcodec_find_encoder)(enum AVCodecID id); -+ AVCodec *(*Favcodec_find_decoder)(enum AVCodecID id); - AVCodecContext *(*Favcodec_alloc_context)(void); - AVFrame *(*Favcodec_alloc_frame)(void); - int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec); -diff -Naur opal-3.10.10.orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h opal-3.10.10/plugins/video/common/ffmpeg/libavcodec/avcodec.h ---- opal-3.10.10.orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-02-20 03:18:04.000000000 +0100 -+++ plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-10-08 12:57:25.060873488 +0200 -@@ -101,7 +101,7 @@ - * 1. no value of a existing codec ID changes (that would break ABI), - * 2. it is as close as possible to similar codecs. - */ --enum CodecID { -+enum AVCodecID { - CODEC_ID_NONE, - - /* video codecs */ -@@ -1390,7 +1390,7 @@ - - char codec_name[32]; - enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */ -- enum CodecID codec_id; /* see CODEC_ID_xxx */ -+ enum AVCodecID codec_id; /* see CODEC_ID_xxx */ - - /** - * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). -@@ -2843,7 +2843,7 @@ - */ - const char *name; - enum AVMediaType type; -- enum CodecID id; -+ enum AVCodecID id; - int priv_data_size; - int (*init)(AVCodecContext *); - int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); -@@ -2898,7 +2898,7 @@ - * - * See CODEC_ID_xxx - */ -- enum CodecID id; -+ enum AVCodecID id; - - /** - * Supported pixel format. -@@ -3402,10 +3402,10 @@ - /** - * Find a registered encoder with a matching codec ID. - * -- * @param id CodecID of the requested encoder -+ * @param id AVCodecID of the requested encoder - * @return An encoder if one was found, NULL otherwise. - */ --AVCodec *avcodec_find_encoder(enum CodecID id); -+AVCodec *avcodec_find_encoder(enum AVCodecID id); - - /** - * Find a registered encoder with the specified name. -@@ -3418,10 +3418,10 @@ - /** - * Find a registered decoder with a matching codec ID. - * -- * @param id CodecID of the requested decoder -+ * @param id AVCodecID of the requested decoder - * @return A decoder if one was found, NULL otherwise. - */ --AVCodec *avcodec_find_decoder(enum CodecID id); -+AVCodec *avcodec_find_decoder(enum AVCodecID id); - - /** - * Find a registered decoder with the specified name. -@@ -3822,7 +3822,7 @@ - * @param[in] codec_id the codec - * @return Number of bits per sample or zero if unknown for the given codec. - */ --int av_get_bits_per_sample(enum CodecID codec_id); -+int av_get_bits_per_sample(enum AVCodecID codec_id); - - #if FF_API_OLD_SAMPLE_FMT - /** -diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10/plugins/video/H.263-1998/h263-1998.cxx ---- opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.cxx 2013-02-20 03:18:03.000000000 +0100 -+++ plugins/video/H.263-1998/h263-1998.cxx 2013-10-08 12:57:25.061873475 +0200 -@@ -48,6 +48,10 @@ - #endif - - #include "h263-1998.h" -+extern "C" -+{ -+#include -+} - #include - #include - #include -@@ -203,7 +207,7 @@ - PTRACE(4, m_prefix, "Encoder closed"); - } - --bool H263_Base_EncoderContext::Init(CodecID codecId) -+bool H263_Base_EncoderContext::Init(AVCodecID codecId) - { - PTRACE(5, m_prefix, "Opening encoder"); - -@@ -317,9 +321,9 @@ - // Level 2+ - // works with eyeBeam, signaled via non-standard "D" - if (atoi(value) == 1) -- m_context->flags |= CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_context->priv_data, "umv", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_context->priv_data, "umv", 0, 0); - return; - } - -@@ -328,9 +332,9 @@ - // Annex F: Advanced Prediction Mode - // does not work with eyeBeam - if (atoi(value) == 1) -- m_context->flags |= CODEC_FLAG_OBMC; -+ av_opt_set_int(m_context->priv_data, "obmc", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_OBMC; -+ av_opt_set_int(m_context->priv_data, "obmc", 0, 0); - return; - } - #endif -@@ -360,9 +364,9 @@ - // Annex K: Slice Structure - // does not work with eyeBeam - if (atoi(value) != 0) -- m_context->flags |= CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_context->priv_data, "structured_slices", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_context->priv_data, "structured_slices", 0, 0); - return; - } - -@@ -370,9 +374,9 @@ - // Annex S: Alternative INTER VLC mode - // does not work with eyeBeam - if (atoi(value) == 1) -- m_context->flags |= CODEC_FLAG_H263P_AIV; -+ av_opt_set_int(m_context->priv_data, "aiv", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_H263P_AIV; -+ av_opt_set_int(m_context->priv_data, "aiv", 0, 0); - return; - } - -@@ -450,15 +454,6 @@ - PTRACE(5, m_prefix, "qmax set to " << m_context->qmax); - PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size); - -- #define CODEC_TRACER_FLAG(tracer, flag) \ -- PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? "enabled" : "disabled")); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT) -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV); -- - return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0; - } - -@@ -521,7 +516,7 @@ - - // Need to copy to local buffer to guarantee 16 byte alignment - memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2); -- m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE; -+ m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE; - - /* - m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE; -@@ -603,13 +598,13 @@ - m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack; - m_context->opaque = this; // used to separate out packets from different encode threads - -- m_context->flags &= ~CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_context->priv_data, "umv", 0, 0); - m_context->flags &= ~CODEC_FLAG_4MV; - #if LIBAVCODEC_RTP_MODE - m_context->flags &= ~CODEC_FLAG_H263P_AIC; - #endif -- m_context->flags &= ~CODEC_FLAG_H263P_AIV; -- m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_context->priv_data, "aiv", 0, 0); -+ av_opt_set_int(m_context->priv_data, "structured_slices", 0, 0); - - return true; - } -diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.h opal-3.10.10/plugins/video/H.263-1998/h263-1998.h ---- opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.h 2013-02-20 03:18:03.000000000 +0100 -+++ plugins/video/H.263-1998/h263-1998.h 2013-10-08 12:57:25.062873463 +0200 -@@ -115,7 +115,7 @@ - virtual ~H263_Base_EncoderContext(); - - virtual bool Init() = 0; -- virtual bool Init(CodecID codecId); -+ virtual bool Init(AVCodecID codecId); - - virtual bool SetOptions(const char * const * options); - virtual void SetOption(const char * option, const char * value); -diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/Makefile.in opal-3.10.10/plugins/video/H.263-1998/Makefile.in ---- opal-3.10.10.orig/plugins/video/H.263-1998/Makefile.in 2013-02-20 03:18:03.000000000 +0100 -+++ plugins/video/H.263-1998/Makefile.in 2013-10-08 12:57:25.062873463 +0200 -@@ -35,7 +35,7 @@ - $(COMMONDIR)/dyna.cxx - - CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) --LIBS += @DL_LIBS@ -+LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ - - HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@ - ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes) -diff -Naur opal-3.10.10.orig/plugins/video/H.264/gpl/h264_helper.cxx opal-3.10.10/plugins/video/H.264/gpl/h264_helper.cxx ---- opal-3.10.10.orig/plugins/video/H.264/gpl/h264_helper.cxx 2013-02-20 03:18:02.000000000 +0100 -+++ plugins/video/H.264/gpl/h264_helper.cxx 2013-10-08 12:57:25.062873463 +0200 -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_UNISTD_H - #include -diff -Naur opal-3.10.10.orig/plugins/video/H.264/h264-x264.cxx opal-3.10.10/plugins/video/H.264/h264-x264.cxx ---- opal-3.10.10.orig/plugins/video/H.264/h264-x264.cxx 2013-02-20 03:18:02.000000000 +0100 -+++ plugins/video/H.264/h264-x264.cxx 2013-10-08 12:57:25.063873450 +0200 -@@ -40,6 +40,9 @@ - #include "plugin-config.h" - #endif - -+#define FF_IDCT_H264 11 -+#define CODEC_FLAG2_SKIP_RD 0x00004000 -+ - #include - - #include "../common/ffmpeg.h" -@@ -1071,13 +1074,10 @@ - return false; - - m_context->workaround_bugs = FF_BUG_AUTODETECT; -- m_context->error_recognition = FF_ER_AGGRESSIVE; - m_context->idct_algo = FF_IDCT_H264; - m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK; - m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE; -- m_context->flags2 = CODEC_FLAG2_BRDO | -- CODEC_FLAG2_MEMC_ONLY | -- CODEC_FLAG2_DROP_FRAME_TIMECODE | -+ m_context->flags2 = CODEC_FLAG2_DROP_FRAME_TIMECODE | - CODEC_FLAG2_SKIP_RD | - CODEC_FLAG2_CHUNKS; - -diff -Naur opal-3.10.10.orig/plugins/video/H.264/shared/x264wrap.cxx opal-3.10.10/plugins/video/H.264/shared/x264wrap.cxx ---- opal-3.10.10.orig/plugins/video/H.264/shared/x264wrap.cxx 2013-02-20 03:18:02.000000000 +0100 -+++ plugins/video/H.264/shared/x264wrap.cxx 2013-10-08 12:57:25.064873438 +0200 -@@ -33,6 +33,7 @@ - - #include - #include -+#include - - #ifdef HAVE_UNISTD_H - #include -diff -Naur opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/Makefile.in opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in ---- opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-02-20 03:18:07.000000000 +0100 -+++ plugins/video/MPEG4-ffmpeg/Makefile.in 2013-10-08 12:57:25.064873438 +0200 -@@ -31,7 +31,7 @@ - SRCS := mpeg4.cxx $(COMMONDIR)/dyna.cxx - - CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) --LIBS += @DL_LIBS@ -+LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ - - # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include - # Also add libavutil, so ffmpeg headers can #include "log.h". -diff -Naur opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx ---- opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-02-20 03:18:07.000000000 +0100 -+++ plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-10-08 12:57:25.065873425 +0200 -@@ -103,6 +103,7 @@ - - #else /* LIBAVCODEC_HAVE_SOURCE_DIR */ - #include "../common/ffmpeg.h" -+#include - #endif /* LIBAVCODEC_HAVE_SOURCE_DIR */ - } - -@@ -589,17 +590,17 @@ - m_avpicture->quality = m_videoQMin; - - #ifdef USE_ORIG -- m_avcontext->flags |= CODEC_FLAG_PART; // data partitioning -+ av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0); - m_avcontext->flags |= CODEC_FLAG_4MV; // 4 motion vectors - #else - m_avcontext->max_b_frames=0; /*don't use b frames*/ - m_avcontext->flags|=CODEC_FLAG_AC_PRED; -- m_avcontext->flags|=CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_avcontext->priv_data, "umv", 1, 0); - /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */ - m_avcontext->flags|=CODEC_FLAG_4MV; - m_avcontext->flags|=CODEC_FLAG_GMC; - m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER; -- m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_avcontext->priv_data, "structured_slices", 1, 0); - #endif - m_avcontext->opaque = this; // for use in RTP callback - } -@@ -804,7 +805,7 @@ - // Should the next frame be an I-Frame? - if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0)) - { -- m_avpicture->pict_type = FF_I_TYPE; -+ m_avpicture->pict_type = AV_PICTURE_TYPE_I; - } - else // No IFrame requested, let avcodec decide what to do - { -@@ -1325,7 +1326,7 @@ - - void MPEG4DecoderContext::SetStaticDecodingParams() { - m_avcontext->flags |= CODEC_FLAG_4MV; -- m_avcontext->flags |= CODEC_FLAG_PART; -+ av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0); - m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations - } - diff --git a/libraries/opal/opal.SlackBuild b/libraries/opal/opal.SlackBuild index ca382bc4ef..c764a39f32 100644 --- a/libraries/opal/opal.SlackBuild +++ b/libraries/opal/opal.SlackBuild @@ -71,17 +71,6 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# patch and seds from lfs: -# http://www.linuxfromscratch.org/blfs/view/svn/multimedia/opal.html -patch -p1 --verbose < $CWD/ffmpeg2.patch - -sed -e 's/CODEC_ID/AV_&/' \ - -e 's/PIX_FMT_/AV_&/' \ - -i plugins/video/H.263-1998/h263-1998.cxx \ - plugins/video/common/dyna.cxx \ - plugins/video/H.264/h264-x264.cxx \ - plugins/video/MPEG4-ffmpeg/mpeg4.cxx - sed -e '/<< mime.PrintContents/ s/mime/(const std::string\&)&/' \ -i src/im/msrp.cxx && @@ -127,6 +116,7 @@ CXXFLAGS="$SLKCFLAGS" \ --enable-msrp \ --enable-sipim \ --enable-plugins \ + --disable-libavcodec \ --build=$ARCH-slackware-linux make VERBOSE=1 diff --git a/libraries/openbabel/openbabel.SlackBuild b/libraries/openbabel/openbabel.SlackBuild index 7bd54ad595..426fab52d4 100644 --- a/libraries/openbabel/openbabel.SlackBuild +++ b/libraries/openbabel/openbabel.SlackBuild @@ -25,7 +25,8 @@ # Thanks to Daniil Bratashov (dn2010@gmail.com) for the cmake conversion PRGNAM=openbabel -VERSION=${VERSION:-2.3.2} +VERSION=${VERSION:-2.4.1} +SRCVER=$(echo $VERSION | tr . -) BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -61,9 +62,9 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION +rm -rf $PRGNAM-$PRGNAM-$SRCVER +tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz +cd $PRGNAM-$PRGNAM-$SRCVER chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -71,9 +72,6 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Patch for gcc-5 thanks to Arch -patch -p0 < $CWD/gcc-5.patch - mkdir -p build cd build cmake \ @@ -95,7 +93,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \; mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ - ChangeLog AUTHORS COPYING NEWS README THANKS doc/*.html \ + AUTHORS COPYING NEWS.md README.md THANKS authors.txt doc/*.html \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/libraries/openbabel/openbabel.info b/libraries/openbabel/openbabel.info index ff15c8591e..112968ba8a 100644 --- a/libraries/openbabel/openbabel.info +++ b/libraries/openbabel/openbabel.info @@ -1,8 +1,8 @@ PRGNAM="openbabel" -VERSION="2.3.2" +VERSION="2.4.1" HOMEPAGE="http://openbabel.sourceforge.net" -DOWNLOAD="http://downloads.sourceforge.net/openbabel/openbabel-2.3.2.tar.gz" -MD5SUM="9b0007560d9d838b40ab4ad06daf5610" +DOWNLOAD="https://github.com/openbabel/openbabel/archive/openbabel-2-4-1/openbabel-2-4-1.tar.gz" +MD5SUM="c0e0aefeef0f9f2bb2c78109d65c30a5" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="jdk" diff --git a/libraries/pcre2/README b/libraries/pcre2/README deleted file mode 100644 index 604c47269f..0000000000 --- a/libraries/pcre2/README +++ /dev/null @@ -1,2 +0,0 @@ -PCRE2 is a re-working of the original PCRE library to provide an entirely new -API. diff --git a/libraries/pcre2/pcre2.SlackBuild b/libraries/pcre2/pcre2.SlackBuild deleted file mode 100644 index 650a83f9b3..0000000000 --- a/libraries/pcre2/pcre2.SlackBuild +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh - -# Slackware build script for pcre2 - -# Copyright 2016-2019 Larry Hajali -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=pcre2 -VERSION=${VERSION:-10.33} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --disable-silent-rules \ - --enable-static=no \ - --enable-pcre2-16 \ - --enable-pcre2-32 \ - --enable-jit \ - --enable-pcre2grep-libz \ - --enable-pcre2grep-libbz2 \ - --enable-pcre2test-libreadline \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; - -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/pcre2/pcre2.info b/libraries/pcre2/pcre2.info deleted file mode 100644 index 648ddb8cb8..0000000000 --- a/libraries/pcre2/pcre2.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="pcre2" -VERSION="10.33" -HOMEPAGE="http://www.pcre.org/" -DOWNLOAD="https://downloads.sourceforge.net/pcre/pcre2-10.33.tar.bz2" -MD5SUM="80b355f2dce909a2e2424f5c79eddb44" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Larry Hajali" -EMAIL="larryhaja[at]gmail[dot]com" diff --git a/libraries/pcre2/slack-desc b/libraries/pcre2/slack-desc deleted file mode 100644 index 5eaf0e0af3..0000000000 --- a/libraries/pcre2/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -pcre2: pcre2 (Perl 5-style regular expressions. 2nd version) -pcre2: -pcre2: PCRE2 is a re-working of the original PCRE library to provide an -pcre2: entirely new API. -pcre2: -pcre2: Homepage: http://www.pcre.org/ -pcre2: -pcre2: -pcre2: -pcre2: -pcre2: diff --git a/libraries/physfs/physfs.SlackBuild b/libraries/physfs/physfs.SlackBuild index 244a1966fa..5974c8225d 100644 --- a/libraries/physfs/physfs.SlackBuild +++ b/libraries/physfs/physfs.SlackBuild @@ -72,14 +72,14 @@ find -L . \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; cmake \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -Wno-error=maybe-uninitialized" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DPHYSFS_BUILD_SHARED=ON \ -DPHYSFS_BUILD_STATIC=OFF \ -DPHYSFS_BUILD_TEST=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX:STRING=${LIBDIRSUFFIX} + -DLIB_SUFFIX:STRING=${LIBDIRSUFFIX} . make make install DESTDIR=$PKG diff --git a/libraries/podofo/podofo.SlackBuild b/libraries/podofo/podofo.SlackBuild index 926b5372d3..2f54c18414 100644 --- a/libraries/podofo/podofo.SlackBuild +++ b/libraries/podofo/podofo.SlackBuild @@ -69,6 +69,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +sed -i "s/BINARY_DIR}\/objects\"/BINARY_DIR}\/objects\" || true/" test/TokenizerTest/CMakeLists.txt + # Fix mandir directory. sed -i 's|share/man|man|' CMakeLists.txt # Fix building podofo on x86 with cppunit. diff --git a/libraries/poppler-qt5/poppler-qt5.SlackBuild b/libraries/poppler-qt5/poppler-qt5.SlackBuild index ce99c22afc..40e56259da 100644 --- a/libraries/poppler-qt5/poppler-qt5.SlackBuild +++ b/libraries/poppler-qt5/poppler-qt5.SlackBuild @@ -23,8 +23,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=poppler-qt5 -VERSION=${VERSION:-0.45.0} -BUILD=${BUILD:-2} +VERSION=${VERSION:-0.68.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -56,8 +56,8 @@ fi set -e -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT +rm -rf $PKG ${PKG}_2 +mkdir -p $TMP $PKG ${PKG}_2 $OUTPUT cd $TMP rm -rf ${PRGNAM/-*/}-$VERSION tar xvf $CWD/${PRGNAM/-*/}-$VERSION.tar.xz @@ -69,32 +69,38 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -CFLAGS="$SLKCFLAGS" \ +mkdir build +cd build CXXFLAGS="$SLKCFLAGS -std=c++11" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --enable-xpdf-headers \ - --enable-poppler-qt4 \ - --enable-poppler-qt5 \ - --disable-silent-rules \ - --enable-cairo-output \ - --mandir=/usr/man \ - --disable-static \ - --without-testdatadir \ - --enable-zlib \ - --build=$ARCH-slackware-linux - +cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_MANDIR=/usr/man \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_QT5=ON \ + -DENABLE_CMS=lcms2 \ + -DENABLE_DCTDECODER=libjpeg \ + -DENABLE_GTK_DOC=ON \ + -DENABLE_LIBOPENJPEG=openjpeg2 \ + -DENABLE_XPDF_HEADERS=ON \ + -DENABLE_ZLIB=ON \ + -DENABLE_ZLIB_UNCOMPRESS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DBUILD_QT5_TESTS=OFF \ + -DBUILD_CPP_TESTS=OFF \ + .. make -make -C qt5 install DESTDIR=$PKG - -mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig -install -m 0644 $PRGNAM.pc $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig +make install DESTDIR=${PKG}_2 +cd .. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +mkdir -p $PKG/usr/{bin,lib$LIBDIRSUFFIX/pkgconfig,include/poppler} +mv ${PKG}_2/usr/lib$LIBDIRSUFFIX/lib$PRGNAM.* $PKG/usr/lib$LIBDIRSUFFIX/ +mv ${PKG}_2/usr/lib$LIBDIRSUFFIX/pkgconfig/$PRGNAM.pc $PKG/usr/lib$LIBDIRSUFFIX/pkgconfig +mv ${PKG}_2/usr/bin/pdfdetach $PKG/usr/bin/ +mv ${PKG}_2/usr/include/poppler/qt5 $PKG/usr/include/poppler/ + mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a README COPYING $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/libraries/poppler-qt5/poppler-qt5.info b/libraries/poppler-qt5/poppler-qt5.info index e99b4f6e11..f681888f2c 100644 --- a/libraries/poppler-qt5/poppler-qt5.info +++ b/libraries/poppler-qt5/poppler-qt5.info @@ -1,8 +1,8 @@ PRGNAM="poppler-qt5" -VERSION="0.45.0" +VERSION="0.68.0" HOMEPAGE="https://poppler.freedesktop.org/" -DOWNLOAD="https://poppler.freedesktop.org/poppler-0.45.0.tar.xz" -MD5SUM="a66e8c3cf6dab91dab5ba90d362c6063" +DOWNLOAD="https://poppler.freedesktop.org/poppler-0.68.0.tar.xz" +MD5SUM="722ea5837cdfaae4c98607987000de30" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="qt5" diff --git a/libraries/ptlib/ptlib-2.10.10-mga-bison-parameter.patch b/libraries/ptlib/ptlib-2.10.10-mga-bison-parameter.patch deleted file mode 100644 index fcc8d0d2e7..0000000000 --- a/libraries/ptlib/ptlib-2.10.10-mga-bison-parameter.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- ptlib-2.10.11/./src/ptlib/common/getdate.y 2013-08-15 01:20:26.000000000 +0200 -+++ /mnt/chroot/cauldron/home/dan/rpm/BUILD/ptlib-2.10.11/src/ptlib/common/getdate.y 2013-12-15 00:24:27.866481490 +0100 -@@ -121,9 +121,9 @@ - static int yylex(); - - #ifdef __GNUC__ --static int yyerror(char const *msg); -+static int yyerror(void *, char const *msg); - #else --static void yyerror(char const *msg); -+static void yyerror(void *, char const *msg); - #endif - - -@@ -132,7 +132,8 @@ - - %} - --%pure_parser -+%pure-parser -+%parse-param {void *parseParam} - - %union { - time_t Number; -@@ -1018,12 +1019,12 @@ - #endif - - #ifdef __GNUC__ --int yyerror(const char * s) -+int yyerror(void *var, const char * s) - { - return 0; - } - #else --static void yyerror(const char * s) -+static void yyerror(void *var, const char * s) - { - } - #endif diff --git a/libraries/ptlib/ptlib-2.10.11-bison_fixes-2.patch b/libraries/ptlib/ptlib-2.10.11-bison_fixes-2.patch new file mode 100644 index 0000000000..7f5d66cf24 --- /dev/null +++ b/libraries/ptlib/ptlib-2.10.11-bison_fixes-2.patch @@ -0,0 +1,2951 @@ +Submitted By: Armin K. +Updated By: Bruce Dubbs +Date: 2013-08-20 + 2016-05-04 +Initial Package Version: 2.10.10 +Upstream Status: Reported +Origin: Self +Description: Adds pregenerated C file which isn't generated correctly + with Bison 3.0. +Update: Add fixes for gcc-6 + +diff -Naur ptlib-2.10.11.orig/include/ptlib/critsec.h ptlib-2.10.11/include/ptlib/critsec.h +--- ptlib-2.10.11.orig/include/ptlib/critsec.h 2013-08-14 18:20:32.000000000 -0500 ++++ ptlib-2.10.11/include/ptlib/critsec.h 2016-05-04 19:40:01.626203961 -0500 +@@ -40,7 +40,7 @@ + #if P_HAS_ATOMIC_INT + + #if defined(__GNUC__) +-# if __GNUC__ >= 4 && __GNUC_MINOR__ >= 2 ++# if (__GNUC__ >= 4 && __GNUC_MINOR__ >= 2) || __GNUC__ >= 5 + # include + # else + # include +diff -Naur ptlib-2.10.11.orig/make/unix.mak ptlib-2.10.11/make/unix.mak +--- ptlib-2.10.11.orig/make/unix.mak 2013-08-14 18:20:27.000000000 -0500 ++++ ptlib-2.10.11/make/unix.mak 2016-05-04 19:38:50.921583820 -0500 +@@ -729,4 +729,6 @@ + + LDLIBS += -l$(PTLIB_BASE)$(LIB_TYPE) + ++STDCCFLAGS += -Wno-deprecated-declarations ++ + # End of unix.mak +diff -Naur ptlib-2.10.11.orig/src/ptlib/common/getdate.tab.c ptlib-2.10.11/src/ptlib/common/getdate.tab.c +--- ptlib-2.10.11.orig/src/ptlib/common/getdate.tab.c 1969-12-31 18:00:00.000000000 -0600 ++++ ptlib-2.10.11/src/ptlib/common/getdate.tab.c 2016-05-04 19:38:59.892281859 -0500 +@@ -0,0 +1,2884 @@ ++/* A Bison parser, made by GNU Bison 2.7.12-4996. */ ++ ++/* Bison implementation for Yacc-like parsers in C ++ ++ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ ++/* As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. */ ++ ++/* C LALR(1) parser skeleton written by Richard Stallman, by ++ simplifying the original so-called "semantic" parser. */ ++ ++/* All symbols defined below should begin with yy or YY, to avoid ++ infringing on user name space. This should be done even for local ++ variables, as they might otherwise be expanded by user macros. ++ There are some unavoidable exceptions within include files to ++ define necessary library symbols; they are noted "INFRINGES ON ++ USER NAME SPACE" below. */ ++ ++/* Identify Bison output. */ ++#define YYBISON 1 ++ ++/* Bison version. */ ++#define YYBISON_VERSION "2.7.12-4996" ++ ++/* Skeleton name. */ ++#define YYSKELETON_NAME "yacc.c" ++ ++/* Pure parsers. */ ++#define YYPURE 1 ++ ++/* Push parsers. */ ++#define YYPUSH 0 ++ ++/* Pull parsers. */ ++#define YYPULL 1 ++ ++ ++ ++ ++/* Copy the first part of user declarations. */ ++/* Line 371 of yacc.c */ ++#line 1 "ptlib/common/getdate.y" ++ ++/* ++** Originally written by Steven M. Bellovin while ++** at the University of North Carolina at Chapel Hill. Later tweaked by ++** a couple of people on Usenet. Completely overhauled by Rich $alz ++** and Jim Berets in August, 1990; ++** ++** Major hack to coerce it into use with the Equivalence Portable ++** Windows Library. ++** ++** This grammar has 10 shift/reduce conflicts. ++** ++** This code is in the public domain and has no copyright. ++*/ ++/* SUPPRESS 287 on yaccpar_sccsid *//* Unused static variable */ ++/* SUPPRESS 288 on yyerrlab *//* Label unused */ ++ ++ ++#include ++#include ++#include ++#include ++ ++#ifndef EOF ++#include ++#endif ++ ++ ++#ifdef _WIN32 ++#ifdef _MSC_VER ++#pragma warning(disable:4131 4701 4996) ++#endif ++#define STDAPICALLTYPE __stdcall ++#define MSDOS ++#else ++#define STDAPICALLTYPE ++#endif ++ ++ ++extern int STDAPICALLTYPE PTimeGetChar(void * stream); ++extern void STDAPICALLTYPE PTimeUngetChar(void * stream, int c); ++int STDAPICALLTYPE PTimeGetDateOrder(); ++int STDAPICALLTYPE PTimeIsMonthName(const char *, int, int); ++int STDAPICALLTYPE PTimeIsDayName(const char *, int, int); ++ ++ ++#define EPOCH 1970 ++#define HOUR(x) ((time_t)(x) * 60) ++#define SECSPERDAY (24L * 60L * 60L) ++ ++ ++/* ++** An entry in the lexical lookup table. ++*/ ++typedef struct _TABLE { ++ char *name; ++ int type; ++ time_t value; ++} TABLE; ++ ++ ++/* ++** Daylight-savings mode: on, off, or not yet known. ++*/ ++typedef enum _DSTMODE { ++ DSTon, DSToff, DSTmaybe ++} DSTMODE; ++ ++/* ++** Meridian: am, pm, or 24-hour style. ++*/ ++typedef enum _MERIDIAN { ++ MERam, MERpm, MER24 ++} MERIDIAN; ++ ++ ++/* ++** Global variables. We could get rid of most of these by using a good ++** union as the yacc stack. (This routine was originally written before ++** yacc had the %union construct.) Maybe someday; right now we only use ++** the %union very rarely. ++*/ ++struct Variables { ++ void *yyInput; ++ DSTMODE yyDSTmode; ++ time_t yyDayOrdinal; ++ time_t yyDayNumber; ++ int yyHaveDate; ++ int yyHaveDay; ++ int yyHaveRel; ++ int yyHaveTime; ++ int yyHaveZone; ++ time_t yyTimezone; ++ time_t yyDay; ++ time_t yyHour; ++ time_t yyMinutes; ++ time_t yyMonth; ++ time_t yySeconds; ++ time_t yyYear; ++ MERIDIAN yyMeridian; ++ time_t yyRelMonth; ++ time_t yyRelSeconds; ++}; ++ ++#define VARIABLE ((struct Variables*)parseParam) ++ ++ ++#define YYPURE 1 ++#define YYLEX_PARAM VARIABLE ++#define YYPARSE_PARAM parseParam ++ ++#define yyparse PTime_yyparse ++#define yylex PTime_yylex ++#define yyerror PTime_yyerror ++ ++#define GCC_VERSION (__GNUC__ * 10000 \ ++ + __GNUC_MINOR__ * 100 \ ++ + __GNUC_PATCHLEVEL__) ++ ++static int yyparse(void *); ++static int yylex(); ++ ++#ifdef __GNUC__ ++static int yyerror(char const *msg); ++#else ++static void yyerror(char const *msg); ++#endif ++ ++ ++static void SetPossibleDate(struct Variables*, time_t, time_t, time_t); ++ ++ ++ ++/* Line 371 of yacc.c */ ++#line 202 "ptlib/common/getdate.tab.c" ++ ++# ifndef YY_NULL ++# if defined __cplusplus && 201103L <= __cplusplus ++# define YY_NULL nullptr ++# else ++# define YY_NULL 0 ++# endif ++# endif ++ ++/* Enabling verbose error messages. */ ++#ifdef YYERROR_VERBOSE ++# undef YYERROR_VERBOSE ++# define YYERROR_VERBOSE 1 ++#else ++# define YYERROR_VERBOSE 0 ++#endif ++ ++ ++/* Enabling traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 0 ++#endif ++#if YYDEBUG ++extern int yydebug; ++#endif ++ ++/* Tokens. */ ++#ifndef YYTOKENTYPE ++# define YYTOKENTYPE ++ /* Put the tokens into the symbol table, so that GDB and other debuggers ++ know about them. */ ++ enum yytokentype { ++ tAGO = 258, ++ tDAY = 259, ++ tDAYZONE = 260, ++ tID = 261, ++ tMERIDIAN = 262, ++ tMINUTE_UNIT = 263, ++ tMONTH = 264, ++ tMONTH_UNIT = 265, ++ tSNUMBER = 266, ++ tS4DIGITNUMBER = 267, ++ tUNUMBER = 268, ++ t4DIGITNUMBER = 269, ++ t6DIGITNUMBER = 270, ++ t8DIGITNUMBER = 271, ++ tSEC_UNIT = 272, ++ tZONE = 273, ++ tMILZONE = 274, ++ tRFC3339 = 275, ++ tDST = 276 ++ }; ++#endif ++ ++ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED ++typedef union YYSTYPE ++{ ++/* Line 387 of yacc.c */ ++#line 137 "ptlib/common/getdate.y" ++ ++ time_t Number; ++ enum _MERIDIAN Meridian; ++ ++ ++/* Line 387 of yacc.c */ ++#line 269 "ptlib/common/getdate.tab.c" ++} YYSTYPE; ++# define YYSTYPE_IS_TRIVIAL 1 ++# define yystype YYSTYPE /* obsolescent; will be withdrawn */ ++# define YYSTYPE_IS_DECLARED 1 ++#endif ++ ++ ++#ifdef YYPARSE_PARAM ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *YYPARSE_PARAM); ++#else ++int yyparse (); ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void); ++#else ++int yyparse (); ++#endif ++#endif /* ! YYPARSE_PARAM */ ++ ++ ++ ++/* Copy the second part of user declarations. */ ++ ++/* Line 390 of yacc.c */ ++#line 296 "ptlib/common/getdate.tab.c" ++ ++#ifdef short ++# undef short ++#endif ++ ++#ifdef YYTYPE_UINT8 ++typedef YYTYPE_UINT8 yytype_uint8; ++#else ++typedef unsigned char yytype_uint8; ++#endif ++ ++#ifdef YYTYPE_INT8 ++typedef YYTYPE_INT8 yytype_int8; ++#elif (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++typedef signed char yytype_int8; ++#else ++typedef short int yytype_int8; ++#endif ++ ++#ifdef YYTYPE_UINT16 ++typedef YYTYPE_UINT16 yytype_uint16; ++#else ++typedef unsigned short int yytype_uint16; ++#endif ++ ++#ifdef YYTYPE_INT16 ++typedef YYTYPE_INT16 yytype_int16; ++#else ++typedef short int yytype_int16; ++#endif ++ ++#ifndef YYSIZE_T ++# ifdef __SIZE_TYPE__ ++# define YYSIZE_T __SIZE_TYPE__ ++# elif defined size_t ++# define YYSIZE_T size_t ++# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YYSIZE_T size_t ++# else ++# define YYSIZE_T unsigned int ++# endif ++#endif ++ ++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) ++ ++#ifndef YY_ ++# if defined YYENABLE_NLS && YYENABLE_NLS ++# if ENABLE_NLS ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YY_(Msgid) dgettext ("bison-runtime", Msgid) ++# endif ++# endif ++# ifndef YY_ ++# define YY_(Msgid) Msgid ++# endif ++#endif ++ ++#ifndef __attribute__ ++/* This feature is available in gcc versions 2.5 and later. */ ++# if (! defined __GNUC__ || __GNUC__ < 2 \ ++ || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) ++# define __attribute__(Spec) /* empty */ ++# endif ++#endif ++ ++/* Suppress unused-variable warnings by "using" E. */ ++#if ! defined lint || defined __GNUC__ ++# define YYUSE(E) ((void) (E)) ++#else ++# define YYUSE(E) /* empty */ ++#endif ++ ++ ++/* Identity function, used to suppress warnings about constant conditions. */ ++#ifndef lint ++# define YYID(N) (N) ++#else ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static int ++YYID (int yyi) ++#else ++static int ++YYID (yyi) ++ int yyi; ++#endif ++{ ++ return yyi; ++} ++#endif ++ ++#if ! defined yyoverflow || YYERROR_VERBOSE ++ ++/* The parser invokes alloca or malloc; define the necessary symbols. */ ++ ++# ifdef YYSTACK_USE_ALLOCA ++# if YYSTACK_USE_ALLOCA ++# ifdef __GNUC__ ++# define YYSTACK_ALLOC __builtin_alloca ++# elif defined __BUILTIN_VA_ARG_INCR ++# include /* INFRINGES ON USER NAME SPACE */ ++# elif defined _AIX ++# define YYSTACK_ALLOC __alloca ++# elif defined _MSC_VER ++# include /* INFRINGES ON USER NAME SPACE */ ++# define alloca _alloca ++# else ++# define YYSTACK_ALLOC alloca ++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++# include /* INFRINGES ON USER NAME SPACE */ ++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ ++# ifndef EXIT_SUCCESS ++# define EXIT_SUCCESS 0 ++# endif ++# endif ++# endif ++# endif ++# endif ++ ++# ifdef YYSTACK_ALLOC ++ /* Pacify GCC's `empty if-body' warning. */ ++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) ++# ifndef YYSTACK_ALLOC_MAXIMUM ++ /* The OS might guarantee only one guard page at the bottom of the stack, ++ and a page size can be as small as 4096 bytes. So we cannot safely ++ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number ++ to allow for a few compiler-allocated temporary stack slots. */ ++# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ ++# endif ++# else ++# define YYSTACK_ALLOC YYMALLOC ++# define YYSTACK_FREE YYFREE ++# ifndef YYSTACK_ALLOC_MAXIMUM ++# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM ++# endif ++# if (defined __cplusplus && ! defined EXIT_SUCCESS \ ++ && ! ((defined YYMALLOC || defined malloc) \ ++ && (defined YYFREE || defined free))) ++# include /* INFRINGES ON USER NAME SPACE */ ++# ifndef EXIT_SUCCESS ++# define EXIT_SUCCESS 0 ++# endif ++# endif ++# ifndef YYMALLOC ++# define YYMALLOC malloc ++# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ ++# endif ++# endif ++# ifndef YYFREE ++# define YYFREE free ++# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++void free (void *); /* INFRINGES ON USER NAME SPACE */ ++# endif ++# endif ++# endif ++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ ++ ++ ++#if (! defined yyoverflow \ ++ && (! defined __cplusplus \ ++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) ++ ++/* A type that is properly aligned for any stack member. */ ++union yyalloc ++{ ++ yytype_int16 yyss_alloc; ++ YYSTYPE yyvs_alloc; ++}; ++ ++/* The size of the maximum gap between one aligned stack and the next. */ ++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) ++ ++/* The size of an array large to enough to hold all stacks, each with ++ N elements. */ ++# define YYSTACK_BYTES(N) \ ++ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ ++ + YYSTACK_GAP_MAXIMUM) ++ ++# define YYCOPY_NEEDED 1 ++ ++/* Relocate STACK from its old location to the new one. The ++ local variables YYSIZE and YYSTACKSIZE give the old and new number of ++ elements in the stack, and YYPTR gives the new location of the ++ stack. Advance YYPTR to a properly aligned location for the next ++ stack. */ ++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ ++ do \ ++ { \ ++ YYSIZE_T yynewbytes; \ ++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ ++ Stack = &yyptr->Stack_alloc; \ ++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ ++ yyptr += yynewbytes / sizeof (*yyptr); \ ++ } \ ++ while (YYID (0)) ++ ++#endif ++ ++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED ++/* Copy COUNT objects from SRC to DST. The source and destination do ++ not overlap. */ ++# ifndef YYCOPY ++# if defined __GNUC__ && 1 < __GNUC__ ++# define YYCOPY(Dst, Src, Count) \ ++ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) ++# else ++# define YYCOPY(Dst, Src, Count) \ ++ do \ ++ { \ ++ YYSIZE_T yyi; \ ++ for (yyi = 0; yyi < (Count); yyi++) \ ++ (Dst)[yyi] = (Src)[yyi]; \ ++ } \ ++ while (YYID (0)) ++# endif ++# endif ++#endif /* !YYCOPY_NEEDED */ ++ ++/* YYFINAL -- State number of the termination state. */ ++#define YYFINAL 2 ++/* YYLAST -- Last index in YYTABLE. */ ++#define YYLAST 105 ++ ++/* YYNTOKENS -- Number of terminals. */ ++#define YYNTOKENS 25 ++/* YYNNTS -- Number of nonterminals. */ ++#define YYNNTS 12 ++/* YYNRULES -- Number of rules. */ ++#define YYNRULES 51 ++/* YYNRULES -- Number of states. */ ++#define YYNSTATES 63 ++ ++/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ ++#define YYUNDEFTOK 2 ++#define YYMAXUTOK 276 ++ ++#define YYTRANSLATE(YYX) \ ++ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ++ ++/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ ++static const yytype_uint8 yytranslate[] = ++{ ++ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 23, 2, 2, 24, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 22, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, ++ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ++ 15, 16, 17, 18, 19, 20, 21 ++}; ++ ++#if YYDEBUG ++/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in ++ YYRHS. */ ++static const yytype_uint8 yyprhs[] = ++{ ++ 0, 0, 3, 4, 7, 9, 11, 13, 15, 17, ++ 19, 22, 25, 28, 33, 38, 45, 52, 54, 56, ++ 59, 61, 63, 66, 69, 73, 79, 84, 86, 90, ++ 93, 98, 101, 105, 108, 110, 113, 116, 118, 121, ++ 124, 126, 129, 132, 134, 136, 138, 140, 142, 144, ++ 146, 147 ++}; ++ ++/* YYRHS -- A `-1'-separated list of the rules' RHS. */ ++static const yytype_int8 yyrhs[] = ++{ ++ 26, 0, -1, -1, 26, 27, -1, 28, -1, 29, ++ -1, 31, -1, 30, -1, 32, -1, 35, -1, 13, ++ 7, -1, 14, 12, -1, 15, 12, -1, 34, 22, ++ 34, 36, -1, 34, 22, 34, 12, -1, 34, 22, ++ 34, 22, 34, 36, -1, 34, 22, 34, 22, 34, ++ 12, -1, 18, -1, 5, -1, 18, 21, -1, 19, ++ -1, 4, -1, 4, 23, -1, 34, 4, -1, 34, ++ 24, 34, -1, 34, 24, 34, 24, 34, -1, 34, ++ 11, 11, 20, -1, 16, -1, 34, 9, 11, -1, ++ 9, 34, -1, 9, 34, 23, 34, -1, 34, 9, ++ -1, 34, 9, 34, -1, 33, 3, -1, 33, -1, ++ 34, 8, -1, 11, 8, -1, 8, -1, 11, 17, ++ -1, 34, 17, -1, 17, -1, 11, 10, -1, 34, ++ 10, -1, 10, -1, 13, -1, 14, -1, 15, -1, ++ 13, -1, 14, -1, 15, -1, -1, 7, -1 ++}; ++ ++/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ++static const yytype_uint16 yyrline[] = ++{ ++ 0, 153, 153, 154, 157, 160, 163, 166, 169, 172, ++ 175, 181, 189, 197, 203, 210, 216, 226, 230, 235, ++ 239, 249, 253, 257, 263, 266, 269, 273, 278, 282, ++ 289, 294, 301, 306, 310, 313, 316, 319, 322, 325, ++ 328, 331, 334, 337, 342, 345, 348, 353, 379, 390, ++ 407, 410 ++}; ++#endif ++ ++#if YYDEBUG || YYERROR_VERBOSE || 0 ++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. ++ First, the terminals, then, starting at YYNTOKENS, nonterminals. */ ++static const char *const yytname[] = ++{ ++ "$end", "error", "$undefined", "tAGO", "tDAY", "tDAYZONE", "tID", ++ "tMERIDIAN", "tMINUTE_UNIT", "tMONTH", "tMONTH_UNIT", "tSNUMBER", ++ "tS4DIGITNUMBER", "tUNUMBER", "t4DIGITNUMBER", "t6DIGITNUMBER", ++ "t8DIGITNUMBER", "tSEC_UNIT", "tZONE", "tMILZONE", "tRFC3339", "tDST", ++ "':'", "','", "'/'", "$accept", "spec", "item", "time", "zone", "day", ++ "date", "rel", "relunit", "unumber", "number", "o_merid", YY_NULL ++}; ++#endif ++ ++# ifdef YYPRINT ++/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to ++ token YYLEX-NUM. */ ++static const yytype_uint16 yytoknum[] = ++{ ++ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, ++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, ++ 275, 276, 58, 44, 47 ++}; ++# endif ++ ++/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ++static const yytype_uint8 yyr1[] = ++{ ++ 0, 25, 26, 26, 27, 27, 27, 27, 27, 27, ++ 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, ++ 29, 30, 30, 30, 31, 31, 31, 31, 31, 31, ++ 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, ++ 33, 33, 33, 33, 34, 34, 34, 35, 35, 35, ++ 36, 36 ++}; ++ ++/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ++static const yytype_uint8 yyr2[] = ++{ ++ 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, ++ 2, 2, 2, 4, 4, 6, 6, 1, 1, 2, ++ 1, 1, 2, 2, 3, 5, 4, 1, 3, 2, ++ 4, 2, 3, 2, 1, 2, 2, 1, 2, 2, ++ 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, ++ 0, 1 ++}; ++ ++/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. ++ Performed when YYTABLE doesn't specify something else to do. Zero ++ means the default is an error. */ ++static const yytype_uint8 yydefact[] = ++{ ++ 2, 0, 1, 21, 18, 37, 0, 43, 0, 44, ++ 45, 46, 27, 40, 17, 20, 3, 4, 5, 7, ++ 6, 8, 34, 0, 9, 22, 44, 45, 46, 29, ++ 36, 41, 38, 10, 11, 12, 19, 33, 23, 35, ++ 31, 42, 0, 39, 0, 0, 0, 28, 32, 0, ++ 50, 24, 30, 26, 51, 14, 0, 13, 0, 50, ++ 25, 16, 15 ++}; ++ ++/* YYDEFGOTO[NTERM-NUM]. */ ++static const yytype_int8 yydefgoto[] = ++{ ++ -1, 1, 16, 17, 18, 19, 20, 21, 22, 23, ++ 24, 57 ++}; ++ ++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing ++ STATE-NUM. */ ++#define YYPACT_NINF -27 ++static const yytype_int8 yypact[] = ++{ ++ -27, 49, -27, -10, -27, -27, -11, -27, 1, 10, ++ 69, 86, -27, -27, -9, -27, -27, -27, -27, -27, ++ -27, -27, 13, -3, -27, -27, -27, -27, -27, 8, ++ -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, ++ 30, -27, 9, -27, -11, -11, -11, -27, -27, 12, ++ 15, 18, -27, -27, -27, -27, -11, -27, -11, 23, ++ -27, -27, -27 ++}; ++ ++/* YYPGOTO[NTERM-NUM]. */ ++static const yytype_int8 yypgoto[] = ++{ ++ -27, -27, -27, -27, -27, -27, -27, -27, -27, -6, ++ -27, -26 ++}; ++ ++/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If ++ positive, shift that token. If negative, reduce the rule which ++ number is the opposite. If YYTABLE_NINF, syntax error. */ ++#define YYTABLE_NINF -50 ++static const yytype_int8 yytable[] = ++{ ++ 29, 38, 26, 27, 28, 39, 40, 41, 42, 30, ++ -47, 31, 36, 25, 43, -47, 37, 33, 32, 44, ++ 49, 45, 54, -47, -47, -47, -47, 55, -47, -47, ++ 54, 46, 53, 62, 48, 61, 0, 56, 50, 51, ++ 52, 47, 58, 26, 27, 28, 0, 0, 0, 2, ++ 59, 0, 60, 3, 4, 0, 0, 5, 6, 7, ++ 8, 0, 9, 10, 11, 12, 13, 14, 15, -48, ++ 0, 0, 0, 0, -48, 0, 0, 0, 0, 0, ++ 0, 34, -48, -48, -48, -48, -49, -48, -48, 0, ++ 0, -49, 0, 0, 0, 0, 0, 0, 35, -49, ++ -49, -49, -49, 0, -49, -49 ++}; ++ ++#define yypact_value_is_default(Yystate) \ ++ (!!((Yystate) == (-27))) ++ ++#define yytable_value_is_error(Yytable_value) \ ++ YYID (0) ++ ++static const yytype_int8 yycheck[] = ++{ ++ 6, 4, 13, 14, 15, 8, 9, 10, 11, 8, ++ 0, 10, 21, 23, 17, 5, 3, 7, 17, 22, ++ 11, 24, 7, 13, 14, 15, 16, 12, 18, 19, ++ 7, 23, 20, 59, 40, 12, -1, 22, 44, 45, ++ 46, 11, 24, 13, 14, 15, -1, -1, -1, 0, ++ 56, -1, 58, 4, 5, -1, -1, 8, 9, 10, ++ 11, -1, 13, 14, 15, 16, 17, 18, 19, 0, ++ -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, ++ -1, 12, 13, 14, 15, 16, 0, 18, 19, -1, ++ -1, 5, -1, -1, -1, -1, -1, -1, 12, 13, ++ 14, 15, 16, -1, 18, 19 ++}; ++ ++/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ++ symbol of state STATE-NUM. */ ++static const yytype_uint8 yystos[] = ++{ ++ 0, 26, 0, 4, 5, 8, 9, 10, 11, 13, ++ 14, 15, 16, 17, 18, 19, 27, 28, 29, 30, ++ 31, 32, 33, 34, 35, 23, 13, 14, 15, 34, ++ 8, 10, 17, 7, 12, 12, 21, 3, 4, 8, ++ 9, 10, 11, 17, 22, 24, 23, 11, 34, 11, ++ 34, 34, 34, 20, 7, 12, 22, 36, 24, 34, ++ 34, 12, 36 ++}; ++ ++#define yyerrok (yyerrstatus = 0) ++#define yyclearin (yychar = YYEMPTY) ++#define YYEMPTY (-2) ++#define YYEOF 0 ++ ++#define YYACCEPT goto yyacceptlab ++#define YYABORT goto yyabortlab ++#define YYERROR goto yyerrorlab ++ ++ ++/* Like YYERROR except do call yyerror. This remains here temporarily ++ to ease the transition to the new meaning of YYERROR, for GCC. ++ Once GCC version 2 has supplanted version 1, this can go. However, ++ YYFAIL appears to be in use. Nevertheless, it is formally deprecated ++ in Bison 2.4.2's NEWS entry, where a plan to phase it out is ++ discussed. */ ++ ++#define YYFAIL goto yyerrlab ++#if defined YYFAIL ++ /* This is here to suppress warnings from the GCC cpp's ++ -Wunused-macros. Normally we don't worry about that warning, but ++ some users do, and we want to make it easy for users to remove ++ YYFAIL uses, which will produce warnings from Bison 2.5. */ ++#endif ++ ++#define YYRECOVERING() (!!yyerrstatus) ++ ++#define YYBACKUP(Token, Value) \ ++do \ ++ if (yychar == YYEMPTY) \ ++ { \ ++ yychar = (Token); \ ++ yylval = (Value); \ ++ YYPOPSTACK (yylen); \ ++ yystate = *yyssp; \ ++ goto yybackup; \ ++ } \ ++ else \ ++ { \ ++ yyerror (YY_("syntax error: cannot back up")); \ ++ YYERROR; \ ++ } \ ++while (YYID (0)) ++ ++/* Error token number */ ++#define YYTERROR 1 ++#define YYERRCODE 256 ++ ++ ++/* This macro is provided for backward compatibility. */ ++#ifndef YY_LOCATION_PRINT ++# define YY_LOCATION_PRINT(File, Loc) ((void) 0) ++#endif ++ ++ ++/* YYLEX -- calling `yylex' with the right arguments. */ ++#ifdef YYLEX_PARAM ++# define YYLEX yylex (&yylval, YYLEX_PARAM) ++#else ++# define YYLEX yylex (&yylval) ++#endif ++ ++/* Enable debugging if requested. */ ++#if YYDEBUG ++ ++# ifndef YYFPRINTF ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YYFPRINTF fprintf ++# endif ++ ++# define YYDPRINTF(Args) \ ++do { \ ++ if (yydebug) \ ++ YYFPRINTF Args; \ ++} while (YYID (0)) ++ ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ ++do { \ ++ if (yydebug) \ ++ { \ ++ YYFPRINTF (stderr, "%s ", Title); \ ++ yy_symbol_print (stderr, \ ++ Type, Value); \ ++ YYFPRINTF (stderr, "\n"); \ ++ } \ ++} while (YYID (0)) ++ ++ ++/*--------------------------------. ++| Print this symbol on YYOUTPUT. | ++`--------------------------------*/ ++ ++/*ARGSUSED*/ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) ++#else ++static void ++yy_symbol_value_print (yyoutput, yytype, yyvaluep) ++ FILE *yyoutput; ++ int yytype; ++ YYSTYPE const * const yyvaluep; ++#endif ++{ ++ FILE *yyo = yyoutput; ++ YYUSE (yyo); ++ if (!yyvaluep) ++ return; ++# ifdef YYPRINT ++ if (yytype < YYNTOKENS) ++ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); ++# else ++ YYUSE (yyoutput); ++# endif ++ YYUSE (yytype); ++} ++ ++ ++/*--------------------------------. ++| Print this symbol on YYOUTPUT. | ++`--------------------------------*/ ++ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) ++#else ++static void ++yy_symbol_print (yyoutput, yytype, yyvaluep) ++ FILE *yyoutput; ++ int yytype; ++ YYSTYPE const * const yyvaluep; ++#endif ++{ ++ if (yytype < YYNTOKENS) ++ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); ++ else ++ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); ++ ++ yy_symbol_value_print (yyoutput, yytype, yyvaluep); ++ YYFPRINTF (yyoutput, ")"); ++} ++ ++/*------------------------------------------------------------------. ++| yy_stack_print -- Print the state stack from its BOTTOM up to its | ++| TOP (included). | ++`------------------------------------------------------------------*/ ++ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) ++#else ++static void ++yy_stack_print (yybottom, yytop) ++ yytype_int16 *yybottom; ++ yytype_int16 *yytop; ++#endif ++{ ++ YYFPRINTF (stderr, "Stack now"); ++ for (; yybottom <= yytop; yybottom++) ++ { ++ int yybot = *yybottom; ++ YYFPRINTF (stderr, " %d", yybot); ++ } ++ YYFPRINTF (stderr, "\n"); ++} ++ ++# define YY_STACK_PRINT(Bottom, Top) \ ++do { \ ++ if (yydebug) \ ++ yy_stack_print ((Bottom), (Top)); \ ++} while (YYID (0)) ++ ++ ++/*------------------------------------------------. ++| Report that the YYRULE is going to be reduced. | ++`------------------------------------------------*/ ++ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_reduce_print (YYSTYPE *yyvsp, int yyrule) ++#else ++static void ++yy_reduce_print (yyvsp, yyrule) ++ YYSTYPE *yyvsp; ++ int yyrule; ++#endif ++{ ++ int yynrhs = yyr2[yyrule]; ++ int yyi; ++ unsigned long int yylno = yyrline[yyrule]; ++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", ++ yyrule - 1, yylno); ++ /* The symbols being reduced. */ ++ for (yyi = 0; yyi < yynrhs; yyi++) ++ { ++ YYFPRINTF (stderr, " $%d = ", yyi + 1); ++ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], ++ &(yyvsp[(yyi + 1) - (yynrhs)]) ++ ); ++ YYFPRINTF (stderr, "\n"); ++ } ++} ++ ++# define YY_REDUCE_PRINT(Rule) \ ++do { \ ++ if (yydebug) \ ++ yy_reduce_print (yyvsp, Rule); \ ++} while (YYID (0)) ++ ++/* Nonzero means print parse trace. It is left uninitialized so that ++ multiple parsers can coexist. */ ++int yydebug; ++#else /* !YYDEBUG */ ++# define YYDPRINTF(Args) ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) ++# define YY_STACK_PRINT(Bottom, Top) ++# define YY_REDUCE_PRINT(Rule) ++#endif /* !YYDEBUG */ ++ ++ ++/* YYINITDEPTH -- initial size of the parser's stacks. */ ++#ifndef YYINITDEPTH ++# define YYINITDEPTH 200 ++#endif ++ ++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only ++ if the built-in stack extension method is used). ++ ++ Do not make this value too large; the results are undefined if ++ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) ++ evaluated with infinite-precision integer arithmetic. */ ++ ++#ifndef YYMAXDEPTH ++# define YYMAXDEPTH 10000 ++#endif ++ ++ ++#if YYERROR_VERBOSE ++ ++# ifndef yystrlen ++# if defined __GLIBC__ && defined _STRING_H ++# define yystrlen strlen ++# else ++/* Return the length of YYSTR. */ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static YYSIZE_T ++yystrlen (const char *yystr) ++#else ++static YYSIZE_T ++yystrlen (yystr) ++ const char *yystr; ++#endif ++{ ++ YYSIZE_T yylen; ++ for (yylen = 0; yystr[yylen]; yylen++) ++ continue; ++ return yylen; ++} ++# endif ++# endif ++ ++# ifndef yystpcpy ++# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE ++# define yystpcpy stpcpy ++# else ++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in ++ YYDEST. */ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static char * ++yystpcpy (char *yydest, const char *yysrc) ++#else ++static char * ++yystpcpy (yydest, yysrc) ++ char *yydest; ++ const char *yysrc; ++#endif ++{ ++ char *yyd = yydest; ++ const char *yys = yysrc; ++ ++ while ((*yyd++ = *yys++) != '\0') ++ continue; ++ ++ return yyd - 1; ++} ++# endif ++# endif ++ ++# ifndef yytnamerr ++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary ++ quotes and backslashes, so that it's suitable for yyerror. The ++ heuristic is that double-quoting is unnecessary unless the string ++ contains an apostrophe, a comma, or backslash (other than ++ backslash-backslash). YYSTR is taken from yytname. If YYRES is ++ null, do not copy; instead, return the length of what the result ++ would have been. */ ++static YYSIZE_T ++yytnamerr (char *yyres, const char *yystr) ++{ ++ if (*yystr == '"') ++ { ++ YYSIZE_T yyn = 0; ++ char const *yyp = yystr; ++ ++ for (;;) ++ switch (*++yyp) ++ { ++ case '\'': ++ case ',': ++ goto do_not_strip_quotes; ++ ++ case '\\': ++ if (*++yyp != '\\') ++ goto do_not_strip_quotes; ++ /* Fall through. */ ++ default: ++ if (yyres) ++ yyres[yyn] = *yyp; ++ yyn++; ++ break; ++ ++ case '"': ++ if (yyres) ++ yyres[yyn] = '\0'; ++ return yyn; ++ } ++ do_not_strip_quotes: ; ++ } ++ ++ if (! yyres) ++ return yystrlen (yystr); ++ ++ return yystpcpy (yyres, yystr) - yyres; ++} ++# endif ++ ++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message ++ about the unexpected token YYTOKEN for the state stack whose top is ++ YYSSP. ++ ++ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is ++ not large enough to hold the message. In that case, also set ++ *YYMSG_ALLOC to the required number of bytes. Return 2 if the ++ required number of bytes is too large to store. */ ++static int ++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, ++ yytype_int16 *yyssp, int yytoken) ++{ ++ YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); ++ YYSIZE_T yysize = yysize0; ++ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; ++ /* Internationalized format string. */ ++ const char *yyformat = YY_NULL; ++ /* Arguments of yyformat. */ ++ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; ++ /* Number of reported tokens (one for the "unexpected", one per ++ "expected"). */ ++ int yycount = 0; ++ ++ /* There are many possibilities here to consider: ++ - Assume YYFAIL is not used. It's too flawed to consider. See ++ ++ for details. YYERROR is fine as it does not invoke this ++ function. ++ - If this state is a consistent state with a default action, then ++ the only way this function was invoked is if the default action ++ is an error action. In that case, don't check for expected ++ tokens because there are none. ++ - The only way there can be no lookahead present (in yychar) is if ++ this state is a consistent state with a default action. Thus, ++ detecting the absence of a lookahead is sufficient to determine ++ that there is no unexpected or expected token to report. In that ++ case, just report a simple "syntax error". ++ - Don't assume there isn't a lookahead just because this state is a ++ consistent state with a default action. There might have been a ++ previous inconsistent state, consistent state with a non-default ++ action, or user semantic action that manipulated yychar. ++ - Of course, the expected token list depends on states to have ++ correct lookahead information, and it depends on the parser not ++ to perform extra reductions after fetching a lookahead from the ++ scanner and before detecting a syntax error. Thus, state merging ++ (from LALR or IELR) and default reductions corrupt the expected ++ token list. However, the list is correct for canonical LR with ++ one exception: it will still contain any token that will not be ++ accepted due to an error action in a later state. ++ */ ++ if (yytoken != YYEMPTY) ++ { ++ int yyn = yypact[*yyssp]; ++ yyarg[yycount++] = yytname[yytoken]; ++ if (!yypact_value_is_default (yyn)) ++ { ++ /* Start YYX at -YYN if negative to avoid negative indexes in ++ YYCHECK. In other words, skip the first -YYN actions for ++ this state because they are default actions. */ ++ int yyxbegin = yyn < 0 ? -yyn : 0; ++ /* Stay within bounds of both yycheck and yytname. */ ++ int yychecklim = YYLAST - yyn + 1; ++ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; ++ int yyx; ++ ++ for (yyx = yyxbegin; yyx < yyxend; ++yyx) ++ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR ++ && !yytable_value_is_error (yytable[yyx + yyn])) ++ { ++ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) ++ { ++ yycount = 1; ++ yysize = yysize0; ++ break; ++ } ++ yyarg[yycount++] = yytname[yyx]; ++ { ++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); ++ if (! (yysize <= yysize1 ++ && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } ++ } ++ } ++ } ++ ++ switch (yycount) ++ { ++# define YYCASE_(N, S) \ ++ case N: \ ++ yyformat = S; \ ++ break ++ YYCASE_(0, YY_("syntax error")); ++ YYCASE_(1, YY_("syntax error, unexpected %s")); ++ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); ++ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); ++ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); ++ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); ++# undef YYCASE_ ++ } ++ ++ { ++ YYSIZE_T yysize1 = yysize + yystrlen (yyformat); ++ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } ++ ++ if (*yymsg_alloc < yysize) ++ { ++ *yymsg_alloc = 2 * yysize; ++ if (! (yysize <= *yymsg_alloc ++ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) ++ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; ++ return 1; ++ } ++ ++ /* Avoid sprintf, as that infringes on the user's name space. ++ Don't have undefined behavior even if the translation ++ produced a string with the wrong number of "%s"s. */ ++ { ++ char *yyp = *yymsg; ++ int yyi = 0; ++ while ((*yyp = *yyformat) != '\0') ++ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) ++ { ++ yyp += yytnamerr (yyp, yyarg[yyi++]); ++ yyformat += 2; ++ } ++ else ++ { ++ yyp++; ++ yyformat++; ++ } ++ } ++ return 0; ++} ++#endif /* YYERROR_VERBOSE */ ++ ++/*-----------------------------------------------. ++| Release the memory associated to this symbol. | ++`-----------------------------------------------*/ ++ ++/*ARGSUSED*/ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) ++#else ++static void ++yydestruct (yymsg, yytype, yyvaluep) ++ const char *yymsg; ++ int yytype; ++ YYSTYPE *yyvaluep; ++#endif ++{ ++ YYUSE (yyvaluep); ++ ++ if (!yymsg) ++ yymsg = "Deleting"; ++ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); ++ ++ YYUSE (yytype); ++} ++ ++ ++ ++ ++/*----------. ++| yyparse. | ++`----------*/ ++ ++#ifdef YYPARSE_PARAM ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++int ++yyparse (void *YYPARSE_PARAM) ++#else ++int ++yyparse (YYPARSE_PARAM) ++ void *YYPARSE_PARAM; ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++int ++yyparse (void) ++#else ++int ++yyparse () ++ ++#endif ++#endif ++{ ++/* The lookahead symbol. */ ++int yychar; ++ ++ ++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ ++/* Suppress an incorrect diagnostic about yylval being uninitialized. */ ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ ++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++/* Default value used for initialization, for pacifying older GCCs ++ or non-GCC compilers. */ ++static YYSTYPE yyval_default; ++# define YY_INITIAL_VALUE(Value) = Value ++#endif ++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END ++#endif ++#ifndef YY_INITIAL_VALUE ++# define YY_INITIAL_VALUE(Value) /* Nothing. */ ++#endif ++ ++/* The semantic value of the lookahead symbol. */ ++YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); ++ ++ /* Number of syntax errors so far. */ ++ int yynerrs; ++ ++ int yystate; ++ /* Number of tokens to shift before error messages enabled. */ ++ int yyerrstatus; ++ ++ /* The stacks and their tools: ++ `yyss': related to states. ++ `yyvs': related to semantic values. ++ ++ Refer to the stacks through separate pointers, to allow yyoverflow ++ to reallocate them elsewhere. */ ++ ++ /* The state stack. */ ++ yytype_int16 yyssa[YYINITDEPTH]; ++ yytype_int16 *yyss; ++ yytype_int16 *yyssp; ++ ++ /* The semantic value stack. */ ++ YYSTYPE yyvsa[YYINITDEPTH]; ++ YYSTYPE *yyvs; ++ YYSTYPE *yyvsp; ++ ++ YYSIZE_T yystacksize; ++ ++ int yyn; ++ int yyresult; ++ /* Lookahead token as an internal (translated) token number. */ ++ int yytoken = 0; ++ /* The variables used to return semantic value and location from the ++ action routines. */ ++ YYSTYPE yyval; ++ ++#if YYERROR_VERBOSE ++ /* Buffer for error messages, and its allocated size. */ ++ char yymsgbuf[128]; ++ char *yymsg = yymsgbuf; ++ YYSIZE_T yymsg_alloc = sizeof yymsgbuf; ++#endif ++ ++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) ++ ++ /* The number of symbols on the RHS of the reduced rule. ++ Keep to zero when no symbol should be popped. */ ++ int yylen = 0; ++ ++ yyssp = yyss = yyssa; ++ yyvsp = yyvs = yyvsa; ++ yystacksize = YYINITDEPTH; ++ ++ YYDPRINTF ((stderr, "Starting parse\n")); ++ ++ yystate = 0; ++ yyerrstatus = 0; ++ yynerrs = 0; ++ yychar = YYEMPTY; /* Cause a token to be read. */ ++ goto yysetstate; ++ ++/*------------------------------------------------------------. ++| yynewstate -- Push a new state, which is found in yystate. | ++`------------------------------------------------------------*/ ++ yynewstate: ++ /* In all cases, when you get here, the value and location stacks ++ have just been pushed. So pushing a state here evens the stacks. */ ++ yyssp++; ++ ++ yysetstate: ++ *yyssp = yystate; ++ ++ if (yyss + yystacksize - 1 <= yyssp) ++ { ++ /* Get the current used size of the three stacks, in elements. */ ++ YYSIZE_T yysize = yyssp - yyss + 1; ++ ++#ifdef yyoverflow ++ { ++ /* Give user a chance to reallocate the stack. Use copies of ++ these so that the &'s don't force the real ones into ++ memory. */ ++ YYSTYPE *yyvs1 = yyvs; ++ yytype_int16 *yyss1 = yyss; ++ ++ /* Each stack pointer address is followed by the size of the ++ data in use in that stack, in bytes. This used to be a ++ conditional around just the two extra args, but that might ++ be undefined if yyoverflow is a macro. */ ++ yyoverflow (YY_("memory exhausted"), ++ &yyss1, yysize * sizeof (*yyssp), ++ &yyvs1, yysize * sizeof (*yyvsp), ++ &yystacksize); ++ ++ yyss = yyss1; ++ yyvs = yyvs1; ++ } ++#else /* no yyoverflow */ ++# ifndef YYSTACK_RELOCATE ++ goto yyexhaustedlab; ++# else ++ /* Extend the stack our own way. */ ++ if (YYMAXDEPTH <= yystacksize) ++ goto yyexhaustedlab; ++ yystacksize *= 2; ++ if (YYMAXDEPTH < yystacksize) ++ yystacksize = YYMAXDEPTH; ++ ++ { ++ yytype_int16 *yyss1 = yyss; ++ union yyalloc *yyptr = ++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); ++ if (! yyptr) ++ goto yyexhaustedlab; ++ YYSTACK_RELOCATE (yyss_alloc, yyss); ++ YYSTACK_RELOCATE (yyvs_alloc, yyvs); ++# undef YYSTACK_RELOCATE ++ if (yyss1 != yyssa) ++ YYSTACK_FREE (yyss1); ++ } ++# endif ++#endif /* no yyoverflow */ ++ ++ yyssp = yyss + yysize - 1; ++ yyvsp = yyvs + yysize - 1; ++ ++ YYDPRINTF ((stderr, "Stack size increased to %lu\n", ++ (unsigned long int) yystacksize)); ++ ++ if (yyss + yystacksize - 1 <= yyssp) ++ YYABORT; ++ } ++ ++ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); ++ ++ if (yystate == YYFINAL) ++ YYACCEPT; ++ ++ goto yybackup; ++ ++/*-----------. ++| yybackup. | ++`-----------*/ ++yybackup: ++ ++ /* Do appropriate processing given the current state. Read a ++ lookahead token if we need one and don't already have one. */ ++ ++ /* First try to decide what to do without reference to lookahead token. */ ++ yyn = yypact[yystate]; ++ if (yypact_value_is_default (yyn)) ++ goto yydefault; ++ ++ /* Not known => get a lookahead token if don't already have one. */ ++ ++ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ ++ if (yychar == YYEMPTY) ++ { ++ YYDPRINTF ((stderr, "Reading a token: ")); ++ yychar = YYLEX; ++ } ++ ++ if (yychar <= YYEOF) ++ { ++ yychar = yytoken = YYEOF; ++ YYDPRINTF ((stderr, "Now at end of input.\n")); ++ } ++ else ++ { ++ yytoken = YYTRANSLATE (yychar); ++ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); ++ } ++ ++ /* If the proper action on seeing token YYTOKEN is to reduce or to ++ detect an error, take that action. */ ++ yyn += yytoken; ++ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) ++ goto yydefault; ++ yyn = yytable[yyn]; ++ if (yyn <= 0) ++ { ++ if (yytable_value_is_error (yyn)) ++ goto yyerrlab; ++ yyn = -yyn; ++ goto yyreduce; ++ } ++ ++ /* Count tokens shifted since error; after three, turn off error ++ status. */ ++ if (yyerrstatus) ++ yyerrstatus--; ++ ++ /* Shift the lookahead token. */ ++ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); ++ ++ /* Discard the shifted token. */ ++ yychar = YYEMPTY; ++ ++ yystate = yyn; ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++ ++ goto yynewstate; ++ ++ ++/*-----------------------------------------------------------. ++| yydefault -- do the default action for the current state. | ++`-----------------------------------------------------------*/ ++yydefault: ++ yyn = yydefact[yystate]; ++ if (yyn == 0) ++ goto yyerrlab; ++ goto yyreduce; ++ ++ ++/*-----------------------------. ++| yyreduce -- Do a reduction. | ++`-----------------------------*/ ++yyreduce: ++ /* yyn is the number of a rule to reduce with. */ ++ yylen = yyr2[yyn]; ++ ++ /* If YYLEN is nonzero, implement the default value of the action: ++ `$$ = $1'. ++ ++ Otherwise, the following line sets YYVAL to garbage. ++ This behavior is undocumented and Bison ++ users should not rely upon it. Assigning to YYVAL ++ unconditionally makes the parser a bit smaller, and it avoids a ++ GCC warning that YYVAL may be used uninitialized. */ ++ yyval = yyvsp[1-yylen]; ++ ++ ++ YY_REDUCE_PRINT (yyn); ++ switch (yyn) ++ { ++ case 4: ++/* Line 1787 of yacc.c */ ++#line 157 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHaveTime++; ++ } ++ break; ++ ++ case 5: ++/* Line 1787 of yacc.c */ ++#line 160 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHaveZone++; ++ } ++ break; ++ ++ case 6: ++/* Line 1787 of yacc.c */ ++#line 163 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHaveDate++; ++ } ++ break; ++ ++ case 7: ++/* Line 1787 of yacc.c */ ++#line 166 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHaveDay++; ++ } ++ break; ++ ++ case 8: ++/* Line 1787 of yacc.c */ ++#line 169 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHaveRel++; ++ } ++ break; ++ ++ case 10: ++/* Line 1787 of yacc.c */ ++#line 175 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (2)].Number); ++ VARIABLE->yyMinutes = 0; ++ VARIABLE->yySeconds = 0; ++ VARIABLE->yyMeridian = (yyvsp[(2) - (2)].Meridian); ++ } ++ break; ++ ++ case 11: ++/* Line 1787 of yacc.c */ ++#line 181 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (2)].Number)/100; ++ VARIABLE->yyMinutes = (yyvsp[(1) - (2)].Number)%100; ++ VARIABLE->yySeconds = 0; ++ VARIABLE->yyMeridian = MER24; ++ VARIABLE->yyDSTmode = DSToff; ++ VARIABLE->yyTimezone = - ((yyvsp[(2) - (2)].Number) % 100 + ((yyvsp[(2) - (2)].Number) / 100) * 60); ++ } ++ break; ++ ++ case 12: ++/* Line 1787 of yacc.c */ ++#line 189 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (2)].Number)/10000; ++ VARIABLE->yyMinutes = ((yyvsp[(1) - (2)].Number)/100)%100; ++ VARIABLE->yySeconds = (yyvsp[(1) - (2)].Number) % 100; ++ VARIABLE->yyMeridian = MER24; ++ VARIABLE->yyDSTmode = DSToff; ++ VARIABLE->yyTimezone = - ((yyvsp[(2) - (2)].Number) % 100 + ((yyvsp[(2) - (2)].Number) / 100) * 60); ++ } ++ break; ++ ++ case 13: ++/* Line 1787 of yacc.c */ ++#line 197 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (4)].Number); ++ VARIABLE->yyMinutes = (yyvsp[(3) - (4)].Number); ++ VARIABLE->yySeconds = 0; ++ VARIABLE->yyMeridian = (yyvsp[(4) - (4)].Meridian); ++ } ++ break; ++ ++ case 14: ++/* Line 1787 of yacc.c */ ++#line 203 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (4)].Number); ++ VARIABLE->yyMinutes = (yyvsp[(3) - (4)].Number); ++ VARIABLE->yyMeridian = MER24; ++ VARIABLE->yyDSTmode = DSToff; ++ VARIABLE->yyTimezone = - ((yyvsp[(4) - (4)].Number) % 100 + ((yyvsp[(4) - (4)].Number) / 100) * 60); ++ } ++ break; ++ ++ case 15: ++/* Line 1787 of yacc.c */ ++#line 210 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (6)].Number); ++ VARIABLE->yyMinutes = (yyvsp[(3) - (6)].Number); ++ VARIABLE->yySeconds = (yyvsp[(5) - (6)].Number); ++ VARIABLE->yyMeridian = (yyvsp[(6) - (6)].Meridian); ++ } ++ break; ++ ++ case 16: ++/* Line 1787 of yacc.c */ ++#line 216 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyHour = (yyvsp[(1) - (6)].Number); ++ VARIABLE->yyMinutes = (yyvsp[(3) - (6)].Number); ++ VARIABLE->yySeconds = (yyvsp[(5) - (6)].Number); ++ VARIABLE->yyMeridian = MER24; ++ VARIABLE->yyDSTmode = DSToff; ++ VARIABLE->yyTimezone = - ((yyvsp[(6) - (6)].Number) % 100 + ((yyvsp[(6) - (6)].Number) / 100) * 60); ++ } ++ break; ++ ++ case 17: ++/* Line 1787 of yacc.c */ ++#line 226 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number); ++ VARIABLE->yyDSTmode = DSToff; ++ } ++ break; ++ ++ case 18: ++/* Line 1787 of yacc.c */ ++#line 230 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number); ++ VARIABLE->yyDSTmode = DSTon; ++ } ++ break; ++ ++ case 19: ++/* Line 1787 of yacc.c */ ++#line 235 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyTimezone = (yyvsp[(1) - (2)].Number); ++ VARIABLE->yyDSTmode = DSTon; ++ } ++ break; ++ ++ case 20: ++/* Line 1787 of yacc.c */ ++#line 239 "ptlib/common/getdate.y" ++ { ++ if (VARIABLE->yyHaveTime > 0) { ++ VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number); ++ VARIABLE->yyDSTmode = DSToff; ++ } ++ else ++ VARIABLE->yyHaveZone--; ++ } ++ break; ++ ++ case 21: ++/* Line 1787 of yacc.c */ ++#line 249 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyDayOrdinal = 1; ++ VARIABLE->yyDayNumber = (yyvsp[(1) - (1)].Number); ++ } ++ break; ++ ++ case 22: ++/* Line 1787 of yacc.c */ ++#line 253 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyDayOrdinal = 1; ++ VARIABLE->yyDayNumber = (yyvsp[(1) - (2)].Number); ++ } ++ break; ++ ++ case 23: ++/* Line 1787 of yacc.c */ ++#line 257 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyDayOrdinal = (yyvsp[(1) - (2)].Number); ++ VARIABLE->yyDayNumber = (yyvsp[(2) - (2)].Number); ++ } ++ break; ++ ++ case 24: ++/* Line 1787 of yacc.c */ ++#line 263 "ptlib/common/getdate.y" ++ { ++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(3) - (3)].Number), VARIABLE->yyYear); ++ } ++ break; ++ ++ case 25: ++/* Line 1787 of yacc.c */ ++#line 266 "ptlib/common/getdate.y" ++ { ++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (5)].Number), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number)); ++ } ++ break; ++ ++ case 26: ++/* Line 1787 of yacc.c */ ++#line 269 "ptlib/common/getdate.y" ++ { ++ /* ISO 8601 format. yyyy-mm-dd. */ ++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (4)].Number), -(yyvsp[(2) - (4)].Number), -(yyvsp[(3) - (4)].Number)); ++ } ++ break; ++ ++ case 27: ++/* Line 1787 of yacc.c */ ++#line 273 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100; ++ VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100; ++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000; ++ } ++ break; ++ ++ case 28: ++/* Line 1787 of yacc.c */ ++#line 278 "ptlib/common/getdate.y" ++ { ++ /* e.g. 17-JUN-1992. */ ++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(2) - (3)].Number), -(yyvsp[(3) - (3)].Number)); ++ } ++ break; ++ ++ case 29: ++/* Line 1787 of yacc.c */ ++#line 282 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyMonth = (yyvsp[(1) - (2)].Number); ++ if ((yyvsp[(2) - (2)].Number) > 31) ++ VARIABLE->yyYear = (yyvsp[(2) - (2)].Number); ++ else ++ VARIABLE->yyDay = (yyvsp[(2) - (2)].Number); ++ } ++ break; ++ ++ case 30: ++/* Line 1787 of yacc.c */ ++#line 289 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyMonth = (yyvsp[(1) - (4)].Number); ++ VARIABLE->yyDay = (yyvsp[(2) - (4)].Number); ++ VARIABLE->yyYear = (yyvsp[(4) - (4)].Number); ++ } ++ break; ++ ++ case 31: ++/* Line 1787 of yacc.c */ ++#line 294 "ptlib/common/getdate.y" ++ { ++ if ((yyvsp[(1) - (2)].Number) > 31) ++ VARIABLE->yyYear = (yyvsp[(1) - (2)].Number); ++ else ++ VARIABLE->yyDay = (yyvsp[(1) - (2)].Number); ++ VARIABLE->yyMonth = (yyvsp[(2) - (2)].Number); ++ } ++ break; ++ ++ case 32: ++/* Line 1787 of yacc.c */ ++#line 301 "ptlib/common/getdate.y" ++ { ++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(2) - (3)].Number), (yyvsp[(3) - (3)].Number)); ++ } ++ break; ++ ++ case 33: ++/* Line 1787 of yacc.c */ ++#line 306 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds = -VARIABLE->yyRelSeconds; ++ VARIABLE->yyRelMonth = -VARIABLE->yyRelMonth; ++ } ++ break; ++ ++ case 35: ++/* Line 1787 of yacc.c */ ++#line 313 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number) * 60L; ++ } ++ break; ++ ++ case 36: ++/* Line 1787 of yacc.c */ ++#line 316 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number) * 60L; ++ } ++ break; ++ ++ case 37: ++/* Line 1787 of yacc.c */ ++#line 319 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (1)].Number) * 60L; ++ } ++ break; ++ ++ case 38: ++/* Line 1787 of yacc.c */ ++#line 322 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number); ++ } ++ break; ++ ++ case 39: ++/* Line 1787 of yacc.c */ ++#line 325 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number); ++ } ++ break; ++ ++ case 40: ++/* Line 1787 of yacc.c */ ++#line 328 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelSeconds++; ++ } ++ break; ++ ++ case 41: ++/* Line 1787 of yacc.c */ ++#line 331 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelMonth += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number); ++ } ++ break; ++ ++ case 42: ++/* Line 1787 of yacc.c */ ++#line 334 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelMonth += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number); ++ } ++ break; ++ ++ case 43: ++/* Line 1787 of yacc.c */ ++#line 337 "ptlib/common/getdate.y" ++ { ++ VARIABLE->yyRelMonth += (yyvsp[(1) - (1)].Number); ++ } ++ break; ++ ++ case 44: ++/* Line 1787 of yacc.c */ ++#line 342 "ptlib/common/getdate.y" ++ { ++ (yyval.Number) = (yyvsp[(1) - (1)].Number); ++ } ++ break; ++ ++ case 45: ++/* Line 1787 of yacc.c */ ++#line 345 "ptlib/common/getdate.y" ++ { ++ (yyval.Number) = (yyvsp[(1) - (1)].Number); ++ } ++ break; ++ ++ case 46: ++/* Line 1787 of yacc.c */ ++#line 348 "ptlib/common/getdate.y" ++ { ++ (yyval.Number) = (yyvsp[(1) - (1)].Number); ++ } ++ break; ++ ++ case 47: ++/* Line 1787 of yacc.c */ ++#line 353 "ptlib/common/getdate.y" ++ { ++ if (VARIABLE->yyHaveTime && VARIABLE->yyHaveDate && !VARIABLE->yyHaveRel) ++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number); ++ else { ++ if((yyvsp[(1) - (1)].Number)>240000) { ++ VARIABLE->yyHaveDate++; ++ VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100; ++ VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100; ++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000; ++ } ++ else { ++ VARIABLE->yyHaveTime++; ++ if ((yyvsp[(1) - (1)].Number) < 10000) { ++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number) / 100; ++ VARIABLE->yyMinutes = (yyvsp[(1) - (1)].Number) % 100; ++ VARIABLE->yySeconds = 0; ++ } ++ else { ++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/10000; ++ VARIABLE->yyMinutes = ((yyvsp[(1) - (1)].Number)/100)%100; ++ VARIABLE->yySeconds = (yyvsp[(1) - (1)].Number) % 100; ++ } ++ VARIABLE->yyMeridian = MER24; ++ } ++ } ++ } ++ break; ++ ++ case 48: ++/* Line 1787 of yacc.c */ ++#line 379 "ptlib/common/getdate.y" ++ { ++ if (VARIABLE->yyHaveTime && VARIABLE->yyHaveDate && !VARIABLE->yyHaveRel) ++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number); ++ else { ++ VARIABLE->yyHaveTime++; ++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/100; ++ VARIABLE->yyMinutes = (yyvsp[(1) - (1)].Number)%100; ++ VARIABLE->yySeconds = 0; ++ VARIABLE->yyMeridian = MER24; ++ } ++ } ++ break; ++ ++ case 49: ++/* Line 1787 of yacc.c */ ++#line 390 "ptlib/common/getdate.y" ++ { ++ if (!VARIABLE->yyHaveDate && (yyvsp[(1) - (1)].Number)>240000) { ++ VARIABLE->yyHaveDate++; ++ VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100; ++ VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100; ++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000; ++ } ++ else if (!VARIABLE->yyHaveTime) { ++ VARIABLE->yyHaveTime++; ++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/10000; ++ VARIABLE->yyMinutes = ((yyvsp[(1) - (1)].Number)/100)%100; ++ VARIABLE->yySeconds = (yyvsp[(1) - (1)].Number) % 100; ++ VARIABLE->yyMeridian = MER24; ++ } ++ } ++ break; ++ ++ case 50: ++/* Line 1787 of yacc.c */ ++#line 407 "ptlib/common/getdate.y" ++ { ++ (yyval.Meridian) = MER24; ++ } ++ break; ++ ++ case 51: ++/* Line 1787 of yacc.c */ ++#line 410 "ptlib/common/getdate.y" ++ { ++ (yyval.Meridian) = (yyvsp[(1) - (1)].Meridian); ++ } ++ break; ++ ++ ++/* Line 1787 of yacc.c */ ++#line 2031 "ptlib/common/getdate.tab.c" ++ default: break; ++ } ++ /* User semantic actions sometimes alter yychar, and that requires ++ that yytoken be updated with the new translation. We take the ++ approach of translating immediately before every use of yytoken. ++ One alternative is translating here after every semantic action, ++ but that translation would be missed if the semantic action invokes ++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or ++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an ++ incorrect destructor might then be invoked immediately. In the ++ case of YYERROR or YYBACKUP, subsequent parser actions might lead ++ to an incorrect destructor call or verbose syntax error message ++ before the lookahead is translated. */ ++ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); ++ ++ YYPOPSTACK (yylen); ++ yylen = 0; ++ YY_STACK_PRINT (yyss, yyssp); ++ ++ *++yyvsp = yyval; ++ ++ /* Now `shift' the result of the reduction. Determine what state ++ that goes to, based on the state we popped back to and the rule ++ number reduced by. */ ++ ++ yyn = yyr1[yyn]; ++ ++ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; ++ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) ++ yystate = yytable[yystate]; ++ else ++ yystate = yydefgoto[yyn - YYNTOKENS]; ++ ++ goto yynewstate; ++ ++ ++/*------------------------------------. ++| yyerrlab -- here on detecting error | ++`------------------------------------*/ ++yyerrlab: ++ /* Make sure we have latest lookahead translation. See comments at ++ user semantic actions for why this is necessary. */ ++ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); ++ ++ /* If not already recovering from an error, report this error. */ ++ if (!yyerrstatus) ++ { ++ ++yynerrs; ++#if ! YYERROR_VERBOSE ++ yyerror (YY_("syntax error")); ++#else ++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ ++ yyssp, yytoken) ++ { ++ char const *yymsgp = YY_("syntax error"); ++ int yysyntax_error_status; ++ yysyntax_error_status = YYSYNTAX_ERROR; ++ if (yysyntax_error_status == 0) ++ yymsgp = yymsg; ++ else if (yysyntax_error_status == 1) ++ { ++ if (yymsg != yymsgbuf) ++ YYSTACK_FREE (yymsg); ++ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); ++ if (!yymsg) ++ { ++ yymsg = yymsgbuf; ++ yymsg_alloc = sizeof yymsgbuf; ++ yysyntax_error_status = 2; ++ } ++ else ++ { ++ yysyntax_error_status = YYSYNTAX_ERROR; ++ yymsgp = yymsg; ++ } ++ } ++ yyerror (yymsgp); ++ if (yysyntax_error_status == 2) ++ goto yyexhaustedlab; ++ } ++# undef YYSYNTAX_ERROR ++#endif ++ } ++ ++ ++ ++ if (yyerrstatus == 3) ++ { ++ /* If just tried and failed to reuse lookahead token after an ++ error, discard it. */ ++ ++ if (yychar <= YYEOF) ++ { ++ /* Return failure if at end of input. */ ++ if (yychar == YYEOF) ++ YYABORT; ++ } ++ else ++ { ++ yydestruct ("Error: discarding", ++ yytoken, &yylval); ++ yychar = YYEMPTY; ++ } ++ } ++ ++ /* Else will try to reuse lookahead token after shifting the error ++ token. */ ++ goto yyerrlab1; ++ ++ ++/*---------------------------------------------------. ++| yyerrorlab -- error raised explicitly by YYERROR. | ++`---------------------------------------------------*/ ++yyerrorlab: ++ ++ /* Pacify compilers like GCC when the user code never invokes ++ YYERROR and the label yyerrorlab therefore never appears in user ++ code. */ ++ if (/*CONSTCOND*/ 0) ++ goto yyerrorlab; ++ ++ /* Do not reclaim the symbols of the rule which action triggered ++ this YYERROR. */ ++ YYPOPSTACK (yylen); ++ yylen = 0; ++ YY_STACK_PRINT (yyss, yyssp); ++ yystate = *yyssp; ++ goto yyerrlab1; ++ ++ ++/*-------------------------------------------------------------. ++| yyerrlab1 -- common code for both syntax error and YYERROR. | ++`-------------------------------------------------------------*/ ++yyerrlab1: ++ yyerrstatus = 3; /* Each real token shifted decrements this. */ ++ ++ for (;;) ++ { ++ yyn = yypact[yystate]; ++ if (!yypact_value_is_default (yyn)) ++ { ++ yyn += YYTERROR; ++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) ++ { ++ yyn = yytable[yyn]; ++ if (0 < yyn) ++ break; ++ } ++ } ++ ++ /* Pop the current state because it cannot handle the error token. */ ++ if (yyssp == yyss) ++ YYABORT; ++ ++ ++ yydestruct ("Error: popping", ++ yystos[yystate], yyvsp); ++ YYPOPSTACK (1); ++ yystate = *yyssp; ++ YY_STACK_PRINT (yyss, yyssp); ++ } ++ ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++ ++ ++ /* Shift the error token. */ ++ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); ++ ++ yystate = yyn; ++ goto yynewstate; ++ ++ ++/*-------------------------------------. ++| yyacceptlab -- YYACCEPT comes here. | ++`-------------------------------------*/ ++yyacceptlab: ++ yyresult = 0; ++ goto yyreturn; ++ ++/*-----------------------------------. ++| yyabortlab -- YYABORT comes here. | ++`-----------------------------------*/ ++yyabortlab: ++ yyresult = 1; ++ goto yyreturn; ++ ++#if !defined yyoverflow || YYERROR_VERBOSE ++/*-------------------------------------------------. ++| yyexhaustedlab -- memory exhaustion comes here. | ++`-------------------------------------------------*/ ++yyexhaustedlab: ++ yyerror (YY_("memory exhausted")); ++ yyresult = 2; ++ /* Fall through. */ ++#endif ++ ++yyreturn: ++ if (yychar != YYEMPTY) ++ { ++ /* Make sure we have latest lookahead translation. See comments at ++ user semantic actions for why this is necessary. */ ++ yytoken = YYTRANSLATE (yychar); ++ yydestruct ("Cleanup: discarding lookahead", ++ yytoken, &yylval); ++ } ++ /* Do not reclaim the symbols of the rule which action triggered ++ this YYABORT or YYACCEPT. */ ++ YYPOPSTACK (yylen); ++ YY_STACK_PRINT (yyss, yyssp); ++ while (yyssp != yyss) ++ { ++ yydestruct ("Cleanup: popping", ++ yystos[*yyssp], yyvsp); ++ YYPOPSTACK (1); ++ } ++#ifndef yyoverflow ++ if (yyss != yyssa) ++ YYSTACK_FREE (yyss); ++#endif ++#if YYERROR_VERBOSE ++ if (yymsg != yymsgbuf) ++ YYSTACK_FREE (yymsg); ++#endif ++ /* Make sure YYID is used. */ ++ return YYID (yyresult); ++} ++ ++ ++/* Line 2050 of yacc.c */ ++#line 415 "ptlib/common/getdate.y" ++ ++ ++/* Month and day table. */ ++static TABLE const MonthDayTable[] = { ++ { "january", tMONTH, 1 }, ++ { "february", tMONTH, 2 }, ++ { "march", tMONTH, 3 }, ++ { "april", tMONTH, 4 }, ++ { "may", tMONTH, 5 }, ++ { "june", tMONTH, 6 }, ++ { "july", tMONTH, 7 }, ++ { "august", tMONTH, 8 }, ++ { "september", tMONTH, 9 }, ++ { "sept", tMONTH, 9 }, ++ { "october", tMONTH, 10 }, ++ { "november", tMONTH, 11 }, ++ { "december", tMONTH, 12 }, ++ { "sunday", tDAY, 0 }, ++ { "monday", tDAY, 1 }, ++ { "tuesday", tDAY, 2 }, ++ { "tues", tDAY, 2 }, ++ { "wednesday", tDAY, 3 }, ++ { "wednes", tDAY, 3 }, ++ { "thursday", tDAY, 4 }, ++ { "thur", tDAY, 4 }, ++ { "thurs", tDAY, 4 }, ++ { "friday", tDAY, 5 }, ++ { "saturday", tDAY, 6 }, ++ { NULL } ++}; ++ ++/* Time units table. */ ++static TABLE const UnitsTable[] = { ++ { "year", tMONTH_UNIT, 12 }, ++ { "month", tMONTH_UNIT, 1 }, ++ { "fortnight", tMINUTE_UNIT, 14 * 24 * 60 }, ++ { "week", tMINUTE_UNIT, 7 * 24 * 60 }, ++ { "day", tMINUTE_UNIT, 1 * 24 * 60 }, ++ { "hour", tMINUTE_UNIT, 60 }, ++ { "minute", tMINUTE_UNIT, 1 }, ++ { "min", tMINUTE_UNIT, 1 }, ++ { "second", tSEC_UNIT, 1 }, ++ { "sec", tSEC_UNIT, 1 }, ++ { NULL } ++}; ++ ++/* Assorted relative-time words. */ ++static TABLE const OtherTable[] = { ++ { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 }, ++ { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 }, ++ { "today", tMINUTE_UNIT, 0 }, ++ { "now", tMINUTE_UNIT, 0 }, ++ { "last", tUNUMBER, -1 }, ++ { "this", tMINUTE_UNIT, 0 }, ++ { "next", tUNUMBER, 2 }, ++ { "first", tUNUMBER, 1 }, ++/* { "second", tUNUMBER, 2 }, */ ++ { "third", tUNUMBER, 3 }, ++ { "fourth", tUNUMBER, 4 }, ++ { "fifth", tUNUMBER, 5 }, ++ { "sixth", tUNUMBER, 6 }, ++ { "seventh", tUNUMBER, 7 }, ++ { "eighth", tUNUMBER, 8 }, ++ { "ninth", tUNUMBER, 9 }, ++ { "tenth", tUNUMBER, 10 }, ++ { "eleventh", tUNUMBER, 11 }, ++ { "twelfth", tUNUMBER, 12 }, ++ { "ago", tAGO, 1 }, ++ { NULL } ++}; ++ ++/* The timezone table. */ ++/* Some of these are commented out because a time_t can't store a float. */ ++static TABLE const TimezoneTable[] = { ++ { "gmt", tZONE, HOUR( 0) }, /* Greenwich Mean */ ++ { "ut", tZONE, HOUR( 0) }, /* Universal (Coordinated) */ ++ { "utc", tZONE, HOUR( 0) }, ++ { "wet", tZONE, HOUR( 0) }, /* Western European */ ++ { "bst", tDAYZONE, HOUR( 0) }, /* British Summer */ ++ { "wat", tZONE, HOUR( 1) }, /* West Africa */ ++ { "at", tZONE, HOUR( 2) }, /* Azores */ ++#if 0 ++ /* For completeness. BST is also British Summer, and GST is ++ * also Guam Standard. */ ++ { "bst", tZONE, HOUR( 3) }, /* Brazil Standard */ ++ { "gst", tZONE, HOUR( 3) }, /* Greenland Standard */ ++#endif ++#if 0 ++ { "nft", tZONE, HOUR(3.5) }, /* Newfoundland */ ++ { "nst", tZONE, HOUR(3.5) }, /* Newfoundland Standard */ ++ { "ndt", tDAYZONE, HOUR(3.5) }, /* Newfoundland Daylight */ ++#endif ++ { "ast", tZONE, HOUR( 4) }, /* Atlantic Standard */ ++ { "adt", tDAYZONE, HOUR( 4) }, /* Atlantic Daylight */ ++ { "est", tZONE, HOUR( 5) }, /* Eastern Standard */ ++ { "edt", tDAYZONE, HOUR( 5) }, /* Eastern Daylight */ ++ { "cst", tZONE, HOUR( 6) }, /* Central Standard */ ++ { "cdt", tDAYZONE, HOUR( 6) }, /* Central Daylight */ ++ { "mst", tZONE, HOUR( 7) }, /* Mountain Standard */ ++ { "mdt", tDAYZONE, HOUR( 7) }, /* Mountain Daylight */ ++ { "pst", tZONE, HOUR( 8) }, /* Pacific Standard */ ++ { "pdt", tDAYZONE, HOUR( 8) }, /* Pacific Daylight */ ++ { "yst", tZONE, HOUR( 9) }, /* Yukon Standard */ ++ { "ydt", tDAYZONE, HOUR( 9) }, /* Yukon Daylight */ ++ { "hst", tZONE, HOUR(10) }, /* Hawaii Standard */ ++ { "hdt", tDAYZONE, HOUR(10) }, /* Hawaii Daylight */ ++ { "cat", tZONE, HOUR(10) }, /* Central Alaska */ ++ { "ahst", tZONE, HOUR(10) }, /* Alaska-Hawaii Standard */ ++ { "nt", tZONE, HOUR(11) }, /* Nome */ ++ { "idlw", tZONE, HOUR(12) }, /* International Date Line West */ ++ { "cet", tZONE, -HOUR(1) }, /* Central European */ ++ { "met", tZONE, -HOUR(1) }, /* Middle European */ ++ { "mewt", tZONE, -HOUR(1) }, /* Middle European Winter */ ++ { "mest", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ ++ { "swt", tZONE, -HOUR(1) }, /* Swedish Winter */ ++ { "sst", tDAYZONE, -HOUR(1) }, /* Swedish Summer */ ++ { "fwt", tZONE, -HOUR(1) }, /* French Winter */ ++ { "fst", tDAYZONE, -HOUR(1) }, /* French Summer */ ++ { "eet", tZONE, -HOUR(2) }, /* Eastern Europe, USSR Zone 1 */ ++ { "bt", tZONE, -HOUR(3) }, /* Baghdad, USSR Zone 2 */ ++#if 0 ++ { "it", tZONE, -HOUR(3.5) },/* Iran */ ++#endif ++ { "zp4", tZONE, -HOUR(4) }, /* USSR Zone 3 */ ++ { "zp5", tZONE, -HOUR(5) }, /* USSR Zone 4 */ ++#if 0 ++ { "ist", tZONE, -HOUR(5.5) },/* Indian Standard */ ++#endif ++ { "zp6", tZONE, -HOUR(6) }, /* USSR Zone 5 */ ++#if 0 ++ /* For completeness. NST is also Newfoundland Stanard, and SST is ++ * also Swedish Summer. */ ++ { "nst", tZONE, -HOUR(6.5) },/* North Sumatra */ ++ { "sst", tZONE, -HOUR(7) }, /* South Sumatra, USSR Zone 6 */ ++#endif /* 0 */ ++ { "wast", tZONE, -HOUR(7) }, /* West Australian Standard */ ++ { "wadt", tDAYZONE, -HOUR(7) }, /* West Australian Daylight */ ++#if 0 ++ { "jt", tZONE, -HOUR(7.5) },/* Java (3pm in Cronusland!) */ ++#endif ++ { "cct", tZONE, -HOUR(8) }, /* China Coast, USSR Zone 7 */ ++ { "jst", tZONE, -HOUR(9) }, /* Japan Standard, USSR Zone 8 */ ++#if 0 ++ { "cast", tZONE, -HOUR(9.5) },/* Central Australian Standard */ ++ { "cadt", tDAYZONE, -HOUR(9.5) },/* Central Australian Daylight */ ++#endif ++ { "east", tZONE, -HOUR(10) }, /* Eastern Australian Standard */ ++ { "eadt", tDAYZONE, -HOUR(10) }, /* Eastern Australian Daylight */ ++ { "gst", tZONE, -HOUR(10) }, /* Guam Standard, USSR Zone 9 */ ++ { "nzt", tZONE, -HOUR(12) }, /* New Zealand */ ++ { "nzst", tZONE, -HOUR(12) }, /* New Zealand Standard */ ++ { "nzdt", tDAYZONE, -HOUR(12) }, /* New Zealand Daylight */ ++ { "idle", tZONE, -HOUR(12) }, /* International Date Line East */ ++ { NULL } ++}; ++ ++/* Military timezone table. */ ++static TABLE const MilitaryTable[] = { ++ { "a", tMILZONE, HOUR( 1) }, ++ { "b", tMILZONE, HOUR( 2) }, ++ { "c", tMILZONE, HOUR( 3) }, ++ { "d", tMILZONE, HOUR( 4) }, ++ { "e", tMILZONE, HOUR( 5) }, ++ { "f", tMILZONE, HOUR( 6) }, ++ { "g", tMILZONE, HOUR( 7) }, ++ { "h", tMILZONE, HOUR( 8) }, ++ { "i", tMILZONE, HOUR( 9) }, ++ { "k", tMILZONE, HOUR( 10) }, ++ { "l", tMILZONE, HOUR( 11) }, ++ { "m", tMILZONE, HOUR( 12) }, ++ { "n", tMILZONE, HOUR(- 1) }, ++ { "o", tMILZONE, HOUR(- 2) }, ++ { "p", tMILZONE, HOUR(- 3) }, ++ { "q", tMILZONE, HOUR(- 4) }, ++ { "r", tMILZONE, HOUR(- 5) }, ++ { "s", tMILZONE, HOUR(- 6) }, ++ { "t", tMILZONE, HOUR(- 7) }, ++ { "u", tMILZONE, HOUR(- 8) }, ++ { "v", tMILZONE, HOUR(- 9) }, ++ { "w", tMILZONE, HOUR(-10) }, ++ { "x", tMILZONE, HOUR(-11) }, ++ { "y", tMILZONE, HOUR(-12) }, ++ { "z", tZONE, HOUR( 0) }, /* Deliberately tZONE */ ++ { NULL } ++}; ++ ++static int LookupWord(char * buff, YYSTYPE * yylval, struct Variables * vars) ++{ ++ register char *p; ++ register char *q; ++ register const TABLE *tp; ++ int i; ++ int abbrev; ++ ++ /* Make it lowercase. */ ++ for (p = buff; *p != '\0'; p++) ++ *p = (char)tolower(*p); ++ ++ if (strcmp(buff, "am") == 0 || strcmp(buff, "a.m.") == 0) { ++ yylval->Meridian = MERam; ++ return tMERIDIAN; ++ } ++ if (strcmp(buff, "pm") == 0 || strcmp(buff, "p.m.") == 0) { ++ yylval->Meridian = MERpm; ++ return tMERIDIAN; ++ } ++ ++ /* See if we have an abbreviation for a month. */ ++ if (strlen(buff) == 3) ++ abbrev = 1; ++ else if (strlen(buff) == 4 && buff[3] == '.') { ++ abbrev = 1; ++ buff[3] = '\0'; ++ } ++ else ++ abbrev = 0; ++ ++ for (tp = MonthDayTable; tp->name; tp++) { ++ if (abbrev) { ++ if (strncmp(buff, tp->name, 3) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ } ++ else if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ } ++ ++ for (tp = TimezoneTable; tp->name; tp++) ++ if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ ++ if (strcmp(buff, "dst") == 0) ++ return tDST; ++ ++ for (tp = UnitsTable; tp->name; tp++) ++ if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ ++ /* Strip off any plural and try the units table again. */ ++ i = strlen(buff) - 1; ++ if (buff[i] == 's') { ++ buff[i] = '\0'; ++ for (tp = UnitsTable; tp->name; tp++) ++ if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ buff[i] = 's'; /* Put back for "this" in OtherTable. */ ++ } ++ ++ for (tp = OtherTable; tp->name; tp++) ++ if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ ++ /* Avoid confusion with 'T' in RFC3339 and 't' in Military timezones */ ++ if (!vars->yyHaveTime && strcmp(buff, "t") == 0) ++ return tRFC3339; ++ ++ /* Military timezones. */ ++ if (buff[1] == '\0' && isalpha(*buff)) { ++ for (tp = MilitaryTable; tp->name; tp++) ++ if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ } ++ ++ /* Drop out any periods and try the timezone table again. */ ++ for (i = 0, p = q = buff; *q; q++) ++ if (*q != '.') ++ *p++ = *q; ++ else ++ i++; ++ *p = '\0'; ++ if (i) ++ for (tp = TimezoneTable; tp->name; tp++) ++ if (strcmp(buff, tp->name) == 0) { ++ yylval->Number = tp->value; ++ return tp->type; ++ } ++ ++ for (i = 1; i <= 12; i++) ++ for (abbrev = 0; abbrev < 2; abbrev++) ++ if (PTimeIsMonthName(buff, i, abbrev)) { ++ yylval->Number = i; ++ return tMONTH; ++ } ++ ++ for (i = 1; i <= 7; i++) ++ for (abbrev = 0; abbrev < 2; abbrev++) ++ if (PTimeIsDayName(buff, i, abbrev)) { ++ yylval->Number = i; ++ return tDAY; ++ } ++ ++ return tID; ++} ++ ++ ++#ifdef _MSC_VER ++#pragma warning(disable:4211) ++#endif ++ ++#ifndef __GNUC__ ++static ++#endif ++int yylex(YYSTYPE * yylval, struct Variables * vars) ++{ ++ register char *p; ++ char buff[20]; ++ int Count; ++ int sign; ++ register int c = PTimeGetChar(vars->yyInput); ++ ++ while (c != EOF && c != '\0' && c != '\n') { ++ while (isspace(c)) ++ c = PTimeGetChar(vars->yyInput); ++ ++ if (isdigit(c) || c == '-' || c == '+') { ++ if (c == '-' || c == '+') { ++ sign = c == '-' ? -1 : 1; ++ if (!isdigit(c = PTimeGetChar(vars->yyInput))) ++ /* skip the '-' sign */ ++ continue; ++ } ++ else ++ sign = 0; ++ yylval->Number = 0; ++ Count = 0; /* Count number of digits */ ++ while (isdigit(c)) { ++ yylval->Number = 10 * yylval->Number + c - '0'; ++ c = PTimeGetChar(vars->yyInput); ++ Count++; ++ } ++ PTimeUngetChar(vars->yyInput, c); ++ if (sign < 0) ++ yylval->Number = -yylval->Number; ++ if (Count == 4) ++ return sign ? tS4DIGITNUMBER : t4DIGITNUMBER; ++ if (sign) ++ return tSNUMBER; ++ if (Count == 6) ++ return t6DIGITNUMBER; ++ if (Count == 8) ++ return t8DIGITNUMBER; ++ return tUNUMBER; ++ } ++ ++ if (isalpha(c)) { ++ for (p = buff; isalpha(c) || c == '.'; c = PTimeGetChar(vars->yyInput)) { ++ if (p < &buff[sizeof(buff)-1]) ++ *p++ = (char)c; ++ } ++ *p = '\0'; ++ PTimeUngetChar(vars->yyInput, c); ++ return LookupWord(buff, yylval, vars); ++ } ++ ++ if (c != '(') ++ return c; ++ ++ Count = 0; ++ do { ++ c = PTimeGetChar(vars->yyInput); ++ if (c == '\0' || c == EOF) ++ return c; ++ if (c == '(') ++ Count++; ++ else if (c == ')') ++ Count--; ++ } while (Count > 0); ++ } ++ ++ if (c == '\n') ++ PTimeUngetChar(vars->yyInput, c); ++ ++ return EOF; ++} ++ ++#ifdef _MSC_VER ++#pragma warning(default:4211) ++#endif ++ ++ ++static time_t ToSeconds(time_t Hours, time_t Minutes, time_t Seconds, ++ MERIDIAN Meridian) ++{ ++ if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59) ++ return -1; ++ switch (Meridian) { ++ case MER24: ++ if (Hours < 0 || Hours > 23) ++ return -1; ++ return (Hours * 60L + Minutes) * 60L + Seconds; ++ case MERam: ++ if (Hours < 1 || Hours > 12) ++ return -1; ++ if (Hours == 12) ++ Hours = 0; ++ return (Hours * 60L + Minutes) * 60L + Seconds; ++ case MERpm: ++ if (Hours < 1 || Hours > 12) ++ return -1; ++ if (Hours == 12) ++ Hours = 0; ++ return ((Hours + 12) * 60L + Minutes) * 60L + Seconds; ++ } ++ ++ return -1; ++} ++ ++ ++static time_t Convert(time_t Month, time_t Day, time_t Year, ++ time_t Hours, time_t Minutes, time_t Seconds, ++ MERIDIAN Meridian, DSTMODE DSTmode, time_t yyTimezone) ++{ ++ static int DaysInMonth[12] = { ++ 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ++ }; ++ time_t tod; ++ time_t Julian; ++ int i; ++ ++ if (Year < 0) ++ Year = -Year; ++ if (Year < 70) ++ Year += 2000; ++ else if (Year < 100) ++ Year += 1900; ++ DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0) ++ ? 29 : 28; ++ /* Checking for 2038 bogusly assumes that time_t is 32 bits. But ++ I'm too lazy to try to check for time_t overflow in another way. */ ++ if (Year < EPOCH || Year > 2038 ++ || Month < 1 || Month > 12 ++ /* Lint fluff: "conversion from long may lose accuracy" */ ++ || Day < 1 || Day > DaysInMonth[(int)--Month]) ++ return -1; ++ ++ for (Julian = Day - 1, i = 0; i < Month; i++) ++ Julian += DaysInMonth[i]; ++ for (i = EPOCH; i < Year; i++) ++ Julian += 365 + (i % 4 == 0); ++ Julian *= SECSPERDAY; ++ Julian += yyTimezone * 60L; ++ if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0) ++ return -1; ++ Julian += tod; ++ if (DSTmode == DSTon ++ || (DSTmode == DSTmaybe && localtime(&Julian)->tm_isdst)) ++ Julian -= 60 * 60; ++ return Julian; ++} ++ ++ ++static time_t DSTcorrect(time_t Start, time_t Future) ++{ ++ time_t StartDay; ++ time_t FutureDay; ++ ++ StartDay = (localtime(&Start)->tm_hour + 1) % 24; ++ FutureDay = (localtime(&Future)->tm_hour + 1) % 24; ++ return (Future - Start) + (StartDay - FutureDay) * 60L * 60L; ++} ++ ++ ++static time_t RelativeDate(time_t Start, time_t DayOrdinal, time_t DayNumber) ++{ ++ struct tm *tm; ++ time_t now; ++ ++ now = Start; ++ tm = localtime(&now); ++ now += SECSPERDAY * ((DayNumber - tm->tm_wday + 7) % 7); ++ now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1); ++ return DSTcorrect(Start, now); ++} ++ ++ ++static time_t RelativeMonth(time_t Start, time_t RelMonth, time_t yyTimezone) ++{ ++ struct tm *tm; ++ time_t Month; ++ time_t Year; ++ ++ if (RelMonth == 0) ++ return 0; ++ tm = localtime(&Start); ++ Month = 12 * tm->tm_year + tm->tm_mon + RelMonth; ++ Year = Month / 12 + 1900; ++ Month = Month % 12 + 1; ++ return DSTcorrect(Start, ++ Convert(Month, (time_t)tm->tm_mday, Year, ++ (time_t)tm->tm_hour, (time_t)tm->tm_min, (time_t)tm->tm_sec, ++ MER24, DSTmaybe, yyTimezone)); ++} ++ ++ ++static void SetPossibleDate(struct Variables * var, ++ time_t possible_day, ++ time_t possible_month, ++ time_t possible_year) ++{ ++ int date_order; ++ ++ if (possible_day > 31) /* test for ymd */ ++ date_order = 2; ++ else if (possible_day > 12) /* test for dmy */ ++ date_order = 1; ++ else if (possible_month > 12) /* test for mdy */ ++ date_order = 0; ++ else ++ date_order = PTimeGetDateOrder(); ++ ++ switch (date_order) { ++ case 0 : ++ var->yyDay = possible_month; ++ var->yyMonth = possible_day; ++ var->yyYear = possible_year; ++ break; ++ case 1 : ++ var->yyDay = possible_day; ++ var->yyMonth = possible_month; ++ var->yyYear = possible_year; ++ break; ++ default : ++ var->yyDay = possible_year; ++ var->yyMonth = possible_month; ++ var->yyYear = possible_day; ++ } ++} ++ ++ ++time_t STDAPICALLTYPE PTimeParse(void * inputStream, struct tm * now, int timezone) ++{ ++ time_t Start; ++ struct Variables var; ++ ++ ++ var.yyInput = inputStream; ++ var.yyYear = now->tm_year + 1900; ++ var.yyMonth = now->tm_mon + 1; ++ var.yyDay = now->tm_mday; ++ var.yyTimezone = -timezone; ++ var.yyDSTmode = DSTmaybe; ++ var.yyHour = 0; ++ var.yyMinutes = 0; ++ var.yySeconds = 0; ++ var.yyMeridian = MER24; ++ var.yyRelSeconds = 0; ++ var.yyRelMonth = 0; ++ var.yyHaveDate = 0; ++ var.yyHaveDay = 0; ++ var.yyHaveRel = 0; ++ var.yyHaveTime = 0; ++ var.yyHaveZone = 0; ++ ++ yyparse(&var); ++ ++ if (var.yyHaveTime > 1 || var.yyHaveZone > 1 || ++ var.yyHaveDate > 1 || var.yyHaveDay > 1) ++ return -1; ++ ++ if (var.yyHaveTime == 0 && var.yyHaveZone == 0 && ++ var.yyHaveDate == 0 && var.yyHaveDay == 0 && var.yyHaveRel == 0) ++ return -1; ++ ++ if (var.yyHaveDate || var.yyHaveTime || var.yyHaveDay) { ++ Start = Convert(var.yyMonth, var.yyDay, var.yyYear, ++ var.yyHour, var.yyMinutes, var.yySeconds, ++ var.yyMeridian, var.yyDSTmode, var.yyTimezone); ++ if (Start < 0) ++ return -1; ++ } ++ else { ++ time(&Start); ++ if (!var.yyHaveRel) ++ Start -= ((now->tm_hour * 60L + now->tm_min) * 60L) + now->tm_sec; ++ } ++ ++ Start += var.yyRelSeconds; ++ Start += RelativeMonth(Start, var.yyRelMonth, var.yyTimezone); ++ ++ if (var.yyHaveDay && !var.yyHaveDate) ++ Start += RelativeDate(Start, var.yyDayOrdinal, var.yyDayNumber); ++ ++ /* Have to do *something* with a legitimate -1 so it's distinguishable ++ * from the error return value. (Alternately could set errno on error.) */ ++ return Start == -1 ? 0 : Start; ++} ++ ++ ++#ifdef _MSC_VER ++#pragma warning(disable:4028 4100 4211) ++#endif ++ ++#ifdef __GNUC__ ++int yyerror(const char * s) ++{ ++ return 0; ++} ++#else ++static void yyerror(const char * s) ++{ ++} ++#endif ++ ++#ifdef _MSC_VER ++#pragma warning(default:4028 4100 4211) ++#endif ++ ++ ++/* End of file ***************************************************************/ +diff -Naur ptlib-2.10.11.orig/src/ptlib/unix/svcproc.cxx ptlib-2.10.11/src/ptlib/unix/svcproc.cxx +--- ptlib-2.10.11.orig/src/ptlib/unix/svcproc.cxx 2013-08-14 18:20:26.000000000 -0500 ++++ ptlib-2.10.11/src/ptlib/unix/svcproc.cxx 2016-05-04 19:42:20.526529457 -0500 +@@ -217,7 +217,7 @@ + pid_t pid; + + { +- ifstream pidfile(pidfilename); ++ ifstream pidfile((std::string&)pidfilename); + if (!pidfile.is_open()) { + cout << "Could not open pid file: \"" << pidfilename << "\"" + " - " << strerror(errno) << endl; +@@ -384,7 +384,7 @@ + // Run as a daemon, ie fork + + if (!pidfilename) { +- ifstream pidfile(pidfilename); ++ ifstream pidfile((std::string&)pidfilename); + if (pidfile.is_open()) { + pid_t pid; + pidfile >> pid; +@@ -412,7 +412,7 @@ + cout << "Daemon started with pid " << pid << endl; + if (!pidfilename) { + // Write out the child pid to magic file in /var/run (at least for linux) +- ofstream pidfile(pidfilename); ++ ofstream pidfile((std::string&)pidfilename); + if (pidfile.is_open()) + pidfile << pid; + else diff --git a/libraries/ptlib/ptlib-2.10.11-openssl11.patch b/libraries/ptlib/ptlib-2.10.11-openssl11.patch new file mode 100644 index 0000000000..38d296eb2d --- /dev/null +++ b/libraries/ptlib/ptlib-2.10.11-openssl11.patch @@ -0,0 +1,212 @@ +https://build.opensuse.org/package/view_file/network:telephony/libpt2/libpt2-openssl11.patch +by mgorse@suse.com, see also: + + - https://build.opensuse.org/request/show/518821 + - https://bugzilla.opensuse.org/show_bug.cgi?id=1055477 + +--- ptlib-2.10.11/src/ptclib/pssl.cxx 2013-08-14 18:20:27.000000000 -0500 ++++ ptlib-2.10.11/src/ptclib/pssl.cxx.openssl11 2017-08-25 17:25:44.824287596 -0500 +@@ -140,7 +140,11 @@ PFACTORY_CREATE_SINGLETON(PProcessStartu + class PSSL_BIO + { + public: ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ PSSL_BIO(const BIO_METHOD *method = BIO_s_file()) ++#else + PSSL_BIO(BIO_METHOD *method = BIO_s_file_internal()) ++#endif + { bio = BIO_new(method); } + + ~PSSL_BIO() +@@ -627,10 +631,18 @@ PSSLDiffieHellman::PSSLDiffieHellman(con + if (dh == NULL) + return; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ DH_set0_pqg (dh, BN_bin2bn(pData, pSize, NULL), NULL, BN_bin2bn(gData, gSize, NULL)); ++ const BIGNUM *p, *g; ++ DH_get0_pqg(dh, &p, NULL, &g); ++ if (p != NULL && g != NULL) ++ return; ++#else + dh->p = BN_bin2bn(pData, pSize, NULL); + dh->g = BN_bin2bn(gData, gSize, NULL); + if (dh->p != NULL && dh->g != NULL) + return; ++#endif + + DH_free(dh); + dh = NULL; +@@ -805,9 +817,11 @@ void PSSLContext::Construct(Method metho + SSL_METHOD * meth; + + switch (method) { ++#ifndef OPENSSL_NO_SSL3 + case SSLv3: + meth = SSLv3_method(); + break; ++#endif + case TLSv1: + meth = TLSv1_method(); + break; +@@ -1117,7 +1131,11 @@ PBoolean PSSLChannel::RawSSLRead(void * + // + + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++#define PSSLCHANNEL(bio) ((PSSLChannel *)(BIO_get_data (bio))) ++#else + #define PSSLCHANNEL(bio) ((PSSLChannel *)(bio->ptr)) ++#endif + + extern "C" { + +@@ -1130,10 +1148,16 @@ typedef long (*lfptr)(); + + static int Psock_new(BIO * bio) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ BIO_set_init (bio, 0); ++ BIO_set_data (bio, NULL);; // this is really (PSSLChannel *) ++ BIO_set_flags (bio, 0); ++#else + bio->init = 0; + bio->num = 0; + bio->ptr = NULL; // this is really (PSSLChannel *) + bio->flags = 0; ++#endif + + return(1); + } +@@ -1144,13 +1168,23 @@ static int Psock_free(BIO * bio) + if (bio == NULL) + return 0; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ if (BIO_get_shutdown (bio)) { ++ if (BIO_get_init (bio)) { ++#else + if (bio->shutdown) { + if (bio->init) { ++#endif + PSSLCHANNEL(bio)->Shutdown(PSocket::ShutdownReadAndWrite); + PSSLCHANNEL(bio)->Close(); + } ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ BIO_set_init (bio, 0); ++ BIO_set_flags (bio, 0); ++#else + bio->init = 0; + bio->flags = 0; ++#endif + } + return 1; + } +@@ -1160,11 +1194,19 @@ static long Psock_ctrl(BIO * bio, int cm + { + switch (cmd) { + case BIO_CTRL_SET_CLOSE: ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ BIO_set_shutdown (bio, (int)num); ++#else + bio->shutdown = (int)num; ++#endif + return 1; + + case BIO_CTRL_GET_CLOSE: ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ return BIO_get_shutdown (bio); ++#else + return bio->shutdown; ++#endif + + case BIO_CTRL_FLUSH: + return 1; +@@ -1239,41 +1281,64 @@ static int Psock_puts(BIO * bio, const c + }; + + +-static BIO_METHOD methods_Psock = +-{ +- BIO_TYPE_SOCKET, +- "PTLib-PSSLChannel", +-#if (OPENSSL_VERSION_NUMBER < 0x00906000) +- (ifptr)Psock_write, +- (ifptr)Psock_read, +- (ifptr)Psock_puts, +- NULL, +- (lfptr)Psock_ctrl, +- (ifptr)Psock_new, +- (ifptr)Psock_free +-#else +- Psock_write, +- Psock_read, +- Psock_puts, +- NULL, +- Psock_ctrl, +- Psock_new, +- Psock_free +-#endif +-}; +- + + PBoolean PSSLChannel::OnOpen() + { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ static BIO_METHOD *methods_pSock = NULL; ++ ++ if (methods_pSock == NULL) { ++ methods_pSock = BIO_meth_new (BIO_TYPE_SOCKET, "PTLib-PSSLChannel"); ++ if (!methods_pSock) ++ return FALSE; ++ BIO_meth_set_write (methods_pSock, Psock_write); ++ BIO_meth_set_read (methods_pSock, Psock_read); ++ BIO_meth_set_puts (methods_pSock, Psock_puts); ++ BIO_meth_set_ctrl (methods_pSock, Psock_ctrl); ++ BIO_meth_set_create (methods_pSock, Psock_new); ++ BIO_meth_set_destroy (methods_pSock, Psock_free); ++ } ++ ++ BIO * bio = BIO_new(methods_pSock); ++#else ++ static BIO_METHOD methods_Psock = ++ { ++ BIO_TYPE_SOCKET, ++ "PTLib-PSSLChannel", ++ #if (OPENSSL_VERSION_NUMBER < 0x00906000) ++ (ifptr)Psock_write, ++ (ifptr)Psock_read, ++ (ifptr)Psock_puts, ++ NULL, ++ (lfptr)Psock_ctrl, ++ (ifptr)Psock_new, ++ (ifptr)Psock_free ++ #else ++ Psock_write, ++ Psock_read, ++ Psock_puts, ++ NULL, ++ Psock_ctrl, ++ Psock_new, ++ Psock_free ++ #endif ++ }; ++ + BIO * bio = BIO_new(&methods_Psock); ++#endif + if (bio == NULL) { + SSLerr(SSL_F_SSL_SET_FD,ERR_R_BUF_LIB); + return PFalse; + } + + // "Open" then bio ++#if OPENSSL_VERSION_NUMBER >= 0x10100000l ++ BIO_set_data (bio, this); ++ BIO_set_init (bio, 1); ++#else + bio->ptr = this; + bio->init = 1; ++#endif + + SSL_set_bio(ssl, bio, bio); + return PTrue; diff --git a/libraries/ptlib/ptlib-gcc8.patch b/libraries/ptlib/ptlib-gcc8.patch new file mode 100644 index 0000000000..c446696532 --- /dev/null +++ b/libraries/ptlib/ptlib-gcc8.patch @@ -0,0 +1,12 @@ +--- ptlib-2.10.11/src/ptlib/unix/channel.cxx.orig 2018-07-23 18:25:26.300381968 +0100 ++++ ptlib-2.10.11/src/ptlib/unix/channel.cxx 2018-07-23 18:26:07.244497346 +0100 +@@ -36,7 +36,8 @@ + + #include + #include +- ++#include ++#include + + #include "../common/pchannel.cxx" + diff --git a/libraries/ptlib/ptlib.SlackBuild b/libraries/ptlib/ptlib.SlackBuild index d2c42bd774..30dfd47045 100644 --- a/libraries/ptlib/ptlib.SlackBuild +++ b/libraries/ptlib/ptlib.SlackBuild @@ -68,11 +68,11 @@ find -L . \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; # Fix building with bison-3.0.4 -# thanks to Dan Fandrich / OpalVOIP https://sourceforge.net/p/opalvoip/patches/259/ -patch -p1 < $CWD/ptlib-2.10.10-mga-bison-parameter.patch +patch -p1 < $CWD/ptlib-2.10.11-bison_fixes-2.patch -# Disable SSLv3 -patch -p1 < $CWD/ssl3.patch +patch -p1 < $CWD/ptlib-gcc8.patch + +patch -p1 < $CWD/ptlib-2.10.11-openssl11.patch # The "LIBS" variable is set to fix OpenLDAP support # diff --git a/libraries/ptlib/ssl3.patch b/libraries/ptlib/ssl3.patch deleted file mode 100644 index 6fdb7cabea..0000000000 --- a/libraries/ptlib/ssl3.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -u -r ptlib-2.10.11/src/ptclib/pssl.cxx ptlib-2.10.11-nossl3/src/ptclib/pssl.cxx ---- ptlib-2.10.11/src/ptclib/pssl.cxx 2013-08-15 01:20:27.000000000 +0200 -+++ ptlib-2.10.11-nossl3/src/ptclib/pssl.cxx 2016-03-03 11:39:02.224835510 +0100 -@@ -805,13 +805,11 @@ - SSL_METHOD * meth; - - switch (method) { -- case SSLv3: -- meth = SSLv3_method(); -- break; - case TLSv1: - meth = TLSv1_method(); - break; - case SSLv23: -+ case SSLv3: - default: - meth = SSLv23_method(); - break; - diff --git a/libraries/python3-PyQt5/python3-PyQt5.SlackBuild b/libraries/python3-PyQt5/python3-PyQt5.SlackBuild index 759fbffc7b..b399e7d110 100644 --- a/libraries/python3-PyQt5/python3-PyQt5.SlackBuild +++ b/libraries/python3-PyQt5/python3-PyQt5.SlackBuild @@ -94,7 +94,7 @@ python3 configure.py \ --verbose \ -q /usr/bin/qmake-qt5 \ --sip=/usr/bin/python3-sip \ - --sip-incdir=/usr/include/python$PYTHONVER + --sip-incdir=/usr/include/python$PYTHONVER/python3-sip make make install DESTDIR=$PKG INSTALL_ROOT=$PKG diff --git a/libraries/python3-pillow/README b/libraries/python3-pillow/README deleted file mode 100644 index 8bd903c6d8..0000000000 --- a/libraries/python3-pillow/README +++ /dev/null @@ -1,8 +0,0 @@ -The Python Imaging Library (PIL) adds image processing capabilities to -your Python environment. This library provides extensive file format -support, an efficient internal representation and powerful image -processing capabilities. - -NOTE - This SlackBuild provides PIL libraries with support for Python3. It -is intended to be a complement to Slackware's default python-pillow, not to -replace it, hence it doesn't include the scripts that would go to /usr/bin. diff --git a/libraries/python3-pillow/python3-pillow.SlackBuild b/libraries/python3-pillow/python3-pillow.SlackBuild deleted file mode 100644 index fca5f71d14..0000000000 --- a/libraries/python3-pillow/python3-pillow.SlackBuild +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/sh - -# Slackware build script for python3-pillow - -# Copyright 2015-2017 Philip Lacroix -# -# Based on build script for python-pillow by following authors: -# Copyright 2009, 2010, 2013, 2014 Patrick J. Volkerding, Sebeka, MN, USA -# Copyright 2014 Heinz Wiesinger, Amsterdam, The Netherlands -# Copyright 2015 Brenton Earl -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=python3-pillow -SRCNAM=Pillow -VERSION=${VERSION:-3.0.0} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.gz - -cd $SRCNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -# Do not install scripts that would go to /usr/bin, as they -# are already part of python-pillow. -sed -i -e "s~.*scripts=glob.glob(\"Scripts/\*.py\"),~~" setup.py - -python3 setup.py install --root=$PKG - -# Safety check to prevent changes in the install process of a -# different version of Pillow that might allow files in /usr/bin. -if [ -e $PKG/usr/bin ]; then - echo -e "\n* Warning - This package is not allowed to put files in /usr/bin," - echo "* as they conflict with Slackware's default python-pillow. Exiting." - exit 1 -fi - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" \ - | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -PRGDOC=$PKG/usr/doc/$PRGNAM-$VERSION - -# Install documentation. -mkdir -p $PRGDOC -cat $CWD/README > $PRGDOC/README -cat $CWD/$PRGNAM.SlackBuild > $PRGDOC/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/python3-pillow/python3-pillow.info b/libraries/python3-pillow/python3-pillow.info deleted file mode 100644 index 77117beb48..0000000000 --- a/libraries/python3-pillow/python3-pillow.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="python3-pillow" -VERSION="3.0.0" -HOMEPAGE="http://python-pillow.github.io/" -DOWNLOAD="https://pypi.python.org/packages/source/P/Pillow/Pillow-3.0.0.tar.gz" -MD5SUM="fc8ac44e93da09678eac7e30c9b7377d" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="python3 %README%" -MAINTAINER="Philip Lacroix" -EMAIL="slackph at posteo dot de" diff --git a/libraries/python3-pillow/slack-desc b/libraries/python3-pillow/slack-desc deleted file mode 100644 index 446cde956c..0000000000 --- a/libraries/python3-pillow/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -python3-pillow: python3-pillow (Python3 support for python-pillow) -python3-pillow: -python3-pillow: The Python Imaging Library (PIL) adds image processing capabilities -python3-pillow: to your Python environment. This library provides extensive file -python3-pillow: format support, an efficient internal representation and powerful -python3-pillow: image processing capabilities. -python3-pillow: -python3-pillow: This package provides the PIL libraries with support for Python3. It -python3-pillow: is intended to be a complement to python-pillow, not to replace it. -python3-pillow: -python3-pillow: Homepage: https://python3-pillow.github.io/ diff --git a/libraries/qt5-webkit/icu4c-65.1.patch b/libraries/qt5-webkit/icu4c-65.1.patch new file mode 100644 index 0000000000..c4b6040bfc --- /dev/null +++ b/libraries/qt5-webkit/icu4c-65.1.patch @@ -0,0 +1,60 @@ +diff -Naur qtwebkit-opensource-src-5.9.1.orig/Source/WebCore/dom/Document.cpp qtwebkit-opensource-src-5.9.1/Source/WebCore/dom/Document.cpp +--- qtwebkit-opensource-src-5.9.1.orig/Source/WebCore/dom/Document.cpp 2017-06-16 14:46:36.000000000 +0200 ++++ qtwebkit-opensource-src-5.9.1/Source/WebCore/dom/Document.cpp 2019-10-08 06:49:07.806058000 +0200 +@@ -3846,12 +3846,12 @@ + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -3914,7 +3914,7 @@ + const UChar* s = qualifiedName.characters(); + for (unsigned i = 0; i < length;) { + UChar32 c; +- U16_NEXT(s, i, length, c) ++ U16_NEXT(s, i, length, c); + if (c == ':') { + if (sawColon) { + ec = NAMESPACE_ERR; +diff -Naur qtwebkit-opensource-src-5.9.1.orig/Source/WebCore/platform/graphics/SegmentedFontData.cpp qtwebkit-opensource-src-5.9.1/Source/WebCore/platform/graphics/SegmentedFontData.cpp +--- qtwebkit-opensource-src-5.9.1.orig/Source/WebCore/platform/graphics/SegmentedFontData.cpp 2017-06-16 14:46:36.000000000 +0200 ++++ qtwebkit-opensource-src-5.9.1/Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-08 06:47:12.829058000 +0200 +@@ -61,7 +61,7 @@ + { + UChar32 c; + for (int i = 0; i < length; ) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!containsCharacter(c)) + return false; + } +diff -Naur qtwebkit-opensource-src-5.9.1.orig/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm qtwebkit-opensource-src-5.9.1/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm +--- qtwebkit-opensource-src-5.9.1.orig/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm 2017-06-16 14:46:36.000000000 +0200 ++++ qtwebkit-opensource-src-5.9.1/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm 2019-10-08 06:48:15.130058000 +0200 +@@ -175,7 +175,7 @@ + int32_t i = 0; + while (i < length) { + UChar32 c; +- U16_NEXT(buffer, i, length, c) ++ U16_NEXT(buffer, i, length, c); + UErrorCode error = U_ZERO_ERROR; + UScriptCode script = uscript_getScript(c, &error); + if (error != U_ZERO_ERROR) { +@@ -746,7 +746,7 @@ + CFIndex i = 0; + while (i < length) { + UChar32 c; +- U16_NEXT(sourceBuffer, i, length, c) ++ U16_NEXT(sourceBuffer, i, length, c); + + if (isLookalikeCharacter(c)) { + uint8_t utf8Buffer[4]; diff --git a/libraries/qt5-webkit/qt5-webkit.SlackBuild b/libraries/qt5-webkit/qt5-webkit.SlackBuild index a13f448a54..4d7052e181 100644 --- a/libraries/qt5-webkit/qt5-webkit.SlackBuild +++ b/libraries/qt5-webkit/qt5-webkit.SlackBuild @@ -28,7 +28,7 @@ PRGNAM=qt5-webkit SRCNAM=qtwebkit-opensource-src -VERSION=${VERSION:-5.9.0} +VERSION=${VERSION:-5.9.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -74,6 +74,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# https://bugs.webkit.org/show_bug.cgi?id=202600 +patch -p1 < $CWD/icu4c-65.1.patch + export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" export OPENSOURCE_CXXFLAGS="$SLKCFLAGS" @@ -88,7 +91,7 @@ if [ -d include ]; then syncqt.pl -version $VERSION Source/sync.profile fi -qmake-qt5 PREFIX="/usr" QMAKE_CFLAGS+="$SLKCFLAGS" QMAKE_CXXFLAGS+="$SLKCFLAGS" \ +qmake-qt5 PREFIX="/usr" QMAKE_CFLAGS+="$SLKCFLAGS" QMAKE_CXXFLAGS+="$SLKCFLAGS -fpermissive" \ -o Makefile WebKit.pro make diff --git a/libraries/qt5-webkit/qt5-webkit.info b/libraries/qt5-webkit/qt5-webkit.info index b53918b710..b45f3c053c 100644 --- a/libraries/qt5-webkit/qt5-webkit.info +++ b/libraries/qt5-webkit/qt5-webkit.info @@ -1,8 +1,8 @@ PRGNAM="qt5-webkit" -VERSION="5.9.0" +VERSION="5.9.1" HOMEPAGE="https://www.qt.io" -DOWNLOAD="https://download.qt.io/community_releases/5.9/5.9.0-final/qtwebkit-opensource-src-5.9.0.tar.xz" -MD5SUM="1fc0ed873cc9326b823a8a83126714f5" +DOWNLOAD="http://download.qt.io/archive/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz" +MD5SUM="c7a5eb579c2476ff54f8cff2111b0910" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="qt5" diff --git a/libraries/qt5/patches/eglfs_kms_egldevice.patch b/libraries/qt5/patches/eglfs_kms_egldevice.patch new file mode 100644 index 0000000000..f3e2a798e3 --- /dev/null +++ b/libraries/qt5/patches/eglfs_kms_egldevice.patch @@ -0,0 +1,34 @@ +From 9a640e7bc67b0a1ff5c61c63703b669e6f24521e Mon Sep 17 00:00:00 2001 +From: Laszlo Agocs +Date: Wed, 26 Apr 2017 03:31:04 -0700 +Subject: eglfs_kms_egldevice: Fix type mess in nativeDisplay() virtual + +EGLNativeDisplayType is void* on NVIDIA systems but the backend may get compiled +on others where it is something else. The function definition does not match +the proto on these so it is time to correct this. + +Change-Id: I569d9f8f3fcba7b2a4672d83606dfdc7bb18a1f0 +Reviewed-by: Johan Helsing +--- + .../deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.cpp +index 0a66a897a1..cca413ff2d 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.cpp +@@ -77,9 +77,9 @@ void QEglFSKmsEglDevice::close() + setFd(-1); + } + +-EGLNativeDisplayType QEglFSKmsEglDevice::nativeDisplay() const ++void *QEglFSKmsEglDevice::nativeDisplay() const + { +- return reinterpret_cast(m_devInt->eglDevice()); ++ return m_devInt->eglDevice(); + } + + QPlatformScreen *QEglFSKmsEglDevice::createScreen(const QKmsOutput &output) +-- +cgit v1.2.1 + diff --git a/libraries/qt5/patches/kernel_5.4_qtserialbus.patch b/libraries/qt5/patches/kernel_5.4_qtserialbus.patch new file mode 100644 index 0000000000..6fb9c3c1a7 --- /dev/null +++ b/libraries/qt5/patches/kernel_5.4_qtserialbus.patch @@ -0,0 +1,11 @@ +diff -Naur qt-everywhere-opensource-src-5.9.8.orig/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp qt-everywhere-opensource-src-5.9.8/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp +--- qt-everywhere-opensource-src-5.9.8.orig/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp 2019-03-27 12:53:53.000000000 +0100 ++++ qt-everywhere-opensource-src-5.9.8/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp 2019-11-18 18:33:43.632000000 +0100 +@@ -44,6 +44,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/libraries/qt5/patches/qt5.webengine_gcc8.patch b/libraries/qt5/patches/qt5.webengine_gcc8.patch new file mode 100644 index 0000000000..cf276bc732 --- /dev/null +++ b/libraries/qt5/patches/qt5.webengine_gcc8.patch @@ -0,0 +1,26 @@ +# Prevent these errors caused by using GCC8 +# (original patch taken from Fedora's chromium SRPM): +# +# make: *** [Makefile:1028: module-qtwebengine-make_first] Error 2 +# FAILED: obj/mojo/public/c/system/system/thunks.o +# ../../3rdparty/chromium/mojo/public/c/system/buffer.h:38:42: error: static assertion failed: int64_t has weird alignment +# ../../3rdparty/chromium/mojo/public/c/system/data_pipe.h:49:42: error: static assertion failed: int64_t has weird alignment +# ../../3rdparty/chromium/mojo/public/c/system/message_pipe.h:47:42: error: static assertion failed: int64_t has weird alignment +# +--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400 ++++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400 +@@ -18,7 +18,13 @@ + #endif + + // Like the C++11 |alignof| operator. +-#if __cplusplus >= 201103L ++#if defined(__GNUC__) && __GNUC__ >= 8 ++// GCC 8 has changed the alignof operator to return the minimal alignment ++// required by the target ABI, instead of the preferred alignment. ++// This means that on 32-bit x86, it will return 4 instead of 8. ++// Use __alignof__ instead to avoid this. ++#define MOJO_ALIGNOF(type) __alignof__(type) ++#elif __cplusplus >= 201103L + #define MOJO_ALIGNOF(type) alignof(type) + #elif defined(__GNUC__) + #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/libraries/qt5/patches/qtbase59-openssl11.patch b/libraries/qt5/patches/qtbase59-openssl11.patch new file mode 100644 index 0000000000..d84a3b56e0 --- /dev/null +++ b/libraries/qt5/patches/qtbase59-openssl11.patch @@ -0,0 +1,3961 @@ +/* + * openssl v1.1 support in qtbase 5.9 + * Taken from Qt (or KDE, don't remember) for use on 5.9.1 (5.9.8 is last tested) + * ole.andre.rodlie@gmail.com +*/ + +diff --git a/config.tests/unix/openssl11/openssl.cpp b/config.tests/unix/openssl11/openssl.cpp +new file mode 100644 +index 0000000..c20cc59 +--- /dev/null ++++ b/config.tests/unix/openssl11/openssl.cpp +@@ -0,0 +1,48 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2017 The Qt Company Ltd. ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the config.tests of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 3 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL3 included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 3 requirements ++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 2.0 or (at your option) the GNU General ++** Public license version 3 or any later version approved by the KDE Free ++** Qt Foundation. The licenses are as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-2.0.html and ++** https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include ++ ++#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L ++# error "OpenSSL >= 1.1 is required" ++#endif ++ ++int main() ++{ ++} +diff --git a/config.tests/unix/openssl11/openssl.pro b/config.tests/unix/openssl11/openssl.pro +new file mode 100644 +index 0000000..a023aee +--- /dev/null ++++ b/config.tests/unix/openssl11/openssl.pro +@@ -0,0 +1,2 @@ ++SOURCES = openssl.cpp ++CONFIG -= x11 qt +diff --git a/src/network/configure.json b/src/network/configure.json +index 916448a..5ecf1ad 100644 +--- a/src/network/configure.json ++++ b/src/network/configure.json +@@ -154,6 +154,12 @@ + ] + }, + "use": "network" ++ }, ++ "openssl11": { ++ "label": "OpenSSL v. 1.1 support", ++ "type": "compile", ++ "test": "unix/openssl11", ++ "use": "network" + } + }, + +@@ -221,6 +227,11 @@ + "condition": "config.winrt || features.securetransport || features.openssl", + "output": [ "publicFeature", "feature" ] + }, ++ "opensslv11": { ++ "label": "OpenSSL v. 1.1", ++ "condition": "tests.openssl11", ++ "output": ["publicFeature", "feature"] ++ }, + "sctp": { + "label": "SCTP", + "autoDetect": false, +diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp +index 28b7eda..71e514a 100644 +--- a/src/network/ssl/qsslcertificate_openssl.cpp ++++ b/src/network/ssl/qsslcertificate_openssl.cpp +@@ -1,6 +1,7 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2016 Richard J. Moore + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtNetwork module of the Qt Toolkit. +@@ -64,12 +65,14 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const + uint qHash(const QSslCertificate &key, uint seed) Q_DECL_NOTHROW + { + if (X509 * const x509 = key.d->x509) { +- (void)q_X509_cmp(x509, x509); // populate x509->sha1_hash +- // (if someone knows a better way...) +- return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed); +- } else { +- return seed; ++ const EVP_MD *sha1 = q_EVP_sha1(); ++ unsigned int len = 0; ++ unsigned char md[EVP_MAX_MD_SIZE]; ++ q_X509_digest(x509, sha1, md, &len); ++ return qHashBits(md, len, seed); + } ++ ++ return seed; + } + + bool QSslCertificate::isNull() const +@@ -89,8 +92,7 @@ QByteArray QSslCertificate::version() const + { + QMutexLocker lock(QMutexPool::globalInstanceGet(d.data())); + if (d->versionString.isEmpty() && d->x509) +- d->versionString = +- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1); ++ d->versionString = QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1); + + return d->versionString; + } +@@ -99,7 +101,7 @@ QByteArray QSslCertificate::serialNumber() const + { + QMutexLocker lock(QMutexPool::globalInstanceGet(d.data())); + if (d->serialNumberString.isEmpty() && d->x509) { +- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber; ++ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509); + QByteArray hexString; + hexString.reserve(serialNumber->length * 3); + for (int a = 0; a < serialNumber->length; ++a) { +@@ -199,14 +201,15 @@ QMultiMap QSslCertificate::subjectAlter + continue; + } + +- const char *altNameStr = reinterpret_cast(q_ASN1_STRING_data(genName->d.ia5)); ++ const char *altNameStr = reinterpret_cast(q_ASN1_STRING_get0_data(genName->d.ia5)); + const QString altName = QString::fromLatin1(altNameStr, len); + if (genName->type == GEN_DNS) + result.insert(QSsl::DnsEntry, altName); + else if (genName->type == GEN_EMAIL) + result.insert(QSsl::EmailEntry, altName); + } +- q_sk_pop_free((STACK*)altNames, reinterpret_cast(q_sk_free)); ++ ++ q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast(q_OPENSSL_sk_free)); + } + + return result; +@@ -235,25 +238,26 @@ QSslKey QSslCertificate::publicKey() const + QSslKey key; + + key.d->type = QSsl::PublicKey; +- X509_PUBKEY *xkey = d->x509->cert_info->key; +- EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey); ++ ++ EVP_PKEY *pkey = q_X509_get_pubkey(d->x509); + Q_ASSERT(pkey); ++ const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey)); + +- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) { ++ if (keyType == EVP_PKEY_RSA) { + key.d->rsa = q_EVP_PKEY_get1_RSA(pkey); + key.d->algorithm = QSsl::Rsa; + key.d->isNull = false; +- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) { ++ } else if (keyType == EVP_PKEY_DSA) { + key.d->dsa = q_EVP_PKEY_get1_DSA(pkey); + key.d->algorithm = QSsl::Dsa; + key.d->isNull = false; + #ifndef OPENSSL_NO_EC +- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) { ++ } else if (keyType == EVP_PKEY_EC) { + key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey); + key.d->algorithm = QSsl::Ec; + key.d->isNull = false; + #endif +- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) { ++ } else if (keyType == EVP_PKEY_DH) { + // DH unsupported + } else { + // error? +@@ -275,7 +279,7 @@ static QVariant x509UnknownExtensionToValue(X509_EXTENSION *ext) + X509V3_EXT_METHOD *meth = const_cast(q_X509V3_EXT_get(ext)); + if (!meth) { + ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext); +- QByteArray result( reinterpret_cast(q_ASN1_STRING_data(value)), ++ QByteArray result( reinterpret_cast(q_ASN1_STRING_get0_data(value)), + q_ASN1_STRING_length(value)); + return result; + } +@@ -371,7 +375,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext) + continue; + } + +- const char *uriStr = reinterpret_cast(q_ASN1_STRING_data(name->d.uniformResourceIdentifier)); ++ const char *uriStr = reinterpret_cast(q_ASN1_STRING_get0_data(name->d.uniformResourceIdentifier)); + const QString uri = QString::fromUtf8(uriStr, len); + + result[QString::fromUtf8(QSslCertificatePrivate::asn1ObjectName(ad->method))] = uri; +@@ -380,11 +384,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext) + } + } + +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- q_sk_pop_free((_STACK*)info, reinterpret_cast(q_sk_free)); +-#else +- q_sk_pop_free((STACK*)info, reinterpret_cast(q_sk_free)); +-#endif ++ q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast(q_OPENSSL_sk_free)); + return result; + } + break; +@@ -607,7 +607,11 @@ static QMap _q_mapFromX509Name(X509_NAME *name) + unsigned char *data = 0; + int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e)); + info.insertMulti(name, QString::fromUtf8((char*)data, size)); ++#if QT_CONFIG(opensslv11) ++ q_CRYPTO_free(data, 0, 0); ++#else + q_CRYPTO_free(data); ++#endif + } + + return info; +@@ -619,8 +623,9 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509) + if (!x509 || !QSslSocket::supportsSsl()) + return certificate; + +- ASN1_TIME *nbef = q_X509_get_notBefore(x509); +- ASN1_TIME *naft = q_X509_get_notAfter(x509); ++ ASN1_TIME *nbef = q_X509_getm_notBefore(x509); ++ ASN1_TIME *naft = q_X509_getm_notAfter(x509); ++ + certificate.d->notValidBefore = q_getTimeFromASN1(nbef); + certificate.d->notValidAfter = q_getTimeFromASN1(naft); + certificate.d->null = false; +diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp +index c92d8fc..cef5037 100644 +--- a/src/network/ssl/qsslcontext_openssl.cpp ++++ b/src/network/ssl/qsslcontext_openssl.cpp +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. + ** Copyright (C) 2014 BlackBerry Limited. All rights reserved. + ** Copyright (C) 2014 Governikus GmbH & Co. KG. + ** Contact: https://www.qt.io/licensing/ +@@ -41,22 +41,14 @@ + + + #include +-#include +-#include + + #include "private/qssl_p.h" + #include "private/qsslcontext_openssl_p.h" +-#include "private/qsslsocket_p.h" + #include "private/qsslsocket_openssl_p.h" + #include "private/qsslsocket_openssl_symbols_p.h" +-#include "private/qssldiffiehellmanparameters_p.h" + + QT_BEGIN_NAMESPACE + +-// defined in qsslsocket_openssl.cpp: +-extern int q_X509Callback(int ok, X509_STORE_CTX *ctx); +-extern QString getErrorsFromOpenSsl(); +- + QSslContext::QSslContext() + : ctx(0), + pkey(0), +@@ -78,301 +70,6 @@ QSslContext::~QSslContext() + q_SSL_SESSION_free(session); + } + +-static inline QString msgErrorSettingEllipticCurves(const QString &why) +-{ +- return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why); +-} +- +-// static +-void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) +-{ +- sslContext->sslConfiguration = configuration; +- sslContext->errorCode = QSslError::NoError; +- +- bool client = (mode == QSslSocket::SslClientMode); +- +- bool reinitialized = false; +- bool unsupportedProtocol = false; +-init_context: +- switch (sslContext->sslConfiguration.protocol()) { +- case QSsl::SslV2: +-#ifndef OPENSSL_NO_SSL2 +- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method()); +-#else +- // SSL 2 not supported by the system, but chosen deliberately -> error +- sslContext->ctx = 0; +- unsupportedProtocol = true; +-#endif +- break; +- case QSsl::SslV3: +-#ifndef OPENSSL_NO_SSL3_METHOD +- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); +-#else +- // SSL 3 not supported by the system, but chosen deliberately -> error +- sslContext->ctx = 0; +- unsupportedProtocol = true; +-#endif +- break; +- case QSsl::SecureProtocols: +- // SSLv2 and SSLv3 will be disabled by SSL options +- // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32. +- case QSsl::TlsV1SslV3: +- // SSLv2 will will be disabled by SSL options +- case QSsl::AnyProtocol: +- default: +- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); +- break; +- case QSsl::TlsV1_0: +- sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method()); +- break; +- case QSsl::TlsV1_1: +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +- sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method()); +-#else +- // TLS 1.1 not supported by the system, but chosen deliberately -> error +- sslContext->ctx = 0; +- unsupportedProtocol = true; +-#endif +- break; +- case QSsl::TlsV1_2: +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +- sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method()); +-#else +- // TLS 1.2 not supported by the system, but chosen deliberately -> error +- sslContext->ctx = 0; +- unsupportedProtocol = true; +-#endif +- break; +- case QSsl::TlsV1_0OrLater: +- // Specific protocols will be specified via SSL options. +- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); +- break; +- case QSsl::TlsV1_1OrLater: +- case QSsl::TlsV1_2OrLater: +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +- // Specific protocols will be specified via SSL options. +- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); +-#else +- // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error +- sslContext->ctx = 0; +- unsupportedProtocol = true; +-#endif +- break; +- } +- +- if (!sslContext->ctx) { +- // After stopping Flash 10 the SSL library looses its ciphers. Try re-adding them +- // by re-initializing the library. +- if (!reinitialized) { +- reinitialized = true; +- if (q_SSL_library_init() == 1) +- goto init_context; +- } +- +- sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg( +- unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl() +- ); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- +- // Enable bug workarounds. +- long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions); +- q_SSL_CTX_set_options(sslContext->ctx, options); +- +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- // Tell OpenSSL to release memory early +- // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html +- if (q_SSLeay() >= 0x10000000L) +- q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS); +-#endif +- +- // Initialize ciphers +- QByteArray cipherString; +- bool first = true; +- QList ciphers = sslContext->sslConfiguration.ciphers(); +- if (ciphers.isEmpty()) +- ciphers = QSslSocketPrivate::defaultCiphers(); +- for (const QSslCipher &cipher : qAsConst(ciphers)) { +- if (first) +- first = false; +- else +- cipherString.append(':'); +- cipherString.append(cipher.name().toLatin1()); +- } +- +- if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) { +- sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- +- const QDateTime now = QDateTime::currentDateTimeUtc(); +- +- // Add all our CAs to this store. +- const auto caCertificates = sslContext->sslConfiguration.caCertificates(); +- for (const QSslCertificate &caCertificate : caCertificates) { +- // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html: +- // +- // If several CA certificates matching the name, key identifier, and +- // serial number condition are available, only the first one will be +- // examined. This may lead to unexpected results if the same CA +- // certificate is available with different expiration dates. If a +- // ``certificate expired'' verification error occurs, no other +- // certificate will be searched. Make sure to not have expired +- // certificates mixed with valid ones. +- // +- // See also: QSslSocketBackendPrivate::verify() +- if (caCertificate.expiryDate() >= now) { +- q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle()); +- } +- } +- +- if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) { +- // tell OpenSSL the directories where to look up the root certs on demand +- const QList unixDirs = QSslSocketPrivate::unixRootCertDirectories(); +- for (const QByteArray &unixDir : unixDirs) +- q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData()); +- } +- +- if (!sslContext->sslConfiguration.localCertificate().isNull()) { +- // Require a private key as well. +- if (sslContext->sslConfiguration.privateKey().isNull()) { +- sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- +- // Load certificate +- if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) { +- sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- +- if (configuration.d->privateKey.algorithm() == QSsl::Opaque) { +- sslContext->pkey = reinterpret_cast(configuration.d->privateKey.handle()); +- } else { +- // Load private key +- sslContext->pkey = q_EVP_PKEY_new(); +- // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free. +- // this lead to a memory leak. Now we use the *_set1_* functions which do not +- // take ownership of the RSA/DSA key instance because the QSslKey already has ownership. +- if (configuration.d->privateKey.algorithm() == QSsl::Rsa) +- q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); +- else if (configuration.d->privateKey.algorithm() == QSsl::Dsa) +- q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); +-#ifndef OPENSSL_NO_EC +- else if (configuration.d->privateKey.algorithm() == QSsl::Ec) +- q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); +-#endif +- } +- +- if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) { +- sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- if (configuration.d->privateKey.algorithm() == QSsl::Opaque) +- sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey +- +- // Check if the certificate matches the private key. +- if (!q_SSL_CTX_check_private_key(sslContext->ctx)) { +- sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- +- // If we have any intermediate certificates then we need to add them to our chain +- bool first = true; +- for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) { +- if (first) { +- first = false; +- continue; +- } +- q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, +- q_X509_dup(reinterpret_cast(cert.handle()))); +- } +- } +- +- // Initialize peer verification. +- if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) { +- q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0); +- } else { +- q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback); +- } +- +- // Set verification depth. +- if (sslContext->sslConfiguration.peerVerifyDepth() != 0) +- q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth()); +- +- // set persisted session if the user set it +- if (!configuration.sessionTicket().isEmpty()) +- sslContext->setSessionASN1(configuration.sessionTicket()); +- +- // Set temp DH params +- QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters(); +- +- if (!dhparams.isValid()) { +- sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid"); +- sslContext->errorCode = QSslError::UnspecifiedError; +- return; +- } +- +- if (!dhparams.isEmpty()) { +- const QByteArray ¶ms = dhparams.d->derData; +- const char *ptr = params.constData(); +- DH *dh = q_d2i_DHparams(NULL, reinterpret_cast(&ptr), params.length()); +- if (dh == NULL) +- qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form"); +- q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh); +- q_DH_free(dh); +- } +- +-#ifndef OPENSSL_NO_EC +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L +- if (q_SSLeay() >= 0x10002000L) { +- q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL); +- } else +-#endif +- { +- // Set temp ECDH params +- EC_KEY *ecdh = 0; +- ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); +- q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh); +- q_EC_KEY_free(ecdh); +- } +-#endif // OPENSSL_NO_EC +- +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) +- if (!client) +- q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData()); +-#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) +- +- const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); +- if (!qcurves.isEmpty()) { +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) +- // Set the curves to be used +- if (q_SSLeay() >= 0x10002000L) { +- // SSL_CTX_ctrl wants a non-const pointer as last argument, +- // but let's avoid a copy into a temporary array +- if (!q_SSL_CTX_ctrl(sslContext->ctx, +- SSL_CTRL_SET_CURVES, +- qcurves.size(), +- const_cast(reinterpret_cast(qcurves.data())))) { +- sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); +- sslContext->errorCode = QSslError::UnspecifiedError; +- } +- } else +-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) +- { +- // specific curves requested, but not possible to set -> error +- sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2")); +- sslContext->errorCode = QSslError::UnspecifiedError; +- } +- } +-} +- + QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) + { + QSslContext *sslContext = new QSslContext(); +@@ -463,7 +160,7 @@ SSL* QSslContext::createSsl() + m_npnContext.len = m_supportedNPNVersions.count(); + m_npnContext.status = QSslConfiguration::NextProtocolNegotiationNone; + #if OPENSSL_VERSION_NUMBER >= 0x10002000L +- if (q_SSLeay() >= 0x10002000L) { ++ if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) { + // Callback's type has a parameter 'const unsigned char ** out' + // since it was introduced in 1.0.2. Internally, OpenSSL's own code + // (tests/examples) cast it to unsigned char * (since it's 'out'). +@@ -508,7 +205,7 @@ bool QSslContext::cacheSession(SSL* ssl) + unsigned char *data = reinterpret_cast(m_sessionASN1.data()); + if (!q_i2d_SSL_SESSION(session, &data)) + qCWarning(lcSsl, "could not store persistent version of SSL session"); +- m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint; ++ m_sessionTicketLifeTimeHint = q_SSL_SESSION_get_ticket_lifetime_hint(session); + } + } + +diff --git a/src/network/ssl/qsslcontext_openssl11.cpp b/src/network/ssl/qsslcontext_openssl11.cpp +new file mode 100644 +index 0000000..787b6ae +--- /dev/null ++++ b/src/network/ssl/qsslcontext_openssl11.cpp +@@ -0,0 +1,277 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2014 BlackBerry Limited. All rights reserved. ++** Copyright (C) 2014 Governikus GmbH & Co. KG. ++** Copyright (C) 2016 Richard J. Moore ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the QtNetwork module of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 3 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL3 included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 3 requirements ++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 2.0 or (at your option) the GNU General ++** Public license version 3 or any later version approved by the KDE Free ++** Qt Foundation. The licenses are as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-2.0.html and ++** https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++ ++#include ++#include ++ ++#include "private/qssl_p.h" ++#include "private/qsslcontext_openssl_p.h" ++#include "private/qsslsocket_p.h" ++#include "private/qsslsocket_openssl_p.h" ++#include "private/qsslsocket_openssl_symbols_p.h" ++#include "private/qssldiffiehellmanparameters_p.h" ++ ++#include ++ ++QT_BEGIN_NAMESPACE ++ ++// defined in qsslsocket_openssl.cpp: ++extern int q_X509Callback(int ok, X509_STORE_CTX *ctx); ++extern QString getErrorsFromOpenSsl(); ++ ++static inline QString msgErrorSettingEllipticCurves(const QString &why) ++{ ++ return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why); ++} ++ ++// static ++void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) ++{ ++ sslContext->sslConfiguration = configuration; ++ sslContext->errorCode = QSslError::NoError; ++ ++ bool client = (mode == QSslSocket::SslClientMode); ++ ++ bool reinitialized = false; ++ bool unsupportedProtocol = false; ++init_context: ++ if (sslContext->sslConfiguration.protocol() == QSsl::SslV2) { ++ // SSL 2 is no longer supported, but chosen deliberately -> error ++ sslContext->ctx = nullptr; ++ unsupportedProtocol = true; ++ } else { ++ // The ssl options will actually control the supported methods ++ sslContext->ctx = q_SSL_CTX_new(client ? q_TLS_client_method() : q_TLS_server_method()); ++ } ++ ++ if (!sslContext->ctx) { ++ // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them ++ // by re-initializing the library. ++ if (!reinitialized) { ++ reinitialized = true; ++ if (q_OPENSSL_init_ssl(0, nullptr) == 1) ++ goto init_context; ++ } ++ ++ sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg( ++ unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl() ++ ); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ // Enable bug workarounds. ++ long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions); ++ q_SSL_CTX_set_options(sslContext->ctx, options); ++ ++ // Tell OpenSSL to release memory early ++ // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html ++ q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS); ++ ++ // Initialize ciphers ++ QByteArray cipherString; ++ bool first = true; ++ QList ciphers = sslContext->sslConfiguration.ciphers(); ++ if (ciphers.isEmpty()) ++ ciphers = QSslSocketPrivate::defaultCiphers(); ++ for (const QSslCipher &cipher : qAsConst(ciphers)) { ++ if (first) ++ first = false; ++ else ++ cipherString.append(':'); ++ cipherString.append(cipher.name().toLatin1()); ++ } ++ ++ if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) { ++ sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ const QDateTime now = QDateTime::currentDateTimeUtc(); ++ ++ // Add all our CAs to this store. ++ const auto caCertificates = sslContext->sslConfiguration.caCertificates(); ++ for (const QSslCertificate &caCertificate : caCertificates) { ++ // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html: ++ // ++ // If several CA certificates matching the name, key identifier, and ++ // serial number condition are available, only the first one will be ++ // examined. This may lead to unexpected results if the same CA ++ // certificate is available with different expiration dates. If a ++ // ``certificate expired'' verification error occurs, no other ++ // certificate will be searched. Make sure to not have expired ++ // certificates mixed with valid ones. ++ // ++ // See also: QSslSocketBackendPrivate::verify() ++ if (caCertificate.expiryDate() >= now) { ++ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle()); ++ } ++ } ++ ++ if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) { ++ // tell OpenSSL the directories where to look up the root certs on demand ++ const QList unixDirs = QSslSocketPrivate::unixRootCertDirectories(); ++ for (const QByteArray &unixDir : unixDirs) ++ q_SSL_CTX_load_verify_locations(sslContext->ctx, nullptr, unixDir.constData()); ++ } ++ ++ if (!sslContext->sslConfiguration.localCertificate().isNull()) { ++ // Require a private key as well. ++ if (sslContext->sslConfiguration.privateKey().isNull()) { ++ sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ // Load certificate ++ if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) { ++ sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) { ++ sslContext->pkey = reinterpret_cast(configuration.d->privateKey.handle()); ++ } else { ++ // Load private key ++ sslContext->pkey = q_EVP_PKEY_new(); ++ // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free. ++ // this lead to a memory leak. Now we use the *_set1_* functions which do not ++ // take ownership of the RSA/DSA key instance because the QSslKey already has ownership. ++ if (configuration.d->privateKey.algorithm() == QSsl::Rsa) ++ q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); ++ else if (configuration.d->privateKey.algorithm() == QSsl::Dsa) ++ q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); ++#ifndef OPENSSL_NO_EC ++ else if (configuration.d->privateKey.algorithm() == QSsl::Ec) ++ q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); ++#endif ++ } ++ ++ if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) { ++ sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) ++ sslContext->pkey = nullptr; // Don't free the private key, it belongs to QSslKey ++ ++ // Check if the certificate matches the private key. ++ if (!q_SSL_CTX_check_private_key(sslContext->ctx)) { ++ sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ // If we have any intermediate certificates then we need to add them to our chain ++ bool first = true; ++ for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) { ++ if (first) { ++ first = false; ++ continue; ++ } ++ q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, ++ q_X509_dup(reinterpret_cast(cert.handle()))); ++ } ++ } ++ ++ // Initialize peer verification. ++ if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) { ++ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, nullptr); ++ } else { ++ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback); ++ } ++ ++ // Set verification depth. ++ if (sslContext->sslConfiguration.peerVerifyDepth() != 0) ++ q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth()); ++ ++ // set persisted session if the user set it ++ if (!configuration.sessionTicket().isEmpty()) ++ sslContext->setSessionASN1(configuration.sessionTicket()); ++ ++ // Set temp DH params ++ QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters(); ++ ++ if (!dhparams.isValid()) { ++ sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid"); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ if (!dhparams.isEmpty()) { ++ const QByteArray ¶ms = dhparams.d->derData; ++ const char *ptr = params.constData(); ++ DH *dh = q_d2i_DHparams(NULL, reinterpret_cast(&ptr), params.length()); ++ if (dh == NULL) ++ qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form"); ++ q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh); ++ q_DH_free(dh); ++ } ++ ++#ifndef OPENSSL_NO_PSK ++ if (!client) ++ q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData()); ++#endif // !OPENSSL_NO_PSK ++ ++ const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); ++ if (!qcurves.isEmpty()) { ++#ifdef OPENSSL_NO_EC ++ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version with disabled elliptic curves")); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++#else ++ // Set the curves to be used. ++ std::vector curves; ++ curves.reserve(qcurves.size()); ++ for (const auto &sslCurve : qcurves) ++ curves.push_back(sslCurve.id); ++ if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, long(curves.size()), &curves[0])) { ++ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ } ++#endif ++ } ++} ++ ++QT_END_NAMESPACE +diff --git a/src/network/ssl/qsslcontext_opensslpre11.cpp b/src/network/ssl/qsslcontext_opensslpre11.cpp +new file mode 100644 +index 0000000..9c01c2f +--- /dev/null ++++ b/src/network/ssl/qsslcontext_opensslpre11.cpp +@@ -0,0 +1,354 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2014 BlackBerry Limited. All rights reserved. ++** Copyright (C) 2014 Governikus GmbH & Co. KG. ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the QtNetwork module of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 3 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL3 included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 3 requirements ++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 2.0 or (at your option) the GNU General ++** Public license version 3 or any later version approved by the KDE Free ++** Qt Foundation. The licenses are as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-2.0.html and ++** https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++ ++#include ++#include ++ ++#include "private/qssl_p.h" ++#include "private/qsslcontext_openssl_p.h" ++#include "private/qsslsocket_p.h" ++#include "private/qsslsocket_openssl_p.h" ++#include "private/qsslsocket_openssl_symbols_p.h" ++#include "private/qssldiffiehellmanparameters_p.h" ++ ++QT_BEGIN_NAMESPACE ++ ++// defined in qsslsocket_openssl.cpp: ++extern int q_X509Callback(int ok, X509_STORE_CTX *ctx); ++extern QString getErrorsFromOpenSsl(); ++ ++static inline QString msgErrorSettingEllipticCurves(const QString &why) ++{ ++ return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why); ++} ++ ++// static ++void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) ++{ ++ sslContext->sslConfiguration = configuration; ++ sslContext->errorCode = QSslError::NoError; ++ ++ bool client = (mode == QSslSocket::SslClientMode); ++ ++ bool reinitialized = false; ++ bool unsupportedProtocol = false; ++init_context: ++ switch (sslContext->sslConfiguration.protocol()) { ++ case QSsl::SslV2: ++#ifndef OPENSSL_NO_SSL2 ++ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method()); ++#else ++ // SSL 2 not supported by the system, but chosen deliberately -> error ++ sslContext->ctx = 0; ++ unsupportedProtocol = true; ++#endif ++ break; ++ case QSsl::SslV3: ++#ifndef OPENSSL_NO_SSL3_METHOD ++ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); ++#else ++ // SSL 3 not supported by the system, but chosen deliberately -> error ++ sslContext->ctx = 0; ++ unsupportedProtocol = true; ++#endif ++ break; ++ case QSsl::SecureProtocols: ++ // SSLv2 and SSLv3 will be disabled by SSL options ++ // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32. ++ case QSsl::TlsV1SslV3: ++ // SSLv2 will will be disabled by SSL options ++ case QSsl::AnyProtocol: ++ default: ++ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); ++ break; ++ case QSsl::TlsV1_0: ++ sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method()); ++ break; ++ case QSsl::TlsV1_1: ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method()); ++#else ++ // TLS 1.1 not supported by the system, but chosen deliberately -> error ++ sslContext->ctx = 0; ++ unsupportedProtocol = true; ++#endif ++ break; ++ case QSsl::TlsV1_2: ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method()); ++#else ++ // TLS 1.2 not supported by the system, but chosen deliberately -> error ++ sslContext->ctx = 0; ++ unsupportedProtocol = true; ++#endif ++ break; ++ case QSsl::TlsV1_0OrLater: ++ // Specific protocols will be specified via SSL options. ++ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); ++ break; ++ case QSsl::TlsV1_1OrLater: ++ case QSsl::TlsV1_2OrLater: ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ // Specific protocols will be specified via SSL options. ++ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); ++#else ++ // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error ++ sslContext->ctx = 0; ++ unsupportedProtocol = true; ++#endif ++ break; ++ } ++ ++ if (!sslContext->ctx) { ++ // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them ++ // by re-initializing the library. ++ if (!reinitialized) { ++ reinitialized = true; ++ if (q_SSL_library_init() == 1) ++ goto init_context; ++ } ++ ++ sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg( ++ unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl() ++ ); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ // Enable bug workarounds. ++ long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions); ++ q_SSL_CTX_set_options(sslContext->ctx, options); ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ // Tell OpenSSL to release memory early ++ // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html ++ if (q_SSLeay() >= 0x10000000L) ++ q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS); ++#endif ++ ++ // Initialize ciphers ++ QByteArray cipherString; ++ bool first = true; ++ QList ciphers = sslContext->sslConfiguration.ciphers(); ++ if (ciphers.isEmpty()) ++ ciphers = QSslSocketPrivate::defaultCiphers(); ++ for (const QSslCipher &cipher : qAsConst(ciphers)) { ++ if (first) ++ first = false; ++ else ++ cipherString.append(':'); ++ cipherString.append(cipher.name().toLatin1()); ++ } ++ ++ if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) { ++ sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ const QDateTime now = QDateTime::currentDateTimeUtc(); ++ ++ // Add all our CAs to this store. ++ const auto caCertificates = sslContext->sslConfiguration.caCertificates(); ++ for (const QSslCertificate &caCertificate : caCertificates) { ++ // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html: ++ // ++ // If several CA certificates matching the name, key identifier, and ++ // serial number condition are available, only the first one will be ++ // examined. This may lead to unexpected results if the same CA ++ // certificate is available with different expiration dates. If a ++ // ``certificate expired'' verification error occurs, no other ++ // certificate will be searched. Make sure to not have expired ++ // certificates mixed with valid ones. ++ // ++ // See also: QSslSocketBackendPrivate::verify() ++ if (caCertificate.expiryDate() >= now) { ++ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle()); ++ } ++ } ++ ++ if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) { ++ // tell OpenSSL the directories where to look up the root certs on demand ++ const QList unixDirs = QSslSocketPrivate::unixRootCertDirectories(); ++ for (const QByteArray &unixDir : unixDirs) ++ q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData()); ++ } ++ ++ if (!sslContext->sslConfiguration.localCertificate().isNull()) { ++ // Require a private key as well. ++ if (sslContext->sslConfiguration.privateKey().isNull()) { ++ sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ // Load certificate ++ if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) { ++ sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) { ++ sslContext->pkey = reinterpret_cast(configuration.d->privateKey.handle()); ++ } else { ++ // Load private key ++ sslContext->pkey = q_EVP_PKEY_new(); ++ // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free. ++ // this lead to a memory leak. Now we use the *_set1_* functions which do not ++ // take ownership of the RSA/DSA key instance because the QSslKey already has ownership. ++ if (configuration.d->privateKey.algorithm() == QSsl::Rsa) ++ q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); ++ else if (configuration.d->privateKey.algorithm() == QSsl::Dsa) ++ q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); ++#ifndef OPENSSL_NO_EC ++ else if (configuration.d->privateKey.algorithm() == QSsl::Ec) ++ q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); ++#endif ++ } ++ ++ if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) { ++ sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) ++ sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey ++ ++ // Check if the certificate matches the private key. ++ if (!q_SSL_CTX_check_private_key(sslContext->ctx)) { ++ sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ // If we have any intermediate certificates then we need to add them to our chain ++ bool first = true; ++ for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) { ++ if (first) { ++ first = false; ++ continue; ++ } ++ q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, ++ q_X509_dup(reinterpret_cast(cert.handle()))); ++ } ++ } ++ ++ // Initialize peer verification. ++ if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) { ++ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0); ++ } else { ++ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback); ++ } ++ ++ // Set verification depth. ++ if (sslContext->sslConfiguration.peerVerifyDepth() != 0) ++ q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth()); ++ ++ // set persisted session if the user set it ++ if (!configuration.sessionTicket().isEmpty()) ++ sslContext->setSessionASN1(configuration.sessionTicket()); ++ ++ // Set temp DH params ++ QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters(); ++ ++ if (!dhparams.isValid()) { ++ sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid"); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ return; ++ } ++ ++ if (!dhparams.isEmpty()) { ++ const QByteArray ¶ms = dhparams.d->derData; ++ const char *ptr = params.constData(); ++ DH *dh = q_d2i_DHparams(NULL, reinterpret_cast(&ptr), params.length()); ++ if (dh == NULL) ++ qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form"); ++ q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh); ++ q_DH_free(dh); ++ } ++ ++#ifndef OPENSSL_NO_EC ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ if (q_SSLeay() >= 0x10002000L) { ++ q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL); ++ } else ++#endif ++ { ++ // Set temp ECDH params ++ EC_KEY *ecdh = 0; ++ ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); ++ q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh); ++ q_EC_KEY_free(ecdh); ++ } ++#endif // OPENSSL_NO_EC ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) ++ if (!client) ++ q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData()); ++#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) ++ ++ const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); ++ if (!qcurves.isEmpty()) { ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++ // Set the curves to be used ++ if (q_SSLeay() >= 0x10002000L) { ++ // SSL_CTX_ctrl wants a non-const pointer as last argument, ++ // but let's avoid a copy into a temporary array ++ if (!q_SSL_CTX_ctrl(sslContext->ctx, ++ SSL_CTRL_SET_CURVES, ++ qcurves.size(), ++ const_cast(reinterpret_cast(qcurves.data())))) { ++ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ } ++ } else ++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++ { ++ // specific curves requested, but not possible to set -> error ++ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2")); ++ sslContext->errorCode = QSslError::UnspecifiedError; ++ } ++ } ++} ++ ++QT_END_NAMESPACE +diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp +index 90687b0..5ebad82 100644 +--- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp ++++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp +@@ -1,6 +1,7 @@ + /**************************************************************************** + ** + ** Copyright (C) 2015 Mikkel Krautz ++** Copyright (C) 2016 Richard J. Moore + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtNetwork module of the Qt Toolkit. +@@ -50,8 +51,8 @@ + #include + #endif + +-// For q_BN_is_word. + #include ++#include + + QT_BEGIN_NAMESPACE + +@@ -62,13 +63,6 @@ static bool isSafeDH(DH *dh) + + QSslSocketPrivate::ensureInitialized(); + +- // Mark p < 1024 bits as unsafe. +- if (q_BN_num_bits(dh->p) < 1024) { +- return false; +- } +- +- if (q_DH_check(dh, &status) != 1) +- return false; + + // From https://wiki.openssl.org/index.php/Diffie-Hellman_parameters: + // +@@ -81,11 +75,39 @@ static bool isSafeDH(DH *dh) + // Without the test, the IETF parameters would + // fail validation. For details, see Diffie-Hellman + // Parameter Check (when g = 2, must p mod 24 == 11?). ++#if QT_CONFIG(opensslv11) ++ // Mark p < 1024 bits as unsafe. ++ if (q_DH_bits(dh) < 1024) ++ return false; ++ ++ if (q_DH_check(dh, &status) != 1) ++ return false; ++ ++ const BIGNUM *p = nullptr; ++ const BIGNUM *q = nullptr; ++ const BIGNUM *g = nullptr; ++ q_DH_get0_pqg(dh, &p, &q, &g); ++ ++ if (q_BN_is_word(const_cast(g), DH_GENERATOR_2)) { ++ long residue = q_BN_mod_word(p, 24); ++ if (residue == 11 || residue == 23) ++ status &= ~DH_NOT_SUITABLE_GENERATOR; ++ } ++ ++#else ++ // Mark p < 1024 bits as unsafe. ++ if (q_BN_num_bits(dh->p) < 1024) ++ return false; ++ ++ if (q_DH_check(dh, &status) != 1) ++ return false; ++ + if (q_BN_is_word(dh->g, DH_GENERATOR_2)) { + long residue = q_BN_mod_word(dh->p, 24); + if (residue == 11 || residue == 23) + status &= ~DH_NOT_SUITABLE_GENERATOR; + } ++#endif + + bad |= DH_CHECK_P_NOT_PRIME; + bad |= DH_CHECK_P_NOT_SAFE_PRIME; +diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h +index 2315660..57dda19 100644 +--- a/src/network/ssl/qsslellipticcurve.h ++++ b/src/network/ssl/qsslellipticcurve.h +@@ -80,6 +80,7 @@ private: + friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW; + friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW; + ++ friend class QSslContext; + friend class QSslSocketPrivate; + friend class QSslSocketBackendPrivate; + }; +diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp +index e18197b..8cd1483 100644 +--- a/src/network/ssl/qsslellipticcurve_openssl.cpp ++++ b/src/network/ssl/qsslellipticcurve_openssl.cpp +@@ -1,6 +1,7 @@ + /**************************************************************************** + ** + ** Copyright (C) 2014 Governikus GmbH & Co. KG. ++** Copyright (C) 2016 Richard J. Moore + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtNetwork module of the Qt Toolkit. +@@ -78,17 +79,18 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name) + QSslEllipticCurve result; + + #ifndef OPENSSL_NO_EC +- const QByteArray curveNameLatin1 = name.toLatin1(); + ++ const QByteArray curveNameLatin1 = name.toLatin1(); + int nid = q_OBJ_sn2nid(curveNameLatin1.data()); + + #if OPENSSL_VERSION_NUMBER >= 0x10002000L +- if (nid == 0 && q_SSLeay() >= 0x10002000L) ++ if (nid == 0 && QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) + nid = q_EC_curve_nist2nid(curveNameLatin1.data()); + #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L + + result.id = nid; +-#endif ++ ++#endif // !OPENSSL_NO_EC + + return result; + } +diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp +index 2611902..2b03af9 100644 +--- a/src/network/ssl/qsslkey_openssl.cpp ++++ b/src/network/ssl/qsslkey_openssl.cpp +@@ -1,6 +1,7 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2016 Richard J. Moore + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtNetwork module of the Qt Toolkit. +@@ -87,33 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey) + if (pkey == nullptr) + return false; + +- if (pkey->type == EVP_PKEY_RSA) { ++#if QT_CONFIG(opensslv11) ++ const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey)); ++#else ++ const int keyType = pkey->type; ++#endif ++ if (keyType == EVP_PKEY_RSA) { + isNull = false; + algorithm = QSsl::Rsa; + type = QSsl::PrivateKey; + +- rsa = q_RSA_new(); +- memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA)); +- ++ rsa = q_EVP_PKEY_get1_RSA(pkey); + return true; +- } +- else if (pkey->type == EVP_PKEY_DSA) { ++ } else if (keyType == EVP_PKEY_DSA) { + isNull = false; + algorithm = QSsl::Dsa; + type = QSsl::PrivateKey; + +- dsa = q_DSA_new(); +- memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA)); +- ++ dsa = q_EVP_PKEY_get1_DSA(pkey); + return true; + } + #ifndef OPENSSL_NO_EC +- else if (pkey->type == EVP_PKEY_EC) { ++ else if (keyType == EVP_PKEY_EC) { + isNull = false; + algorithm = QSsl::Ec; + type = QSsl::PrivateKey; +- ec = q_EC_KEY_dup(q_EVP_PKEY_get1_EC_KEY(pkey)); +- ++ ec = q_EVP_PKEY_get1_EC_KEY(pkey); + return true; + } + #endif +@@ -181,8 +181,8 @@ int QSslKeyPrivate::length() const + return -1; + + switch (algorithm) { +- case QSsl::Rsa: return q_BN_num_bits(rsa->n); +- case QSsl::Dsa: return q_BN_num_bits(dsa->p); ++ case QSsl::Rsa: return q_RSA_bits(rsa); ++ case QSsl::Dsa: return q_DSA_bits(dsa); + #ifndef OPENSSL_NO_EC + case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec)); + #endif +@@ -276,7 +276,13 @@ Qt::HANDLE QSslKeyPrivate::handle() const + + static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc) + { +- EVP_CIPHER_CTX ctx; ++#if QT_CONFIG(opensslv11) ++ EVP_CIPHER_CTX *ctx = q_EVP_CIPHER_CTX_new(); ++#else ++ EVP_CIPHER_CTX evpCipherContext; ++ EVP_CIPHER_CTX *ctx = &evpCipherContext; ++#endif ++ + const EVP_CIPHER* type = 0; + int i = 0, len = 0; + +@@ -294,21 +300,44 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, + + QByteArray output; + output.resize(data.size() + EVP_MAX_BLOCK_LENGTH); +- q_EVP_CIPHER_CTX_init(&ctx); +- q_EVP_CipherInit(&ctx, type, NULL, NULL, enc); +- q_EVP_CIPHER_CTX_set_key_length(&ctx, key.size()); ++ ++#if QT_CONFIG(opensslv11) ++ q_EVP_CIPHER_CTX_reset(ctx); ++#else ++ q_EVP_CIPHER_CTX_init(ctx); ++#endif ++ ++ q_EVP_CipherInit(ctx, type, NULL, NULL, enc); ++ q_EVP_CIPHER_CTX_set_key_length(ctx, key.size()); + if (cipher == QSslKeyPrivate::Rc2Cbc) +- q_EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL); +- q_EVP_CipherInit(&ctx, NULL, ++ q_EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL); ++ ++#if QT_CONFIG(opensslv11) ++ // EVP_CipherInit in 1.1 resets the context thus making the calls above useless. ++ // We call EVP_CipherInit_ex instead. ++ q_EVP_CipherInit_ex(ctx, nullptr, nullptr, ++ reinterpret_cast(key.constData()), ++ reinterpret_cast(iv.constData()), ++ enc); ++#else ++ q_EVP_CipherInit(ctx, NULL, + reinterpret_cast(key.constData()), + reinterpret_cast(iv.constData()), enc); +- q_EVP_CipherUpdate(&ctx, ++#endif // opensslv11 ++ ++ q_EVP_CipherUpdate(ctx, + reinterpret_cast(output.data()), &len, + reinterpret_cast(data.constData()), data.size()); +- q_EVP_CipherFinal(&ctx, ++ q_EVP_CipherFinal(ctx, + reinterpret_cast(output.data()) + len, &i); + len += i; +- q_EVP_CIPHER_CTX_cleanup(&ctx); ++ ++#if QT_CONFIG(opensslv11) ++ q_EVP_CIPHER_CTX_reset(ctx); ++ q_EVP_CIPHER_CTX_free(ctx); ++#else ++ q_EVP_CIPHER_CTX_cleanup(ctx); ++#endif + + return output.left(len); + } +diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp +index ab82cdc..c838e01 100644 +--- a/src/network/ssl/qsslsocket_openssl.cpp ++++ b/src/network/ssl/qsslsocket_openssl.cpp +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. + ** Copyright (C) 2014 Governikus GmbH & Co. KG + ** Contact: https://www.qt.io/licensing/ + ** +@@ -97,70 +97,6 @@ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false; + int QSslSocketBackendPrivate::s_indexForSSLExtraData = -1; + #endif + +-/* \internal +- +- From OpenSSL's thread(3) manual page: +- +- OpenSSL can safely be used in multi-threaded applications provided that at +- least two callback functions are set. +- +- locking_function(int mode, int n, const char *file, int line) is needed to +- perform locking on shared data structures. (Note that OpenSSL uses a +- number of global data structures that will be implicitly shared +- whenever multiple threads use OpenSSL.) Multi-threaded +- applications will crash at random if it is not set. ... +- ... +- id_function(void) is a function that returns a thread ID. It is not +- needed on Windows nor on platforms where getpid() returns a different +- ID for each thread (most notably Linux) +-*/ +-class QOpenSslLocks +-{ +-public: +- inline QOpenSslLocks() +- : initLocker(QMutex::Recursive), +- locksLocker(QMutex::Recursive) +- { +- QMutexLocker locker(&locksLocker); +- int numLocks = q_CRYPTO_num_locks(); +- locks = new QMutex *[numLocks]; +- memset(locks, 0, numLocks * sizeof(QMutex *)); +- } +- inline ~QOpenSslLocks() +- { +- QMutexLocker locker(&locksLocker); +- for (int i = 0; i < q_CRYPTO_num_locks(); ++i) +- delete locks[i]; +- delete [] locks; +- +- QSslSocketPrivate::deinitialize(); +- } +- inline QMutex *lock(int num) +- { +- QMutexLocker locker(&locksLocker); +- QMutex *tmp = locks[num]; +- if (!tmp) +- tmp = locks[num] = new QMutex(QMutex::Recursive); +- return tmp; +- } +- +- QMutex *globalLock() +- { +- return &locksLocker; +- } +- +- QMutex *initLock() +- { +- return &initLocker; +- } +- +-private: +- QMutex initLocker; +- QMutex locksLocker; +- QMutex **locks; +-}; +-Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks) +- + QString QSslSocketBackendPrivate::getErrorsFromOpenSsl() + { + QString errorString; +@@ -175,20 +111,6 @@ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl() + } + + extern "C" { +-static void locking_function(int mode, int lockNumber, const char *, int) +-{ +- QMutex *mutex = openssl_locks()->lock(lockNumber); +- +- // Lock or unlock it +- if (mode & CRYPTO_LOCK) +- mutex->lock(); +- else +- mutex->unlock(); +-} +-static unsigned long id_function() +-{ +- return (quintptr)QThread::currentThreadId(); +-} + + #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) + static unsigned int q_ssl_psk_client_callback(SSL *ssl, +@@ -227,7 +149,7 @@ QSslSocketBackendPrivate::~QSslSocketBackendPrivate() + destroySslContext(); + } + +-QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher) ++QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher) + { + QSslCipher ciph; + +@@ -283,6 +205,7 @@ struct QSslErrorList + QMutex mutex; + QVector errors; + }; ++ + Q_GLOBAL_STATIC(QSslErrorList, _q_sslErrorList) + + int q_X509Callback(int ok, X509_STORE_CTX *ctx) +@@ -312,7 +235,7 @@ int q_X509Callback(int ok, X509_STORE_CTX *ctx) + } + #endif + } +- // Always return OK to allow verification to continue. We're handle the ++ // Always return OK to allow verification to continue. We handle the + // errors gracefully after collecting all errors, after verification has + // completed. + return 1; +@@ -397,7 +320,7 @@ bool QSslSocketBackendPrivate::initSslContext() + if (configuration.protocol != QSsl::SslV2 && + configuration.protocol != QSsl::SslV3 && + configuration.protocol != QSsl::UnknownProtocol && +- mode == QSslSocket::SslClientMode && q_SSLeay() >= 0x00090806fL) { ++ mode == QSslSocket::SslClientMode && QSslSocket::sslLibraryVersionNumber() >= 0x00090806fL) { + // Set server hostname on TLS extension. RFC4366 section 3.1 requires it in ACE format. + QString tlsHostName = verificationPeerName.isEmpty() ? q->peerName() : verificationPeerName; + if (tlsHostName.isEmpty()) +@@ -438,13 +361,13 @@ bool QSslSocketBackendPrivate::initSslContext() + + #if OPENSSL_VERSION_NUMBER >= 0x10001000L + // Save a pointer to this object into the SSL structure. +- if (q_SSLeay() >= 0x10001000L) ++ if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) + q_SSL_set_ex_data(ssl, s_indexForSSLExtraData, this); + #endif + + #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) + // Set the client callback for PSK +- if (q_SSLeay() >= 0x10001000L) { ++ if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) { + if (mode == QSslSocket::SslClientMode) + q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback); + else if (mode == QSslSocket::SslServerMode) +@@ -466,16 +389,6 @@ void QSslSocketBackendPrivate::destroySslContext() + + /*! + \internal +-*/ +-void QSslSocketPrivate::deinitialize() +-{ +- q_CRYPTO_set_id_callback(0); +- q_CRYPTO_set_locking_callback(0); +- q_ERR_free_strings(); +-} +- +-/*! +- \internal + + Does the minimum amount of initialization to determine whether SSL + is supported or not. +@@ -486,91 +399,6 @@ bool QSslSocketPrivate::supportsSsl() + return ensureLibraryLoaded(); + } + +-bool QSslSocketPrivate::ensureLibraryLoaded() +-{ +- if (!q_resolveOpenSslSymbols()) +- return false; +- +- // Check if the library itself needs to be initialized. +- QMutexLocker locker(openssl_locks()->initLock()); +- +- if (!s_libraryLoaded) { +- s_libraryLoaded = true; +- +- // Initialize OpenSSL. +- q_CRYPTO_set_id_callback(id_function); +- q_CRYPTO_set_locking_callback(locking_function); +- if (q_SSL_library_init() != 1) +- return false; +- q_SSL_load_error_strings(); +- q_OpenSSL_add_all_algorithms(); +- +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +- if (q_SSLeay() >= 0x10001000L) +- QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL); +-#endif +- +- // Initialize OpenSSL's random seed. +- if (!q_RAND_status()) { +- qWarning("Random number generator not seeded, disabling SSL support"); +- return false; +- } +- } +- return true; +-} +- +-void QSslSocketPrivate::ensureCiphersAndCertsLoaded() +-{ +- QMutexLocker locker(openssl_locks()->initLock()); +- if (s_loadedCiphersAndCerts) +- return; +- s_loadedCiphersAndCerts = true; +- +- resetDefaultCiphers(); +- resetDefaultEllipticCurves(); +- +-#if QT_CONFIG(library) +- //load symbols needed to receive certificates from system store +-#if defined(Q_OS_WIN) +- HINSTANCE hLib = LoadLibraryW(L"Crypt32"); +- if (hLib) { +- ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); +- ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); +- ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); +- if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) +- qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen +- } else { +- qCWarning(lcSsl, "could not load crypt32 library"); // should never happen +- } +-#elif defined(Q_OS_QNX) +- s_loadRootCertsOnDemand = true; +-#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC) +- // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) +- QList dirs = unixRootCertDirectories(); +- QStringList symLinkFilter; +- symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]"); +- for (int a = 0; a < dirs.count(); ++a) { +- QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files); +- if (iterator.hasNext()) { +- s_loadRootCertsOnDemand = true; +- break; +- } +- } +-#endif +-#endif // QT_CONFIG(library) +- // if on-demand loading was not enabled, load the certs now +- if (!s_loadRootCertsOnDemand) +- setDefaultCaCertificates(systemCaCertificates()); +-#ifdef Q_OS_WIN +- //Enabled for fetching additional root certs from windows update on windows 6+ +- //This flag is set false by setDefaultCaCertificates() indicating the app uses +- //its own cert bundle rather than the system one. +- //Same logic that disables the unix on demand cert loading. +- //Unlike unix, we do preload the certificates from the cert store. +- if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0) +- s_loadRootCertsOnDemand = true; +-#endif +-} + + /*! + \internal +@@ -587,26 +415,6 @@ void QSslSocketPrivate::ensureInitialized() + ensureCiphersAndCertsLoaded(); + } + +-long QSslSocketPrivate::sslLibraryVersionNumber() +-{ +- if (!supportsSsl()) +- return 0; +- +- return q_SSLeay(); +-} +- +-QString QSslSocketPrivate::sslLibraryVersionString() +-{ +- if (!supportsSsl()) +- return QString(); +- +- const char *versionString = q_SSLeay_version(SSLEAY_VERSION); +- if (!versionString) +- return QString(); +- +- return QString::fromLatin1(versionString); +-} +- + long QSslSocketPrivate::sslLibraryBuildVersionNumber() + { + return OPENSSL_VERSION_NUMBER; +@@ -628,7 +436,11 @@ QString QSslSocketPrivate::sslLibraryBuildVersionString() + */ + void QSslSocketPrivate::resetDefaultCiphers() + { ++#if QT_CONFIG(opensslv11) ++ SSL_CTX *myCtx = q_SSL_CTX_new(q_TLS_client_method()); ++#else + SSL_CTX *myCtx = q_SSL_CTX_new(q_SSLv23_client_method()); ++#endif + SSL *mySsl = q_SSL_new(myCtx); + + QList ciphers; +@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves() + QVector curves; + + #ifndef OPENSSL_NO_EC +- const size_t curveCount = q_EC_get_builtin_curves(NULL, 0); ++ const size_t curveCount = q_EC_get_builtin_curves(nullptr, 0); + + QVarLengthArray builtinCurves(static_cast(curveCount)); + +@@ -698,13 +510,14 @@ QList QSslSocketPrivate::systemCaCertificates() + if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) { + HCERTSTORE hSystemStore; + hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT"); +- if(hSystemStore) { +- PCCERT_CONTEXT pc = NULL; +- while(1) { +- pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc); +- if(!pc) ++ if (hSystemStore) { ++ PCCERT_CONTEXT pc = nullptr; ++ while (1) { ++ pc = ptrCertFindCertificateInStore(hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, nullptr, pc); ++ if (!pc) + break; +- QByteArray der((const char *)(pc->pbCertEncoded), static_cast(pc->cbCertEncoded)); ++ QByteArray der(reinterpret_cast(pc->pbCertEncoded), ++ static_cast(pc->cbCertEncoded)); + QSslCertificate cert(der, QSsl::Der); + systemCerts.append(cert); + } +@@ -1502,14 +1315,8 @@ QSslCipher QSslSocketBackendPrivate::sessionCipher() const + { + if (!ssl) + return QSslCipher(); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- // FIXME This is fairly evil, but needed to keep source level compatibility +- // with the OpenSSL 0.9.x implementation at maximum -- some other functions +- // don't take a const SSL_CIPHER* when they should +- SSL_CIPHER *sessionCipher = const_cast(q_SSL_get_current_cipher(ssl)); +-#else +- SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl); +-#endif ++ ++ const SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl); + return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher(); + } + +@@ -1535,112 +1342,6 @@ QSsl::SslProtocol QSslSocketBackendPrivate::sessionProtocol() const + return QSsl::UnknownProtocol; + } + +-void QSslSocketBackendPrivate::continueHandshake() +-{ +- Q_Q(QSslSocket); +- // if we have a max read buffer size, reset the plain socket's to match +- if (readBufferMaxSize) +- plainSocket->setReadBufferSize(readBufferMaxSize); +- +- if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL)) +- configuration.peerSessionShared = true; +- +-#ifdef QT_DECRYPT_SSL_TRAFFIC +- if (ssl->session && ssl->s3) { +- const char *mk = reinterpret_cast(ssl->session->master_key); +- QByteArray masterKey(mk, ssl->session->master_key_length); +- const char *random = reinterpret_cast(ssl->s3->client_random); +- QByteArray clientRandom(random, SSL3_RANDOM_SIZE); +- +- // different format, needed for e.g. older Wireshark versions: +-// const char *sid = reinterpret_cast(ssl->session->session_id); +-// QByteArray sessionID(sid, ssl->session->session_id_length); +-// QByteArray debugLineRSA("RSA Session-ID:"); +-// debugLineRSA.append(sessionID.toHex().toUpper()); +-// debugLineRSA.append(" Master-Key:"); +-// debugLineRSA.append(masterKey.toHex().toUpper()); +-// debugLineRSA.append("\n"); +- +- QByteArray debugLineClientRandom("CLIENT_RANDOM "); +- debugLineClientRandom.append(clientRandom.toHex().toUpper()); +- debugLineClientRandom.append(" "); +- debugLineClientRandom.append(masterKey.toHex().toUpper()); +- debugLineClientRandom.append("\n"); +- +- QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys"); +- QFile file(sslKeyFile); +- if (!file.open(QIODevice::Append)) +- qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending"; +- if (!file.write(debugLineClientRandom)) +- qCWarning(lcSsl) << "could not write to file" << sslKeyFile; +- file.close(); +- } else { +- qCWarning(lcSsl, "could not decrypt SSL traffic"); +- } +-#endif +- +- // Cache this SSL session inside the QSslContext +- if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) { +- if (!sslContextPointer->cacheSession(ssl)) { +- sslContextPointer.clear(); // we could not cache the session +- } else { +- // Cache the session for permanent usage as well +- if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) { +- if (!sslContextPointer->sessionASN1().isEmpty()) +- configuration.sslSession = sslContextPointer->sessionASN1(); +- configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint(); +- } +- } +- } +- +-#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) +- +- configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status; +- if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) { +- // we could not agree -> be conservative and use HTTP/1.1 +- configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1"); +- } else { +- const unsigned char *proto = 0; +- unsigned int proto_len = 0; +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L +- if (q_SSLeay() >= 0x10002000L) { +- q_SSL_get0_alpn_selected(ssl, &proto, &proto_len); +- if (proto_len && mode == QSslSocket::SslClientMode) { +- // Client does not have a callback that sets it ... +- configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated; +- } +- } +- +- if (!proto_len) { // Test if NPN was more lucky ... +-#else +- { +-#endif +- q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len); +- } +- +- if (proto_len) +- configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast(proto), proto_len); +- else +- configuration.nextNegotiatedProtocol.clear(); +- } +-#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ... +- +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L +- if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) { +- EVP_PKEY *key; +- if (q_SSL_get_server_tmp_key(ssl, &key)) +- configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey); +- } +-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ... +- +- connectionEncrypted = true; +- emit q->encrypted(); +- if (autoStartHandshake && pendingClose) { +- pendingClose = false; +- q->disconnectFromHost(); +- } +-} +- + QList QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509) + { + ensureInitialized(); +@@ -1694,12 +1395,12 @@ QList QSslSocketBackendPrivate::verify(const QList & + QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex); + + // Register a custom callback to get all verification errors. +- X509_STORE_set_verify_cb_func(certStore, q_X509Callback); ++ q_X509_STORE_set_verify_cb(certStore, q_X509Callback); + + // Build the chain of intermediate certificates + STACK_OF(X509) *intermediates = 0; + if (certificateChain.length() > 1) { +- intermediates = (STACK_OF(X509) *) q_sk_new_null(); ++ intermediates = (STACK_OF(X509) *) q_OPENSSL_sk_new_null(); + + if (!intermediates) { + q_X509_STORE_free(certStore); +@@ -1713,11 +1414,8 @@ QList QSslSocketBackendPrivate::verify(const QList & + first = false; + continue; + } +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- q_sk_push( (_STACK *)intermediates, reinterpret_cast(cert.handle())); +-#else +- q_sk_push( (STACK *)intermediates, reinterpret_cast(cert.handle())); +-#endif ++ ++ q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast(cert.handle())); + } + } + +@@ -1741,11 +1439,7 @@ QList QSslSocketBackendPrivate::verify(const QList & + (void) q_X509_verify_cert(storeContext); + + q_X509_STORE_CTX_free(storeContext); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- q_sk_free( (_STACK *) intermediates); +-#else +- q_sk_free( (STACK *) intermediates); +-#endif ++ q_OPENSSL_sk_free((OPENSSL_STACK *)intermediates); + + // Now process the errors + const auto errorList = std::move(_q_sslErrorList()->errors); +@@ -1819,7 +1513,8 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device, + // Convert to Qt types + if (!key->d->fromEVP_PKEY(pkey)) { + qCWarning(lcSsl, "Unable to convert private key"); +- q_sk_pop_free(reinterpret_cast(ca), reinterpret_cast(q_sk_free)); ++ q_OPENSSL_sk_pop_free(reinterpret_cast(ca), ++ reinterpret_cast(q_OPENSSL_sk_free)); + q_X509_free(x509); + q_EVP_PKEY_free(pkey); + q_PKCS12_free(p12); +@@ -1834,7 +1529,11 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device, + *caCertificates = QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(ca); + + // Clean up +- q_sk_pop_free(reinterpret_cast(ca), reinterpret_cast(q_sk_free)); ++ // TODO: verify ASAP, in the past we had sk_pop_free with q_OPENSSL_sk_free ++ // which seems to be blatantly wrong and even crashes with 1.1. ++ q_OPENSSL_sk_pop_free(reinterpret_cast(ca), ++ reinterpret_cast(q_X509_free)); ++ + q_X509_free(x509); + q_EVP_PKEY_free(pkey); + q_PKCS12_free(p12); +diff --git a/src/network/ssl/qsslsocket_openssl11.cpp b/src/network/ssl/qsslsocket_openssl11.cpp +new file mode 100644 +index 0000000..b6d1894 +--- /dev/null ++++ b/src/network/ssl/qsslsocket_openssl11.cpp +@@ -0,0 +1,285 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2014 Governikus GmbH & Co. KG ++** Copyright (C) 2016 Richard J. Moore ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the QtNetwork module of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 3 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL3 included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 3 requirements ++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 2.0 or (at your option) the GNU General ++** Public license version 3 or any later version approved by the KDE Free ++** Qt Foundation. The licenses are as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-2.0.html and ++** https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++/**************************************************************************** ++** ++** In addition, as a special exception, the copyright holders listed above give ++** permission to link the code of its release of Qt with the OpenSSL project's ++** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the ++** same license as the original version), and distribute the linked executables. ++** ++** You must comply with the GNU General Public License version 2 in all ++** respects for all of the code used other than the "OpenSSL" code. If you ++** modify this file, you may extend this exception to your version of the file, ++** but you are not obligated to do so. If you do not wish to do so, delete ++** this exception statement from your version of this file. ++** ++****************************************************************************/ ++ ++//#define QT_DECRYPT_SSL_TRAFFIC ++ ++#include "qssl_p.h" ++#include "qsslsocket_openssl_p.h" ++#include "qsslsocket_openssl_symbols_p.h" ++#include "qsslsocket.h" ++#include "qsslkey.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++QT_BEGIN_NAMESPACE ++ ++Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_opensslInitMutex, (QMutex::Recursive)) ++ ++/*! ++ \internal ++*/ ++void QSslSocketPrivate::deinitialize() ++{ ++ // This function exists only for compatibility with the pre-11 code, ++ // where deinitialize() actually does some cleanup. To be discarded ++ // once we retire < 1.1. ++} ++ ++bool QSslSocketPrivate::ensureLibraryLoaded() ++{ ++ if (!q_resolveOpenSslSymbols()) ++ return false; ++ ++ const QMutexLocker locker(qt_opensslInitMutex); ++ ++ if (!s_libraryLoaded) { ++ s_libraryLoaded = true; ++ ++ // Initialize OpenSSL. ++ if (q_OPENSSL_init_ssl(0, nullptr) != 1) ++ return false; ++ q_SSL_load_error_strings(); ++ q_OpenSSL_add_all_algorithms(); ++ ++ QSslSocketBackendPrivate::s_indexForSSLExtraData ++ = q_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, 0L, nullptr, nullptr, ++ nullptr, nullptr); ++ ++ // Initialize OpenSSL's random seed. ++ if (!q_RAND_status()) { ++ qWarning("Random number generator not seeded, disabling SSL support"); ++ return false; ++ } ++ } ++ return true; ++} ++ ++void QSslSocketPrivate::ensureCiphersAndCertsLoaded() ++{ ++ const QMutexLocker locker(qt_opensslInitMutex); ++ ++ if (s_loadedCiphersAndCerts) ++ return; ++ s_loadedCiphersAndCerts = true; ++ ++ resetDefaultCiphers(); ++ resetDefaultEllipticCurves(); ++ ++#if QT_CONFIG(library) ++ //load symbols needed to receive certificates from system store ++#if defined(Q_OS_WIN) ++ HINSTANCE hLib = LoadLibraryW(L"Crypt32"); ++ if (hLib) { ++ ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); ++ ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); ++ ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); ++ if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) ++ qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen ++ } else { ++ qCWarning(lcSsl, "could not load crypt32 library"); // should never happen ++ } ++#elif defined(Q_OS_QNX) ++ s_loadRootCertsOnDemand = true; ++#elif defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) ++ // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) ++ QList dirs = unixRootCertDirectories(); ++ QStringList symLinkFilter; ++ symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]"); ++ for (int a = 0; a < dirs.count(); ++a) { ++ QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files); ++ if (iterator.hasNext()) { ++ s_loadRootCertsOnDemand = true; ++ break; ++ } ++ } ++#endif ++#endif // QT_CONFIG(library) ++ // if on-demand loading was not enabled, load the certs now ++ if (!s_loadRootCertsOnDemand) ++ setDefaultCaCertificates(systemCaCertificates()); ++#ifdef Q_OS_WIN ++ //Enabled for fetching additional root certs from windows update on windows 6+ ++ //This flag is set false by setDefaultCaCertificates() indicating the app uses ++ //its own cert bundle rather than the system one. ++ //Same logic that disables the unix on demand cert loading. ++ //Unlike unix, we do preload the certificates from the cert store. ++ if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0) ++ s_loadRootCertsOnDemand = true; ++#endif ++} ++ ++long QSslSocketPrivate::sslLibraryVersionNumber() ++{ ++ if (!supportsSsl()) ++ return 0; ++ ++ return q_OpenSSL_version_num(); ++} ++ ++QString QSslSocketPrivate::sslLibraryVersionString() ++{ ++ if (!supportsSsl()) ++ return QString(); ++ ++ const char *versionString = q_OpenSSL_version(OPENSSL_VERSION); ++ if (!versionString) ++ return QString(); ++ ++ return QString::fromLatin1(versionString); ++} ++ ++void QSslSocketBackendPrivate::continueHandshake() ++{ ++ Q_Q(QSslSocket); ++ // if we have a max read buffer size, reset the plain socket's to match ++ if (readBufferMaxSize) ++ plainSocket->setReadBufferSize(readBufferMaxSize); ++ ++ if (q_SSL_session_reused(ssl)) ++ configuration.peerSessionShared = true; ++ ++#ifdef QT_DECRYPT_SSL_TRAFFIC ++ if (q_SSL_get_session(ssl)) { ++ size_t master_key_len = q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), 0, 0); ++ size_t client_random_len = q_SSL_get_client_random(ssl, 0, 0); ++ QByteArray masterKey(int(master_key_len), 0); // Will not overflow ++ QByteArray clientRandom(int(client_random_len), 0); // Will not overflow ++ ++ q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), ++ reinterpret_cast(masterKey.data()), ++ masterKey.size()); ++ q_SSL_get_client_random(ssl, reinterpret_cast(clientRandom.data()), ++ clientRandom.size()); ++ ++ QByteArray debugLineClientRandom("CLIENT_RANDOM "); ++ debugLineClientRandom.append(clientRandom.toHex().toUpper()); ++ debugLineClientRandom.append(" "); ++ debugLineClientRandom.append(masterKey.toHex().toUpper()); ++ debugLineClientRandom.append("\n"); ++ ++ QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys"); ++ QFile file(sslKeyFile); ++ if (!file.open(QIODevice::Append)) ++ qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending"; ++ if (!file.write(debugLineClientRandom)) ++ qCWarning(lcSsl) << "could not write to file" << sslKeyFile; ++ file.close(); ++ } else { ++ qCWarning(lcSsl, "could not decrypt SSL traffic"); ++ } ++#endif ++ ++ // Cache this SSL session inside the QSslContext ++ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) { ++ if (!sslContextPointer->cacheSession(ssl)) { ++ sslContextPointer.clear(); // we could not cache the session ++ } else { ++ // Cache the session for permanent usage as well ++ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) { ++ if (!sslContextPointer->sessionASN1().isEmpty()) ++ configuration.sslSession = sslContextPointer->sessionASN1(); ++ configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint(); ++ } ++ } ++ } ++ ++#if !defined(OPENSSL_NO_NEXTPROTONEG) ++ ++ configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status; ++ if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) { ++ // we could not agree -> be conservative and use HTTP/1.1 ++ configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1"); ++ } else { ++ const unsigned char *proto = 0; ++ unsigned int proto_len = 0; ++ ++ q_SSL_get0_alpn_selected(ssl, &proto, &proto_len); ++ if (proto_len && mode == QSslSocket::SslClientMode) { ++ // Client does not have a callback that sets it ... ++ configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated; ++ } ++ ++ if (!proto_len) { // Test if NPN was more lucky ... ++ q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len); ++ } ++ ++ if (proto_len) ++ configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast(proto), proto_len); ++ else ++ configuration.nextNegotiatedProtocol.clear(); ++ } ++#endif // !defined(OPENSSL_NO_NEXTPROTONEG) ++ ++ if (mode == QSslSocket::SslClientMode) { ++ EVP_PKEY *key; ++ if (q_SSL_get_server_tmp_key(ssl, &key)) ++ configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey); ++ } ++ ++ connectionEncrypted = true; ++ emit q->encrypted(); ++ if (autoStartHandshake && pendingClose) { ++ pendingClose = false; ++ q->disconnectFromHost(); ++ } ++} ++ ++QT_END_NAMESPACE +diff --git a/src/network/ssl/qsslsocket_openssl11_symbols_p.h b/src/network/ssl/qsslsocket_openssl11_symbols_p.h +new file mode 100644 +index 0000000..2980b3d +--- /dev/null ++++ b/src/network/ssl/qsslsocket_openssl11_symbols_p.h +@@ -0,0 +1,132 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2014 BlackBerry Limited. All rights reserved. ++** Copyright (C) 2016 Richard J. Moore ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the QtNetwork module of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 3 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL3 included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 3 requirements ++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 2.0 or (at your option) the GNU General ++** Public license version 3 or any later version approved by the KDE Free ++** Qt Foundation. The licenses are as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-2.0.html and ++** https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++/**************************************************************************** ++** ++** In addition, as a special exception, the copyright holders listed above give ++** permission to link the code of its release of Qt with the OpenSSL project's ++** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the ++** same license as the original version), and distribute the linked executables. ++** ++** You must comply with the GNU General Public License version 2 in all ++** respects for all of the code used other than the "OpenSSL" code. If you ++** modify this file, you may extend this exception to your version of the file, ++** but you are not obligated to do so. If you do not wish to do so, delete ++** this exception statement from your version of this file. ++** ++****************************************************************************/ ++ ++#ifndef QSSLSOCKET_OPENSSL11_SYMBOLS_P_H ++#define QSSLSOCKET_OPENSSL11_SYMBOLS_P_H ++ ++// ++// W A R N I N G ++// ------------- ++// ++// This file is not part of the Qt API. It exists purely as an ++// implementation detail. This header file may change from version to ++// version without notice, or even be removed. ++// ++// We mean it. ++// ++ ++// Note: this file does not have QT_BEGIN_NAMESPACE/QT_END_NAMESPACE, it's done ++// in qsslsocket_openssl_symbols_p.h. ++ ++#ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H ++#error "You are not supposed to use this header file, include qsslsocket_openssl_symbols_p.h instead" ++#endif ++ ++const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x); ++ ++Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a); ++Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem(); ++ ++int q_DSA_bits(DSA *a); ++int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); ++int q_EVP_PKEY_base_id(EVP_PKEY *a); ++int q_RSA_bits(RSA *a); ++int q_OPENSSL_sk_num(OPENSSL_STACK *a); ++void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *)); ++OPENSSL_STACK *q_OPENSSL_sk_new_null(); ++void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data); ++void q_OPENSSL_sk_free(OPENSSL_STACK *a); ++void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b); ++int q_SSL_session_reused(SSL *a); ++unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op); ++int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); ++size_t q_SSL_get_client_random(SSL *a, unsigned char *out, size_t outlen); ++size_t q_SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *out, size_t outlen); ++int q_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); ++const SSL_METHOD *q_TLS_method(); ++const SSL_METHOD *q_TLS_client_method(); ++const SSL_METHOD *q_TLS_server_method(); ++ASN1_TIME *q_X509_getm_notBefore(X509 *a); ++ASN1_TIME *q_X509_getm_notAfter(X509 *a); ++ ++long q_X509_get_version(X509 *a); ++EVP_PKEY *q_X509_get_pubkey(X509 *a); ++void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb); ++STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); ++void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); ++int q_DH_bits(DH *dh); ++ ++# define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ ++ | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) ++ ++#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st) ++#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i) ++ ++#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ ++ | OPENSSL_INIT_ADD_ALL_DIGESTS \ ++ | OPENSSL_INIT_LOAD_CONFIG, NULL) ++#define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ ++ | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) ++ ++int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); ++void q_CRYPTO_free(void *str, const char *file, int line); ++ ++long q_OpenSSL_version_num(); ++const char *q_OpenSSL_version(int type); ++ ++unsigned long q_SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session); ++ ++#endif +diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h +index b2adb3e..7f9e884 100644 +--- a/src/network/ssl/qsslsocket_openssl_p.h ++++ b/src/network/ssl/qsslsocket_openssl_p.h +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtNetwork module of the Qt Toolkit. +@@ -98,8 +98,8 @@ + #include + #include + +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +-typedef _STACK STACK; ++#if QT_CONFIG(opensslv11) ++#include + #endif + + QT_BEGIN_NAMESPACE +@@ -151,7 +151,7 @@ public: + #endif + + Q_AUTOTEST_EXPORT static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions); +- static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher); ++ static QSslCipher QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher); + static QList STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509); + static QList verify(const QList &certificateChain, const QString &hostName); + static QString getErrorsFromOpenSsl(); +diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp +index c344a94..0ef8bf6 100644 +--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp ++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp +@@ -1,7 +1,8 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. + ** Copyright (C) 2014 BlackBerry Limited. All rights reserved. ++** Copyright (C) 2016 Richard J. Moore + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtNetwork module of the Qt Toolkit. +@@ -136,49 +137,195 @@ void qsslSocketCannotResolveSymbolWarning(const char *functionName) + + #endif // QT_LINKED_OPENSSL + ++#if QT_CONFIG(opensslv11) ++ ++// Below are the functions first introduced in version 1.1: ++ ++DEFINEFUNC(const unsigned char *, ASN1_STRING_get0_data, const ASN1_STRING *a, a, return 0, return) ++DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return) ++DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return) ++DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return) ++DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) ++DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) ++DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return) ++DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return) ++DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return) ++DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return) ++DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return) ++DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG) ++DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG) ++DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG) ++DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return 0, return) ++DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return) ++DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return) ++DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return) ++DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return) ++DEFINEFUNC6(int, CRYPTO_get_ex_new_index, int class_index, class_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return) ++ ++DEFINEFUNC(const SSL_METHOD *, TLS_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *a, a, return 0, return) ++DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *a, a, return 0, return) ++DEFINEFUNC(long, X509_get_version, X509 *a, a, return -1, return) ++DEFINEFUNC(EVP_PKEY *, X509_get_pubkey, X509 *a, a, return 0, return) ++DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_verify_cb verify_cb, verify_cb, return, DUMMYARG) ++DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return) ++DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG) ++DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return) ++DEFINEFUNC(const char *, OpenSSL_version, int a, a, return 0, return) ++DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return) ++DEFINEFUNC4(void, DH_get0_pqg, const DH *dh, dh, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, DUMMYARG) ++DEFINEFUNC(int, DH_bits, DH *dh, dh, return 0, return) ++ ++#else // QT_CONFIG(opensslv11) ++ ++// Functions below are either deprecated or removed in OpenSSL >= 1.1: ++ ++DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return) ++ + #ifdef SSLEAY_MACROS + DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c, return 0, return) + #endif ++DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return) ++DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG) ++DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return) ++DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) ++DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG) ++DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG) ++DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG) ++DEFINEFUNC(unsigned long, ERR_peek_last_error, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG) ++DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG) ++DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG) ++ ++#ifdef SSLEAY_MACROS ++DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) ++DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) ++#endif // SSLEAY_MACROS ++ ++DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) ++DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG) ++DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG) ++DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return) ++#else ++DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG) ++DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG) ++DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return) ++#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L ++ ++DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return) ++DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG) ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return) ++#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#ifndef OPENSSL_NO_SSL2 ++DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++#ifndef OPENSSL_NO_SSL3_METHOD ++DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++#ifndef OPENSSL_NO_SSL2 ++DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++#ifndef OPENSSL_NO_SSL3_METHOD ++DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++#else ++#ifndef OPENSSL_NO_SSL2 ++DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++#ifndef OPENSSL_NO_SSL3_METHOD ++DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#ifndef OPENSSL_NO_SSL2 ++DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++#ifndef OPENSSL_NO_SSL3_METHOD ++DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif ++ ++DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return) ++ ++#ifdef SSLEAY_MACROS ++DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return) ++DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return) ++#ifndef OPENSSL_NO_EC ++DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return) ++#endif ++DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return) ++DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return) ++#ifndef OPENSSL_NO_EC ++DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return) ++#endif ++#endif ++DEFINEFUNC(char *, CONF_get1_default_config_file, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG) ++DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG) ++DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return) ++DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return) ++ ++#endif // QT_CONFIG(opensslv11) ++ + DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return) +-DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return) + DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return) +-DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return); ++DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return) + DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return) + DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return) +-DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return) + DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return) + DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return) +-DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) ++ + DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return) + DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L +-DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) +-#endif + DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast(-1), return) + #ifndef OPENSSL_NO_EC + DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return) + DEFINEFUNC(int, EC_GROUP_get_degree, const EC_GROUP* g, g, return 0, return) + #endif +-DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG) +-DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG) +-DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG) + DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG) + DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, const unsigned char **b, b, long c, c, return 0, return) + DEFINEFUNC2(char *, ERR_error_string, unsigned long a, a, char *b, b, return 0, return) + DEFINEFUNC(unsigned long, ERR_get_error, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG) +-DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG) +-DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG) +-DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return); ++DEFINEFUNC(EVP_CIPHER_CTX *, EVP_CIPHER_CTX_new, void, DUMMYARG, return 0, return) ++DEFINEFUNC(void, EVP_CIPHER_CTX_free, EVP_CIPHER_CTX *a, a, return, DUMMYARG) ++DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return) + DEFINEFUNC2(int, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX *ctx, ctx, int keylen, keylen, return 0, return) +-DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return); +-DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return); +-DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return); ++DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return) ++DEFINEFUNC6(int, EVP_CipherInit_ex, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *cipher, cipher, ENGINE *impl, impl, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return) ++DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return) ++DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return) + DEFINEFUNC(const EVP_CIPHER *, EVP_des_cbc, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(const EVP_CIPHER *, EVP_des_ede3_cbc, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(const EVP_CIPHER *, EVP_rc2_cbc, DUMMYARG, DUMMYARG, return 0, return) ++DEFINEFUNC(const EVP_MD *, EVP_sha1, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC3(int, EVP_PKEY_assign, EVP_PKEY *a, a, int b, b, char *c, c, return -1, return) + DEFINEFUNC2(int, EVP_PKEY_set1_RSA, EVP_PKEY *a, a, RSA *b, b, return -1, return) + DEFINEFUNC2(int, EVP_PKEY_set1_DSA, EVP_PKEY *a, a, DSA *b, b, return -1, return) +@@ -202,10 +349,8 @@ DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, retur + DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return) + + DEFINEFUNC(int, OBJ_obj2nid, const ASN1_OBJECT *a, a, return NID_undef, return) +-#ifdef SSLEAY_MACROS +-DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) +-DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) +-#else ++ ++#ifndef SSLEAY_MACROS + DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PrivateKey, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return) + DEFINEFUNC4(DSA *, PEM_read_bio_DSAPrivateKey, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) + DEFINEFUNC4(RSA *, PEM_read_bio_RSAPrivateKey, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) +@@ -218,7 +363,7 @@ DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CI + #ifndef OPENSSL_NO_EC + DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) + #endif +-#endif ++#endif // !SSLEAY_MACROS + DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PUBKEY, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return) + DEFINEFUNC4(DSA *, PEM_read_bio_DSA_PUBKEY, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) + DEFINEFUNC4(RSA *, PEM_read_bio_RSA_PUBKEY, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) +@@ -234,23 +379,10 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG) + DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return) + DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG) +-DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) +-DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +-DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG) +-DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG) +-DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return) +-#else +-DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG) +-DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG) +-DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return) +-#endif + DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return) + DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return) +-DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return) +-DEFINEFUNC2(int, SSL_CIPHER_get_bits, SSL_CIPHER *a, a, int *b, b, return 0, return) ++DEFINEFUNC3(char *, SSL_CIPHER_description, const SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return) ++DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *a, a, int *b, b, return 0, return) + DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return) + DEFINEFUNC(int, SSL_CTX_check_private_key, const SSL_CTX *a, a, return -1, return) + DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return) +@@ -287,8 +419,6 @@ DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return) + #else + DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return) + #endif +-DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return) +-DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG) + DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return) + DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return) + DEFINEFUNC3(int, SSL_read, SSL *a, a, void *b, b, int c, c, return -1, return) +@@ -301,7 +431,6 @@ DEFINEFUNC(void, SSL_SESSION_free, SSL_SESSION *ses, ses, return, DUMMYARG) + DEFINEFUNC(SSL_SESSION*, SSL_get1_session, SSL *ssl, ssl, return 0, return) + DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return) + #if OPENSSL_VERSION_NUMBER >= 0x10001000L +-DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return) + DEFINEFUNC3(int, SSL_set_ex_data, SSL *ssl, ssl, int idx, idx, void *arg, arg, return 0, return) + DEFINEFUNC2(void *, SSL_get_ex_data, const SSL *ssl, ssl, int idx, idx, return NULL, return) + #endif +@@ -310,51 +439,9 @@ DEFINEFUNC2(void, SSL_set_psk_client_callback, SSL* ssl, ssl, q_psk_client_callb + DEFINEFUNC2(void, SSL_set_psk_server_callback, SSL* ssl, ssl, q_psk_server_callback_t callback, callback, return, DUMMYARG) + DEFINEFUNC2(int, SSL_CTX_use_psk_identity_hint, SSL_CTX* ctx, ctx, const char *hint, hint, return 0, return) + #endif +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +-#ifndef OPENSSL_NO_SSL2 +-DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +-DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-#ifndef OPENSSL_NO_SSL2 +-DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +-DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-#else +-#ifndef OPENSSL_NO_SSL2 +-DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) +-#ifndef OPENSSL_NO_SSL2 +-DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif +-DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) +-DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) +-#endif + DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return) + DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return) ++DEFINEFUNC4(int, X509_digest, const X509 *x509, x509, const EVP_MD *type, type, unsigned char *md, md, unsigned int *len, len, return -1, return) + #ifndef SSLEAY_MACROS + DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return) + #endif +@@ -378,6 +465,7 @@ DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, ASN1_STRING *b, b, return 0, retu + DEFINEFUNC2(int, X509_check_issued, X509 *a, a, X509 *b, b, return -1, return) + DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return) + DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return) ++DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *a, a, return 0, return) + DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return) + DEFINEFUNC(int, X509_NAME_entry_count, X509_NAME *a, a, return 0, return) + DEFINEFUNC2(X509_NAME_ENTRY *, X509_NAME_get_entry, X509_NAME *a, a, int b, b, return 0, return) +@@ -393,25 +481,8 @@ DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, ret + DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return) + DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return) + DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return) +-DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return) + DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return) +-#ifdef SSLEAY_MACROS +-DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return) +-DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return) +-#ifndef OPENSSL_NO_EC +-DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return) +-#endif +-DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return) +-DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return) +-#ifndef OPENSSL_NO_EC +-DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return) +-#endif +-#endif +-DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG) +-DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG) + DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return) +-DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return) +-DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return) + DEFINEFUNC2(int, i2d_SSL_SESSION, SSL_SESSION *in, in, unsigned char **pp, pp, return 0, return) + DEFINEFUNC3(SSL_SESSION *, d2i_SSL_SESSION, SSL_SESSION **a, a, const unsigned char **pp, pp, long length, length, return 0, return) + #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) +@@ -694,8 +765,8 @@ static QPair loadOpenSsl() + #ifndef Q_OS_DARWIN + // second attempt: find the development files libssl.so and libcrypto.so + // +- // disabled on OS X/iOS: +- // OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third ++ // disabled on macOS/iOS: ++ // macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third + // attempt, _after_ /Contents/Frameworks has been searched. + // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. + libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); +@@ -754,8 +825,12 @@ bool q_resolveOpenSslSymbols() + static bool symbolsResolved = false; + static bool triedToResolveSymbols = false; + #ifndef QT_NO_THREAD ++#if QT_CONFIG(opensslv11) ++ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl)); ++#else + QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init)); + #endif ++#endif + if (symbolsResolved) + return true; + if (triedToResolveSymbols) +@@ -771,11 +846,145 @@ bool q_resolveOpenSslSymbols() + // failed to load them + return false; + ++#if QT_CONFIG(opensslv11) ++ ++ RESOLVEFUNC(OPENSSL_init_ssl) ++ RESOLVEFUNC(OPENSSL_init_crypto) ++ RESOLVEFUNC(ASN1_STRING_get0_data) ++ RESOLVEFUNC(EVP_CIPHER_CTX_reset) ++ RESOLVEFUNC(EVP_PKEY_base_id) ++ RESOLVEFUNC(RSA_bits) ++ RESOLVEFUNC(OPENSSL_sk_new_null) ++ RESOLVEFUNC(OPENSSL_sk_push) ++ RESOLVEFUNC(OPENSSL_sk_free) ++ RESOLVEFUNC(OPENSSL_sk_num) ++ RESOLVEFUNC(OPENSSL_sk_pop_free) ++ RESOLVEFUNC(OPENSSL_sk_value) ++ RESOLVEFUNC(DH_get0_pqg) ++ RESOLVEFUNC(SSL_CTX_set_options) ++ RESOLVEFUNC(SSL_get_client_random) ++ RESOLVEFUNC(SSL_SESSION_get_master_key) ++ RESOLVEFUNC(SSL_session_reused) ++ RESOLVEFUNC(SSL_get_session) ++ RESOLVEFUNC(CRYPTO_get_ex_new_index) ++ RESOLVEFUNC(TLS_method) ++ RESOLVEFUNC(TLS_client_method) ++ RESOLVEFUNC(TLS_server_method) ++ RESOLVEFUNC(X509_STORE_CTX_get0_chain) ++ RESOLVEFUNC(X509_getm_notBefore) ++ RESOLVEFUNC(X509_getm_notAfter) ++ RESOLVEFUNC(X509_get_version) ++ RESOLVEFUNC(X509_get_pubkey) ++ RESOLVEFUNC(X509_STORE_set_verify_cb) ++ RESOLVEFUNC(CRYPTO_free) ++ RESOLVEFUNC(OpenSSL_version_num) ++ RESOLVEFUNC(OpenSSL_version) ++ if (!_q_OpenSSL_version) { ++ // Apparently, we were built with OpenSSL 1.1 enabled but are now using ++ // a wrong library. ++ delete libs.first; ++ delete libs.second; ++ qCWarning(lcSsl, "Incompatible version of OpenSSL"); ++ return false; ++ } ++ ++ RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint) ++ RESOLVEFUNC(DH_bits) ++ RESOLVEFUNC(DSA_bits) ++ ++#else // !opensslv11 ++ ++ RESOLVEFUNC(ASN1_STRING_data) ++ + #ifdef SSLEAY_MACROS + RESOLVEFUNC(ASN1_dup) ++#endif // SSLEAY_MACROS ++ RESOLVEFUNC(BIO_new_file) ++ RESOLVEFUNC(ERR_clear_error) ++ RESOLVEFUNC(CRYPTO_free) ++ RESOLVEFUNC(CRYPTO_num_locks) ++ RESOLVEFUNC(CRYPTO_set_id_callback) ++ RESOLVEFUNC(CRYPTO_set_locking_callback) ++ RESOLVEFUNC(ERR_peek_last_error) ++ RESOLVEFUNC(ERR_free_strings) ++ RESOLVEFUNC(EVP_CIPHER_CTX_cleanup) ++ RESOLVEFUNC(EVP_CIPHER_CTX_init) ++ ++#ifdef SSLEAY_MACROS // ### verify ++ RESOLVEFUNC(PEM_ASN1_read_bio) ++#endif // SSLEAY_MACROS ++ ++ RESOLVEFUNC(sk_new_null) ++ RESOLVEFUNC(sk_push) ++ RESOLVEFUNC(sk_free) ++ RESOLVEFUNC(sk_num) ++ RESOLVEFUNC(sk_pop_free) ++ RESOLVEFUNC(sk_value) ++ RESOLVEFUNC(SSL_library_init) ++ RESOLVEFUNC(SSL_load_error_strings) ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ RESOLVEFUNC(SSL_get_ex_new_index) ++#endif ++#ifndef OPENSSL_NO_SSL2 ++ RESOLVEFUNC(SSLv2_client_method) + #endif ++#ifndef OPENSSL_NO_SSL3_METHOD ++ RESOLVEFUNC(SSLv3_client_method) ++#endif ++ RESOLVEFUNC(SSLv23_client_method) ++ RESOLVEFUNC(TLSv1_client_method) ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ RESOLVEFUNC(TLSv1_1_client_method) ++ RESOLVEFUNC(TLSv1_2_client_method) ++#endif ++#ifndef OPENSSL_NO_SSL2 ++ RESOLVEFUNC(SSLv2_server_method) ++#endif ++#ifndef OPENSSL_NO_SSL3_METHOD ++ RESOLVEFUNC(SSLv3_server_method) ++#endif ++ RESOLVEFUNC(SSLv23_server_method) ++ RESOLVEFUNC(TLSv1_server_method) ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ RESOLVEFUNC(TLSv1_1_server_method) ++ RESOLVEFUNC(TLSv1_2_server_method) ++#endif ++ RESOLVEFUNC(X509_STORE_CTX_get_chain) ++#ifdef SSLEAY_MACROS ++ RESOLVEFUNC(i2d_DSAPrivateKey) ++ RESOLVEFUNC(i2d_RSAPrivateKey) ++ RESOLVEFUNC(d2i_DSAPrivateKey) ++ RESOLVEFUNC(d2i_RSAPrivateKey) ++#endif ++ RESOLVEFUNC(CONF_get1_default_config_file) ++ RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf) ++ RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) ++ RESOLVEFUNC(SSLeay) ++ ++ if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) { ++ // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to ++ // resolve this symbol as a failure to resolve symbols. ++ // The right operand of '||' above is ... a bit of paranoia. ++ delete libs.first; ++ delete libs.second; ++ qCWarning(lcSsl, "Incompatible version of OpenSSL"); ++ return false; ++ } ++ ++ ++ RESOLVEFUNC(SSLeay_version) ++ ++#ifndef OPENSSL_NO_EC ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ if (q_SSLeay() >= 0x10002000L) ++ RESOLVEFUNC(EC_curve_nist2nid) ++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ++#endif // OPENSSL_NO_EC ++ ++ ++#endif // !opensslv11 ++ + RESOLVEFUNC(ASN1_INTEGER_get) +- RESOLVEFUNC(ASN1_STRING_data) + RESOLVEFUNC(ASN1_STRING_length) + RESOLVEFUNC(ASN1_STRING_to_UTF8) + RESOLVEFUNC(BIO_ctrl) +@@ -794,25 +1003,22 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(BN_is_word) + #endif + RESOLVEFUNC(BN_mod_word) +- RESOLVEFUNC(CRYPTO_free) +- RESOLVEFUNC(CRYPTO_num_locks) +- RESOLVEFUNC(CRYPTO_set_id_callback) +- RESOLVEFUNC(CRYPTO_set_locking_callback) + RESOLVEFUNC(DSA_new) + RESOLVEFUNC(DSA_free) + RESOLVEFUNC(ERR_error_string) + RESOLVEFUNC(ERR_get_error) +- RESOLVEFUNC(ERR_free_strings) +- RESOLVEFUNC(EVP_CIPHER_CTX_cleanup) +- RESOLVEFUNC(EVP_CIPHER_CTX_init) ++ RESOLVEFUNC(EVP_CIPHER_CTX_new) ++ RESOLVEFUNC(EVP_CIPHER_CTX_free) + RESOLVEFUNC(EVP_CIPHER_CTX_ctrl) + RESOLVEFUNC(EVP_CIPHER_CTX_set_key_length) + RESOLVEFUNC(EVP_CipherInit) ++ RESOLVEFUNC(EVP_CipherInit_ex) + RESOLVEFUNC(EVP_CipherUpdate) + RESOLVEFUNC(EVP_CipherFinal) + RESOLVEFUNC(EVP_des_cbc) + RESOLVEFUNC(EVP_des_ede3_cbc) + RESOLVEFUNC(EVP_rc2_cbc) ++ RESOLVEFUNC(EVP_sha1) + RESOLVEFUNC(EVP_PKEY_assign) + RESOLVEFUNC(EVP_PKEY_set1_RSA) + RESOLVEFUNC(EVP_PKEY_set1_DSA) +@@ -834,9 +1040,8 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(i2t_ASN1_OBJECT) + RESOLVEFUNC(OBJ_obj2txt) + RESOLVEFUNC(OBJ_obj2nid) +-#ifdef SSLEAY_MACROS // ### verify +- RESOLVEFUNC(PEM_ASN1_read_bio) +-#else ++ ++#ifndef SSLEAY_MACROS + RESOLVEFUNC(PEM_read_bio_PrivateKey) + RESOLVEFUNC(PEM_read_bio_DSAPrivateKey) + RESOLVEFUNC(PEM_read_bio_RSAPrivateKey) +@@ -849,7 +1054,8 @@ bool q_resolveOpenSslSymbols() + #ifndef OPENSSL_NO_EC + RESOLVEFUNC(PEM_write_bio_ECPrivateKey) + #endif +-#endif ++#endif // !SSLEAY_MACROS ++ + RESOLVEFUNC(PEM_read_bio_PUBKEY) + RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY) + RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY) +@@ -865,12 +1071,6 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(RAND_status) + RESOLVEFUNC(RSA_new) + RESOLVEFUNC(RSA_free) +- RESOLVEFUNC(sk_new_null) +- RESOLVEFUNC(sk_push) +- RESOLVEFUNC(sk_free) +- RESOLVEFUNC(sk_num) +- RESOLVEFUNC(sk_pop_free) +- RESOLVEFUNC(sk_value) + RESOLVEFUNC(SSL_CIPHER_description) + RESOLVEFUNC(SSL_CIPHER_get_bits) + RESOLVEFUNC(SSL_CTX_check_private_key) +@@ -898,8 +1098,6 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(SSL_get_peer_cert_chain) + RESOLVEFUNC(SSL_get_peer_certificate) + RESOLVEFUNC(SSL_get_verify_result) +- RESOLVEFUNC(SSL_library_init) +- RESOLVEFUNC(SSL_load_error_strings) + RESOLVEFUNC(SSL_new) + RESOLVEFUNC(SSL_ctrl) + RESOLVEFUNC(SSL_read) +@@ -912,7 +1110,6 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(SSL_get1_session) + RESOLVEFUNC(SSL_get_session) + #if OPENSSL_VERSION_NUMBER >= 0x10001000L +- RESOLVEFUNC(SSL_get_ex_new_index) + RESOLVEFUNC(SSL_set_ex_data) + RESOLVEFUNC(SSL_get_ex_data) + #endif +@@ -922,30 +1119,6 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(SSL_CTX_use_psk_identity_hint) + #endif + RESOLVEFUNC(SSL_write) +-#ifndef OPENSSL_NO_SSL2 +- RESOLVEFUNC(SSLv2_client_method) +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +- RESOLVEFUNC(SSLv3_client_method) +-#endif +- RESOLVEFUNC(SSLv23_client_method) +- RESOLVEFUNC(TLSv1_client_method) +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +- RESOLVEFUNC(TLSv1_1_client_method) +- RESOLVEFUNC(TLSv1_2_client_method) +-#endif +-#ifndef OPENSSL_NO_SSL2 +- RESOLVEFUNC(SSLv2_server_method) +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +- RESOLVEFUNC(SSLv3_server_method) +-#endif +- RESOLVEFUNC(SSLv23_server_method) +- RESOLVEFUNC(TLSv1_server_method) +-#if OPENSSL_VERSION_NUMBER >= 0x10001000L +- RESOLVEFUNC(TLSv1_1_server_method) +- RESOLVEFUNC(TLSv1_2_server_method) +-#endif + RESOLVEFUNC(X509_NAME_entry_count) + RESOLVEFUNC(X509_NAME_get_entry) + RESOLVEFUNC(X509_NAME_ENTRY_get_data) +@@ -961,12 +1134,12 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(X509_STORE_CTX_get_error) + RESOLVEFUNC(X509_STORE_CTX_get_error_depth) + RESOLVEFUNC(X509_STORE_CTX_get_current_cert) +- RESOLVEFUNC(X509_STORE_CTX_get_chain) + RESOLVEFUNC(X509_cmp) + #ifndef SSLEAY_MACROS + RESOLVEFUNC(X509_dup) + #endif + RESOLVEFUNC(X509_print) ++ RESOLVEFUNC(X509_digest) + RESOLVEFUNC(X509_EXTENSION_get_object) + RESOLVEFUNC(X509_free) + RESOLVEFUNC(X509_get_ext) +@@ -982,20 +1155,11 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(X509_check_issued) + RESOLVEFUNC(X509_get_issuer_name) + RESOLVEFUNC(X509_get_subject_name) ++ RESOLVEFUNC(X509_get_serialNumber) + RESOLVEFUNC(X509_verify_cert) + RESOLVEFUNC(d2i_X509) + RESOLVEFUNC(i2d_X509) +-#ifdef SSLEAY_MACROS +- RESOLVEFUNC(i2d_DSAPrivateKey) +- RESOLVEFUNC(i2d_RSAPrivateKey) +- RESOLVEFUNC(d2i_DSAPrivateKey) +- RESOLVEFUNC(d2i_RSAPrivateKey) +-#endif +- RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf) +- RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) + RESOLVEFUNC(SSL_CTX_load_verify_locations) +- RESOLVEFUNC(SSLeay) +- RESOLVEFUNC(SSLeay_version) + RESOLVEFUNC(i2d_SSL_SESSION) + RESOLVEFUNC(d2i_SSL_SESSION) + #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) +@@ -1019,27 +1183,14 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(EC_KEY_new_by_curve_name) + RESOLVEFUNC(EC_KEY_free) + RESOLVEFUNC(EC_get_builtin_curves) +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L +- if (q_SSLeay() >= 0x10002000L) +- RESOLVEFUNC(EC_curve_nist2nid) +-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L + #endif // OPENSSL_NO_EC + RESOLVEFUNC(PKCS12_parse) + RESOLVEFUNC(d2i_PKCS12_bio) + RESOLVEFUNC(PKCS12_free) + ++ symbolsResolved = true; + delete libs.first; + delete libs.second; +- if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) { +- // OpenSSL 1.1 deprecated and removed SSLeay. We consider a failure to +- // resolve this symbol as a failure to resolve symbols. +- // The right operand of '||' above ... a bit of paranoia. +- qCWarning(lcSsl, "Incompatible version of OpenSSL"); +- return false; +- } +- +- symbolsResolved = true; +- + return true; + } + #endif // QT_CONFIG(library) +diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h +index b35a895..796bf2d 100644 +--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h ++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2017 The Qt Company Ltd. + ** Copyright (C) 2014 BlackBerry Limited. All rights reserved. + ** Contact: https://www.qt.io/licensing/ + ** +@@ -56,6 +56,7 @@ + #ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H + #define QSSLSOCKET_OPENSSL_SYMBOLS_P_H + ++ + // + // W A R N I N G + // ------------- +@@ -215,17 +216,20 @@ QT_BEGIN_NAMESPACE + + #endif // !defined QT_LINKED_OPENSSL + ++#if QT_CONFIG(opensslv11) ++#include "qsslsocket_openssl11_symbols_p.h" ++#else ++#include "qsslsocket_opensslpre11_symbols_p.h" ++#endif // QT_CONFIG ++ + bool q_resolveOpenSslSymbols(); + long q_ASN1_INTEGER_get(ASN1_INTEGER *a); +-unsigned char * q_ASN1_STRING_data(ASN1_STRING *a); + int q_ASN1_STRING_length(ASN1_STRING *a); + int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b); + long q_BIO_ctrl(BIO *a, int b, long c, void *d); + Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a); +-Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a); + BIO *q_BIO_new_mem_buf(void *a, int b); + int q_BIO_read(BIO *a, void *b, int c); +-Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem(); + Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c); + int q_BN_num_bits(const BIGNUM *a); + #if OPENSSL_VERSION_NUMBER >= 0x10100000L +@@ -247,26 +251,23 @@ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w); + const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k); + int q_EC_GROUP_get_degree(const EC_GROUP* g); + #endif +-int q_CRYPTO_num_locks(); +-void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int)); +-void q_CRYPTO_set_id_callback(unsigned long (*a)()); +-void q_CRYPTO_free(void *a); + DSA *q_DSA_new(); + void q_DSA_free(DSA *a); + X509 *q_d2i_X509(X509 **a, const unsigned char **b, long c); + char *q_ERR_error_string(unsigned long a, char *b); + unsigned long q_ERR_get_error(); +-void q_ERR_free_strings(); +-void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); +-void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); ++EVP_CIPHER_CTX *q_EVP_CIPHER_CTX_new(); ++void q_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); + int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); + int q_EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); + int q_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc); ++int q_EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc); + int q_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); + int q_EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + const EVP_CIPHER *q_EVP_des_cbc(); + const EVP_CIPHER *q_EVP_des_ede3_cbc(); + const EVP_CIPHER *q_EVP_rc2_cbc(); ++const EVP_MD *q_EVP_sha1(); + int q_EVP_PKEY_assign(EVP_PKEY *a, int b, char *c); + Q_AUTOTEST_EXPORT int q_EVP_PKEY_set1_RSA(EVP_PKEY *a, RSA *b); + int q_EVP_PKEY_set1_DSA(EVP_PKEY *a, DSA *b); +@@ -310,7 +311,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned + int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d, + int e, pem_password_cb *f, void *g); + #endif +-#endif ++#endif // SSLEAY_MACROS + Q_AUTOTEST_EXPORT EVP_PKEY *q_PEM_read_bio_PUBKEY(BIO *a, EVP_PKEY **b, pem_password_cb *c, void *d); + DSA *q_PEM_read_bio_DSA_PUBKEY(BIO *a, DSA **b, pem_password_cb *c, void *d); + RSA *q_PEM_read_bio_RSA_PUBKEY(BIO *a, RSA **b, pem_password_cb *c, void *d); +@@ -326,23 +327,10 @@ void q_RAND_seed(const void *a, int b); + int q_RAND_status(); + RSA *q_RSA_new(); + void q_RSA_free(RSA *a); +-int q_sk_num(STACK *a); +-void q_sk_pop_free(STACK *a, void (*b)(void *)); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +-_STACK *q_sk_new_null(); +-void q_sk_push(_STACK *st, void *data); +-void q_sk_free(_STACK *a); +-void * q_sk_value(STACK *a, int b); +-#else +-STACK *q_sk_new_null(); +-void q_sk_push(STACK *st, char *data); +-void q_sk_free(STACK *a); +-char * q_sk_value(STACK *a, int b); +-#endif + int q_SSL_accept(SSL *a); + int q_SSL_clear(SSL *a); +-char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c); +-int q_SSL_CIPHER_get_bits(SSL_CIPHER *a, int *b); ++char *q_SSL_CIPHER_description(const SSL_CIPHER *a, char *b, int c); ++int q_SSL_CIPHER_get_bits(const SSL_CIPHER *a, int *b); + int q_SSL_connect(SSL *a); + int q_SSL_CTX_check_private_key(const SSL_CTX *a); + long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d); +@@ -374,8 +362,6 @@ int q_SSL_get_error(SSL *a, int b); + STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a); + X509 *q_SSL_get_peer_certificate(SSL *a); + long q_SSL_get_verify_result(const SSL *a); +-int q_SSL_library_init(); +-void q_SSL_load_error_strings(); + SSL *q_SSL_new(SSL_CTX *a); + long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg); + int q_SSL_read(SSL *a, void *b, int c); +@@ -388,7 +374,6 @@ void q_SSL_SESSION_free(SSL_SESSION *ses); + SSL_SESSION *q_SSL_get1_session(SSL *ssl); + SSL_SESSION *q_SSL_get_session(const SSL *ssl); + #if OPENSSL_VERSION_NUMBER >= 0x10001000L +-int q_SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); + int q_SSL_set_ex_data(SSL *ssl, int idx, void *arg); + void *q_SSL_get_ex_data(const SSL *ssl, int idx); + #endif +@@ -399,49 +384,6 @@ typedef unsigned int (*q_psk_server_callback_t)(SSL *ssl, const char *identity, + void q_SSL_set_psk_server_callback(SSL *ssl, q_psk_server_callback_t callback); + int q_SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint); + #endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +-#ifndef OPENSSL_NO_SSL2 +-const SSL_METHOD *q_SSLv2_client_method(); +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-const SSL_METHOD *q_SSLv3_client_method(); +-#endif +-const SSL_METHOD *q_SSLv23_client_method(); +-const SSL_METHOD *q_TLSv1_client_method(); +-const SSL_METHOD *q_TLSv1_1_client_method(); +-const SSL_METHOD *q_TLSv1_2_client_method(); +-#ifndef OPENSSL_NO_SSL2 +-const SSL_METHOD *q_SSLv2_server_method(); +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-const SSL_METHOD *q_SSLv3_server_method(); +-#endif +-const SSL_METHOD *q_SSLv23_server_method(); +-const SSL_METHOD *q_TLSv1_server_method(); +-const SSL_METHOD *q_TLSv1_1_server_method(); +-const SSL_METHOD *q_TLSv1_2_server_method(); +-#else +-#ifndef OPENSSL_NO_SSL2 +-SSL_METHOD *q_SSLv2_client_method(); +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-SSL_METHOD *q_SSLv3_client_method(); +-#endif +-SSL_METHOD *q_SSLv23_client_method(); +-SSL_METHOD *q_TLSv1_client_method(); +-SSL_METHOD *q_TLSv1_1_client_method(); +-SSL_METHOD *q_TLSv1_2_client_method(); +-#ifndef OPENSSL_NO_SSL2 +-SSL_METHOD *q_SSLv2_server_method(); +-#endif +-#ifndef OPENSSL_NO_SSL3_METHOD +-SSL_METHOD *q_SSLv3_server_method(); +-#endif +-SSL_METHOD *q_SSLv23_server_method(); +-SSL_METHOD *q_TLSv1_server_method(); +-SSL_METHOD *q_TLSv1_1_server_method(); +-SSL_METHOD *q_TLSv1_2_server_method(); +-#endif + int q_SSL_write(SSL *a, const void *b, int c); + int q_X509_cmp(X509 *a, X509 *b); + #ifdef SSLEAY_MACROS +@@ -452,6 +394,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x); + X509 *q_X509_dup(X509 *a); + #endif + void q_X509_print(BIO *a, X509*b); ++int q_X509_digest(const X509 *x509, const EVP_MD *type, unsigned char *md, unsigned int *len); + ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a); + void q_X509_free(X509 *a); + X509_EXTENSION *q_X509_get_ext(X509 *a, int b); +@@ -471,6 +414,7 @@ int q_ASN1_STRING_print(BIO *a, ASN1_STRING *b); + int q_X509_check_issued(X509 *a, X509 *b); + X509_NAME *q_X509_get_issuer_name(X509 *a); + X509_NAME *q_X509_get_subject_name(X509 *a); ++ASN1_INTEGER *q_X509_get_serialNumber(X509 *a); + int q_X509_verify_cert(X509_STORE_CTX *ctx); + int q_X509_NAME_entry_count(X509_NAME *a); + X509_NAME_ENTRY *q_X509_NAME_get_entry(X509_NAME *a,int b); +@@ -488,7 +432,6 @@ int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); + int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); + int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); + X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); +-STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); + + // Diffie-Hellman support + DH *q_DH_new(); +@@ -522,34 +465,9 @@ int q_PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + PKCS12 *q_d2i_PKCS12_bio(BIO *bio, PKCS12 **pkcs12); + void q_PKCS12_free(PKCS12 *pkcs12); + +- + #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) + #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +-#ifdef SSLEAY_MACROS +-int q_i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +-int q_i2d_RSAPrivateKey(const RSA *a, unsigned char **pp); +-RSA *q_d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length); +-DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length); +-#define q_PEM_read_bio_RSAPrivateKey(bp, x, cb, u) \ +- (RSA *)q_PEM_ASN1_read_bio( \ +- (void *(*)(void**, const unsigned char**, long int))q_d2i_RSAPrivateKey, PEM_STRING_RSA, bp, (void **)x, cb, u) +-#define q_PEM_read_bio_DSAPrivateKey(bp, x, cb, u) \ +- (DSA *)q_PEM_ASN1_read_bio( \ +- (void *(*)(void**, const unsigned char**, long int))q_d2i_DSAPrivateKey, PEM_STRING_DSA, bp, (void **)x, cb, u) +-#define q_PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ +- PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_RSAPrivateKey,PEM_STRING_RSA,\ +- bp,(char *)x,enc,kstr,klen,cb,u) +-#define q_PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ +- PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\ +- bp,(char *)x,enc,kstr,klen,cb,u) +-#define q_PEM_read_bio_DHparams(bp, dh, cb, u) \ +- (DH *)q_PEM_ASN1_read_bio( \ +- (void *(*)(void**, const unsigned char**, long int))q_d2i_DHparams, PEM_STRING_DHPARAMS, bp, (void **)x, cb, u) +-#endif +-#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) + #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +-#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st) +-#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i) + #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st)) + #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i)) + #define q_sk_X509_num(st) q_SKM_sk_num(X509, (st)) +@@ -558,18 +476,12 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length); + #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i)) + #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \ + q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) +-#define q_X509_get_notAfter(x) X509_get_notAfter(x) +-#define q_X509_get_notBefore(x) X509_get_notBefore(x) + #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ + (char *)(rsa)) + #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ + (char *)(dsa)) + #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_conf() +-void q_OPENSSL_add_all_algorithms_noconf(); +-void q_OPENSSL_add_all_algorithms_conf(); + int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath); +-long q_SSLeay(); +-const char *q_SSLeay_version(int type); + int q_i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); + SSL_SESSION *q_d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length); + +diff --git a/src/network/ssl/qsslsocket_opensslpre11.cpp b/src/network/ssl/qsslsocket_opensslpre11.cpp +new file mode 100644 +index 0000000..e51888c +--- /dev/null ++++ b/src/network/ssl/qsslsocket_opensslpre11.cpp +@@ -0,0 +1,424 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2017 The Qt Company Ltd. ++** Copyright (C) 2014 Governikus GmbH & Co. KG ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the QtNetwork module of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 3 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL3 included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 3 requirements ++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 2.0 or (at your option) the GNU General ++** Public license version 3 or any later version approved by the KDE Free ++** Qt Foundation. The licenses are as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-2.0.html and ++** https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++/**************************************************************************** ++** ++** In addition, as a special exception, the copyright holders listed above give ++** permission to link the code of its release of Qt with the OpenSSL project's ++** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the ++** same license as the original version), and distribute the linked executables. ++** ++** You must comply with the GNU General Public License version 2 in all ++** respects for all of the code used other than the "OpenSSL" code. If you ++** modify this file, you may extend this exception to your version of the file, ++** but you are not obligated to do so. If you do not wish to do so, delete ++** this exception statement from your version of this file. ++** ++****************************************************************************/ ++ ++//#define QT_DECRYPT_SSL_TRAFFIC ++ ++#include "qssl_p.h" ++#include "qsslsocket_openssl_p.h" ++#include "qsslsocket_openssl_symbols_p.h" ++#include "qsslsocket.h" ++#include "qsslkey.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++QT_BEGIN_NAMESPACE ++ ++/* \internal ++ ++ From OpenSSL's thread(3) manual page: ++ ++ OpenSSL can safely be used in multi-threaded applications provided that at ++ least two callback functions are set. ++ ++ locking_function(int mode, int n, const char *file, int line) is needed to ++ perform locking on shared data structures. (Note that OpenSSL uses a ++ number of global data structures that will be implicitly shared ++ whenever multiple threads use OpenSSL.) Multi-threaded ++ applications will crash at random if it is not set. ... ++ ... ++ id_function(void) is a function that returns a thread ID. It is not ++ needed on Windows nor on platforms where getpid() returns a different ++ ID for each thread (most notably Linux) ++*/ ++ ++class QOpenSslLocks ++{ ++public: ++ QOpenSslLocks() ++ : initLocker(QMutex::Recursive), ++ locksLocker(QMutex::Recursive) ++ { ++ QMutexLocker locker(&locksLocker); ++ int numLocks = q_CRYPTO_num_locks(); ++ locks = new QMutex *[numLocks]; ++ memset(locks, 0, numLocks * sizeof(QMutex *)); ++ } ++ ~QOpenSslLocks() ++ { ++ QMutexLocker locker(&locksLocker); ++ for (int i = 0; i < q_CRYPTO_num_locks(); ++i) ++ delete locks[i]; ++ delete [] locks; ++ ++ QSslSocketPrivate::deinitialize(); ++ } ++ QMutex *lock(int num) ++ { ++ QMutexLocker locker(&locksLocker); ++ QMutex *tmp = locks[num]; ++ if (!tmp) ++ tmp = locks[num] = new QMutex(QMutex::Recursive); ++ return tmp; ++ } ++ ++ QMutex *globalLock() ++ { ++ return &locksLocker; ++ } ++ ++ QMutex *initLock() ++ { ++ return &initLocker; ++ } ++ ++private: ++ QMutex initLocker; ++ QMutex locksLocker; ++ QMutex **locks; ++}; ++ ++Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks) ++ ++extern "C" { ++static void locking_function(int mode, int lockNumber, const char *, int) ++{ ++ QMutex *mutex = openssl_locks()->lock(lockNumber); ++ ++ // Lock or unlock it ++ if (mode & CRYPTO_LOCK) ++ mutex->lock(); ++ else ++ mutex->unlock(); ++} ++static unsigned long id_function() ++{ ++ return (quintptr)QThread::currentThreadId(); ++} ++ ++} // extern "C" ++ ++static void q_OpenSSL_add_all_algorithms_safe() ++{ ++#ifdef Q_OS_WIN ++ // Prior to version 1.0.1m an attempt to call OpenSSL_add_all_algorithms on ++ // Windows could result in 'exit' call from OPENSSL_config (QTBUG-43843). ++ // We can predict this and avoid OPENSSL_add_all_algorithms call. ++ // From OpenSSL docs: ++ // "An application does not need to add algorithms to use them explicitly, ++ // for example by EVP_sha1(). It just needs to add them if it (or any of ++ // the functions it calls) needs to lookup algorithms. ++ // The cipher and digest lookup functions are used in many parts of the ++ // library. If the table is not initialized several functions will ++ // misbehave and complain they cannot find algorithms. This includes the ++ // PEM, PKCS#12, SSL and S/MIME libraries. This is a common query in ++ // the OpenSSL mailing lists." ++ // ++ // Anyway, as a result, we chose not to call this function if it would exit. ++ ++ if (q_SSLeay() < 0x100010DFL) ++ { ++ // Now, before we try to call it, check if an attempt to open config file ++ // will result in exit: ++ if (char *confFileName = q_CONF_get1_default_config_file()) { ++ BIO *confFile = q_BIO_new_file(confFileName, "r"); ++ const auto lastError = q_ERR_peek_last_error(); ++ q_CRYPTO_free(confFileName); ++ if (confFile) { ++ q_BIO_free(confFile); ++ } else { ++ q_ERR_clear_error(); ++ if (ERR_GET_REASON(lastError) == ERR_R_SYS_LIB) { ++ qCWarning(lcSsl, "failed to open openssl.conf file"); ++ return; ++ } ++ } ++ } ++ } ++#endif // Q_OS_WIN ++ ++ q_OpenSSL_add_all_algorithms(); ++} ++ ++ ++/*! ++ \internal ++*/ ++void QSslSocketPrivate::deinitialize() ++{ ++ q_CRYPTO_set_id_callback(0); ++ q_CRYPTO_set_locking_callback(0); ++ q_ERR_free_strings(); ++} ++ ++ ++bool QSslSocketPrivate::ensureLibraryLoaded() ++{ ++ if (!q_resolveOpenSslSymbols()) ++ return false; ++ ++ // Check if the library itself needs to be initialized. ++ QMutexLocker locker(openssl_locks()->initLock()); ++ ++ if (!s_libraryLoaded) { ++ s_libraryLoaded = true; ++ ++ // Initialize OpenSSL. ++ q_CRYPTO_set_id_callback(id_function); ++ q_CRYPTO_set_locking_callback(locking_function); ++ if (q_SSL_library_init() != 1) ++ return false; ++ q_SSL_load_error_strings(); ++ q_OpenSSL_add_all_algorithms_safe(); ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L ++ if (q_SSLeay() >= 0x10001000L) ++ QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL); ++#endif ++ ++ // Initialize OpenSSL's random seed. ++ if (!q_RAND_status()) { ++ qWarning("Random number generator not seeded, disabling SSL support"); ++ return false; ++ } ++ } ++ return true; ++} ++ ++void QSslSocketPrivate::ensureCiphersAndCertsLoaded() ++{ ++ QMutexLocker locker(openssl_locks()->initLock()); ++ if (s_loadedCiphersAndCerts) ++ return; ++ s_loadedCiphersAndCerts = true; ++ ++ resetDefaultCiphers(); ++ resetDefaultEllipticCurves(); ++ ++#if QT_CONFIG(library) ++ //load symbols needed to receive certificates from system store ++#if defined(Q_OS_WIN) ++ HINSTANCE hLib = LoadLibraryW(L"Crypt32"); ++ if (hLib) { ++ ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); ++ ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); ++ ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); ++ if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) ++ qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen ++ } else { ++ qCWarning(lcSsl, "could not load crypt32 library"); // should never happen ++ } ++#elif defined(Q_OS_QNX) ++ s_loadRootCertsOnDemand = true; ++#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) ++ // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) ++ QList dirs = unixRootCertDirectories(); ++ QStringList symLinkFilter; ++ symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]"); ++ for (int a = 0; a < dirs.count(); ++a) { ++ QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files); ++ if (iterator.hasNext()) { ++ s_loadRootCertsOnDemand = true; ++ break; ++ } ++ } ++#endif ++#endif // QT_CONFIG(library) ++ // if on-demand loading was not enabled, load the certs now ++ if (!s_loadRootCertsOnDemand) ++ setDefaultCaCertificates(systemCaCertificates()); ++#ifdef Q_OS_WIN ++ //Enabled for fetching additional root certs from windows update on windows 6+ ++ //This flag is set false by setDefaultCaCertificates() indicating the app uses ++ //its own cert bundle rather than the system one. ++ //Same logic that disables the unix on demand cert loading. ++ //Unlike unix, we do preload the certificates from the cert store. ++ if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0) ++ s_loadRootCertsOnDemand = true; ++#endif ++} ++ ++long QSslSocketPrivate::sslLibraryVersionNumber() ++{ ++ if (!supportsSsl()) ++ return 0; ++ ++ return q_SSLeay(); ++} ++ ++QString QSslSocketPrivate::sslLibraryVersionString() ++{ ++ if (!supportsSsl()) ++ return QString(); ++ ++ const char *versionString = q_SSLeay_version(SSLEAY_VERSION); ++ if (!versionString) ++ return QString(); ++ ++ return QString::fromLatin1(versionString); ++} ++ ++void QSslSocketBackendPrivate::continueHandshake() ++{ ++ Q_Q(QSslSocket); ++ // if we have a max read buffer size, reset the plain socket's to match ++ if (readBufferMaxSize) ++ plainSocket->setReadBufferSize(readBufferMaxSize); ++ ++ if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL)) ++ configuration.peerSessionShared = true; ++ ++#ifdef QT_DECRYPT_SSL_TRAFFIC ++ if (ssl->session && ssl->s3) { ++ const char *mk = reinterpret_cast(ssl->session->master_key); ++ QByteArray masterKey(mk, ssl->session->master_key_length); ++ const char *random = reinterpret_cast(ssl->s3->client_random); ++ QByteArray clientRandom(random, SSL3_RANDOM_SIZE); ++ ++ // different format, needed for e.g. older Wireshark versions: ++// const char *sid = reinterpret_cast(ssl->session->session_id); ++// QByteArray sessionID(sid, ssl->session->session_id_length); ++// QByteArray debugLineRSA("RSA Session-ID:"); ++// debugLineRSA.append(sessionID.toHex().toUpper()); ++// debugLineRSA.append(" Master-Key:"); ++// debugLineRSA.append(masterKey.toHex().toUpper()); ++// debugLineRSA.append("\n"); ++ ++ QByteArray debugLineClientRandom("CLIENT_RANDOM "); ++ debugLineClientRandom.append(clientRandom.toHex().toUpper()); ++ debugLineClientRandom.append(" "); ++ debugLineClientRandom.append(masterKey.toHex().toUpper()); ++ debugLineClientRandom.append("\n"); ++ ++ QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys"); ++ QFile file(sslKeyFile); ++ if (!file.open(QIODevice::Append)) ++ qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending"; ++ if (!file.write(debugLineClientRandom)) ++ qCWarning(lcSsl) << "could not write to file" << sslKeyFile; ++ file.close(); ++ } else { ++ qCWarning(lcSsl, "could not decrypt SSL traffic"); ++ } ++#endif ++ ++ // Cache this SSL session inside the QSslContext ++ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) { ++ if (!sslContextPointer->cacheSession(ssl)) { ++ sslContextPointer.clear(); // we could not cache the session ++ } else { ++ // Cache the session for permanent usage as well ++ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) { ++ if (!sslContextPointer->sessionASN1().isEmpty()) ++ configuration.sslSession = sslContextPointer->sessionASN1(); ++ configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint(); ++ } ++ } ++ } ++ ++#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) ++ ++ configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status; ++ if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) { ++ // we could not agree -> be conservative and use HTTP/1.1 ++ configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1"); ++ } else { ++ const unsigned char *proto = 0; ++ unsigned int proto_len = 0; ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ if (q_SSLeay() >= 0x10002000L) { ++ q_SSL_get0_alpn_selected(ssl, &proto, &proto_len); ++ if (proto_len && mode == QSslSocket::SslClientMode) { ++ // Client does not have a callback that sets it ... ++ configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated; ++ } ++ } ++ ++ if (!proto_len) { // Test if NPN was more lucky ... ++#else ++ { ++#endif ++ q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len); ++ } ++ ++ if (proto_len) ++ configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast(proto), proto_len); ++ else ++ configuration.nextNegotiatedProtocol.clear(); ++ } ++#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ... ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) { ++ EVP_PKEY *key; ++ if (q_SSL_get_server_tmp_key(ssl, &key)) ++ configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey); ++ } ++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ... ++ ++ connectionEncrypted = true; ++ emit q->encrypted(); ++ if (autoStartHandshake && pendingClose) { ++ pendingClose = false; ++ q->disconnectFromHost(); ++ } ++} ++ ++QT_END_NAMESPACE +diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri +index 52ce2ee..949ebc3 100644 +--- a/src/network/ssl/ssl.pri ++++ b/src/network/ssl/ssl.pri +@@ -60,13 +60,25 @@ qtConfig(ssl) { + HEADERS += ssl/qsslcontext_openssl_p.h \ + ssl/qsslsocket_openssl_p.h \ + ssl/qsslsocket_openssl_symbols_p.h +- SOURCES += ssl/qsslcertificate_openssl.cpp \ +- ssl/qsslcontext_openssl.cpp \ ++ SOURCES += ssl/qsslsocket_openssl_symbols.cpp \ + ssl/qssldiffiehellmanparameters_openssl.cpp \ ++ ssl/qsslcertificate_openssl.cpp \ + ssl/qsslellipticcurve_openssl.cpp \ + ssl/qsslkey_openssl.cpp \ + ssl/qsslsocket_openssl.cpp \ +- ssl/qsslsocket_openssl_symbols.cpp ++ ssl/qsslcontext_openssl.cpp ++ ++ qtConfig(opensslv11) { ++ HEADERS += ssl/qsslsocket_openssl11_symbols_p.h ++ SOURCES += ssl/qsslsocket_openssl11.cpp \ ++ ssl/qsslcontext_openssl11.cpp ++ ++ QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L ++ } else { ++ HEADERS += ssl/qsslsocket_opensslpre11_symbols_p.h ++ SOURCES += ssl/qsslsocket_opensslpre11.cpp \ ++ ssl/qsslcontext_opensslpre11.cpp ++ } + + darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp + +--- a/config.tests/openssl/openssl.cpp 2019-05-28 23:31:56.451891872 +0200 ++++ b/config.tests/openssl/openssl.cpp 2019-05-28 23:32:08.869892706 +0200 +@@ -39,8 +39,8 @@ + + #include + +-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10000000L || OPENSSL_VERSION_NUMBER-0 >= 0x10100000L +-# error "OpenSSL >= 1.0.0, and < 1.1.0 is required" ++#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L ++# error "OpenSSL >= 1.1.0 is required" + #endif + + #include diff --git a/libraries/qt5/qt5.SlackBuild b/libraries/qt5/qt5.SlackBuild index ef7507d8de..7de577fd9a 100644 --- a/libraries/qt5/qt5.SlackBuild +++ b/libraries/qt5/qt5.SlackBuild @@ -157,6 +157,21 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ +# Fix a missing header with kernel-5.4.x - Thanks to USUARIONUEVO +patch -p1 < $CWD/patches/kernel_5.4_qtserialbus.patch + +# Fix for gcc >= 8.x +if [ ! "$WEBENGINE" = "no" ]; then + ( cd qtwebengine + patch -p1 < $CWD/patches/qt5.webengine_gcc8.patch ) +fi + +( cd qtbase + # Support for openssl-1.1.x + patch -p1 < $CWD/patches/qtbase59-openssl11.patch + # Patch for mesa >= 19.2.2 + patch -p1 < $CWD/patches/eglfs_kms_egldevice.patch ) + # Limit -reduce-relocations to ix86 and x86_64. # https://bugreports.qt-project.org/browse/QTBUG-36129 if echo $ARCH | grep -q '\(i.86\|x86_64\)' 2>/dev/null; then @@ -179,7 +194,7 @@ sed -i -e "/^QMAKE_LFLAGS\s/s,+=,+= $SLKLDFLAGS,g" \ qtbase/mkspecs/common/gcc-base.conf export CFLAGS="$SLKCFLAGS" -export CXXFLAGS="$SLKCFLAGS -std=c++11" +export CXXFLAGS="$SLKCFLAGS" ./configure -v \ -confirm-license \ -opensource \ @@ -207,7 +222,6 @@ export CXXFLAGS="$SLKCFLAGS -std=c++11" -no-strip \ -release \ -no-use-gold-linker \ - -c++std c++11 \ $CCACHE \ $CODECS \ $PULSE \ diff --git a/libraries/rapidjson/rapidjson.SlackBuild b/libraries/rapidjson/rapidjson.SlackBuild index 7df09edb3c..13847be1bf 100644 --- a/libraries/rapidjson/rapidjson.SlackBuild +++ b/libraries/rapidjson/rapidjson.SlackBuild @@ -76,7 +76,7 @@ find -name CMakeLists.txt | xargs sed -e 's|-Werror||' -i mkdir -p build cd build cmake \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=class-memaccess" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \ -DCMAKE_BUILD_TYPE=Release .. diff --git a/libraries/rudiments/rudiments.SlackBuild b/libraries/rudiments/rudiments.SlackBuild index 5ee33033b2..ecd7377f17 100644 --- a/libraries/rudiments/rudiments.SlackBuild +++ b/libraries/rudiments/rudiments.SlackBuild @@ -23,13 +23,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=rudiments -VERSION=${VERSION:-0.55.0} +VERSION=${VERSION:-1.0.5} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" diff --git a/libraries/rudiments/rudiments.info b/libraries/rudiments/rudiments.info index c3cd414a19..6e6900d699 100644 --- a/libraries/rudiments/rudiments.info +++ b/libraries/rudiments/rudiments.info @@ -1,8 +1,8 @@ PRGNAM="rudiments" -VERSION="0.55.0" +VERSION="1.0.5" HOMEPAGE="http://sqlrelay.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/rudiments/rudiments-0.55.0.tar.gz" -MD5SUM="1b066c718074e78c96b82f900772cf6a" +DOWNLOAD="http://downloads.sourceforge.net/rudiments/rudiments-1.0.5.tar.gz" +MD5SUM="c44ff4cf82f30258b85aebd8e54fc37b" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/sdformat/cmake.patch b/libraries/sdformat/cmake.patch new file mode 100644 index 0000000000..38e6b6cca6 --- /dev/null +++ b/libraries/sdformat/cmake.patch @@ -0,0 +1,20 @@ +diff -Naur osrf-sdformat-e5ac5aaa49f2.orig/CMakeLists.txt osrf-sdformat-e5ac5aaa49f2/CMakeLists.txt +--- osrf-sdformat-e5ac5aaa49f2.orig/CMakeLists.txt 2016-10-10 23:51:37.000000000 +0200 ++++ osrf-sdformat-e5ac5aaa49f2/CMakeLists.txt 2017-07-29 19:46:16.021921859 +0200 +@@ -186,11 +186,13 @@ + # OS Specific initialization + if (UNIX) + sdf_setup_unix() +-else (WIN32) ++endif () ++if (WIN32) + sdf_setup_windows() +-else (APPLE) ++endif () ++if (APPLE) + sdf_setup_apple() +-endif() ++endif () + + ################################################# + # Print warnings and errors diff --git a/libraries/sdformat/sdformat.SlackBuild b/libraries/sdformat/sdformat.SlackBuild index 5dea256ef6..b412d5a10d 100644 --- a/libraries/sdformat/sdformat.SlackBuild +++ b/libraries/sdformat/sdformat.SlackBuild @@ -71,6 +71,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Patch for cmake >= 3.9.x +patch -p1 < $CWD/cmake.patch + mkdir -p build cd build cmake \ diff --git a/libraries/t4k_common/916060_bugfix.patch b/libraries/t4k_common/916060_bugfix.patch new file mode 100644 index 0000000000..e8c8a499f7 --- /dev/null +++ b/libraries/t4k_common/916060_bugfix.patch @@ -0,0 +1,32 @@ +Description: fix loading each frame from SVG sprites + rsvg_handle_get_desc returns null so next sscanf segfaults. Use instead iterating + up from zero for id frame%d +Author: cdonoghu@gmail.com +Origin: other +Forwarded: no +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/t4k_loaders.c ++++ b/src/t4k_loaders.c +@@ -213,14 +213,13 @@ + new_sprite = malloc(sizeof(sprite)); + new_sprite->default_img = render_svg_from_handle(file_handle, width, height, "#default"); + +- /* get number of frames from description */ +- sscanf(rsvg_handle_get_desc(file_handle), "%d", &new_sprite->num_frames); +- DEBUGMSG(debug_loaders, "load_svg_sprite(): loading %d frames\n", new_sprite->num_frames); +- +- for(i = 0; i < new_sprite->num_frames; i++) +- { +- sprintf(lay_name, "#frame%d", i); +- new_sprite->frame[i] = render_svg_from_handle(file_handle, width, height, lay_name); ++ /* get number of frames directly. End when #frame doesn't exist */ ++ new_sprite->num_frames = 0; ++ while(1) { ++ sprintf(lay_name, "#frame%d", new_sprite->num_frames); ++ if ( ! (rsvg_handle_has_sub(file_handle, lay_name)) ) break; ++ new_sprite->frame[new_sprite->num_frames] = render_svg_from_handle(file_handle, width, height, lay_name); ++ new_sprite->num_frames++; + } + + g_object_unref(file_handle); diff --git a/libraries/t4k_common/t4k_common.SlackBuild b/libraries/t4k_common/t4k_common.SlackBuild index 9fb0cad487..71f7238a31 100644 --- a/libraries/t4k_common/t4k_common.SlackBuild +++ b/libraries/t4k_common/t4k_common.SlackBuild @@ -54,6 +54,9 @@ find -L . \ # Patch for libpng16 (-current) (from Debian) patch -p1 < $CWD/libpng.patch +# Fix segfaults with then newer librsvg (from Debian) +patch -p1 < $CWD/916060_bugfix.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/tls/tls.SlackBuild b/libraries/tls/tls.SlackBuild index 1c02ed39ad..6b7fef6e6f 100644 --- a/libraries/tls/tls.SlackBuild +++ b/libraries/tls/tls.SlackBuild @@ -5,7 +5,7 @@ # Assumed to be public domain PRGNAM=tls -VERSION=${VERSION:-1.6} +VERSION=${VERSION:-1.6.7} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -49,7 +49,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -CFLAGS="$SLKCFLAGS" \ +LIBS="-L/usr/lib${LIBDIRSUFFIX}/openssl-1.0" \ +CFLAGS="$SLKCFLAGS -I/usr/include/openssl-1.0" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/tls/tls.info b/libraries/tls/tls.info index 6962bfabc9..752914a0b2 100644 --- a/libraries/tls/tls.info +++ b/libraries/tls/tls.info @@ -1,8 +1,8 @@ PRGNAM="tls" -VERSION="1.6" +VERSION="1.6.7" HOMEPAGE="http://tls.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/tls/tls1.6-src.tar.gz" -MD5SUM="eb326ff9e6fc3b9885aa5c72fb8df3bf" +DOWNLOAD="http://downloads.sourceforge.net/tls/tls1.6.7-src.tar.gz" +MD5SUM="2765d84a7a520c9979d82a0abebc1647" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/totem-pl-parser/totem-pl-parser.SlackBuild b/libraries/totem-pl-parser/totem-pl-parser.SlackBuild index a65d1f9a4d..fcc7e06516 100644 --- a/libraries/totem-pl-parser/totem-pl-parser.SlackBuild +++ b/libraries/totem-pl-parser/totem-pl-parser.SlackBuild @@ -5,13 +5,13 @@ # Written by crocket (crockabiscuit@gmail.com) PRGNAM=totem-pl-parser -VERSION=${VERSION:-3.4.5} +VERSION=${VERSION:-3.26.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -22,8 +22,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -46,30 +46,26 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.xz cd $PRGNAM-$VERSION chown -R root:root . find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ +mkdir build +cd build +meson setup \ --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --disable-static \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux - -make V=1 -make install-strip DESTDIR=$PKG + --libexecdir=/usr/lib$LIBDIRSUFFIX \ + --buildtype=release \ + -Denable-gtk-doc=true \ + .. +ninja +DESTDIR="$PKG" ninja install +cd .. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ - AUTHORS COPYING.LIB ChangeLog INSTALL NEWS README \ + AUTHORS COPYING.LIB MAINTAINERS NEWS README \ $PKG/usr/doc/$PRGNAM-$VERSION cd $PKG/usr/doc/$PRGNAM-$VERSION ln -sf ../../share/gtk-doc/html/$PRGNAM html diff --git a/libraries/totem-pl-parser/totem-pl-parser.info b/libraries/totem-pl-parser/totem-pl-parser.info index 021acd7ecc..d7c80bdfe9 100644 --- a/libraries/totem-pl-parser/totem-pl-parser.info +++ b/libraries/totem-pl-parser/totem-pl-parser.info @@ -1,8 +1,8 @@ PRGNAM="totem-pl-parser" -VERSION="3.4.5" -HOMEPAGE="ftp://ftp.gnome.org/pub/gnome/sources/totem-pl-parser" -DOWNLOAD="http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/3.4/totem-pl-parser-3.4.5.tar.xz" -MD5SUM="c675bb7e0195397d3870fd3c9690b220" +VERSION="3.26.0" +HOMEPAGE="https://git.gnome.org/browse/totem-pl-parser" +DOWNLOAD="http://ponce.cc/slackware/sources/repo/totem-pl-parser-3.26.0.tar.xz" +MD5SUM="a1c92d40691884ca05a70cb9993b9b9a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/ucl/ucl.SlackBuild b/libraries/ucl/ucl.SlackBuild index d7cf336816..f11c45e090 100644 --- a/libraries/ucl/ucl.SlackBuild +++ b/libraries/ucl/ucl.SlackBuild @@ -71,6 +71,7 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +CPPFLAGS="-std=c90" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/ucommon/ucommon.SlackBuild b/libraries/ucommon/ucommon.SlackBuild index c37d6cd1bf..fd4b20c35b 100644 --- a/libraries/ucommon/ucommon.SlackBuild +++ b/libraries/ucommon/ucommon.SlackBuild @@ -24,7 +24,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=ucommon -VERSION=${VERSION:-6.1.10} +VERSION=${VERSION:-7.0.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/ucommon/ucommon.info b/libraries/ucommon/ucommon.info index b90320835d..b31fa21fa4 100644 --- a/libraries/ucommon/ucommon.info +++ b/libraries/ucommon/ucommon.info @@ -1,8 +1,8 @@ PRGNAM="ucommon" -VERSION="6.1.10" +VERSION="7.0.0" HOMEPAGE="http://www.gnu.org/software/commoncpp/" -DOWNLOAD="http://ftp.gnu.org/gnu/commoncpp/ucommon-6.1.10.tar.gz" -MD5SUM="a0908c7a1abad82ce9556bb59f77bedb" +DOWNLOAD="http://ftp.gnu.org/gnu/commoncpp/ucommon-7.0.0.tar.gz" +MD5SUM="90468af8f6692f0b6576189927414a39" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/vte2/README b/libraries/vte2/README new file mode 100644 index 0000000000..4c78dea1a2 --- /dev/null +++ b/libraries/vte2/README @@ -0,0 +1,7 @@ +VTE2 is a terminal emulator widget for use with GTK+2. +This package contains the VTE library and development files and +a sample implementation (vte). + +This package can be installed side by side with vte included in +the default Slackware installation since this package is intended +for use with GTK+2. diff --git a/libraries/vte2/fix_meta_alt_keybinding.patch b/libraries/vte2/fix_meta_alt_keybinding.patch new file mode 100644 index 0000000000..bd364be584 --- /dev/null +++ b/libraries/vte2/fix_meta_alt_keybinding.patch @@ -0,0 +1,74 @@ +From 180dcc578e13c6096e277fb853e7162db640f207 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev +Date: Tue, 15 Nov 2011 03:06:40 -0500 +Subject: [PATCH] Map both gdk's Meta and Alt to vte's Meta for >=gtk+-3.2.2 + compatibility + +Also, since VTE_META_MASK is now a mask with multiple bits set, code that +compares gdk key modifiers to VTE_META_MASK by numerical equality is no +longer guaranteed to work. Therefore, for such comparisons a new function, +vte_keymap_fixup_modifiers, is introduced; it ensures that if any bits +matching matching VTE_META_MASK are set, then all are set. + +https://bugzilla.gnome.org/show_bug.cgi?id=663779 +--- + src/keymap.c | 15 +++++++++++++-- + src/keymap.h | 2 +- + 2 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/src/keymap.c b/src/keymap.c +index 9a21669..95b4c5b 100644 +--- a/src/keymap.c ++++ b/src/keymap.c +@@ -990,6 +990,17 @@ static const struct _vte_keymap_group { + {GDK_KEY (F35), _vte_keymap_GDK_F35}, + }; + ++/* Restrict modifiers to the specified mask and ensure that VTE_META_MASK, ++ * despite being a compound mask, is treated as indivisible. */ ++GdkModifierType ++_vte_keymap_fixup_modifiers(GdkModifierType modifiers, ++ GdkModifierType mask) ++{ ++ if (modifiers & VTE_META_MASK) ++ modifiers |= VTE_META_MASK; ++ return modifiers & mask; ++} ++ + /* Map the specified keyval/modifier setup, dependent on the mode, to either + * a literal string or a capability name. */ + void +@@ -1104,7 +1115,7 @@ _vte_keymap_map(guint keyval, + } else { + fkey_mode = fkey_default; + } +- modifiers &= (GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK); ++ modifiers = _vte_keymap_fixup_modifiers(modifiers, GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK); + + /* Search for the conditions. */ + for (i = 0; entries[i].normal_length || entries[i].special[0]; i++) +@@ -1375,7 +1386,7 @@ _vte_keymap_key_add_key_modifiers(guint keyval, + return; + } + +- switch (modifiers & significant_modifiers) { ++ switch (_vte_keymap_fixup_modifiers(modifiers, significant_modifiers)) { + case 0: + modifier = 0; + break; +diff --git a/src/keymap.h b/src/keymap.h +index 243e22e..21d9b8e 100644 +--- a/src/keymap.h ++++ b/src/keymap.h +@@ -27,7 +27,7 @@ + + G_BEGIN_DECLS + +-#define VTE_META_MASK GDK_META_MASK ++#define VTE_META_MASK (GDK_META_MASK | GDK_MOD1_MASK) + #define VTE_NUMLOCK_MASK GDK_MOD2_MASK + + /* Map the specified keyval/modifier setup, dependent on the mode, to either +-- +1.7.8.rc3 + diff --git a/libraries/vte2/slack-desc b/libraries/vte2/slack-desc new file mode 100644 index 0000000000..1c583a507c --- /dev/null +++ b/libraries/vte2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +vte2: vte2 (gtk+2 terminal emulator widget) +vte2: +vte2: VTE2 is a terminal emulator widget for use with GTK+2. This package +vte2: contains the VTE library and development files and a sample +vte2: implementation (vte). +vte2: +vte2: homepage: https://github.com/GNOME/vte +vte2: +vte2: +vte2: +vte2: diff --git a/libraries/vte2/vte.escape.cpu.usage.diff b/libraries/vte2/vte.escape.cpu.usage.diff new file mode 100644 index 0000000000..e82cf46877 --- /dev/null +++ b/libraries/vte2/vte.escape.cpu.usage.diff @@ -0,0 +1,89 @@ +--- ./src/table.c.orig 2011-08-16 16:52:48.000000000 -0500 ++++ ./src/table.c 2012-08-08 21:25:15.080344805 -0500 +@@ -550,7 +550,7 @@ + if (G_UNLIKELY (*array == NULL)) { + *array = g_value_array_new(1); + } +- g_value_set_long(&value, total); ++ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT)); + g_value_array_append(*array, &value); + } while (i++ < arginfo->length); + g_value_unset(&value); +--- ./src/vteseq.c.orig 2011-08-16 16:52:48.000000000 -0500 ++++ ./src/vteseq.c 2012-08-08 21:25:15.104344804 -0500 +@@ -557,7 +557,7 @@ + GValueArray *params, + VteTerminalSequenceHandler handler) + { +- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG); ++ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT); + } + + static void +@@ -1392,7 +1392,7 @@ + static void + vte_sequence_handler_DC (VteTerminal *terminal, GValueArray *params) + { +- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_dc); ++ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_dc); + } + + /* Delete a line at the current cursor position. */ +@@ -1785,7 +1785,7 @@ + static void + vte_sequence_handler_RI (VteTerminal *terminal, GValueArray *params) + { +- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_nd); ++ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_nd); + } + + /* Save cursor (position). */ +@@ -2777,8 +2777,7 @@ + { + GValue *value; + VteScreen *screen; +- long param, end, row; +- int i; ++ long param, end, row, i, limit; + screen = terminal->pvt->screen; + /* The default is one. */ + param = 1; +@@ -2796,7 +2795,13 @@ + } else { + end = screen->insert_delta + terminal->row_count - 1; + } +- /* Insert the new lines at the cursor. */ ++ ++ /* Only allow to insert as many lines as there are between this row ++ * and the end of the scrolling region. See bug #676090. ++ */ ++ limit = end - row + 1; ++ param = MIN (param, limit); ++ + for (i = 0; i < param; i++) { + /* Clear a line off the end of the region and add one to the + * top of the region. */ +@@ -2817,8 +2822,7 @@ + { + GValue *value; + VteScreen *screen; +- long param, end, row; +- int i; ++ long param, end, row, i, limit; + + screen = terminal->pvt->screen; + /* The default is one. */ +@@ -2837,6 +2841,13 @@ + } else { + end = screen->insert_delta + terminal->row_count - 1; + } ++ ++ /* Only allow to delete as many lines as there are between this row ++ * and the end of the scrolling region. See bug #676090. ++ */ ++ limit = end - row + 1; ++ param = MIN (param, limit); ++ + /* Clear them from below the current cursor. */ + for (i = 0; i < param; i++) { + /* Insert a line at the end of the region and remove one from diff --git a/libraries/vte2/vte2.SlackBuild b/libraries/vte2/vte2.SlackBuild new file mode 100644 index 0000000000..8d137f0f6d --- /dev/null +++ b/libraries/vte2/vte2.SlackBuild @@ -0,0 +1,109 @@ +#!/bin/sh + +# Slackware build script for vte2 + +# Copyright 2017 Matteo Bernardini +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=vte2 +SRCNAM=vte +VERSION=${VERSION:-0.28.2} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# https://bugzilla.gnome.org/show_bug.cgi?id=663779 +patch -p1 < $CWD/fix_meta_alt_keybinding.patch + +# Escape sequences can cause high CPU usage (CVE-2012-2738): +patch -p1 < $CWD/vte.escape.cpu.usage.diff + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-static \ + --disable-introspection \ + --enable-python \ + --enable-gnome-pty-helper \ + --with-gtk=2.0 \ + --with-default-emulation=xterm \ + --build=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING HACKING MAINTAINERS NEWS README* $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} + diff --git a/libraries/vte2/vte2.info b/libraries/vte2/vte2.info new file mode 100644 index 0000000000..2ed7a7f4f6 --- /dev/null +++ b/libraries/vte2/vte2.info @@ -0,0 +1,10 @@ +PRGNAM="vte2" +VERSION="0.28.2" +HOMEPAGE="https://github.com/GNOME/vte" +DOWNLOAD="http://ftp.gnome.org/pub/gnome/sources/vte/0.28/vte-0.28.2.tar.xz" +MD5SUM="497f26e457308649e6ece32b3bb142ff" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Matteo Bernardini" +EMAIL="ponce@slackbuilds.org" diff --git a/libraries/vte3/README b/libraries/vte3/README deleted file mode 100644 index 86da295880..0000000000 --- a/libraries/vte3/README +++ /dev/null @@ -1,7 +0,0 @@ -VTE3 is a terminal emulator widget for use with GTK+3. This package -contains the VTE library and development files and a sample -implementation (vte). - -This package can be installed side by side with vte included -in default Slackware installation since this package is intended for -use with GTK+3. diff --git a/libraries/vte3/slack-desc b/libraries/vte3/slack-desc deleted file mode 100644 index 7f685687da..0000000000 --- a/libraries/vte3/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -vte3: vte3 (terminal emulator widget) -vte3: -vte3: VTE3 is a terminal emulator widget for use with GTK+3. This package -vte3: contains the VTE library and development files and a sample -vte3: implementation (vte). -vte3: -vte3: VTE is used by XFce. -vte3: -vte3: homepage: https://github.com/GNOME/vte -vte3: -vte3: diff --git a/libraries/vte3/vte3.SlackBuild b/libraries/vte3/vte3.SlackBuild deleted file mode 100644 index 22767e6827..0000000000 --- a/libraries/vte3/vte3.SlackBuild +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/sh - -# Slackware build script for vte3 - -# Copyright 2012-2017 Willy Sudiarto Raharjo -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -SRCNAM=vte -PRGNAM=vte3 -VERSION=${VERSION:-0.50.2} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.gz -cd $SRCNAM-$VERSION - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -./autogen.sh -CFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --disable-static \ - --enable-introspection \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING HACKING NEWS README* $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} - diff --git a/libraries/vte3/vte3.info b/libraries/vte3/vte3.info deleted file mode 100644 index c6411ff75b..0000000000 --- a/libraries/vte3/vte3.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="vte3" -VERSION="0.50.2" -HOMEPAGE="https://github.com/GNOME/vte" -DOWNLOAD="https://github.com/GNOME/vte/archive/0.50.2/vte-0.50.2.tar.gz" -MD5SUM="bf2dfda34b2d641c5b9b839d1abcf410" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="vala pcre2" -MAINTAINER="Willy Sudiarto Raharjo" -EMAIL="willysr@slackbuilds.org" diff --git a/libraries/webkit2gtk/icu4c-65.1.patch b/libraries/webkit2gtk/icu4c-65.1.patch new file mode 100644 index 0000000000..6521b43b1f --- /dev/null +++ b/libraries/webkit2gtk/icu4c-65.1.patch @@ -0,0 +1,39 @@ +diff -Naur webkitgtk-2.26.2.orig/Source/WTF/wtf/URLHelpers.cpp webkitgtk-2.26.2/Source/WTF/wtf/URLHelpers.cpp +--- webkitgtk-2.26.2.orig/Source/WTF/wtf/URLHelpers.cpp 2019-08-28 13:46:29.000000000 +0200 ++++ webkitgtk-2.26.2/Source/WTF/wtf/URLHelpers.cpp 2019-12-31 21:19:42.507647551 +0100 +@@ -301,7 +301,7 @@ + Optional previousCodePoint; + while (i < length) { + UChar32 c; +- U16_NEXT(buffer, i, length, c) ++ U16_NEXT(buffer, i, length, c); + UErrorCode error = U_ZERO_ERROR; + UScriptCode script = uscript_getScript(c, &error); + if (error != U_ZERO_ERROR) { +diff -Naur webkitgtk-2.26.2.orig/Source/WebCore/dom/Document.cpp webkitgtk-2.26.2/Source/WebCore/dom/Document.cpp +--- webkitgtk-2.26.2.orig/Source/WebCore/dom/Document.cpp 2019-09-02 11:41:47.000000000 +0200 ++++ webkitgtk-2.26.2/Source/WebCore/dom/Document.cpp 2019-12-31 21:20:34.734647551 +0100 +@@ -4944,12 +4944,12 @@ + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -5009,7 +5009,7 @@ + + for (unsigned i = 0; i < length; ) { + UChar32 c; +- U16_NEXT(qualifiedName, i, length, c) ++ U16_NEXT(qualifiedName, i, length, c); + if (c == ':') { + if (sawColon) + return Exception { InvalidCharacterError }; diff --git a/libraries/webkit2gtk/webkit2gtk.SlackBuild b/libraries/webkit2gtk/webkit2gtk.SlackBuild index d54d9bfc36..18b20b2a89 100644 --- a/libraries/webkit2gtk/webkit2gtk.SlackBuild +++ b/libraries/webkit2gtk/webkit2gtk.SlackBuild @@ -24,7 +24,7 @@ PRGNAM=webkit2gtk SRCNAM=webkitgtk -VERSION=${VERSION:-2.20.5} +VERSION=${VERSION:-2.26.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -74,6 +74,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +patch -p1 < $CWD/icu4c-65.1.patch + mkdir -p build cd build cmake -DPORT=GTK \ diff --git a/libraries/webkit2gtk/webkit2gtk.info b/libraries/webkit2gtk/webkit2gtk.info index 8c4164b2e7..813c34e98b 100644 --- a/libraries/webkit2gtk/webkit2gtk.info +++ b/libraries/webkit2gtk/webkit2gtk.info @@ -1,10 +1,10 @@ PRGNAM="webkit2gtk" -VERSION="2.20.5" +VERSION="2.26.2" HOMEPAGE="https://www.webkitgtk.org/" -DOWNLOAD="https://www.webkitgtk.org/releases/webkitgtk-2.20.5.tar.xz" -MD5SUM="72a05f6a4dc1c78b079590a8fd280401" +DOWNLOAD="https://www.webkitgtk.org/releases/webkitgtk-2.26.2.tar.xz" +MD5SUM="65e06fe73ee166447894aaea95038e3b" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="geoclue2 hyphen libwebp woff2" +REQUIRES="bubblewrap enchant2 geoclue2 gst-plugins-bad hyphen libseccomp libwebp xdg-dbus-proxy woff2" MAINTAINER="Willy Sudiarto Raharjo" EMAIL="willysr@slackbuilds.org" diff --git a/libraries/webkitgtk/icu4c-65.1.patch b/libraries/webkitgtk/icu4c-65.1.patch new file mode 100644 index 0000000000..841f03a07b --- /dev/null +++ b/libraries/webkitgtk/icu4c-65.1.patch @@ -0,0 +1,39 @@ +diff -Naur webkitgtk-2.4.11.orig/Source/WebCore/dom/Document.cpp webkitgtk-2.4.11/Source/WebCore/dom/Document.cpp +--- webkitgtk-2.4.11.orig/Source/WebCore/dom/Document.cpp 2016-04-10 08:48:37.000000000 +0200 ++++ webkitgtk-2.4.11/Source/WebCore/dom/Document.cpp 2019-10-07 17:41:57.798058000 +0200 +@@ -3912,12 +3912,12 @@ + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -3980,7 +3980,7 @@ + const UChar* s = qualifiedName.deprecatedCharacters(); + for (unsigned i = 0; i < length;) { + UChar32 c; +- U16_NEXT(s, i, length, c) ++ U16_NEXT(s, i, length, c); + if (c == ':') { + if (sawColon) { + ec = NAMESPACE_ERR; +diff -Naur webkitgtk-2.4.11.orig/Source/WebCore/platform/graphics/SegmentedFontData.cpp webkitgtk-2.4.11/Source/WebCore/platform/graphics/SegmentedFontData.cpp +--- webkitgtk-2.4.11.orig/Source/WebCore/platform/graphics/SegmentedFontData.cpp 2016-04-10 08:48:37.000000000 +0200 ++++ webkitgtk-2.4.11/Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 17:22:38.534058000 +0200 +@@ -61,7 +61,7 @@ + { + UChar32 c; + for (int i = 0; i < length; ) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!containsCharacter(c)) + return false; + } diff --git a/libraries/webkitgtk/webkitgtk.SlackBuild b/libraries/webkitgtk/webkitgtk.SlackBuild index 94991299db..4d9b8f0ef5 100644 --- a/libraries/webkitgtk/webkitgtk.SlackBuild +++ b/libraries/webkitgtk/webkitgtk.SlackBuild @@ -75,8 +75,12 @@ if pkg-config --exists geoclue ; then GEOCLUE="yes" ; else GEOCLUE="no" ; fi # Fix for gcc-6.x patch -p1 < $CWD/webkitgtk-2.4.9-abs.patch +# https://bugs.webkit.org/show_bug.cgi?id=202600 +patch -p1 < $CWD/icu4c-65.1.patch + +# Disable excessive warnings spam CFLAGS="$SLKCFLAGS -fno-delete-null-pointer-checks" \ -CXXFLAGS="$SLKCFLAGS -fno-delete-null-pointer-checks -fpermissive" \ +CXXFLAGS="$SLKCFLAGS -fno-delete-null-pointer-checks -fpermissive -Wno-deprecated-declarations -Wno-deprecated-copy -Wno-expansion-to-defined -Wno-class-memaccess -Wno-ignored-qualifiers -Wno-redundant-move -Wno-misleading-indentation -Wno-cast-function-type" \ ./configure \ --prefix=/usr \ --disable-static \ diff --git a/libraries/webkitgtk3/icu4c-65.1.patch b/libraries/webkitgtk3/icu4c-65.1.patch new file mode 100644 index 0000000000..841f03a07b --- /dev/null +++ b/libraries/webkitgtk3/icu4c-65.1.patch @@ -0,0 +1,39 @@ +diff -Naur webkitgtk-2.4.11.orig/Source/WebCore/dom/Document.cpp webkitgtk-2.4.11/Source/WebCore/dom/Document.cpp +--- webkitgtk-2.4.11.orig/Source/WebCore/dom/Document.cpp 2016-04-10 08:48:37.000000000 +0200 ++++ webkitgtk-2.4.11/Source/WebCore/dom/Document.cpp 2019-10-07 17:41:57.798058000 +0200 +@@ -3912,12 +3912,12 @@ + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -3980,7 +3980,7 @@ + const UChar* s = qualifiedName.deprecatedCharacters(); + for (unsigned i = 0; i < length;) { + UChar32 c; +- U16_NEXT(s, i, length, c) ++ U16_NEXT(s, i, length, c); + if (c == ':') { + if (sawColon) { + ec = NAMESPACE_ERR; +diff -Naur webkitgtk-2.4.11.orig/Source/WebCore/platform/graphics/SegmentedFontData.cpp webkitgtk-2.4.11/Source/WebCore/platform/graphics/SegmentedFontData.cpp +--- webkitgtk-2.4.11.orig/Source/WebCore/platform/graphics/SegmentedFontData.cpp 2016-04-10 08:48:37.000000000 +0200 ++++ webkitgtk-2.4.11/Source/WebCore/platform/graphics/SegmentedFontData.cpp 2019-10-07 17:22:38.534058000 +0200 +@@ -61,7 +61,7 @@ + { + UChar32 c; + for (int i = 0; i < length; ) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!containsCharacter(c)) + return false; + } diff --git a/libraries/webkitgtk3/webkitgtk3.SlackBuild b/libraries/webkitgtk3/webkitgtk3.SlackBuild index e33636bf82..09cbd02f7b 100644 --- a/libraries/webkitgtk3/webkitgtk3.SlackBuild +++ b/libraries/webkitgtk3/webkitgtk3.SlackBuild @@ -79,8 +79,12 @@ if pkg-config --exists geoclue ; then GEOCLUE="yes" ; else GEOCLUE="no" ; fi # Fix for gcc-6.x patch -p1 < $CWD/webkitgtk-2.4.9-abs.patch +# https://bugs.webkit.org/show_bug.cgi?id=202600 +patch -p1 < $CWD/icu4c-65.1.patch + +# Disable excessive warnings spam CFLAGS="$SLKCFLAGS -fno-delete-null-pointer-checks" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -fno-delete-null-pointer-checks -fpermissive -Wno-deprecated-declarations -Wno-deprecated-copy -Wno-expansion-to-defined -Wno-class-memaccess -Wno-ignored-qualifiers -Wno-redundant-move -Wno-misleading-indentation -Wno-cast-function-type" \ ./configure \ --prefix=/usr \ --docdir=/usr/doc/$PRGNAM-$VERSION \ @@ -88,7 +92,7 @@ CXXFLAGS="$SLKCFLAGS" \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --with-gtk=3.0 \ --enable-introspection \ - --enable-webkit2 \ + --enable-webkit2=no \ --enable-geolocation=$GEOCLUE \ --build=$ARCH-slackware-linux diff --git a/libraries/wvstreams/patches/0001-Use-explicit-cast-and-prevent-compiler-error.patch b/libraries/wvstreams/patches/0001-Use-explicit-cast-and-prevent-compiler-error.patch new file mode 100644 index 0000000000..3932ddb949 --- /dev/null +++ b/libraries/wvstreams/patches/0001-Use-explicit-cast-and-prevent-compiler-error.patch @@ -0,0 +1,50 @@ +From 32ecfa8e89306ace726f7ad14f2b09c2aa1b96c4 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Tue, 9 Feb 2016 21:02:59 +0100 +Subject: [PATCH] Use explicit cast and prevent compiler error + +--- + streams/wvstream.cc | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/streams/wvstream.cc b/streams/wvstream.cc +index 4564f3c..76565b4 100644 +--- a/streams/wvstream.cc ++++ b/streams/wvstream.cc +@@ -907,9 +907,9 @@ void WvStream::_build_selectinfo(SelectInfo &si, time_t msec_timeout, + + if (forceable) + { +- si.wants.readable = readcb; +- si.wants.writable = writecb; +- si.wants.isexception = exceptcb; ++ si.wants.readable = static_cast(readcb); ++ si.wants.writable = static_cast(writecb); ++ si.wants.isexception = static_cast(exceptcb); + } + else + { +@@ -1019,7 +1019,7 @@ bool WvStream::_select(time_t msec_timeout, bool readable, bool writable, + + IWvStream::SelectRequest WvStream::get_select_request() + { +- return IWvStream::SelectRequest(readcb, writecb, exceptcb); ++ return IWvStream::SelectRequest(static_cast(readcb), static_cast(writecb), static_cast(exceptcb)); + } + + +@@ -1107,7 +1107,10 @@ bool WvStream::continue_select(time_t msec_timeout) + // inefficient, because if the alarm was expired then pre_select() + // returned true anyway and short-circuited the previous select(). + TRACE("hello-%p\n", this); +- return !alarm_was_ticking || select(0, readcb, writecb, exceptcb); ++ return !alarm_was_ticking || select(0, ++ static_cast(readcb), ++ static_cast(writecb), ++ static_cast(exceptcb)); + } + + +-- +2.5.0 + diff --git a/libraries/wvstreams/patches/05_gcc.diff b/libraries/wvstreams/patches/05_gcc.diff index 8e4fd03298..616843d4ae 100644 --- a/libraries/wvstreams/patches/05_gcc.diff +++ b/libraries/wvstreams/patches/05_gcc.diff @@ -1,16 +1,3 @@ -Index: wvstreams-4.6.1/crypto/wvx509.cc -=================================================================== ---- wvstreams-4.6.1.orig/crypto/wvx509.cc 2011-05-20 00:02:38.119136584 +0200 -+++ wvstreams-4.6.1/crypto/wvx509.cc 2011-05-20 00:02:26.035136589 +0200 -@@ -1157,7 +1157,7 @@ - - if (ext) - { -- X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); -+ X509V3_EXT_METHOD *method = (X509V3_EXT_METHOD *)X509V3_EXT_get(ext); - if (!method) - { - WvDynBuf buf; Index: wvstreams-4.6.1/ipstreams/wvunixdgsocket.cc =================================================================== --- wvstreams-4.6.1.orig/ipstreams/wvunixdgsocket.cc 2011-05-20 00:02:38.391136584 +0200 diff --git a/libraries/wvstreams/patches/openssl-buildfix.patch b/libraries/wvstreams/patches/openssl-buildfix.patch new file mode 100644 index 0000000000..3f76e5f697 --- /dev/null +++ b/libraries/wvstreams/patches/openssl-buildfix.patch @@ -0,0 +1,16 @@ +diff -Naur wvstreams-4.6.1.orig/crypto/wvx509.cc wvstreams-4.6.1/crypto/wvx509.cc +--- wvstreams-4.6.1.orig/crypto/wvx509.cc 2008-10-23 22:23:49.000000000 +0200 ++++ wvstreams-4.6.1/crypto/wvx509.cc 2018-05-10 09:25:27.106684000 +0200 +@@ -1157,7 +1157,11 @@ + + if (ext) + { +- X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); ++#else ++ X509V3_EXT_METHOD *method = (X509V3_EXT_METHOD *)X509V3_EXT_get(ext); ++#endif + if (!method) + { + WvDynBuf buf; diff --git a/libraries/wvstreams/wvstreams.SlackBuild b/libraries/wvstreams/wvstreams.SlackBuild index 562bb05d11..fe600b62c9 100644 --- a/libraries/wvstreams/wvstreams.SlackBuild +++ b/libraries/wvstreams/wvstreams.SlackBuild @@ -59,13 +59,20 @@ patch -p1 < $CWD/patches/wvstreams-4.6.1-parallel-make.patch patch -p1 < $CWD/patches/wvstreams-4.6.1-gcc47.patch # another patch for gcc and glibc > 2.12.0 from debian patch -p1 < $CWD/patches/05_gcc.diff +# another one for gcc-6.x from fedora +patch -p1 < $CWD/patches/0001-Use-explicit-cast-and-prevent-compiler-error.patch +# disable a warning (just for readability during build) +sed -i "s|_BSD_SOURCE|_DEFAULT_SOURCE|" wvrules.mk +# Fix build against openssl +patch -p1 < $CWD/patches/openssl-buildfix.patch # configure doesn't support disabling static libraries # Don't manually remove them either, as wvdial won't build then :) # Added more flags to avoid aborting when building with gcc-4.7.x # https://bugs.gentoo.org/show_bug.cgi?id=419971 +LIBS="-L/usr/lib${LIBDIRSUFFIX}/openssl-1.0" \ CFLAGS="$SLKCFLAGS -fno-tree-dce -fno-optimize-sibling-calls" \ -CXXFLAGS="$SLKCFLAGS -fno-tree-dce -fno-optimize-sibling-calls" \ +CXXFLAGS="$SLKCFLAGS -fno-tree-dce -fno-optimize-sibling-calls -I/usr/include/openssl-1.0" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/libraries/wxsvg/wxsvg.SlackBuild b/libraries/wxsvg/wxsvg.SlackBuild index e4c4268aec..f6db2729ac 100644 --- a/libraries/wxsvg/wxsvg.SlackBuild +++ b/libraries/wxsvg/wxsvg.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for wxsvg -# Copyright 2013-2018 Matteo Bernardini , Pisa, Italy +# Copyright 2013-2019 Matteo Bernardini , Pisa, Italy # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=wxsvg -VERSION=${VERSION:-1.5.12} +VERSION=${VERSION:-1.5.20} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} diff --git a/libraries/wxsvg/wxsvg.info b/libraries/wxsvg/wxsvg.info index cf4a40aca3..e7a353ef4a 100644 --- a/libraries/wxsvg/wxsvg.info +++ b/libraries/wxsvg/wxsvg.info @@ -1,8 +1,8 @@ PRGNAM="wxsvg" -VERSION="1.5.12" +VERSION="1.5.20" HOMEPAGE="https://sourceforge.net/projects/wxsvg/" -DOWNLOAD="https://downloads.sf.net/wxsvg/wxsvg-1.5.12.tar.bz2" -MD5SUM="c822e0b7ea4a690b30e7b6711ce674fd" +DOWNLOAD="https://downloads.sf.net/wxsvg/wxsvg-1.5.20.tar.bz2" +MD5SUM="a56b8c6b29599e1d7404120093072ce0" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="ffmpeg wxGTK3" diff --git a/libraries/xf86-input-libinput/README b/libraries/xf86-input-libinput/README deleted file mode 100644 index 5acca28f9c..0000000000 --- a/libraries/xf86-input-libinput/README +++ /dev/null @@ -1,20 +0,0 @@ -A generic input driver for the X.Org X11 X server based on libinput, -supporting all devices. -Serves as a wrapper needed by libinput to communicate with X.Org. - -Note that to have libinput properly operating on a Slackware 14.2 -system, you also need this wrapper. - -The package automatically places a default configuration file in -/etc/X11/xorg.conf.d/90-libinput.conf -To make sure that the driver takes precedence over any other drivers -that try to control your input devices, make sure that the number of -the above file is the highest of all the numbers in the same directory. -If you want to customize the default parameters of the driver, -modify the above file. Do not modify the system file in -/usr/share/X11/xorg.conf.d/90-libinput.conf - -WARNING: Misconfiguration of an X input driver may leave you without -usable input devices in your X session. -To fix the problem, boot to init level 3 (terminal, without starting X) -and make the appropriate fixes. diff --git a/libraries/xf86-input-libinput/slack-desc b/libraries/xf86-input-libinput/slack-desc deleted file mode 100644 index 47a5a44bd0..0000000000 --- a/libraries/xf86-input-libinput/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -xf86-input-libinput: xf86-input-libinput (Xorg X11 libinput input driver) -xf86-input-libinput: -xf86-input-libinput: A generic input driver for the X.Org X11 X server based on libinput, -xf86-input-libinput: supporting all devices. Serves as a wrapper needed by libinput to -xf86-input-libinput: communicate with X.Org -xf86-input-libinput: -xf86-input-libinput: -xf86-input-libinput: http://xorg.freedesktop.org/ -xf86-input-libinput: https://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/ -xf86-input-libinput: -xf86-input-libinput: diff --git a/libraries/xf86-input-libinput/xf86-input-libinput.SlackBuild b/libraries/xf86-input-libinput/xf86-input-libinput.SlackBuild deleted file mode 100644 index 532bdb2caa..0000000000 --- a/libraries/xf86-input-libinput/xf86-input-libinput.SlackBuild +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh - -# Slackware build script for xf86-input-libinput - -# Copyright 2017 Nikolay Nikolov -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=xf86-input-libinput -VERSION=${VERSION:-0.28.0} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xjvf $CWD/$PRGNAM-$VERSION.tar.bz2 -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --sharedstatedir=/var/lib \ - --infodir=/usr/info \ - --disable-silent-rules \ - --disable-dependency-tracking \ - --disable-static \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -rm -f $PKG/usr/info/dir - -find $PKG -name perllocal.pod \ - -o -name ".packlist" \ - -o -name "*.bs" \ - | xargs rm -f - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a README.md COPYING $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mv $PKG/usr/share/X11/xorg.conf.d/*-libinput.conf $PKG/usr/share/X11/xorg.conf.d/90-libinput.conf -mkdir -p $PKG/etc/X11/xorg.conf.d/ -cp $PKG/usr/share/X11/xorg.conf.d/90-libinput.conf $PKG/etc/X11/xorg.conf.d/ - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/xf86-input-libinput/xf86-input-libinput.info b/libraries/xf86-input-libinput/xf86-input-libinput.info deleted file mode 100644 index bdf9f216c9..0000000000 --- a/libraries/xf86-input-libinput/xf86-input-libinput.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="xf86-input-libinput" -VERSION="0.28.0" -HOMEPAGE="https://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/" -DOWNLOAD="https://www.x.org/releases/individual/driver/xf86-input-libinput-0.28.0.tar.bz2" -MD5SUM="2d7519ac0e39d4c88f3be32e81a637aa" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="libinput" -MAINTAINER="Nikolay Nikolov" -EMAIL="nikobnikolov[at]gmail[dot]com" diff --git a/libraries/xulrunner/README b/libraries/xulrunner/README deleted file mode 100644 index de70749144..0000000000 --- a/libraries/xulrunner/README +++ /dev/null @@ -1,12 +0,0 @@ -The XULRunner project is a Mozilla runtime package that can be used -to bootstrap XUL+XPCOM applications that are as rich as Thunderbird -and Firefox. It will provide mechanisms for installing, upgrading, -and uninstalling these applications. XULRunner will also provide -libxul, a solution which allows the embedding of Mozilla technologies -in other projects and products. - -Note: -If you have to install jdk you need to run ". /etc/profile" before -trying to compile xurlrunner. - -Optional dependencies are avahi, gnome-vfs, libbonobo, and libgnome. diff --git a/libraries/xulrunner/ftfntfmt.patch b/libraries/xulrunner/ftfntfmt.patch deleted file mode 100644 index 176360f8a5..0000000000 --- a/libraries/xulrunner/ftfntfmt.patch +++ /dev/null @@ -1,35 +0,0 @@ -From bb146548c7846ba5d14f070f4be985797d83d5ca Mon Sep 17 00:00:00 2001 -From: Mike Hommey -Date: Fri, 14 Aug 2015 08:50:38 +0900 -Subject: [PATCH] Bug 1194520 - Add a system header wrapper for - - ---- - config/system-headers | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config/system-headers b/config/system-headers -index bee35da..ad1f88d 100644 ---- a/config/system-headers -+++ b/config/system-headers -@@ -450,16 +450,17 @@ foundation/base64.h - foundation/hexdump.h - #endif - fp.h - fpieee.h - frame/log.h - frame/req.h - freetype/freetype.h - freetype/ftcache.h -+freetype/ftfntfmt.h - freetype/ftglyph.h - freetype/ftsynth.h - freetype/ftoutln.h - freetype/ttnameid.h - freetype/tttables.h - freetype/t1tables.h - freetype/ftlcdfil.h - freetype/ftsizes.h --- -2.5.0.3.ge81d485 - diff --git a/libraries/xulrunner/gold/gold b/libraries/xulrunner/gold/gold deleted file mode 100644 index 8c86d3b06b..0000000000 --- a/libraries/xulrunner/gold/gold +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/bin/ld.gold "$@" diff --git a/libraries/xulrunner/gold/ld b/libraries/xulrunner/gold/ld deleted file mode 100644 index 8c86d3b06b..0000000000 --- a/libraries/xulrunner/gold/ld +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/bin/ld.gold "$@" diff --git a/libraries/xulrunner/slack-desc b/libraries/xulrunner/slack-desc deleted file mode 100644 index c86823db11..0000000000 --- a/libraries/xulrunner/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -xulrunner: xulrunner (XULRunner provides the XUL Runtime environment) -xulrunner: -xulrunner: The XULRunner project is a Mozilla runtime package that can be used -xulrunner: to bootstrap XUL+XPCOM applications that are as rich as Thunderbird -xulrunner: and Firefox. It will provide mechanisms for installing, upgrading, -xulrunner: and uninstalling these applications. XULRunner will also provide -xulrunner: libxul, a solution which allows the embedding of Mozilla technologies -xulrunner: in other projects and products. -xulrunner: -xulrunner: Homepage, http://developer.mozilla.org/en/XULRunner -xulrunner: diff --git a/libraries/xulrunner/xulrunner.SlackBuild b/libraries/xulrunner/xulrunner.SlackBuild deleted file mode 100644 index ca27415be3..0000000000 --- a/libraries/xulrunner/xulrunner.SlackBuild +++ /dev/null @@ -1,162 +0,0 @@ -#!/bin/sh - -# Slackware build script for xulrunner - -# Written by David Somero -# Derived from Slackware's Slackbuilds. -# -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA -# Copyright 2010, 2011 David Somero (dsomero@hotmail.com) Athens, TN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -PRGNAM=xulrunner -VERSION=${VERSION:-41.0.2} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="" - LIBDIRSUFFIX="" - OPTIMIZE=" --enable-optimize=-O2 " - # On IA32, use gold since GNU ld runs out of memory linking libxul.so: - PATH="$(pwd)/gold:$PATH" - export CC="gcc -B$(pwd)/gold" - export CXX="g++ -B$(pwd)/gold" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="" - LIBDIRSUFFIX="" - OPTIMIZE=" --enable-optimize=-O2 " - # On IA32, use gold since GNU ld runs out of memory linking libxul.so: - PATH="$(pwd)/gold:$PATH" - export CC="gcc -B$(pwd)/gold" - export CXX="g++ -B$(pwd)/gold" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" - OPTIMIZE=" --enable-optimize=-O2 " -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" - OPTIMIZE=" --enable-optimize=-O2 " -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf mozilla-release -tar xvf $CWD/$PRGNAM-$VERSION.source.tar.xz -cd mozilla-release -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -# https://bugzilla.mozilla.org/show_bug.cgi?id=1143411 -# https://bug1194520.bmoattachments.org/attachment.cgi?id=8647805 -patch -p1 < $CWD/ftfntfmt.patch - -# Don't use --enable-system-cairo -# https://bugzilla.mozilla.org/show_bug.cgi?id=722975 -OPTIONS="\ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --enable-default-toolkit=cairo-gtk2 \ - $OPTIMIZE \ - --enable-application=xulrunner \ - --enable-javaxpcom \ - --enable-libxul \ - --enable-safe-browsing \ - --enable-image-encoders=all \ - --enable-image-decoders=all \ - --enable-pulseaudio \ - --enable-system-lcms \ - --with-system-zlib \ - --with-system-bz2 \ - --enable-system-ffi \ - --disable-system-sqlite \ - --disable-crashreporter \ - --disable-debug \ - --disable-mailnews \ - --disable-installer \ - --disable-updater \ - --disable-elf-hack \ - --build=$ARCH-slackware-linux \ - --host=$ARCH-slackware-linux \ - --target=$ARCH-slackware-linux" - -export CFLAGS="$SLKCFLAGS" -export CXXFLAGS="$SLKCFLAGS" -export MOZ_MAKE_FLAGS="$MAKEFLAGS" - -unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \ - XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS - -echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig - -# Mozilla devs enforce using an objdir for building -# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir -mkdir obj -echo "mk_add_options MOZ_OBJDIR=$(pwd)/obj" >> .mozconfig - -if [ "$MOZLOCALIZE" ]; then - echo "mk_add_options MOZ_CO_LOCALES=\"$MOZLOCALIZE\"" >> .mozconfig -fi - -# Write in it the options above -for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done - -echo "ac_add_options --disable-tests" >> .mozconfig -make -f client.mk build - -make -f client.mk install DESTDIR=$PKG - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE LEGAL README.txt $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/xulrunner/xulrunner.info b/libraries/xulrunner/xulrunner.info deleted file mode 100644 index 97cd112c61..0000000000 --- a/libraries/xulrunner/xulrunner.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="xulrunner" -VERSION="41.0.2" -HOMEPAGE="https://developer.mozilla.org/en/Getting_started_with_XULRunner" -DOWNLOAD="https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/41.0.2/source/xulrunner-41.0.2.source.tar.xz" -MD5SUM="d6889657659025de38387986cc8764e6" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="jdk" -MAINTAINER="David Somero" -EMAIL="dsomero@hotmail.com" -- cgit v1.2.3