summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README16
-rw-r--r--academic/antiprism/antiprism.SlackBuild2
-rw-r--r--academic/geda-gaf/geda-gaf.info2
-rw-r--r--academic/gelemental/gcc.patch12
-rw-r--r--academic/gelemental/gelemental.SlackBuild3
-rw-r--r--academic/genius/README2
-rw-r--r--academic/genometools/genometools.SlackBuild2
-rw-r--r--academic/primer3/primer3.SlackBuild4
-rw-r--r--academic/root/root.SlackBuild9
-rw-r--r--academic/root/root.info8
-rw-r--r--academic/tophat/make_pair.patch24
-rw-r--r--academic/tophat/tophat.SlackBuild3
-rw-r--r--academic/ugene/ugene-1.22.0-dont_hardcode_includes.patch24
-rw-r--r--academic/ugene/ugene.SlackBuild3
-rw-r--r--academic/veusz/veusz.SlackBuild4
-rw-r--r--accessibility/easystroke/easystroke.SlackBuild1
-rw-r--r--accessibility/easystroke/gcc7-build-fix.patch40
-rw-r--r--accessibility/flite/flite.info2
-rw-r--r--accessibility/jpilot/jpilot.SlackBuild23
-rw-r--r--accessibility/jpilot/jpilot.info6
-rw-r--r--accessibility/xsel/xsel.SlackBuild2
-rw-r--r--audio/aacgain/aacgain.SlackBuild2
-rw-r--r--audio/alsamodularsynth/alsamodularsynth.SlackBuild9
-rw-r--r--audio/audacious-aac/audacious-aac.SlackBuild8
-rw-r--r--audio/audacious-aac/audacious-aac.info6
-rw-r--r--audio/audacious-cue/audacious-cue.SlackBuild8
-rw-r--r--audio/audacious-cue/audacious-cue.info6
-rw-r--r--audio/audacious-ffmpeg/README4
-rw-r--r--audio/audacious-ffmpeg/audacious-ffmpeg.SlackBuild106
-rw-r--r--audio/audacious-ffmpeg/audacious-ffmpeg.info10
-rw-r--r--audio/audacious-ffmpeg/patches/enable_only_ffmpeg_plugin.diff8
-rw-r--r--audio/audacious-ffmpeg/slack-desc19
-rw-r--r--audio/butt/butt.SlackBuild2
-rw-r--r--audio/calf-ladspa/calf-ladspa.SlackBuild2
-rw-r--r--audio/darkice/darkice.SlackBuild2
-rw-r--r--audio/easytag/README7
-rw-r--r--audio/easytag/easytag.SlackBuild98
-rw-r--r--audio/easytag/easytag.info10
-rw-r--r--audio/easytag/slack-desc19
-rw-r--r--audio/fluidsynth/README9
-rw-r--r--audio/fluidsynth/fluidsynth.SlackBuild104
-rw-r--r--audio/fluidsynth/fluidsynth.info10
-rw-r--r--audio/fluidsynth/slack-desc19
-rw-r--r--audio/lash/lash.SlackBuild2
-rw-r--r--audio/lmms/gcc6.patch112
-rw-r--r--audio/lmms/lmms.SlackBuild3
-rw-r--r--audio/mac/gcc6.patch181
-rw-r--r--audio/mac/mac.SlackBuild2
-rw-r--r--audio/milkytracker/README3
-rw-r--r--audio/milkytracker/milkytracker.SlackBuild50
-rw-r--r--audio/milkytracker/milkytracker.info8
-rw-r--r--audio/milkytracker/sdlmain.patch12
-rw-r--r--audio/mp3blaster/mp3blaster.SlackBuild3
-rw-r--r--audio/ocp/ocp.SlackBuild2
-rw-r--r--audio/opus-tools/README2
-rw-r--r--audio/opus-tools/opus-tools.info10
-rw-r--r--audio/opus-tools/slack-desc19
-rw-r--r--audio/opus/README4
-rw-r--r--audio/opus/opus.SlackBuild104
-rw-r--r--audio/opus/opus.info10
-rw-r--r--audio/opus/slack-desc19
-rw-r--r--audio/opusfile/README2
-rw-r--r--audio/opusfile/opusfile.info10
-rw-r--r--audio/pithos/doinst.sh6
-rw-r--r--audio/pithos/pithos.SlackBuild32
-rw-r--r--audio/pithos/pithos.info10
-rw-r--r--audio/pithos/slack-desc2
-rw-r--r--audio/rumor/gcc7.diff12
-rw-r--r--audio/rumor/rumor.SlackBuild3
-rw-r--r--audio/seq24/perfedit.patch29
-rw-r--r--audio/seq24/seq24.SlackBuild27
-rw-r--r--audio/seq24/seq24.info6
-rw-r--r--audio/shell-fm/README12
-rw-r--r--audio/shell-fm/shell-fm.SlackBuild91
-rw-r--r--audio/shell-fm/shell-fm.info10
-rw-r--r--audio/shell-fm/slack-desc19
-rw-r--r--audio/sidplayfp/sidplayfp.SlackBuild10
-rw-r--r--audio/sidplayfp/sidplayfp.info6
-rw-r--r--audio/speex/README7
-rw-r--r--audio/speex/slack-desc19
-rw-r--r--audio/speex/speex.SlackBuild116
-rw-r--r--audio/speex/speex.info10
-rw-r--r--audio/xmms2/xmms2.SlackBuild2
-rw-r--r--audio/xmms2/xmms2.info6
-rw-r--r--business/ledger/ledger.SlackBuild8
-rw-r--r--business/ledger/ledger.info6
-rw-r--r--desktop/arc-theme/README2
-rw-r--r--desktop/arc-theme/arc-theme.SlackBuild10
-rw-r--r--desktop/arc-theme/arc-theme.info10
-rw-r--r--desktop/arc-theme/slack-desc2
-rw-r--r--desktop/cairo-dock-plugins/README2
-rw-r--r--desktop/cairo-dock-plugins/cairo-dock-plugins.SlackBuild32
-rw-r--r--desktop/cairo-dock-plugins/cairo-dock-plugins.info6
-rw-r--r--desktop/cairo-dock-plugins/patches/mono.patch106
-rw-r--r--desktop/cairo-dock-plugins/patches/time_h-confict.patch137
-rw-r--r--desktop/cairo-dock/cairo-dock.SlackBuild17
-rw-r--r--desktop/cairo-dock/cairo-dock.info6
-rw-r--r--desktop/ceti-2-theme/README10
-rw-r--r--desktop/ceti-2-theme/ceti-2-theme.SlackBuild77
-rw-r--r--desktop/ceti-2-theme/ceti-2-theme.info10
-rw-r--r--desktop/ceti-2-theme/doinst.sh13
-rw-r--r--desktop/ceti-2-theme/slack-desc19
-rw-r--r--desktop/compton/compton.SlackBuild26
-rw-r--r--desktop/compton/compton.info10
-rw-r--r--desktop/compton/meson.build2
-rw-r--r--desktop/compton/test.h158
-rw-r--r--desktop/devilspie/devilspie.SlackBuild2
-rw-r--r--desktop/dwm/dwm.SlackBuild3
-rw-r--r--desktop/dwm/sbo-patches/0001-Prepare-6.2-release.patch45
-rw-r--r--desktop/lumina/lumina.SlackBuild1
-rw-r--r--desktop/polybar/00165e1a6d5dd61bc153e1352b21ec07fc81245d.patch44
-rw-r--r--desktop/polybar/polybar.SlackBuild5
-rw-r--r--desktop/rss-guard/01_min_qt_required_is_5.9.patch56
-rw-r--r--desktop/rss-guard/02_fix_random_class_name.patch24
-rw-r--r--desktop/rss-guard/rss-guard.SlackBuild11
-rw-r--r--desktop/rss-guard/rss-guard.info6
-rw-r--r--desktop/seafile-client/README (renamed from desktop/seafile-gui/README)0
-rw-r--r--desktop/seafile-client/doinst.sh (renamed from desktop/seafile-gui/doinst.sh)0
-rw-r--r--desktop/seafile-client/seafile-client.SlackBuild (renamed from desktop/seafile-gui/seafile-gui.SlackBuild)19
-rw-r--r--desktop/seafile-client/seafile-client.info10
-rw-r--r--desktop/seafile-client/slack-desc (renamed from network/seafile-client/slack-desc)8
-rw-r--r--desktop/seafile-gui/seafile-gui.info10
-rw-r--r--desktop/searchmonkey/patch.txt11
-rw-r--r--desktop/searchmonkey/searchmonkey.SlackBuild1
-rw-r--r--desktop/suru-plus-icon-theme/README3
-rw-r--r--desktop/suru-plus-icon-theme/doinst.sh (renamed from desktop/thunar-dropbox/doinst.sh)1
-rw-r--r--desktop/suru-plus-icon-theme/slack-desc19
-rw-r--r--desktop/suru-plus-icon-theme/suru-plus-icon-theme.SlackBuild (renamed from python/pip/pip.SlackBuild)38
-rw-r--r--desktop/suru-plus-icon-theme/suru-plus-icon-theme.info10
-rw-r--r--desktop/thunar-archive-plugin/thunar-archive-plugin.SlackBuild8
-rw-r--r--desktop/thunar-archive-plugin/thunar-archive-plugin.info6
-rw-r--r--desktop/thunar-dropbox/README1
-rw-r--r--desktop/thunar-dropbox/slack-desc19
-rw-r--r--desktop/thunar-dropbox/thunar-dropbox.info10
-rw-r--r--desktop/thunar-media-tags-plugin/thunar-media-tags-plugin-0.3.0.patch (renamed from desktop/thunar-media-tags-plugin/thunar-media-tags-plugin-0.2.1.patch)12
-rw-r--r--desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.SlackBuild10
-rw-r--r--desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.info6
-rw-r--r--desktop/wbar/wbar.SlackBuild2
-rw-r--r--desktop/wmakerconf/README4
-rw-r--r--desktop/wmakerconf/doinst.sh3
-rw-r--r--desktop/wmakerconf/slack-desc19
-rw-r--r--desktop/wmakerconf/wmakerconf-2.12-wmaker-0.95_support.patch82
-rw-r--r--desktop/wmakerconf/wmakerconf.SlackBuild95
-rw-r--r--desktop/wmakerconf/wmakerconf.info10
-rw-r--r--desktop/workrave/README4
-rw-r--r--desktop/workrave/doinst.sh19
-rw-r--r--desktop/workrave/slack-desc (renamed from audio/opusfile/slack-desc)22
-rw-r--r--desktop/workrave/workrave.SlackBuild (renamed from development/SDL2_gfx/SDL2_gfx.SlackBuild)13
-rw-r--r--desktop/workrave/workrave.info10
-rw-r--r--desktop/yad/yad.SlackBuild18
-rw-r--r--desktop/yad/yad.info8
-rw-r--r--development/ChezScheme/ChezScheme.SlackBuild1
-rw-r--r--development/Coin/Coin.SlackBuild3
-rw-r--r--development/Coin/memhandler-initialization.patch20
-rw-r--r--development/FreeBASIC/FreeBASIC.SlackBuild7
-rw-r--r--development/MySQL-python/MySQL-python.SlackBuild2
-rw-r--r--development/SDL2_gfx/README3
-rw-r--r--development/SDL2_gfx/SDL2_gfx.info10
-rw-r--r--development/SDL2_gfx/slack-desc19
-rw-r--r--development/acpica/acpica.SlackBuild6
-rw-r--r--development/acpica/acpica.info6
-rw-r--r--development/android-tools/README4
-rw-r--r--development/android-tools/android-tools.SlackBuild40
-rw-r--r--development/android-tools/android-tools.info24
-rw-r--r--development/android-tools/bash_completion.fastboot90
-rw-r--r--development/android-tools/fix_build_core.patch83
-rw-r--r--development/android-tools/fix_build_e2fsprogs.patch83
-rw-r--r--development/android-tools/generate_build.rb247
-rw-r--r--development/anjuta/anjuta.SlackBuild2
-rw-r--r--development/apache-log4cxx/apache-log4cxx.SlackBuild1
-rw-r--r--development/apache-log4cxx/narrowing-fixes.patch.gzbin0 -> 1631 bytes
-rw-r--r--development/atom/atom.SlackBuild13
-rw-r--r--development/atom/atom.info6
-rw-r--r--development/autogen/autogen.SlackBuild7
-rw-r--r--development/autogen/guile-2.2.patch78
-rw-r--r--development/avr-binutils/avr-binutils.SlackBuild18
-rw-r--r--development/avr-binutils/avr-binutils.info6
-rw-r--r--development/avr-binutils/avr-size.patch385
-rw-r--r--development/avr-gcc/avr-gcc.SlackBuild48
-rw-r--r--development/avr-gcc/avr-gcc.info8
-rw-r--r--development/camlp4/camlp4.SlackBuild18
-rw-r--r--development/camlp4/camlp4.info6
-rw-r--r--development/camlp5/camlp5.SlackBuild10
-rw-r--r--development/camlp5/camlp5.info6
-rw-r--r--development/device-tree-compiler/device-tree-compiler.SlackBuild4
-rw-r--r--development/device-tree-compiler/device-tree-compiler.info6
-rw-r--r--development/docutils/README6
-rw-r--r--development/docutils/docutils.SlackBuild73
-rw-r--r--development/docutils/docutils.info10
-rw-r--r--development/docutils/slack-desc19
-rw-r--r--development/dune/README5
-rw-r--r--development/dune/dune.SlackBuild (renamed from development/meson/meson.SlackBuild)23
-rw-r--r--development/dune/dune.info10
-rw-r--r--development/dune/slack-desc (renamed from development/lmdb/slack-desc)22
-rw-r--r--development/freetds/freetds.SlackBuild2
-rw-r--r--development/freetds/freetds.info6
-rw-r--r--development/gcc5/README46
-rw-r--r--development/gcc5/c89.sh11
-rw-r--r--development/gcc5/c99.sh11
-rw-r--r--development/gcc5/ecj.sh5
-rw-r--r--development/gcc5/fastjar-patches/1000-fastjar-0.97-segfault.patch29
-rw-r--r--development/gcc5/fastjar-patches/1001-fastjar-0.97-len1.patch16
-rw-r--r--development/gcc5/fastjar-patches/1002-fastjar-0.97-filename0.patch14
-rw-r--r--development/gcc5/fastjar-patches/1003-fastjar-CVE-2010-0831.patch102
-rw-r--r--development/gcc5/fastjar-patches/1004-fastjar-man.patch27
-rw-r--r--development/gcc5/gcc5.SlackBuild568
-rw-r--r--development/gcc5/gcc5.info17
-rw-r--r--development/gcc5/libgcj-5.pc10
-rw-r--r--development/gcc5/patches/0001-i386-Move-struct-ix86_frame-to-machine_function.diff239
-rw-r--r--development/gcc5/patches/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff72
-rw-r--r--development/gcc5/patches/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff59
-rw-r--r--development/gcc5/patches/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff63
-rw-r--r--development/gcc5/patches/0005-x86-Add-mindirect-branch-doc.diff279
-rw-r--r--development/gcc5/patches/0005-x86-Add-mindirect-branch.diff1870
-rw-r--r--development/gcc5/patches/0006-x86-Add-mfunction-return-doc.diff300
-rw-r--r--development/gcc5/patches/0006-x86-Add-mfunction-return.diff1409
-rw-r--r--development/gcc5/patches/0007-x86-Add-mindirect-branch-register-doc.diff231
-rw-r--r--development/gcc5/patches/0007-x86-Add-mindirect-branch-register.diff812
-rw-r--r--development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff65
-rw-r--r--development/gcc5/patches/0008-x86-Add-V-register-operand-modifier.diff125
-rw-r--r--development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff275
-rw-r--r--development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff102
-rw-r--r--development/gcc5/patches/gcc-no_fixincludes.diff27
-rw-r--r--development/gcc5/patches/gcc.66782.diff124
-rw-r--r--development/gcc5/patches/gcc.69140.diff13
-rw-r--r--development/gcc5/patches/glibc2.28-ustat.diff31
-rw-r--r--development/gcc5/profile.d/gcc5.csh7
-rw-r--r--development/gcc5/profile.d/gcc5.sh7
-rw-r--r--development/gcc5/slack-desc.gcc519
-rw-r--r--development/geany/geany.info2
-rw-r--r--development/gedit/gedit.SlackBuild1
-rw-r--r--development/glade/glade.SlackBuild2
-rw-r--r--development/glade/glade.info6
-rw-r--r--development/gnats/gnats.SlackBuild2
-rw-r--r--development/gnuradio/boost-1.70.0.patch36
-rw-r--r--development/gnuradio/gnuradio.SlackBuild2
-rw-r--r--development/gpsim/gpsim.SlackBuild2
-rw-r--r--development/gr-osmosdr/gr-osmosdr.SlackBuild2
-rw-r--r--development/gsoap/gsoap-libtool.patch73
-rw-r--r--development/gsoap/gsoap.SlackBuild4
-rw-r--r--development/gsoap/gsoap.info6
-rw-r--r--development/hte/hte.SlackBuild24
-rw-r--r--development/hte/hte.info6
-rw-r--r--development/hte/hteditor-2.1.0-gcc-7.patch32
-rw-r--r--development/icecream/README12
-rw-r--r--development/icecream/doinst.sh30
-rw-r--r--development/icecream/icecream.SlackBuild133
-rw-r--r--development/icecream/icecream.info10
-rw-r--r--development/icecream/profile.d/icecream.csh2
-rw-r--r--development/icecream/profile.d/icecream.sh2
-rw-r--r--development/icecream/rc.icecc-scheduler50
-rw-r--r--development/icecream/rc.iceccd50
-rw-r--r--development/icecream/rc.icecream.conf8
-rw-r--r--development/icecream/slack-desc19
-rw-r--r--development/jdk/profile.d/jdk.csh1
-rw-r--r--development/jdk/profile.d/jdk.sh1
-rw-r--r--development/latrace/fix-scanner-config-for-flex-2.6.x.patch23
-rw-r--r--development/latrace/latrace.SlackBuild3
-rw-r--r--development/lmdb/README2
-rw-r--r--development/lmdb/lmdb.SlackBuild95
-rw-r--r--development/lmdb/lmdb.info10
-rw-r--r--development/menhir/menhir.SlackBuild6
-rw-r--r--development/menhir/menhir.info6
-rw-r--r--development/meson/README9
-rw-r--r--development/meson/meson.info10
-rw-r--r--development/meson/slack-desc19
-rw-r--r--development/mozjs/README3
-rw-r--r--development/mozjs/mozjs.SlackBuild143
-rw-r--r--development/mozjs/mozjs.info10
-rw-r--r--development/mozjs/patches/moz38-dont-hardcode-libc-soname.patch15
-rw-r--r--development/mozjs/slack-desc19
-rw-r--r--development/mysql-pinba/mysql-pinba.SlackBuild2
-rw-r--r--development/mysql-workbench/mysql-workbench.SlackBuild5
-rw-r--r--development/ninja/README4
-rw-r--r--development/ninja/ninja.SlackBuild95
-rw-r--r--development/ninja/ninja.info10
-rw-r--r--development/ninja/slack-desc19
-rw-r--r--development/ocaml/configure.patch25
-rw-r--r--development/ocaml/ocaml.SlackBuild15
-rw-r--r--development/ocaml/ocaml.info14
-rw-r--r--development/ocamlbuild/ocamlbuild.SlackBuild4
-rw-r--r--development/ocamlbuild/ocamlbuild.info6
-rw-r--r--development/odb/odb.SlackBuild3
-rw-r--r--development/odb/odb_gcc6.patch355
-rw-r--r--development/omake/omake-warn-error.diff11
-rw-r--r--development/omake/omake.SlackBuild32
-rw-r--r--development/omake/omake.info8
-rw-r--r--development/opencl-headers/README3
-rw-r--r--development/opencl-headers/opencl-headers.SlackBuild57
-rw-r--r--development/opencl-headers/opencl-headers.info10
-rw-r--r--development/opencl-headers/slack-desc19
-rw-r--r--development/openocd/openocd.SlackBuild10
-rw-r--r--development/openocd/openocd.info6
-rw-r--r--development/perf/perf.SlackBuild2
-rw-r--r--development/perf/perf.info2
-rw-r--r--development/php-apcu/php-apcu.SlackBuild4
-rw-r--r--development/php-apcu/php-apcu.info6
-rw-r--r--development/poedit/poedit.SlackBuild6
-rw-r--r--development/poedit/poedit.info6
-rw-r--r--development/poedit/setvalue.diff11
-rw-r--r--development/portaudio/portaudio.SlackBuild2
-rw-r--r--development/re2c/README6
-rw-r--r--development/re2c/re2c.SlackBuild110
-rw-r--r--development/re2c/re2c.info10
-rw-r--r--development/re2c/slack-desc19
-rw-r--r--development/sbcl/glibc-2.26.patch13
-rw-r--r--development/sbcl/sbcl.SlackBuild2
-rw-r--r--development/spice-protocol/spice-protocol.SlackBuild5
-rw-r--r--development/spice-protocol/spice-protocol.info6
-rw-r--r--development/swfmill/swfmill.SlackBuild2
-rw-r--r--development/tora/README2
-rw-r--r--development/tora/tora.SlackBuild14
-rw-r--r--development/tora/tora.info8
-rw-r--r--development/vala/README4
-rw-r--r--development/vala/patch_support-gtk318.diff50
-rw-r--r--development/vala/slack-desc19
-rw-r--r--development/vala/vala.SlackBuild100
-rw-r--r--development/vala/vala.info10
-rw-r--r--games/0ad-data/0ad-data.SlackBuild2
-rw-r--r--games/0ad-data/0ad-data.info6
-rw-r--r--games/0ad/0ad.SlackBuild20
-rw-r--r--games/0ad/0ad.info8
-rw-r--r--games/RetroArch/RetroArch.SlackBuild3
-rw-r--r--games/alienarena/alienarena-7.66-no-qglBlitFramebufferEXT.patch22
-rw-r--r--games/alienarena/alienarena.SlackBuild30
-rw-r--r--games/alienarena/alienarena.info4
-rw-r--r--games/alienarena/checkout_code.sh6
-rw-r--r--games/assaultcube/assaultcube-gcc6.patch301
-rw-r--r--games/assaultcube/assaultcube.SlackBuild2
-rw-r--r--games/berusky2/berusky2.SlackBuild6
-rw-r--r--games/berusky2/berusky2.info6
-rw-r--r--games/blobwars/blobwars.SlackBuild2
-rw-r--r--games/bloodfrontier/bloodfrontier.SlackBuild2
-rw-r--r--games/brainparty/brainparty.SlackBuild3
-rw-r--r--games/brainparty/patches/gcc-6.patch47
-rw-r--r--games/chroma/chroma.SlackBuild19
-rw-r--r--games/chroma/gcc.patch30
-rw-r--r--games/desmume/desmume.SlackBuild27
-rw-r--r--games/desmume/desmume.info6
-rw-r--r--games/desmume/osmesa-header-fix.patch11
-rw-r--r--games/dolphin-emu/dolphin-emu.SlackBuild4
-rw-r--r--games/dolphin-emu/dolphin-emu.info6
-rw-r--r--games/etlegacy-from-source/README25
-rw-r--r--games/etlegacy-from-source/doinst.sh (renamed from office/juffed/doinst.sh)0
-rw-r--r--games/etlegacy-from-source/etlegacy-from-source.SlackBuild186
-rw-r--r--games/etlegacy-from-source/etlegacy-from-source.info16
-rw-r--r--games/etlegacy-from-source/files/etlegacy.desktop9
-rw-r--r--games/etlegacy-from-source/files/etlegacy.svg100
-rw-r--r--games/etlegacy-from-source/files/get_tarball_from_git.sh31
-rw-r--r--games/etlegacy-from-source/files/openurl.sh15
-rw-r--r--games/etlegacy-from-source/slack-desc19
-rw-r--r--games/f1spirit/03_gcc6.patch12
-rw-r--r--games/f1spirit/f1spirit.SlackBuild3
-rw-r--r--games/frogatto/frogatto.SlackBuild6
-rw-r--r--games/gargoyle/gargoyle.SlackBuild2
-rw-r--r--games/glob2/c++14.patch46
-rw-r--r--games/glob2/glob2.SlackBuild3
-rw-r--r--games/gnubg/gnubg.SlackBuild2
-rw-r--r--games/goonies/gcc6.patch12
-rw-r--r--games/goonies/goonies.SlackBuild3
-rw-r--r--games/higan-libretro/higan-libretro.SlackBuild4
-rw-r--r--games/higan-libretro/openmp.patch.gzbin457 -> 0 bytes
-rw-r--r--games/innoextract/innoextract.SlackBuild1
-rw-r--r--games/m64py/m64py.SlackBuild2
-rw-r--r--games/m64py/m64py.info8
-rw-r--r--games/micropolis/micropolis.SlackBuild2
-rw-r--r--games/nlarn/nlarn.SlackBuild3
-rw-r--r--games/noteye/noteye.SlackBuild3
-rw-r--r--games/openlierox/http_curl.patch20
-rw-r--r--games/openlierox/openlierox.SlackBuild8
-rw-r--r--games/openlierox/openlierox.info8
-rw-r--r--games/openmw/openmw.SlackBuild4
-rw-r--r--games/openmw/openmw.info6
-rw-r--r--games/openttd/openttd.SlackBuild2
-rw-r--r--games/pcsxr/pcsxr.SlackBuild3
-rw-r--r--games/pcsxr/zlib129fix.patch34
-rw-r--r--games/pingus/missing-header.patch22
-rw-r--r--games/pingus/pingus.SlackBuild3
-rw-r--r--games/pokerth/pokerth-1.1.1-boost-1.65-ambiguous-advance.patch14
-rw-r--r--games/pokerth/pokerth-1.1.2-boost-1.66-remove-deprecated.patch26
-rw-r--r--games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix1.patch75
-rw-r--r--games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix2.patch52
-rw-r--r--games/pokerth/pokerth.SlackBuild36
-rw-r--r--games/pokerth/pokerth.info6
-rw-r--r--games/quakespasm/README1
-rw-r--r--games/quakespasm/doinst.sh3
-rw-r--r--games/quakespasm/quakespasm.SlackBuild (renamed from desktop/thunar-dropbox/thunar-dropbox.SlackBuild)35
-rw-r--r--games/quakespasm/quakespasm.desktop9
-rw-r--r--games/quakespasm/quakespasm.info10
-rw-r--r--games/quakespasm/slack-desc (renamed from perl/Net-SSLeay/slack-desc)22
-rw-r--r--games/rlvm/gcc.patch24
-rw-r--r--games/rlvm/rlvm.SlackBuild3
-rw-r--r--games/roadfighter/gcc.patch11
-rw-r--r--games/roadfighter/roadfighter.SlackBuild3
-rw-r--r--games/speed-dreams/speed-dreams-params-conversion.patch22
-rw-r--r--games/speed-dreams/speed-dreams.SlackBuild3
-rw-r--r--games/supertux/README2
-rw-r--r--games/supertux/supertux.SlackBuild13
-rw-r--r--games/supertux/supertux.info6
-rw-r--r--games/supertuxkart/mesa-18.3.patch23
-rw-r--r--games/supertuxkart/supertuxkart.SlackBuild3
-rw-r--r--games/torcs/torcs.SlackBuild2
-rw-r--r--games/trackballs/trackballs.SlackBuild53
-rw-r--r--games/trackballs/trackballs.info8
-rw-r--r--games/warmux/patches/return-null.patch11
-rw-r--r--games/warmux/warmux.SlackBuild5
-rw-r--r--games/widelands/widelands-gcc47.patch12
-rw-r--r--games/widelands/widelands.SlackBuild12
-rw-r--r--games/widelands/widelands.info6
-rw-r--r--games/xmoto/xmoto.SlackBuild2
-rw-r--r--games/xu4/gcc7.patch90
-rw-r--r--games/xu4/xu4.SlackBuild3
-rw-r--r--games/xye/xye.SlackBuild2
-rw-r--r--gis/gdal/gdal.SlackBuild2
-rw-r--r--gis/grass/gcc7.patch90
-rw-r--r--gis/grass/grass.SlackBuild2
-rw-r--r--graphics/Blender/Blender.SlackBuild1
-rw-r--r--graphics/darktable/darktable.SlackBuild6
-rw-r--r--graphics/darktable/darktable.info6
-rw-r--r--graphics/gimp-plugin-bimp/gimp-plugin-bimp.SlackBuild8
-rw-r--r--graphics/gimp-plugin-bimp/gimp-plugin-bimp.info6
-rw-r--r--graphics/goocanvas/goocanvas.SlackBuild1
-rw-r--r--graphics/graphite2/README8
-rw-r--r--graphics/graphite2/graphite2.SlackBuild96
-rw-r--r--graphics/graphite2/graphite2.info10
-rw-r--r--graphics/graphite2/slack-desc19
-rw-r--r--graphics/graphviz/graphviz.SlackBuild1
-rw-r--r--graphics/inkscape/inkscape.SlackBuild48
-rw-r--r--graphics/inkscape/inkscape.info8
-rw-r--r--graphics/k3d/README1
-rw-r--r--graphics/k3d/gcc7.patch23
-rw-r--r--graphics/k3d/k3d.SlackBuild3
-rw-r--r--graphics/k3d/k3d.info2
-rw-r--r--graphics/kuickshow/kuickshow.SlackBuild8
-rw-r--r--graphics/mypaint/mypaint.SlackBuild8
-rw-r--r--graphics/mypaint/mypaint.info8
-rw-r--r--graphics/opencollada/opencollada.SlackBuild3
-rw-r--r--graphics/opencollada/pcre.patch13
-rw-r--r--graphics/opencolorio/opencolorio.SlackBuild2
-rw-r--r--graphics/photoprint/photoprint.SlackBuild20
-rw-r--r--graphics/povray/povray.SlackBuild10
-rw-r--r--graphics/povray/povray.info6
-rw-r--r--graphics/rawstudio/rawstudio.SlackBuild2
-rw-r--r--graphics/simple-scan/libwebpmux.patch38
-rw-r--r--graphics/simple-scan/simple-scan.SlackBuild6
-rw-r--r--graphics/simple-scan/simple-scan.info8
-rw-r--r--graphics/simple-scan/slack-desc2
-rw-r--r--graphics/yafaray-blender/yafaray-blender.SlackBuild28
-rw-r--r--graphics/yafaray-blender/yafaray-blender.info6
-rw-r--r--graphics/yafaray/README8
-rw-r--r--graphics/yafaray/yafaray.SlackBuild92
-rw-r--r--graphics/yafaray/yafaray.info8
-rw-r--r--ham/fldigi/fldigi.SlackBuild2
-rw-r--r--ham/soundmodem/soundmodem.SlackBuild2
-rw-r--r--ham/svxlink/gcc6.patch23
-rw-r--r--ham/svxlink/svxlink.SlackBuild5
-rw-r--r--libraries/Atlas-C++/Atlas-C++.SlackBuild2
-rw-r--r--libraries/CEGUI0.7/CEGUI0.7.SlackBuild2
-rw-r--r--libraries/FreeImage/010_avoid-raw-literal.diff44
-rw-r--r--libraries/FreeImage/FreeImage.SlackBuild6
-rw-r--r--libraries/FreeImage/FreeImage.info6
-rw-r--r--libraries/OpenAL/OpenAL.SlackBuild8
-rw-r--r--libraries/OpenSceneGraph/0008-Fix_wxWidgets_gl.patch12
-rw-r--r--libraries/OpenSceneGraph/OpenSceneGraph.SlackBuild3
-rw-r--r--libraries/SDL2/README7
-rw-r--r--libraries/SDL2/SDL2.SlackBuild93
-rw-r--r--libraries/SDL2/SDL2.info10
-rw-r--r--libraries/SDL2/slack-desc19
-rw-r--r--libraries/SDL2_image/README4
-rw-r--r--libraries/SDL2_image/SDL2_image.SlackBuild99
-rw-r--r--libraries/SDL2_image/SDL2_image.info10
-rw-r--r--libraries/SDL2_image/slack-desc19
-rw-r--r--libraries/SDL2_mixer/README11
-rw-r--r--libraries/SDL2_mixer/SDL2_mixer.SlackBuild99
-rw-r--r--libraries/SDL2_mixer/SDL2_mixer.info10
-rw-r--r--libraries/SDL2_mixer/slack-desc19
-rw-r--r--libraries/SDL2_net/README3
-rw-r--r--libraries/SDL2_net/SDL2_net.SlackBuild100
-rw-r--r--libraries/SDL2_net/SDL2_net.info10
-rw-r--r--libraries/SDL2_net/slack-desc19
-rw-r--r--libraries/SDL2_ttf/README4
-rw-r--r--libraries/SDL2_ttf/SDL2_ttf.SlackBuild99
-rw-r--r--libraries/SDL2_ttf/SDL2_ttf.info10
-rw-r--r--libraries/SDL2_ttf/slack-desc19
-rw-r--r--libraries/SDL_sound/SDL_sound.SlackBuild1
-rw-r--r--libraries/SFGUI/SFGUI.SlackBuild18
-rw-r--r--libraries/SFGUI/SFGUI.info6
-rw-r--r--libraries/SimGear/SimGear.SlackBuild5
-rw-r--r--libraries/agg/agg.SlackBuild1
-rw-r--r--libraries/agg/patches/0016-bad-const.patch12
-rw-r--r--libraries/argon2/README11
-rw-r--r--libraries/argon2/argon2.SlackBuild95
-rw-r--r--libraries/argon2/argon2.info10
-rw-r--r--libraries/argon2/patches/Makefile.diff11
-rw-r--r--libraries/argon2/patches/pkgconfig.diff21
-rw-r--r--libraries/argon2/slack-desc19
-rw-r--r--libraries/avr-libc/avr-libc.SlackBuild15
-rw-r--r--libraries/avr-libc/avr-libc.info6
-rw-r--r--libraries/bamf/bamf.SlackBuild2
-rw-r--r--libraries/beignet/beignet.SlackBuild4
-rw-r--r--libraries/beignet/beignet.info6
-rw-r--r--libraries/beignet/llvm6.patch30
-rw-r--r--libraries/belle-sip/belle-sip.SlackBuild2
-rw-r--r--libraries/belle-sip/gcc9.patch19
-rw-r--r--libraries/ccrtp/ccrtp.SlackBuild2
-rw-r--r--libraries/ccrtp/ccrtp.info6
-rw-r--r--libraries/cppo/README2
-rw-r--r--libraries/cppo/cppo.SlackBuild (renamed from python/typing/typing.SlackBuild)20
-rw-r--r--libraries/cppo/cppo.info10
-rw-r--r--libraries/cppo/slack-desc (renamed from python/idna/slack-desc)22
-rw-r--r--libraries/cuneiform/cuneiform-gcc.patch98
-rw-r--r--libraries/cuneiform/cuneiform.SlackBuild14
-rw-r--r--libraries/cuneiform/strings.patch19
-rw-r--r--libraries/efivar/README1
-rw-r--r--libraries/efivar/efivar.SlackBuild95
-rw-r--r--libraries/efivar/efivar.info10
-rw-r--r--libraries/efivar/slack-desc19
-rw-r--r--libraries/efl/0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573.patch31
-rw-r--r--libraries/efl/efl.SlackBuild3
-rw-r--r--libraries/fuzzylite/fuzzylite.SlackBuild6
-rw-r--r--libraries/fuzzylite/fuzzylite.info6
-rw-r--r--libraries/gdl/gdl.SlackBuild4
-rw-r--r--libraries/gdl/gdl.info6
-rw-r--r--libraries/gstreamer-editing-services/gstreamer-editing-services.SlackBuild2
-rw-r--r--libraries/gstreamer-editing-services/gstreamer-editing-services.info6
-rw-r--r--libraries/gstreamermm/fix_warnings.patch15
-rw-r--r--libraries/gstreamermm/gstreamermm.SlackBuild3
-rw-r--r--libraries/gtkglext/0002-GCC-8-fixes.patch34
-rw-r--r--libraries/gtkglext/gtkglext.SlackBuild3
-rw-r--r--libraries/gtksourceview3/gtksourceview3.SlackBuild2
-rw-r--r--libraries/gtksourceview3/gtksourceview3.info8
-rw-r--r--libraries/gtksourceview4/README4
-rw-r--r--libraries/gtksourceview4/gtksourceview4.SlackBuild (renamed from network/nghttp2/nghttp2.SlackBuild)30
-rw-r--r--libraries/gtksourceview4/gtksourceview4.info10
-rw-r--r--libraries/gtksourceview4/slack-desc19
-rw-r--r--libraries/hpx/gcc7.patch23
-rw-r--r--libraries/hpx/hpx.SlackBuild4
-rw-r--r--libraries/http-parser/http-parser.SlackBuild2
-rw-r--r--libraries/id3lib/README13
-rw-r--r--libraries/id3lib/id3lib.SlackBuild119
-rw-r--r--libraries/id3lib/id3lib.info10
-rw-r--r--libraries/id3lib/patches/id3lib-3.8.3-GCC43FIX-1.patch90
-rw-r--r--libraries/id3lib/patches/id3lib_3.8.3_UTF16_writing_bug.patch39
-rw-r--r--libraries/id3lib/patches/id3lib_Doxyfile.patch22
-rw-r--r--libraries/id3lib/slack-desc19
-rw-r--r--libraries/isl/README8
-rw-r--r--libraries/isl/isl.SlackBuild115
-rw-r--r--libraries/isl/isl.info10
-rw-r--r--libraries/isl/slack-desc19
-rw-r--r--libraries/jansson/README1
-rw-r--r--libraries/jansson/jansson.info10
-rw-r--r--libraries/json-glib/README3
-rw-r--r--libraries/json-glib/json-glib.SlackBuild97
-rw-r--r--libraries/json-glib/json-glib.info10
-rw-r--r--libraries/json-glib/slack-desc19
-rw-r--r--libraries/lablgtk/README2
-rw-r--r--libraries/lablgtk/lablgtk.SlackBuild10
-rw-r--r--libraries/lablgtk/lablgtk.info10
-rw-r--r--libraries/lame/CVE-2017-15018.patch.gzbin307 -> 0 bytes
-rw-r--r--libraries/lame/README3
-rw-r--r--libraries/lame/lame.SlackBuild113
-rw-r--r--libraries/lame/lame.info10
-rw-r--r--libraries/lame/slack-desc19
-rw-r--r--libraries/libart-lgpl/README3
-rw-r--r--libraries/libart-lgpl/libart-lgpl.SlackBuild (renamed from audio/opusfile/opusfile.SlackBuild)12
-rw-r--r--libraries/libart-lgpl/libart-lgpl.info10
-rw-r--r--libraries/libart-lgpl/slack-desc (renamed from desktop/seafile-gui/slack-desc)23
-rw-r--r--libraries/libbluray/README15
-rw-r--r--libraries/libbluray/libbluray.SlackBuild111
-rw-r--r--libraries/libbluray/libbluray.info10
-rw-r--r--libraries/libbluray/slack-desc19
-rw-r--r--libraries/libc++/README5
-rw-r--r--libraries/libc++/libc++.SlackBuild130
-rw-r--r--libraries/libc++/libc++.info14
-rw-r--r--libraries/libc++/slack-desc19
-rw-r--r--libraries/libclaw/lib.patch11
-rw-r--r--libraries/libclaw/libclaw.SlackBuild6
-rw-r--r--libraries/libclaw/patches/01_libclaw-1.7.4-libdir.patch36
-rw-r--r--libraries/libclaw/patches/02_libclaw-1.7.4-gcc62.patch89
-rw-r--r--libraries/libclaw/patches/03_libclaw-1.7.4-gcc7.patch36
-rw-r--r--libraries/libcuefile/libcuefile.SlackBuild18
-rw-r--r--libraries/libdbus-c++/gcc47.patch10
-rw-r--r--libraries/libdbus-c++/libdbus-c++.SlackBuild22
-rw-r--r--libraries/libdbus-c++/libdbus-c++.info6
-rw-r--r--libraries/libdbus-c++/nested_variant_map.patch11
-rw-r--r--libraries/libdbus-c++/patches/libdbus-c++-gcc7.patch11
-rw-r--r--libraries/libdbus-c++/patches/libdbus-c++-glibmm-2.43.patch13
-rw-r--r--libraries/libdbus-c++/patches/libdbus-c++-nodocdatetime.patch25
-rw-r--r--libraries/libdbus-c++/patches/libdbus-c++-noreturn.patch21
-rw-r--r--libraries/libdbus-c++/patches/libdbus-c++-pthread.patch11
-rw-r--r--libraries/libdbus-c++/patches/libdbus-c++-sover.patch28
-rw-r--r--libraries/libedit/README11
-rw-r--r--libraries/libedit/libedit.SlackBuild105
-rw-r--r--libraries/libedit/libedit.info10
-rw-r--r--libraries/libedit/slack-desc19
-rw-r--r--libraries/libevhtp/libevhtp.SlackBuild10
-rw-r--r--libraries/libevhtp/libevhtp.info6
-rw-r--r--libraries/libffado/libffado.SlackBuild23
-rw-r--r--libraries/libffado/libffado.info8
-rw-r--r--libraries/libgexiv2/README3
-rw-r--r--libraries/libgexiv2/libgexiv2.SlackBuild95
-rw-r--r--libraries/libgexiv2/libgexiv2.info10
-rw-r--r--libraries/libgexiv2/slack-desc19
-rw-r--r--libraries/libgksu/libgksu.SlackBuild1
-rw-r--r--libraries/libgnome/libgnome.SlackBuild6
-rw-r--r--libraries/libgnome/libgnome.info2
-rw-r--r--libraries/libgnomecanvas/libgnomecanvas.info2
-rw-r--r--libraries/libgnomeprint/libgnomeprint.SlackBuild1
-rw-r--r--libraries/libgnomeprint/libgnomeprint.info2
-rw-r--r--libraries/libgnomeui/libgnomeui.SlackBuild6
-rw-r--r--libraries/libidn2/README5
-rw-r--r--libraries/libidn2/libidn2.SlackBuild107
-rw-r--r--libraries/libidn2/libidn2.info10
-rw-r--r--libraries/libidn2/slack-desc19
-rw-r--r--libraries/libido3/libido3.SlackBuild3
-rw-r--r--libraries/libindicator3/libindicator3.SlackBuild3
-rw-r--r--libraries/libinput/README11
-rw-r--r--libraries/libinput/libinput.SlackBuild93
-rw-r--r--libraries/libinput/libinput.info10
-rw-r--r--libraries/libinput/slack-desc19
-rw-r--r--libraries/libircclient/libircclient.SlackBuild4
-rw-r--r--libraries/libkqueue/libkqueue.SlackBuild28
-rw-r--r--libraries/libkqueue/libkqueue.info6
-rw-r--r--libraries/libmemcached/libmemcached.SlackBuild2
-rw-r--r--libraries/libmp4v2/libmp4v2.SlackBuild2
-rw-r--r--libraries/libmusicbrainz/libmusicbrainz.SlackBuild2
-rw-r--r--libraries/libmwaw/libmwaw.SlackBuild2
-rw-r--r--libraries/liboauth/liboauth-1.0.3-openssl-1.1.0-2.patch147
-rw-r--r--libraries/liboauth/liboauth.SlackBuild3
-rw-r--r--libraries/libopenshot-audio/libopenshot-audio.SlackBuild4
-rw-r--r--libraries/libopenshot-audio/libopenshot-audio.info6
-rw-r--r--libraries/libopenshot/libopenshot.SlackBuild4
-rw-r--r--libraries/libopenshot/libopenshot.info6
-rw-r--r--libraries/libopusenc/README2
-rw-r--r--libraries/libopusenc/libopusenc.SlackBuild99
-rw-r--r--libraries/libopusenc/libopusenc.info10
-rw-r--r--libraries/libqinfinity/libqinfinity.SlackBuild2
-rw-r--r--libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch342
-rw-r--r--libraries/libquicktime/libquicktime.SlackBuild3
-rw-r--r--libraries/libqxt/libqxt-gcc6.patch11
-rw-r--r--libraries/libqxt/libqxt.SlackBuild3
-rw-r--r--libraries/libreplaygain/libreplaygain.SlackBuild16
-rw-r--r--libraries/libsearpc/libsearpc.SlackBuild14
-rw-r--r--libraries/libsearpc/libsearpc.info4
-rw-r--r--libraries/libsidplayfp/libsidplayfp.SlackBuild8
-rw-r--r--libraries/libsidplayfp/libsidplayfp.info6
-rw-r--r--libraries/libsodium/README2
-rw-r--r--libraries/libsodium/libsodium.SlackBuild98
-rw-r--r--libraries/libsodium/libsodium.info10
-rw-r--r--libraries/libsodium/slack-desc19
-rw-r--r--libraries/libsrtp/libsrtp.SlackBuild1
-rw-r--r--libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild6
-rw-r--r--libraries/libtorrent-rasterbar/libtorrent-rasterbar.info8
-rw-r--r--libraries/libtxc_dxtn/README5
-rw-r--r--libraries/libtxc_dxtn/libtxc_dxtn.SlackBuild96
-rw-r--r--libraries/libtxc_dxtn/libtxc_dxtn.info10
-rw-r--r--libraries/libtxc_dxtn/slack-desc19
-rw-r--r--libraries/libunwind/README9
-rw-r--r--libraries/libunwind/libunwind.SlackBuild104
-rw-r--r--libraries/libunwind/libunwind.info10
-rw-r--r--libraries/libunwind/slack-desc19
-rw-r--r--libraries/libvirt-glib/libvirt-glib.SlackBuild2
-rw-r--r--libraries/libvirt-glib/libvirt-glib.info6
-rw-r--r--libraries/libvirt-python/libvirt-python.SlackBuild5
-rw-r--r--libraries/libvirt-python/libvirt-python.info8
-rw-r--r--libraries/libvirt/libvirt.SlackBuild4
-rw-r--r--libraries/libvirt/libvirt.info8
-rw-r--r--libraries/libwacom/README5
-rw-r--r--libraries/libwacom/libwacom.SlackBuild102
-rw-r--r--libraries/libwacom/libwacom.info10
-rw-r--r--libraries/libwacom/slack-desc19
-rw-r--r--libraries/libwebp/README18
-rw-r--r--libraries/libwebp/libwebp.SlackBuild98
-rw-r--r--libraries/libwebp/libwebp.info10
-rw-r--r--libraries/libwebp/slack-desc19
-rw-r--r--libraries/libwps/libwps.SlackBuild2
-rw-r--r--libraries/libzdb/libzdb.SlackBuild1
-rw-r--r--libraries/libzrtpcpp/libzrtpcpp.SlackBuild4
-rw-r--r--libraries/libzrtpcpp/libzrtpcpp.info6
-rw-r--r--libraries/live555/live555.SlackBuild4
-rw-r--r--libraries/med/med.SlackBuild1
-rw-r--r--libraries/npth/README11
-rw-r--r--libraries/npth/npth.SlackBuild95
-rw-r--r--libraries/npth/npth.info10
-rw-r--r--libraries/npth/slack-desc19
-rw-r--r--libraries/ocaml-camomile/ocaml-camomile.SlackBuild49
-rw-r--r--libraries/ocaml-camomile/ocaml-camomile.info6
-rw-r--r--libraries/ocaml-findlib/ocaml-findlib.SlackBuild8
-rw-r--r--libraries/ocaml-findlib/ocaml-findlib.info10
-rw-r--r--libraries/ocl-icd/README19
-rw-r--r--libraries/ocl-icd/ocl-icd.SlackBuild110
-rw-r--r--libraries/ocl-icd/ocl-icd.info10
-rw-r--r--libraries/ocl-icd/slack-desc19
-rw-r--r--libraries/opal/README2
-rw-r--r--libraries/opal/ffmpeg2.patch398
-rw-r--r--libraries/opal/opal.SlackBuild12
-rw-r--r--libraries/openbabel/openbabel.SlackBuild14
-rw-r--r--libraries/openbabel/openbabel.info6
-rw-r--r--libraries/pcre2/README2
-rw-r--r--libraries/pcre2/pcre2.SlackBuild103
-rw-r--r--libraries/pcre2/pcre2.info10
-rw-r--r--libraries/physfs/physfs.SlackBuild4
-rw-r--r--libraries/podofo/podofo.SlackBuild2
-rw-r--r--libraries/poppler-qt5/poppler-qt5.SlackBuild54
-rw-r--r--libraries/poppler-qt5/poppler-qt5.info6
-rw-r--r--libraries/ptlib/ptlib-2.10.10-mga-bison-parameter.patch39
-rw-r--r--libraries/ptlib/ptlib-2.10.11-bison_fixes-2.patch2951
-rw-r--r--libraries/ptlib/ptlib-2.10.11-openssl11.patch212
-rw-r--r--libraries/ptlib/ptlib-gcc8.patch12
-rw-r--r--libraries/ptlib/ptlib.SlackBuild8
-rw-r--r--libraries/ptlib/ssl3.patch19
-rw-r--r--libraries/python3-PyQt5/python3-PyQt5.SlackBuild2
-rw-r--r--libraries/python3-pillow/README8
-rw-r--r--libraries/python3-pillow/python3-pillow.SlackBuild107
-rw-r--r--libraries/python3-pillow/python3-pillow.info10
-rw-r--r--libraries/python3-pillow/slack-desc19
-rw-r--r--libraries/qt5-webkit/icu4c-65.1.patch60
-rw-r--r--libraries/qt5-webkit/qt5-webkit.SlackBuild7
-rw-r--r--libraries/qt5-webkit/qt5-webkit.info6
-rw-r--r--libraries/qt5/patches/pulseaudio-13.patch63
-rw-r--r--libraries/qt5/patches/qt5.webengine_gcc8.patch26
-rw-r--r--libraries/qt5/patches/qtbase59-openssl11.patch3961
-rw-r--r--libraries/qt5/qt5.SlackBuild13
-rw-r--r--libraries/rapidjson/rapidjson.SlackBuild2
-rw-r--r--libraries/rudiments/rudiments.SlackBuild8
-rw-r--r--libraries/rudiments/rudiments.info6
-rw-r--r--libraries/sdformat/cmake.patch20
-rw-r--r--libraries/sdformat/sdformat.SlackBuild3
-rw-r--r--libraries/tls/tls.SlackBuild5
-rw-r--r--libraries/tls/tls.info6
-rw-r--r--libraries/totem-pl-parser/totem-pl-parser.SlackBuild42
-rw-r--r--libraries/totem-pl-parser/totem-pl-parser.info8
-rw-r--r--libraries/ucl/ucl.SlackBuild1
-rw-r--r--libraries/ucommon/ucommon.SlackBuild2
-rw-r--r--libraries/ucommon/ucommon.info6
-rw-r--r--libraries/vte2/README7
-rw-r--r--libraries/vte2/fix_meta_alt_keybinding.patch74
-rw-r--r--libraries/vte2/slack-desc (renamed from libraries/vte3/slack-desc)22
-rw-r--r--libraries/vte2/vte.escape.cpu.usage.diff89
-rw-r--r--libraries/vte2/vte2.SlackBuild (renamed from libraries/vte3/vte3.SlackBuild)26
-rw-r--r--libraries/vte2/vte2.info10
-rw-r--r--libraries/vte3/README7
-rw-r--r--libraries/vte3/vte3.info10
-rw-r--r--libraries/webkit2gtk/icu4c-65.1.patch27
-rw-r--r--libraries/webkit2gtk/webkit2gtk.SlackBuild3
-rw-r--r--libraries/webkit2gtk/webkit2gtk.info2
-rw-r--r--libraries/webkitgtk/icu4c-65.1.patch39
-rw-r--r--libraries/webkitgtk/webkitgtk.SlackBuild6
-rw-r--r--libraries/webkitgtk3/icu4c-65.1.patch39
-rw-r--r--libraries/webkitgtk3/webkitgtk3.SlackBuild8
-rw-r--r--libraries/wvstreams/patches/0001-Use-explicit-cast-and-prevent-compiler-error.patch50
-rw-r--r--libraries/wvstreams/patches/05_gcc.diff13
-rw-r--r--libraries/wvstreams/patches/openssl-buildfix.patch16
-rw-r--r--libraries/wvstreams/wvstreams.SlackBuild9
-rw-r--r--libraries/wxsvg/wxsvg.SlackBuild4
-rw-r--r--libraries/wxsvg/wxsvg.info6
-rw-r--r--libraries/xf86-input-libinput/README20
-rw-r--r--libraries/xf86-input-libinput/slack-desc19
-rw-r--r--libraries/xf86-input-libinput/xf86-input-libinput.SlackBuild116
-rw-r--r--libraries/xf86-input-libinput/xf86-input-libinput.info10
-rw-r--r--libraries/xulrunner/README12
-rw-r--r--libraries/xulrunner/ftfntfmt.patch35
-rw-r--r--libraries/xulrunner/gold/gold2
-rw-r--r--libraries/xulrunner/gold/ld2
-rw-r--r--libraries/xulrunner/slack-desc19
-rw-r--r--libraries/xulrunner/xulrunner.SlackBuild162
-rw-r--r--libraries/xulrunner/xulrunner.info10
-rw-r--r--libraries/yaml-cpp/boost_patch.diff11
-rw-r--r--libraries/yaml-cpp/yaml-cpp.SlackBuild2
-rw-r--r--misc/dmg2img/0001-openssl-1.1-compatibility.patch219
-rw-r--r--misc/dmg2img/dmg2img.SlackBuild3
-rw-r--r--misc/glogg/glogg.SlackBuild4
-rw-r--r--misc/glogg/glogg.info8
-rw-r--r--misc/gourmet/gourmet.SlackBuild5
-rw-r--r--misc/gourmet/gourmet.info2
-rw-r--r--misc/gourmet/slack-desc2
-rw-r--r--misc/gourmet/tostring-to-tobytes.patch26
-rw-r--r--misc/ibus-unikey/ibus-unikey.SlackBuild2
-rw-r--r--misc/krename/krename.SlackBuild3
-rw-r--r--misc/krename/null.patch12
-rw-r--r--misc/stardict-tools/stardict-tools.SlackBuild3
-rw-r--r--misc/xca/xca.SlackBuild4
-rw-r--r--misc/yapet/gcc6.patch11
-rw-r--r--misc/yapet/yapet.SlackBuild3
-rw-r--r--misc/zinnia/zinnia-fixes-gcc6-compile.patch22
-rw-r--r--misc/zinnia/zinnia.SlackBuild3
-rw-r--r--multimedia/aegisub/aegisub.SlackBuild8
-rw-r--r--multimedia/aegisub/boost.patch34
-rw-r--r--multimedia/aegisub/icu.patch11
-rw-r--r--multimedia/bombono-dvd/bombono-dvd.SlackBuild2
-rw-r--r--multimedia/bombono-dvd/patches/fix_operator_ambiguity.patch352
-rw-r--r--multimedia/bombono-dvd/patches/fix_throw_specifications.patch24
-rw-r--r--multimedia/cinelerra/README2
-rw-r--r--multimedia/cinelerra/cinelerra.SlackBuild26
-rw-r--r--multimedia/cinelerra/cinelerra.desktop10
-rw-r--r--multimedia/cinelerra/cinelerra.info8
-rw-r--r--multimedia/cinelerra/slack-desc6
-rw-r--r--multimedia/dvdstyler/dvdstyler.SlackBuild4
-rw-r--r--multimedia/dvdstyler/dvdstyler.info6
-rw-r--r--multimedia/dvgrab/dvgrab.SlackBuild2
-rw-r--r--multimedia/ffmpeg/README70
-rw-r--r--multimedia/ffmpeg/ffmpeg-3.2.4-libfdk_aac-2.0.0.patch11
-rw-r--r--multimedia/ffmpeg/ffmpeg-3.2.4-openjpeg2.3.patch102
-rw-r--r--multimedia/ffmpeg/ffmpeg.SlackBuild261
-rw-r--r--multimedia/ffmpeg/ffmpeg.info10
-rw-r--r--multimedia/ffmpeg/slack-desc19
-rw-r--r--multimedia/ffmpeg4/README85
-rw-r--r--multimedia/ffmpeg4/ffmpeg4.SlackBuild234
-rw-r--r--multimedia/ffmpeg4/ffmpeg4.info10
-rw-r--r--multimedia/ffmpeg4/slack-desc19
-rw-r--r--multimedia/gnash/gnash.SlackBuild42
-rw-r--r--multimedia/gnash/gnash.info8
-rw-r--r--multimedia/gnash/patch/58dcdd9338d965e54c8f03ce3d2757388d82b7a3.patch25
-rw-r--r--multimedia/gnash/patch/cc22f2d0597f3a9547980f4786d918f8b5635472.patch31
-rw-r--r--multimedia/gnash/patch/gcc47.patch11
-rw-r--r--multimedia/gnash/patch/gnash-0.8.10-boost-1.50.patch24
-rw-r--r--multimedia/gnash/patch/gnash-0.8.10-cve-2012-1175.patch63
-rw-r--r--multimedia/gnash/patch/gnash-0.8.10-kde4-libdir.patch12
-rw-r--r--multimedia/gnash/patch/gnash-0.8.10-klash.patch12
-rw-r--r--multimedia/gnash/patch/gnash-boost.patch14
-rw-r--r--multimedia/gpac/gpac-ffmpeg-4.0.patch42
-rw-r--r--multimedia/gpac/gpac.SlackBuild6
-rw-r--r--multimedia/gst-libav/README2
-rw-r--r--multimedia/gst-libav/gst-libav.SlackBuild96
-rw-r--r--multimedia/gst-libav/gst-libav.info10
-rw-r--r--multimedia/gst-libav/slack-desc19
-rw-r--r--multimedia/gst-plugins-bad/README10
-rw-r--r--multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild14
-rw-r--r--multimedia/gst-plugins-bad/gst-plugins-bad.info6
-rw-r--r--multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild8
-rw-r--r--multimedia/gst-plugins-ugly/gst-plugins-ugly.info6
-rw-r--r--multimedia/gst0-plugins-bad/gst0-plugins-bad.SlackBuild2
-rw-r--r--multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild1
-rw-r--r--multimedia/k9copy-reloaded/patches/ffmpeg3andgcc6.patch74
-rw-r--r--multimedia/kdenlive/kdenlive.SlackBuild3
-rw-r--r--multimedia/mkvtoolnix/mkvtoolnix.SlackBuild2
-rw-r--r--multimedia/mkvtoolnix/mkvtoolnix.info6
-rw-r--r--multimedia/mlt/mlt.SlackBuild4
-rw-r--r--multimedia/mythtv/libvpxenc.patch42
-rw-r--r--multimedia/mythtv/mythtv.SlackBuild8
-rw-r--r--multimedia/mythtv/mythtv.info8
-rw-r--r--multimedia/oggvideotools/oggvideotools.SlackBuild2
-rw-r--r--multimedia/openshot/openshot.SlackBuild4
-rw-r--r--multimedia/openshot/openshot.info6
-rw-r--r--multimedia/rtmpdump/rtmpdump.SlackBuild8
-rw-r--r--multimedia/smpeg/smpeg.SlackBuild4
-rw-r--r--multimedia/subtitleeditor/fix-23714-cxx11-v2.patch273
-rw-r--r--multimedia/subtitleeditor/subtitleeditor.SlackBuild15
-rw-r--r--multimedia/subtitleeditor/subtitleeditor.info10
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg4.patch508
-rw-r--r--multimedia/transcode/transcode.SlackBuild1
-rw-r--r--multimedia/tvheadend/tvheadend.SlackBuild5
-rw-r--r--multimedia/tvheadend/tvheadend.info6
-rw-r--r--multimedia/tvtime/tvtime.SlackBuild23
-rw-r--r--multimedia/tvtime/tvtime.info6
-rw-r--r--multimedia/vcdimager/vcdimager.SlackBuild14
-rw-r--r--multimedia/vcdimager/vcdimager.info6
-rw-r--r--multimedia/vlc/README4
-rw-r--r--multimedia/vlc/vlc.SlackBuild8
-rw-r--r--network/NetworkManager-openvpn/NetworkManager-openvpn.SlackBuild3
-rw-r--r--network/NetworkManager-openvpn/NetworkManager-openvpn.info6
-rw-r--r--network/NetworkManager-pptp/NetworkManager-pptp.SlackBuild5
-rw-r--r--network/NetworkManager-pptp/NetworkManager-pptp.info6
-rw-r--r--network/NetworkManager-vpnc/NetworkManager-vpnc.SlackBuild3
-rw-r--r--network/NetworkManager-vpnc/NetworkManager-vpnc.info6
-rw-r--r--network/RSSOwl/RSSOwl.SlackBuild2
-rw-r--r--network/bip/bip.SlackBuild2
-rw-r--r--network/bitcoin/bitcoin.SlackBuild2
-rw-r--r--network/bitcoin/boost-1.66.0.patch82
-rw-r--r--network/bwm-ng/bwm-ng.SlackBuild3
-rw-r--r--network/bwm-ng/fix_gcc7_inline.patch40
-rw-r--r--network/ccnet/ccnet.SlackBuild10
-rw-r--r--network/ccnet/ccnet.info6
-rw-r--r--network/cherokee/cherokee.SlackBuild8
-rw-r--r--network/cherokee/cherokee.info6
-rw-r--r--network/dobbscoin/dobbscoin.SlackBuild9
-rw-r--r--network/dovecot/README27
-rw-r--r--network/dovecot/doinst.sh26
-rw-r--r--network/dovecot/dovecot.SlackBuild133
-rw-r--r--network/dovecot/dovecot.info10
-rw-r--r--network/dovecot/rc.dovecot55
-rw-r--r--network/dovecot/slack-desc19
-rw-r--r--network/dsniff/24_Fix-OpenSSL1.1.0-Build.patch202
-rw-r--r--network/dsniff/dsniff.SlackBuild2
-rw-r--r--network/ekiga/ekiga-4.0.1-boost-signals2.patch2179
-rw-r--r--network/ekiga/ekiga-4.0.1-libresolv.patch13
-rw-r--r--network/ekiga/ekiga.SlackBuild4
-rw-r--r--network/emacs-w3m/emacs-w3m.SlackBuild8
-rw-r--r--network/emacs-w3m/emacs-w3m.info6
-rw-r--r--network/falkon/falkon.SlackBuild4
-rw-r--r--network/falkon/falkon.info6
-rw-r--r--network/fcgiwrap/fcgiwrap.SlackBuild2
-rw-r--r--network/fqterm/fqterm.SlackBuild32
-rw-r--r--network/fqterm/fqterm.info6
-rw-r--r--network/httrack/httrack.SlackBuild2
-rw-r--r--network/httrack/httrack.info6
-rw-r--r--network/hylafax/gcc.patch12
-rw-r--r--network/hylafax/hylafax.SlackBuild2
-rw-r--r--network/ifstatus/README10
-rw-r--r--network/ifstatus/ifstatus.SlackBuild91
-rw-r--r--network/ifstatus/ifstatus.info10
-rw-r--r--network/ifstatus/ifstatus.patch66
-rw-r--r--network/ifstatus/slack-desc19
-rw-r--r--network/iperf/iperf.SlackBuild29
-rw-r--r--network/iperf/iperf.info6
-rw-r--r--network/iperf/patches/0_iperf-2.0.8-debuginfo.patch17
-rw-r--r--network/iperf/patches/1_iperf-2.0.8-bindfail.patch42
-rw-r--r--network/iperf/patches/2_iperf-2.0.8-math.patch75
-rw-r--r--network/jigdo/jigdo-0.7.3-gcc7.patch39
-rw-r--r--network/jigdo/jigdo.SlackBuild3
-rw-r--r--network/kmess/README5
-rw-r--r--network/kmess/doinst.sh10
-rw-r--r--network/kmess/giflib-5.0.patch95
-rw-r--r--network/kmess/kmess.SlackBuild100
-rw-r--r--network/kmess/kmess.info10
-rw-r--r--network/kmess/slack-desc19
-rw-r--r--network/knock/knock.SlackBuild26
-rw-r--r--network/knock/knock.info6
-rw-r--r--network/leechcraft/README26
-rw-r--r--network/leechcraft/doinst.sh22
-rw-r--r--network/leechcraft/leechcraft.SlackBuild111
-rw-r--r--network/leechcraft/leechcraft.info10
-rw-r--r--network/leechcraft/slack-desc19
-rw-r--r--network/linuxdcpp/linuxdcpp.SlackBuild2
-rw-r--r--network/memcached/memcached.SlackBuild2
-rw-r--r--network/midori/README10
-rw-r--r--network/midori/doinst.sh16
-rw-r--r--network/midori/midori.SlackBuild47
-rw-r--r--network/midori/midori.info10
-rw-r--r--network/midori/slack-desc6
-rw-r--r--network/mldonkey/mldonkey.SlackBuild20
-rw-r--r--network/mldonkey/mldonkey.info6
-rw-r--r--network/mosh/mosh.SlackBuild2
-rw-r--r--network/mumble/boost-1.66.patch32
-rw-r--r--network/mumble/mumble.SlackBuild3
-rw-r--r--network/museek+/README23
-rw-r--r--network/museek+/doinst.sh26
-rw-r--r--network/museek+/museek+.SlackBuild90
-rw-r--r--network/museek+/museek+.info10
-rw-r--r--network/museek+/museek-python.diff44
-rw-r--r--network/museek+/rc.museekd105
-rw-r--r--network/museek+/slack-desc19
-rw-r--r--network/ncrack/ncrack.SlackBuild2
-rw-r--r--network/netcat-openbsd/netcat-openbsd.SlackBuild24
-rw-r--r--network/netcat-openbsd/netcat-openbsd.info8
-rw-r--r--network/netcat-openbsd/patches/0001-port-to-linux-with-libsd.patch475
-rw-r--r--network/netcat-openbsd/patches/0002-connect-timeout.patch121
-rw-r--r--network/netcat-openbsd/patches/0003-get-sev-by-name.patch34
-rw-r--r--network/netcat-openbsd/patches/0004-poll-hup.patch59
-rw-r--r--network/netcat-openbsd/patches/0005-send-crlf.patch108
-rw-r--r--network/netcat-openbsd/patches/0006-quit-timer.patch133
-rw-r--r--network/netcat-openbsd/patches/0007-udp-scan-timeout.patch60
-rw-r--r--network/netcat-openbsd/patches/0008-verbose-numeric-port.patch106
-rw-r--r--network/netcat-openbsd/patches/0009-dccp-support.patch304
-rw-r--r--network/netcat-openbsd/patches/0010-serialized-handling-multiple-clients.patch75
-rw-r--r--network/netcat-openbsd/patches/0011-misc-failures-and-features.patch457
-rw-r--r--network/nghttp2/README4
-rw-r--r--network/nghttp2/nghttp2.info10
-rw-r--r--network/nghttp2/slack-desc19
-rw-r--r--network/open-iscsi/open-iscsi.SlackBuild2
-rw-r--r--network/opendkim/opendkim.SlackBuild3
-rw-r--r--network/opendkim/openssl_1.1.0_compat.patch90
-rw-r--r--network/openfortivpn/openfortivpn.SlackBuild2
-rw-r--r--network/openfortivpn/openfortivpn.info6
-rw-r--r--network/phodav/phodav.SlackBuild18
-rw-r--r--network/phodav/phodav.info6
-rw-r--r--network/pidgin-musictracker/pidgin-musictracker.SlackBuild2
-rw-r--r--network/pidgin-sipe/pidgin-sipe.SlackBuild2
-rw-r--r--network/pidgin-sipe/pidgin-sipe.info6
-rw-r--r--network/postfix/README39
-rw-r--r--network/postfix/doinst.sh40
-rw-r--r--network/postfix/patches/postconf.diff31
-rw-r--r--network/postfix/postfix.SlackBuild199
-rw-r--r--network/postfix/postfix.info10
-rw-r--r--network/postfix/rc.postfix67
-rw-r--r--network/postfix/slack-desc19
-rw-r--r--network/qTox/qTox.SlackBuild2
-rw-r--r--network/remmina/find_libssh.patch25
-rw-r--r--network/remmina/remmina.SlackBuild2
-rw-r--r--network/rtorrent/README2
-rw-r--r--network/rtorrent/rtorrent.SlackBuild10
-rw-r--r--network/s-nail/README16
-rw-r--r--network/s-nail/doinst.sh13
-rw-r--r--network/s-nail/s-nail.SlackBuild135
-rw-r--r--network/s-nail/s-nail.info10
-rw-r--r--network/s-nail/slack-desc19
-rw-r--r--network/seafile-client/seafile-client.SlackBuild103
-rw-r--r--network/seafile-client/seafile-client.info10
-rw-r--r--network/seafile/README (renamed from network/seafile-client/README)0
-rw-r--r--network/seafile/seafile.SlackBuild (renamed from system/parallel/parallel.SlackBuild)21
-rw-r--r--network/seafile/seafile.info10
-rw-r--r--network/seafile/slack-desc (renamed from libraries/jansson/slack-desc)22
-rw-r--r--network/spice-gtk/spice-gtk.SlackBuild7
-rw-r--r--network/spice-gtk/spice-gtk.info6
-rw-r--r--network/spice/spice.SlackBuild2
-rw-r--r--network/spice/spice.info6
-rw-r--r--network/sqlrelay/sqlrelay.SlackBuild8
-rw-r--r--network/sqlrelay/sqlrelay.info6
-rw-r--r--network/sshfs-fuse/README10
-rw-r--r--network/sshfs-fuse/slack-desc19
-rw-r--r--network/sshfs-fuse/sshfs-fuse.SlackBuild99
-rw-r--r--network/sshfs-fuse/sshfs-fuse.info10
-rw-r--r--network/transmission-remote-gtk/README4
-rw-r--r--network/transmission-remote-gtk/transmission-remote-gtk.SlackBuild18
-rw-r--r--network/transmission-remote-gtk/transmission-remote-gtk.info6
-rw-r--r--network/vde2/vde2.SlackBuild3
-rw-r--r--network/vde2/vde_cryptcab-compile-against-openssl-1.1.0.patch92
-rw-r--r--network/verlihub/verlihub-gcc7.patch18
-rw-r--r--network/verlihub/verlihub.SlackBuild3
-rw-r--r--network/zeek/zeek.SlackBuild7
-rw-r--r--office/LibreOffice/LibreOffice.SlackBuild7
-rw-r--r--office/LibreOffice/LibreOffice.info12
-rw-r--r--office/LibreOffice/README20
-rw-r--r--office/abiword/abiword.SlackBuild2
-rw-r--r--office/abiword/libical-deprecated.patch13
-rw-r--r--office/apvlv/apvlv.SlackBuild25
-rw-r--r--office/apvlv/apvlv.info6
-rw-r--r--office/calibre/calibre.SlackBuild4
-rw-r--r--office/coolreader/coolreader.SlackBuild45
-rw-r--r--office/coolreader/coolreader.info6
-rw-r--r--office/fbreader/fbreader.SlackBuild3
-rw-r--r--office/gbgoffice/gbgoffice.SlackBuild1
-rw-r--r--office/gbgoffice/patches/12_gcc6.patch21
-rw-r--r--office/gnokii/gnokii-0.6.31-gcc7.patch17
-rw-r--r--office/gnokii/gnokii.SlackBuild3
-rw-r--r--office/gnucash-legacy/gnucash-legacy.info2
-rw-r--r--office/gnucash/gnucash.SlackBuild2
-rw-r--r--office/gnumeric/gnumeric.SlackBuild4
-rw-r--r--office/htmldoc/build_fix.patch11
-rw-r--r--office/htmldoc/htmldoc.SlackBuild20
-rw-r--r--office/htmldoc/htmldoc.info6
-rw-r--r--office/juffed/README6
-rw-r--r--office/juffed/juffed.SlackBuild98
-rw-r--r--office/juffed/juffed.info10
-rw-r--r--office/juffed/slack-desc19
-rw-r--r--office/kbgoffice/gcc6.patch17
-rw-r--r--office/kbgoffice/kbgoffice.SlackBuild3
-rw-r--r--office/pdfjam/README4
-rw-r--r--office/pdfjam/pdfjam.SlackBuild56
-rw-r--r--office/pdfjam/pdfjam.info10
-rw-r--r--office/pdfjam/slack-desc19
-rw-r--r--office/pdftk/README7
-rw-r--r--office/pdftk/pdftk-1.44-add_custom_optflags.patch26
-rw-r--r--office/pdftk/pdftk-2.02-use-gcc5.patch15
-rw-r--r--office/pdftk/pdftk.SlackBuild11
-rw-r--r--office/pdftk/pdftk.info2
-rw-r--r--office/referencer/referencer-lib_path.patch11
-rw-r--r--office/referencer/referencer.SlackBuild3
-rw-r--r--office/sc-im/README2
-rw-r--r--office/sc-im/sc-im.SlackBuild99
-rw-r--r--office/sc-im/sc-im.info10
-rw-r--r--office/scribus/scribus.SlackBuild10
-rw-r--r--office/scribus/scribus.info6
-rw-r--r--office/texlive/README14
-rw-r--r--office/texlive/README.tlpkg17
-rw-r--r--office/texlive/doinst.sh5
-rw-r--r--office/texlive/patches/tabu.sty.diff32
-rw-r--r--office/texlive/patches/texlive-20190410-source-upstream_fixes-1.patch4096
-rw-r--r--office/texlive/prep/texmf_get.sh1106
-rw-r--r--office/texlive/slack-desc19
-rw-r--r--office/texlive/texlive.SlackBuild249
-rw-r--r--office/texlive/texlive.info12
-rw-r--r--perl/Net-SSLeay/Net-SSLeay.SlackBuild93
-rw-r--r--perl/Net-SSLeay/Net-SSLeay.info10
-rw-r--r--perl/Net-SSLeay/README5
-rw-r--r--perl/perl-Authen-SASL/README5
-rw-r--r--perl/perl-Authen-SASL/perl-Authen-SASL.SlackBuild106
-rw-r--r--perl/perl-Authen-SASL/perl-Authen-SASL.info10
-rw-r--r--perl/perl-Authen-SASL/slack-desc19
-rw-r--r--perl/perl-DateTime-Format-Strptime/perl-DateTime-Format-Strptime.SlackBuild1
-rw-r--r--perl/perl-Devel-CheckLib/README2
-rw-r--r--perl/perl-Devel-CheckLib/perl-Devel-CheckLib.SlackBuild98
-rw-r--r--perl/perl-Devel-CheckLib/perl-Devel-CheckLib.info10
-rw-r--r--perl/perl-Devel-CheckLib/slack-desc19
-rw-r--r--perl/perl-File-Slurp/perl-File-Slurp.SlackBuild4
-rw-r--r--perl/perl-File-Slurp/perl-File-Slurp.info6
-rw-r--r--perl/perl-Gnome2-Vte/perl-Gnome2-Vte.info2
-rw-r--r--perl/perl-IO-Socket-SSL/README10
-rw-r--r--perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.SlackBuild86
-rw-r--r--perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.info10
-rw-r--r--perl/perl-IO-Socket-SSL/slack-desc19
-rw-r--r--perl/perl-Module-Runtime/perl-Module-Runtime.SlackBuild16
-rw-r--r--perl/perl-Module-Runtime/perl-Module-Runtime.info6
-rw-r--r--perl/perl-Razor2-Client-Agent/perl-Razor2-Client-Agent.SlackBuild2
-rw-r--r--perl/perl-cairo/perl-cairo.SlackBuild2
-rw-r--r--perl/perl-libnet/README3
-rw-r--r--perl/perl-libnet/libnet-3.08-Do-not-create-Net-libnet.cfg.patch43
-rw-r--r--perl/perl-libnet/perl-libnet.SlackBuild104
-rw-r--r--perl/perl-libnet/perl-libnet.info10
-rw-r--r--perl/perl-libnet/slack-desc19
-rw-r--r--python/Mako/Mako.SlackBuild75
-rw-r--r--python/Mako/Mako.info10
-rw-r--r--python/Mako/README11
-rw-r--r--python/Mako/slack-desc19
-rw-r--r--python/dbus-python3/README6
-rw-r--r--python/dbus-python3/dbus-python3.SlackBuild101
-rw-r--r--python/dbus-python3/dbus-python3.info10
-rw-r--r--python/dbus-python3/slack-desc19
-rw-r--r--python/gst-python/gst-python.SlackBuild8
-rw-r--r--python/gst-python/gst-python.info6
-rw-r--r--python/gst-python3/gst-python3.SlackBuild4
-rw-r--r--python/gst-python3/gst-python3.info6
-rw-r--r--python/halberd/halberd.SlackBuild3
-rw-r--r--python/halberd/make-pdf-manual.diff14
-rw-r--r--python/idna/README3
-rw-r--r--python/idna/idna.info10
-rw-r--r--python/packaging/README1
-rw-r--r--python/packaging/packaging.SlackBuild86
-rw-r--r--python/packaging/packaging.info10
-rw-r--r--python/packaging/slack-desc19
-rw-r--r--python/pip/README24
-rw-r--r--python/pip/pip.info10
-rw-r--r--python/pip/pip.sh9
-rw-r--r--python/pip/slack-desc19
-rw-r--r--python/ply/README2
-rw-r--r--python/ply/ply.SlackBuild90
-rw-r--r--python/ply/ply.info10
-rw-r--r--python/ply/slack-desc19
-rw-r--r--python/py3cairo/README8
-rw-r--r--python/py3cairo/py3cairo.SlackBuild108
-rw-r--r--python/py3cairo/py3cairo.info10
-rw-r--r--python/py3cairo/pycairo-1.10.0-waf_python_3_4-1.patch19
-rw-r--r--python/py3cairo/pycairo-1.10.0-waf_unpack-1.patch20
-rw-r--r--python/py3cairo/slack-desc19
-rw-r--r--python/pygobject3-python3/README3
-rw-r--r--python/pygobject3-python3/pygobject3-python3.SlackBuild100
-rw-r--r--python/pygobject3-python3/pygobject3-python3.info10
-rw-r--r--python/pygobject3-python3/slack-desc19
-rw-r--r--python/pyparsing/README5
-rw-r--r--python/pyparsing/pyparsing.SlackBuild87
-rw-r--r--python/pyparsing/pyparsing.info10
-rw-r--r--python/pyparsing/slack-desc19
-rw-r--r--python/python-certifi/README10
-rw-r--r--python/python-certifi/python-certifi.SlackBuild86
-rw-r--r--python/python-certifi/python-certifi.info10
-rw-r--r--python/python-certifi/slack-desc19
-rw-r--r--python/python-chardet/README3
-rw-r--r--python/python-chardet/python-chardet.SlackBuild76
-rw-r--r--python/python-chardet/python-chardet.info10
-rw-r--r--python/python-chardet/slack-desc19
-rw-r--r--python/python-gattlib/dont_hardcode_python_versions.patch19
-rw-r--r--python/python-gattlib/python-gattlib.SlackBuild2
-rw-r--r--python/python-notify2/README4
-rw-r--r--python/python-notify2/python-notify2.SlackBuild86
-rw-r--r--python/python-notify2/python-notify2.info10
-rw-r--r--python/python-notify2/slack-desc19
-rw-r--r--python/python-requests/README4
-rw-r--r--python/python-requests/python-requests.SlackBuild91
-rw-r--r--python/python-requests/python-requests.info10
-rw-r--r--python/python-requests/slack-desc19
-rw-r--r--python/python-urllib3/README12
-rw-r--r--python/python-urllib3/python-urllib3.SlackBuild89
-rw-r--r--python/python-urllib3/python-urllib3.info10
-rw-r--r--python/python-urllib3/slack-desc19
-rw-r--r--python/python-xlib/python-xlib.SlackBuild8
-rw-r--r--python/python-xlib/setup.patch61
-rw-r--r--python/python3-Cython/README5
-rw-r--r--python/python3-Cython/python3-Cython.SlackBuild89
-rw-r--r--python/python3-Cython/python3-Cython.info10
-rw-r--r--python/python3-Cython/slack-desc19
-rw-r--r--python/python3-appdirs/README2
-rw-r--r--python/python3-appdirs/python3-appdirs.SlackBuild86
-rw-r--r--python/python3-appdirs/python3-appdirs.info10
-rw-r--r--python/python3-appdirs/slack-desc19
-rw-r--r--python/python3-certifi/README2
-rw-r--r--python/python3-certifi/python3-certifi.SlackBuild89
-rw-r--r--python/python3-certifi/python3-certifi.info10
-rw-r--r--python/python3-certifi/slack-desc18
-rw-r--r--python/python3-pyparsing/README8
-rw-r--r--python/python3-pyparsing/python3-pyparsing.SlackBuild88
-rw-r--r--python/python3-pyparsing/python3-pyparsing.info10
-rw-r--r--python/python3-pyparsing/slack-desc19
-rw-r--r--python/python3-sip/python3-sip.SlackBuild17
-rw-r--r--python/python3-six/README4
-rw-r--r--python/python3-six/python3-six.SlackBuild75
-rw-r--r--python/python3-six/python3-six.info10
-rw-r--r--python/python3-six/slack-desc19
-rw-r--r--python/python3/README18
-rw-r--r--python/python3/patches/python3.no-static-library.diff50
-rw-r--r--python/python3/patches/python3.readline.set_pre_input_hook.diff12
-rw-r--r--python/python3/patches/python3.x86_64.diff156
-rw-r--r--python/python3/python3.SlackBuild157
-rw-r--r--python/python3/python3.info10
-rw-r--r--python/python3/slack-desc19
-rw-r--r--python/pyxdg/README3
-rw-r--r--python/pyxdg/pyxdg.SlackBuild75
-rw-r--r--python/pyxdg/pyxdg.info10
-rw-r--r--python/pyxdg/slack-desc19
-rw-r--r--python/six/README6
-rw-r--r--python/six/six.SlackBuild83
-rw-r--r--python/six/six.info10
-rw-r--r--python/six/slack-desc19
-rw-r--r--python/typing/README2
-rw-r--r--python/typing/slack-desc19
-rw-r--r--python/typing/typing.info10
-rw-r--r--system/acpi_call/acpi_call.SlackBuild3
-rw-r--r--system/audit/audit.SlackBuild4
-rw-r--r--system/audit/audit.info6
-rw-r--r--system/brasero/brasero.SlackBuild2
-rw-r--r--system/bulk_extractor/bulk_extractor.SlackBuild6
-rw-r--r--system/bulk_extractor/bulk_extractor.info6
-rw-r--r--system/caprice32/caprice32.SlackBuild2
-rw-r--r--system/colord/colord.SlackBuild5
-rw-r--r--system/conky/conky-1.10.6-gcc7.patch11
-rw-r--r--system/conky/conky.SlackBuild3
-rw-r--r--system/cups-bjnp/cups-bjnp.SlackBuild2
-rw-r--r--system/dahdi-complete/dahdi-complete.SlackBuild17
-rw-r--r--system/dahdi-complete/dahdi-complete.info6
-rw-r--r--system/dash/README4
-rw-r--r--system/dash/dash.SlackBuild90
-rw-r--r--system/dash/dash.info10
-rw-r--r--system/dash/slack-desc19
-rw-r--r--system/dymo-cups-drivers/cups-ppd-header.patch40
-rw-r--r--system/dymo-cups-drivers/dymo-cups-drivers.SlackBuild3
-rw-r--r--system/dynamips/dynamips.SlackBuild1
-rw-r--r--system/ecryptfs-utils/ecryptfs-utils.SlackBuild4
-rw-r--r--system/ecryptfs-utils/openssl.patch76
-rw-r--r--system/efitools/efitools.SlackBuild8
-rw-r--r--system/efitools/efitools.info6
-rw-r--r--system/evilvte/evilvte.info2
-rw-r--r--system/extundelete/extundelete-e2fsprogs-1.44.1.patch12
-rw-r--r--system/extundelete/extundelete.SlackBuild2
-rw-r--r--system/f2fs_tools/README1
-rw-r--r--system/f2fs_tools/f2fs_tools.SlackBuild88
-rw-r--r--system/f2fs_tools/f2fs_tools.info10
-rw-r--r--system/f2fs_tools/slack-desc19
-rw-r--r--system/facter/facter.SlackBuild2
-rw-r--r--system/fuse3/README10
-rw-r--r--system/fuse3/fuse3.SlackBuild98
-rw-r--r--system/fuse3/fuse3.info10
-rw-r--r--system/fuse3/slack-desc19
-rw-r--r--system/fwupdate/fwupdate.SlackBuild3
-rw-r--r--system/geoclue/geoclue.SlackBuild1
-rw-r--r--system/gnome-terminal/gnome-terminal.info2
-rw-r--r--system/gnome-vfs/gnome-vfs.SlackBuild2
-rw-r--r--system/guake/guake.info2
-rw-r--r--system/guefi/README3
-rw-r--r--system/guefi/guefi.SlackBuild (renamed from python/idna/idna.SlackBuild)22
-rw-r--r--system/guefi/guefi.info10
-rw-r--r--system/guefi/slack-desc (renamed from libraries/pcre2/slack-desc)22
-rw-r--r--system/haveged/README27
-rw-r--r--system/haveged/doinst.sh28
-rw-r--r--system/haveged/haveged.SlackBuild121
-rw-r--r--system/haveged/haveged.info10
-rw-r--r--system/haveged/rc.haveged47
-rw-r--r--system/haveged/slack-desc19
-rw-r--r--system/innotop/README6
-rw-r--r--system/innotop/innotop.SlackBuild74
-rw-r--r--system/innotop/innotop.info10
-rw-r--r--system/innotop/slack-desc19
-rw-r--r--system/ipmitool/ipmitool.SlackBuild28
-rw-r--r--system/ipmitool/ipmitool.info6
-rw-r--r--system/ipmitool/openssl-1.1.x.patch89
-rw-r--r--system/iscan-data/README2
-rw-r--r--system/iscan-data/iscan-data.SlackBuild (renamed from libraries/jansson/jansson.SlackBuild)17
-rw-r--r--system/iscan-data/iscan-data.info10
-rw-r--r--system/iscan-data/slack-desc (renamed from libraries/libopusenc/slack-desc)22
-rw-r--r--system/iscan/README4
-rw-r--r--system/iscan/doinst.sh (renamed from audio/easytag/doinst.sh)16
-rw-r--r--system/iscan/iscan.SlackBuild (renamed from audio/opus-tools/opus-tools.SlackBuild)54
-rw-r--r--system/iscan/iscan.info10
-rw-r--r--system/iscan/patches/iscan-2.30.3_x86-unknown-types.patch12
-rw-r--r--system/iscan/patches/iscan_png15.patch52
-rw-r--r--system/iscan/patches/jpegstream.cc.patch21
-rw-r--r--system/iscan/slack-desc (renamed from office/sc-im/slack-desc)22
-rw-r--r--system/jmtpfs/README10
-rw-r--r--system/jmtpfs/jmtpfs.SlackBuild91
-rw-r--r--system/jmtpfs/jmtpfs.info10
-rw-r--r--system/jmtpfs/slack-desc19
-rw-r--r--system/lbzip2/README2
-rw-r--r--system/lbzip2/lbzip2.SlackBuild121
-rw-r--r--system/lbzip2/lbzip2.info10
-rw-r--r--system/lbzip2/slack-desc19
-rw-r--r--system/lilyterm/lilyterm.SlackBuild2
-rw-r--r--system/lilyterm/lilyterm.info8
-rw-r--r--system/lxterminal/lxterminal.info2
-rw-r--r--system/lz4/lz4.SlackBuild2
-rw-r--r--system/lz4/lz4.info6
-rw-r--r--system/man-db/README13
-rw-r--r--system/man-db/README.Slackware49
-rw-r--r--system/man-db/doinst.sh48
-rw-r--r--system/man-db/dont_write_in_usr.diff50
-rw-r--r--system/man-db/man-db.SlackBuild230
-rw-r--r--system/man-db/man-db.cron30
-rw-r--r--system/man-db/man-db.csh12
-rw-r--r--system/man-db/man-db.info12
-rw-r--r--system/man-db/man-db.sh16
-rw-r--r--system/man-db/man_db.conf.new.gzbin2404 -> 0 bytes
-rw-r--r--system/man-db/slack-desc19
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild10
-rw-r--r--system/nvidia-driver/nvidia-switch6
-rw-r--r--system/nvidia-legacy304-kernel/4.14_kernel.patch26
-rw-r--r--system/nvidia-legacy304-kernel/4.15_kernel.patch48
-rw-r--r--system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.SlackBuild4
-rw-r--r--system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild1
-rw-r--r--system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild10
-rw-r--r--system/nvidia-legacy390-driver/nvidia-switch4
-rw-r--r--system/opam/README13
-rw-r--r--system/opam/opam.SlackBuild10
-rw-r--r--system/opam/opam.info6
-rw-r--r--system/open-vm-tools/open-vm-tools.SlackBuild2
-rw-r--r--system/opensc/opensc.SlackBuild14
-rw-r--r--system/opensc/opensc.info6
-rw-r--r--system/packagekit/doinst.sh1
-rw-r--r--system/packagekit/packagekit.SlackBuild3
-rw-r--r--system/packagekit/packagekit.info8
-rw-r--r--system/parallel/README9
-rw-r--r--system/parallel/parallel.info10
-rw-r--r--system/parallel/slack-desc19
-rw-r--r--system/patchelf/README3
-rw-r--r--system/patchelf/patchelf.SlackBuild97
-rw-r--r--system/patchelf/patchelf.info10
-rw-r--r--system/patchelf/slack-desc19
-rw-r--r--system/percona-xtrabackup/README2
-rw-r--r--system/percona-xtrabackup/percona-xtrabackup.SlackBuild155
-rw-r--r--system/percona-xtrabackup/percona-xtrabackup.info10
-rw-r--r--system/percona-xtrabackup/slack-desc19
-rw-r--r--system/roxterm/roxterm.info2
-rw-r--r--system/rxvt-unicode/README8
-rw-r--r--system/rxvt-unicode/rxvt-unicode.SlackBuild162
-rw-r--r--system/rxvt-unicode/rxvt-unicode.desktop9
-rw-r--r--system/rxvt-unicode/rxvt-unicode.info10
-rw-r--r--system/rxvt-unicode/slack-desc19
-rw-r--r--system/rxvt-unicode/urxvt.xpm141
-rw-r--r--system/sbsigntools/autogen.patch277
-rw-r--r--system/sbsigntools/ccan_makefile.patch20
-rw-r--r--system/sbsigntools/fix_efi_arch.patch26
-rw-r--r--system/sbsigntools/sbsigntools.SlackBuild33
-rw-r--r--system/sbsigntools/sbsigntools.info8
-rw-r--r--system/spacefm/glibc-2.28.patch12
-rw-r--r--system/spacefm/spacefm.SlackBuild3
-rw-r--r--system/t1utils/README17
-rw-r--r--system/t1utils/slack-desc19
-rw-r--r--system/t1utils/t1utils.SlackBuild100
-rw-r--r--system/t1utils/t1utils.info10
-rw-r--r--system/terminator/terminator.info2
-rw-r--r--system/tinyterm/tinyterm.info2
-rw-r--r--system/ttyrec/ttyrec.SlackBuild2
-rw-r--r--system/uhd/uhd.SlackBuild14
-rw-r--r--system/uhd/uhd.info8
-rw-r--r--system/vhba-module/vhba-module.SlackBuild2
-rw-r--r--system/virt-manager/Add-Slackware-to-OS-choices.patch53
-rw-r--r--system/virt-manager/virt-manager.SlackBuild10
-rw-r--r--system/virt-manager/virt-manager.info8
-rw-r--r--system/virtualbox-addons/rc.vboxadd.diff303
-rw-r--r--system/virtualbox-addons/virtualbox-addons.SlackBuild44
-rw-r--r--system/virtualbox-addons/virtualbox-addons.info6
-rw-r--r--system/virtualbox-extension-pack/virtualbox-extension-pack.SlackBuild4
-rw-r--r--system/virtualbox-extension-pack/virtualbox-extension-pack.info6
-rw-r--r--system/virtualbox-kernel-addons/virtualbox-kernel-addons.SlackBuild22
-rw-r--r--system/virtualbox-kernel-addons/virtualbox-kernel-addons.info6
-rw-r--r--system/virtualbox-kernel/kernel_4.17.patch32
-rw-r--r--system/virtualbox-kernel/virtualbox-kernel.SlackBuild8
-rw-r--r--system/virtualbox-kernel/virtualbox-kernel.info6
-rw-r--r--system/virtualbox/LocalConfig.kmk3
-rw-r--r--system/virtualbox/python_3.7.patch13
-rw-r--r--system/virtualbox/vboxdrv.sh-setup.diff299
-rw-r--r--system/virtualbox/virtualbox-gsoap.patch40
-rw-r--r--system/virtualbox/virtualbox.SlackBuild29
-rw-r--r--system/virtualbox/virtualbox.info20
-rw-r--r--system/xnp2/gcc6.patch17
-rw-r--r--system/xnp2/xnp2.SlackBuild3
-rw-r--r--system/zstd/README5
-rw-r--r--system/zstd/slack-desc19
-rw-r--r--system/zstd/zstd.SlackBuild88
-rw-r--r--system/zstd/zstd.info10
1366 files changed, 27542 insertions, 28427 deletions
diff --git a/README b/README
index 2a7d813872..ba89ad4ca6 100644
--- a/README
+++ b/README
@@ -1,3 +1,19 @@
+SBo-git - slackbuilds repository for slackware-current
+- - -
+
+this is an unofficial fork of master branch from slackbuilds.org's
+git repository (http://slackbuilds.org/cgit/slackbuilds/).
+
+here I put my unofficial mods to their slackbuilds to run on
+slackware-current with sbopkg (http://www.sbopkg.org).
+
+Check https://github.com/Ponce/slackbuilds/wiki for additional informations.
+
+See https://github.com/Ponce/slackbuilds/wiki/configuring-the-current-repository-with-sbopkg
+for instructions on how to use this repository with sbopkg.
+
+original README from slackbuilds.org follows:
+---------------------------------------------
See https://slackbuilds.org/howto/ for instructions on
how to use the contents of this directory.
diff --git a/academic/antiprism/antiprism.SlackBuild b/academic/antiprism/antiprism.SlackBuild
index 271184a166..f3c6c291e6 100644
--- a/academic/antiprism/antiprism.SlackBuild
+++ b/academic/antiprism/antiprism.SlackBuild
@@ -55,7 +55,7 @@ find -L . \
sed "/^docdir/s|= .*|= @docdir@|" -i Makefile.in
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX \
diff --git a/academic/geda-gaf/geda-gaf.info b/academic/geda-gaf/geda-gaf.info
index 3664fa7fb5..1362c53982 100644
--- a/academic/geda-gaf/geda-gaf.info
+++ b/academic/geda-gaf/geda-gaf.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://ftp.geda-project.org/geda-gaf/stable/v1.8/1.8.2/geda-gaf-1.8.2.
MD5SUM="fa8a807615decf47027e22a217dd0ded"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="guile1.8"
MAINTAINER="Stephen Van Berg"
EMAIL="stephen_van_berg@earlicker.com"
diff --git a/academic/gelemental/gcc.patch b/academic/gelemental/gcc.patch
new file mode 100644
index 0000000000..eeb16293d9
--- /dev/null
+++ b/academic/gelemental/gcc.patch
@@ -0,0 +1,12 @@
+diff -Naur gelemental-1.2.0.orig/src/dialogs.cc gelemental-1.2.0/src/dialogs.cc
+--- gelemental-1.2.0.orig/src/dialogs.cc 2007-09-25 06:49:33.000000000 +0200
++++ gelemental-1.2.0/src/dialogs.cc 2017-07-27 21:45:34.356776770 +0200
+@@ -247,7 +247,7 @@
+ const Gtk::TreePath& tpath, bool)
+ {
+ Gtk::TreeIter iter = store->get_iter (tpath);
+- return iter ? iter->get_value (cols.property) : false;
++ return iter ? static_cast<bool>(iter->get_value (cols.property)) : false;
+ }
+
+
diff --git a/academic/gelemental/gelemental.SlackBuild b/academic/gelemental/gelemental.SlackBuild
index e4b332e18a..d2ae765eb6 100644
--- a/academic/gelemental/gelemental.SlackBuild
+++ b/academic/gelemental/gelemental.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 {} \;
+# Fix for the newer gcc
+patch -p1 -i $CWD/gcc.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
./configure \
diff --git a/academic/genius/README b/academic/genius/README
index d4a270574c..fa2fa4b67b 100644
--- a/academic/genius/README
+++ b/academic/genius/README
@@ -7,5 +7,5 @@ or educational tool. The syntax is very intuitive and
is designed to mimic how mathematics is usually written.
If you would like the GUI interface as well, it requires
-libgnomeui and gtksourceview. If you have these dependencies,
+libgnomeui, gtksourceview and vte2. If you have these dependencies,
pass the variable of GNOME=YES (or anything that isn't NO ;)
diff --git a/academic/genometools/genometools.SlackBuild b/academic/genometools/genometools.SlackBuild
index f4af4db0f9..117e1bb420 100644
--- a/academic/genometools/genometools.SlackBuild
+++ b/academic/genometools/genometools.SlackBuild
@@ -76,7 +76,7 @@ find -L . \
sed -i "s:lib/libgenometools:lib${LIBDIRSUFFIX}/libgenometools:g" Makefile
sed -i "s:\$(prefix)/lib:\$(prefix)/lib${LIBDIRSUFFIX}:g" Makefile
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=format-truncation=" \
CXXFLAGS="$SLKCFLAGS" \
make $BUILDARCH \
prefix=/usr
diff --git a/academic/primer3/primer3.SlackBuild b/academic/primer3/primer3.SlackBuild
index d3ae1b399c..514f65fd23 100644
--- a/academic/primer3/primer3.SlackBuild
+++ b/academic/primer3/primer3.SlackBuild
@@ -75,13 +75,11 @@ patch -p1 -i $CWD/gcc-7.patch
cd ./src
# Use our CFLAGS
-sed -i "/^CFLAGS/s/=/+=/" Makefile
+sed -i -e "s|-O2|$SLKCFLAGS|" -e "s|-g -Wall|-fpermissive|" Makefile
# Look for configuration files in /usr/share instead of /opt
sed -i "s:/opt/primer3_config:/usr/share/$PRGNAM/primer3_config:g" thal_main.c primer3_boulder_main.c
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
make
# This is recommended, but the tests take a really long time. Be patient
diff --git a/academic/root/root.SlackBuild b/academic/root/root.SlackBuild
index bb507f0536..e0ec409dca 100644
--- a/academic/root/root.SlackBuild
+++ b/academic/root/root.SlackBuild
@@ -18,7 +18,7 @@
# Modified by the slackbuilds.org project
PRGNAM=root
-VERSION=${VERSION:-5.34.36}
+VERSION=${VERSION:-6.10.02}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -79,9 +79,9 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM
+rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM\_v$VERSION.source.tar.gz
-cd $PRGNAM
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -134,9 +134,8 @@ mkdir -p $PKG$PYTHONDIR
mv \
$PKG$PREFIX/lib$LIBDIRSUFFIX/*.py \
$PKG$PREFIX/lib$LIBDIRSUFFIX/*.pyc \
- $PKG$PREFIX/lib$LIBDIRSUFFIX/python/genreflex \
+ $PKG$PREFIX/lib$LIBDIRSUFFIX/*.pyo \
$PKG$PYTHONDIR
-rm -fr $PKG$PREFIX/lib$LIBDIRSUFFIX/python
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneded 2> /dev/null || true
diff --git a/academic/root/root.info b/academic/root/root.info
index 450e1bde00..7df5c81738 100644
--- a/academic/root/root.info
+++ b/academic/root/root.info
@@ -1,10 +1,10 @@
PRGNAM="root"
-VERSION="5.34.36"
+VERSION="6.10.02"
HOMEPAGE="http://root.cern.ch/drupal/"
-DOWNLOAD="https://root.cern.ch/download/root_v5.34.36.source.tar.gz"
-MD5SUM="6a1ad549b3b79b10bbb1f116b49067ee"
+DOWNLOAD="https://root.cern.ch/download/root_v6.10.02.source.tar.gz"
+MD5SUM="19f2285c845a48355db779938fb4db99"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="ftgl"
+REQUIRES="ftgl unixODBC"
MAINTAINER="Jože Zobec"
EMAIL="jozze.zepl@gmail.com"
diff --git a/academic/tophat/make_pair.patch b/academic/tophat/make_pair.patch
new file mode 100644
index 0000000000..44b71d1059
--- /dev/null
+++ b/academic/tophat/make_pair.patch
@@ -0,0 +1,24 @@
+diff -uBw -aur tophat-2.1.1/src/juncs_db.cpp tophat-2.1.1-patched/src/juncs_db.cpp
+--- tophat-2.1.1/src/juncs_db.cpp 2016-02-14 19:21:17.354079000 +0100
++++ tophat-2.1.1-patched/src/juncs_db.cpp 2016-06-02 11:26:34.097425159 +0200
+@@ -338,7 +338,7 @@
+ uint32_t left_coord = atoi(scan_left_coord);
+ uint32_t right_coord = atoi(scan_right_coord);
+ bool antisense = *orientation == '-';
+- junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), JunctionStats()));
++ junctions.insert(make_pair(Junction(ref_id, left_coord, right_coord, antisense), JunctionStats()));
+ }
+ }
+
+diff -uBw -aur tophat-2.1.1/src/tophat_reports.cpp tophat-2.1.1-patched/src/tophat_reports.cpp
+--- tophat-2.1.1/src/tophat_reports.cpp 2016-02-23 22:20:44.320710000 +0100
++++ tophat-2.1.1-patched/src/tophat_reports.cpp 2016-06-02 11:26:22.057239478 +0200
+@@ -2705,7 +2705,7 @@
+ junction_stat.gtf_match = true;
+ junction_stat.accepted = true;
+
+- gtf_junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));
++ gtf_junctions.insert(make_pair(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));
+ }
+ }
+ fprintf(stderr, "Loaded %d GFF junctions from %s.\n", (int)(gtf_junctions.size()), gtf_juncs.c_str());
diff --git a/academic/tophat/tophat.SlackBuild b/academic/tophat/tophat.SlackBuild
index f32fb590f5..e3e97fcc85 100644
--- a/academic/tophat/tophat.SlackBuild
+++ b/academic/tophat/tophat.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 {} \;
+# Thanks archlinux
+patch -p1 < $CWD/make_pair.patch
+
./autogen.sh
CFLAGS="$SLKCFLAGS" \
diff --git a/academic/ugene/ugene-1.22.0-dont_hardcode_includes.patch b/academic/ugene/ugene-1.22.0-dont_hardcode_includes.patch
new file mode 100644
index 0000000000..6bc26e1f19
--- /dev/null
+++ b/academic/ugene/ugene-1.22.0-dont_hardcode_includes.patch
@@ -0,0 +1,24 @@
+diff -up ugene-1.22.0/src/libs_3rdparty/samtools/samtools.pri.dont_hardcode_includes ugene-1.22.0/src/libs_3rdparty/samtools/samtools.pri
+--- ugene-1.22.0/src/libs_3rdparty/samtools/samtools.pri.dont_hardcode_includes 2016-03-31 07:21:56.000000000 -0500
++++ ugene-1.22.0/src/libs_3rdparty/samtools/samtools.pri 2016-06-02 17:49:02.383069490 -0500
+@@ -3,7 +3,7 @@ UGENE_RELATIVE_DESTDIR = ''
+
+ TEMPLATE = lib
+ CONFIG +=thread debug_and_release staticlib warn_off
+-INCLUDEPATH += src src/samtools ../../include /usr/include
++INCLUDEPATH += src src/samtools ../../include
+ win32 : INCLUDEPATH += src/samtools/win32
+ DEFINES+="_FILE_OFFSET_BITS=64" _LARGEFILE64_SOURCE _USE_KNETFILE
+ win32 : DEFINES += _USE_MATH_DEFINES "inline=__inline" "__func__=__FUNCTION__" "R_OK=4" "atoll=_atoi64" "alloca=_alloca"
+diff -up ugene-1.22.0/src/plugins_3rdparty/variants/variants.pri.dont_hardcode_includes ugene-1.22.0/src/plugins_3rdparty/variants/variants.pri
+--- ugene-1.22.0/src/plugins_3rdparty/variants/variants.pri.dont_hardcode_includes 2016-03-31 07:22:09.000000000 -0500
++++ ugene-1.22.0/src/plugins_3rdparty/variants/variants.pri 2016-06-02 20:26:35.265356432 -0500
+@@ -20,7 +20,7 @@ use_bundled_zlib() {
+ win32 : LIBS += -lwsock32
+
+
+-INCLUDEPATH += src ../../include /usr/include
++INCLUDEPATH += src ../../include
+ INCLUDEPATH += ../../libs_3rdparty/samtools/src/samtools
+ INCLUDEPATH += ../../libs_3rdparty/samtools/src
+ INCLUDEPATH += ../../libs_3rdparty/samtools/src/samtools/bcftools
diff --git a/academic/ugene/ugene.SlackBuild b/academic/ugene/ugene.SlackBuild
index ac95c63b17..1b68d3e510 100644
--- a/academic/ugene/ugene.SlackBuild
+++ b/academic/ugene/ugene.SlackBuild
@@ -73,6 +73,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 {} \;
+# Thanks fedora
+patch -p1 < $CWD/ugene-1.22.0-dont_hardcode_includes.patch
+
# Fix libraries and man pages paths
sed -i "s:/lib:/lib${LIBDIRSUFFIX}:g" src/ugene_globals.pri
sed -i "s:/share/man:/man:g" src/ugene_globals.pri
diff --git a/academic/veusz/veusz.SlackBuild b/academic/veusz/veusz.SlackBuild
index 119648fd3d..21c0875fa3 100644
--- a/academic/veusz/veusz.SlackBuild
+++ b/academic/veusz/veusz.SlackBuild
@@ -69,10 +69,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 {} \;
-PYTHONVER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
-export SIP_EXE=/usr/bin/python2-sip
-export SIP_INCLUDE_DIR="/usr/include/python$PYTHONVER/python2-sip"
-
python setup.py install --root $PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/accessibility/easystroke/easystroke.SlackBuild b/accessibility/easystroke/easystroke.SlackBuild
index 29b04e812b..3e2f2fedcc 100644
--- a/accessibility/easystroke/easystroke.SlackBuild
+++ b/accessibility/easystroke/easystroke.SlackBuild
@@ -59,6 +59,7 @@ sed -i 's|-lboost_serialization-mt|-lboost_serialization|' Makefile
# Thanks to ARCH Linux
patch -p1 < $CWD/lambda.patch
+patch -p1 < $CWD/gcc7-build-fix.patch
make CXX="g++ $SLKCFLAGS" CC="gcc -std=c99 $SLKCFLAGS" PREFIX=/usr
diff --git a/accessibility/easystroke/gcc7-build-fix.patch b/accessibility/easystroke/gcc7-build-fix.patch
new file mode 100644
index 0000000000..b66bcb4edf
--- /dev/null
+++ b/accessibility/easystroke/gcc7-build-fix.patch
@@ -0,0 +1,40 @@
+From 9e2c32390c5c253aade3bb703e51841748d2c37e Mon Sep 17 00:00:00 2001
+From: Jonathan Wakely <jwakely@redhat.com>
+Date: Sat, 28 Jan 2017 01:26:00 +0000
+Subject: [PATCH] Remove abs(float) function that clashes with std::abs(float)
+
+Depending on which C++ standard library headers have been included there
+might an abs(float) function already declared in the global namespace,
+so the definition in this file conflicts with it. This cause a build
+failure with GCC 7, which conforms more closely to the C++ standard with
+respect to overloads of abs.
+
+Including <cmath> and adding a using-declaration for std::abs ensures
+that the standard std::abs(float) function is available. This solution
+should be portable to all compilers.
+---
+ handler.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/handler.cc b/handler.cc
+index 8830ea2..685b1ff 100644
+--- a/handler.cc
++++ b/handler.cc
+@@ -23,6 +23,8 @@
+ #include <X11/extensions/XTest.h>
+ #include <X11/XKBlib.h>
+ #include <X11/Xproto.h>
++#include <cmath> // std::abs(float)
++using std::abs;
+
+ XState *xstate = nullptr;
+
+@@ -533,8 +535,6 @@ class WaitForPongHandler : public Handler, protected Timeout {
+ virtual Grabber::State grab_mode() { return parent->grab_mode(); }
+ };
+
+-static inline float abs(float x) { return x > 0 ? x : -x; }
+-
+ class AbstractScrollHandler : public Handler {
+ bool have_x, have_y;
+ float last_x, last_y;
diff --git a/accessibility/flite/flite.info b/accessibility/flite/flite.info
index 4b6c62b261..05d4e52227 100644
--- a/accessibility/flite/flite.info
+++ b/accessibility/flite/flite.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://festvox.org/flite/packed/flite-2.1/flite-2.1-release.tar.bz2"
MD5SUM="915ac91068fc962f4a0e8aa26164cc8a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="texi2html"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
diff --git a/accessibility/jpilot/jpilot.SlackBuild b/accessibility/jpilot/jpilot.SlackBuild
index 78eeb3f868..e2dd848145 100644
--- a/accessibility/jpilot/jpilot.SlackBuild
+++ b/accessibility/jpilot/jpilot.SlackBuild
@@ -25,13 +25,13 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=jpilot
-VERSION=${VERSION:-1.8.1}
+VERSION=${VERSION:-1.8.2}
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"
@@ -60,15 +60,16 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-cd $TMP rm -rf $PRGNAM-$VERSION
+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 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 {} \;
CFLAGS="$SLKCFLAGS -std=gnu89" \
CXXFLAGS="$SLKCFLAGS -std=gnu89" \
@@ -84,10 +85,8 @@ CXXFLAGS="$SLKCFLAGS -std=gnu89" \
make
make install-strip DESTDIR=$PKG
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+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
mv $PKG/usr/share/doc $PKG/usr
mv $PKG/usr/doc/jpilot $PKG/usr/doc/jpilot-$VERSION
diff --git a/accessibility/jpilot/jpilot.info b/accessibility/jpilot/jpilot.info
index 4030813d5e..9d14b884f0 100644
--- a/accessibility/jpilot/jpilot.info
+++ b/accessibility/jpilot/jpilot.info
@@ -1,8 +1,8 @@
PRGNAM="jpilot"
-VERSION="1.8.1"
+VERSION="1.8.2"
HOMEPAGE="http://www.jpilot.org"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/jpilot-1.8.1.tar.gz"
-MD5SUM="ac59a5708f37e30d39e85b1fcedd266f"
+DOWNLOAD="http://jpilot.org/tarballs/jpilot-1.8.2.tar.gz"
+MD5SUM="8b539d8943ac75c7890fc5c071e89adb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/accessibility/xsel/xsel.SlackBuild b/accessibility/xsel/xsel.SlackBuild
index 67a373675a..2ff4a0386f 100644
--- a/accessibility/xsel/xsel.SlackBuild
+++ b/accessibility/xsel/xsel.SlackBuild
@@ -54,7 +54,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=stringop-truncation" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/audio/aacgain/aacgain.SlackBuild b/audio/aacgain/aacgain.SlackBuild
index 2a138e95c9..cabdf16c33 100644
--- a/audio/aacgain/aacgain.SlackBuild
+++ b/audio/aacgain/aacgain.SlackBuild
@@ -120,7 +120,7 @@ cd ../mp4v2
patch -p2 -i ../$PRGNAM/mp4v2.patch
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--build=$ARCH-slackware-linux
diff --git a/audio/alsamodularsynth/alsamodularsynth.SlackBuild b/audio/alsamodularsynth/alsamodularsynth.SlackBuild
index 60c79fccb5..088d4c44dd 100644
--- a/audio/alsamodularsynth/alsamodularsynth.SlackBuild
+++ b/audio/alsamodularsynth/alsamodularsynth.SlackBuild
@@ -31,7 +31,7 @@ TARNAM=ams
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"
@@ -72,6 +72,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 {} \;
+export CC=clang
+export CXX=clang++
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LIBS="-ldl" \
diff --git a/audio/audacious-aac/audacious-aac.SlackBuild b/audio/audacious-aac/audacious-aac.SlackBuild
index fa61144a3d..686aee386c 100644
--- a/audio/audacious-aac/audacious-aac.SlackBuild
+++ b/audio/audacious-aac/audacious-aac.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=audacious-aac
-VERSION=${VERSION:-3.7.2}
+VERSION=${VERSION:-3.8.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -31,7 +31,7 @@ SRCNAM=audacious-plugins
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=""
ARCHOPTS="--disable-sse2"
elif [ "$ARCH" = "i686" ]; then
diff --git a/audio/audacious-aac/audacious-aac.info b/audio/audacious-aac/audacious-aac.info
index 6b6130fe82..a55c639a2d 100644
--- a/audio/audacious-aac/audacious-aac.info
+++ b/audio/audacious-aac/audacious-aac.info
@@ -1,8 +1,8 @@
PRGNAM="audacious-aac"
-VERSION="3.7.2"
+VERSION="3.8.2"
HOMEPAGE="https://audacious-media-player.org/"
-DOWNLOAD="https://distfiles.audacious-media-player.org/audacious-plugins-3.7.2.tar.bz2"
-MD5SUM="6ae2f17885897e717b8bbafc32858e2f"
+DOWNLOAD="https://distfiles.audacious-media-player.org/audacious-plugins-3.8.2.tar.bz2"
+MD5SUM="20710cd19fa08c4bffb6cb33002872df"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="faad2"
diff --git a/audio/audacious-cue/audacious-cue.SlackBuild b/audio/audacious-cue/audacious-cue.SlackBuild
index a3a796cd74..8d018fdadb 100644
--- a/audio/audacious-cue/audacious-cue.SlackBuild
+++ b/audio/audacious-cue/audacious-cue.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=audacious-cue
-VERSION=${VERSION:-3.7.2}
+VERSION=${VERSION:-3.8.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -31,7 +31,7 @@ SRCNAM=audacious-plugins
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=""
ARCHOPTS="--disable-sse2"
elif [ "$ARCH" = "i686" ]; then
diff --git a/audio/audacious-cue/audacious-cue.info b/audio/audacious-cue/audacious-cue.info
index 3ae7eef3e3..31b7a1a12c 100644
--- a/audio/audacious-cue/audacious-cue.info
+++ b/audio/audacious-cue/audacious-cue.info
@@ -1,8 +1,8 @@
PRGNAM="audacious-cue"
-VERSION="3.7.2"
+VERSION="3.8.2"
HOMEPAGE="https://audacious-media-player.org/"
-DOWNLOAD="https://distfiles.audacious-media-player.org/audacious-plugins-3.7.2.tar.bz2"
-MD5SUM="6ae2f17885897e717b8bbafc32858e2f"
+DOWNLOAD="https://distfiles.audacious-media-player.org/audacious-plugins-3.8.2.tar.bz2"
+MD5SUM="20710cd19fa08c4bffb6cb33002872df"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libcue"
diff --git a/audio/audacious-ffmpeg/README b/audio/audacious-ffmpeg/README
deleted file mode 100644
index 04da987f9f..0000000000
--- a/audio/audacious-ffmpeg/README
+++ /dev/null
@@ -1,4 +0,0 @@
-audacious-ffmpeg (ffmpeg Decoder Plugin used by the Audacious player)
-
-This plugin adds all audio ffmpeg decoders to the Audacious media
-player that comes with Slackware stock packages
diff --git a/audio/audacious-ffmpeg/audacious-ffmpeg.SlackBuild b/audio/audacious-ffmpeg/audacious-ffmpeg.SlackBuild
deleted file mode 100644
index f45b5c764f..0000000000
--- a/audio/audacious-ffmpeg/audacious-ffmpeg.SlackBuild
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for audacious-ffmpeg
-
-# Copyright 2016 Johannes Schoepfer, Herrenberg, BW; Germany
-# 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=audacious-ffmpeg
-VERSION=${VERSION:-3.7.2}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-SRCNAM=audacious-plugins
-
-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=i486 -mtune=i686"
- LIBDIRSUFFIX=""
- ARCHOPTS="--disable-sse2"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
- ARCHOPTS="--disable-sse2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
- ARCHOPTS=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
- ARCHOPTS=""
-fi
-
-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
-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 Makefile to build only aac plugin
-patch -p1 <$CWD/patches/enable_only_ffmpeg_plugin.diff || exit 1
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --disable-aac \
- --program-prefix= \
- --program-suffix= \
- ${ARCHOPTS} \
- --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 COPYING INSTALL $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/audio/audacious-ffmpeg/audacious-ffmpeg.info b/audio/audacious-ffmpeg/audacious-ffmpeg.info
deleted file mode 100644
index 4d49914a64..0000000000
--- a/audio/audacious-ffmpeg/audacious-ffmpeg.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="audacious-ffmpeg"
-VERSION="3.7.2"
-HOMEPAGE="https://audacious-media-player.org/"
-DOWNLOAD="https://distfiles.audacious-media-player.org/audacious-plugins-3.7.2.tar.bz2"
-MD5SUM="6ae2f17885897e717b8bbafc32858e2f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="ffmpeg"
-MAINTAINER="Johannes Schoepfer"
-EMAIL="slackbuilds[at]schoepfer[dot]info"
diff --git a/audio/audacious-ffmpeg/patches/enable_only_ffmpeg_plugin.diff b/audio/audacious-ffmpeg/patches/enable_only_ffmpeg_plugin.diff
deleted file mode 100644
index feb3fab813..0000000000
--- a/audio/audacious-ffmpeg/patches/enable_only_ffmpeg_plugin.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- audacious-plugins-3.6.1/Makefile.ORIG 2015-04-04 02:02:06.000000000 +0200
-+++ audacious-plugins-3.6.1/Makefile 2015-04-23 19:59:48.072721987 +0200
-@@ -1,4 +1,4 @@
--SUBDIRS = src po
-+SUBDIRS = src/ffaudio
-
- DISTCLEAN = buildsys.mk config.h config.log config.status extra.mk
-
diff --git a/audio/audacious-ffmpeg/slack-desc b/audio/audacious-ffmpeg/slack-desc
deleted file mode 100644
index e14234a198..0000000000
--- a/audio/audacious-ffmpeg/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------------------------------------------------------|
-audacious-ffmpeg: audacious-ffmpeg (ffmpeg Decoder Plugin)
-audacious-ffmpeg:
-audacious-ffmpeg: This plugin adds all audio ffmpeg decoders to the Audacious media
-audacious-ffmpeg: player that comes with Slackware stock packages
-audacious-ffmpeg:
-audacious-ffmpeg: Homepage: https://audacious-media-player.org/
-audacious-ffmpeg:
-audacious-ffmpeg:
-audacious-ffmpeg:
-audacious-ffmpeg:
-audacious-ffmpeg:
diff --git a/audio/butt/butt.SlackBuild b/audio/butt/butt.SlackBuild
index 8cfe05ed28..5a9e116b18 100644
--- a/audio/butt/butt.SlackBuild
+++ b/audio/butt/butt.SlackBuild
@@ -55,7 +55,7 @@ find . \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix $PREFIX \
--docdir $DOCDIR
diff --git a/audio/calf-ladspa/calf-ladspa.SlackBuild b/audio/calf-ladspa/calf-ladspa.SlackBuild
index f78f393bc7..2d85f57020 100644
--- a/audio/calf-ladspa/calf-ladspa.SlackBuild
+++ b/audio/calf-ladspa/calf-ladspa.SlackBuild
@@ -98,7 +98,7 @@ patch -p1 < $CWD/disable-jack-and-fluidsynth.diff
# This patch replaces them with C-style MIN and MAX macros. Not actually
# needed on Slack 14.2, so it's commented out, but I'm checking the actual
# patch into git so I won't lose track of it.
-#patch -p1 < $CWD/minmax.diff
+patch -p1 < $CWD/minmax.diff
autoreconf -if
diff --git a/audio/darkice/darkice.SlackBuild b/audio/darkice/darkice.SlackBuild
index b9829076da..887e4fa8d4 100644
--- a/audio/darkice/darkice.SlackBuild
+++ b/audio/darkice/darkice.SlackBuild
@@ -71,7 +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 {} \;
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/audio/easytag/README b/audio/easytag/README
deleted file mode 100644
index b03cc1adc5..0000000000
--- a/audio/easytag/README
+++ /dev/null
@@ -1,7 +0,0 @@
-EasyTAG - Tag editor for MP3, ogg vorbis and various other files.
-
-EasyTAG is a utility for viewing and editing tags for MP3, MP2, FLAC
-Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its simple
-and nice GTK2 interface makes tagging easier under GNU/Linux.
-
-libmp4v2 is an optional dependency.
diff --git a/audio/easytag/easytag.SlackBuild b/audio/easytag/easytag.SlackBuild
deleted file mode 100644
index 7ad594517c..0000000000
--- a/audio/easytag/easytag.SlackBuild
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for easytag
-
-# Copyright 2006 Halim Issa <yallaone@gmail.com>
-# Copyright 2013-2014 LEVAI Daniel <leva@ecentrum.hu>
-# 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=easytag
-VERSION=${VERSION:-2.1.10}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i486 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-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.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 \
- --mandir=/usr/man \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-DOCS="AUTHORS ChangeLog COPYING HACKING INSTALL README NEWS THANKS TODO"
-
-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
-cat $CWD/$PRGNAM.info > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.info
-
-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/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/easytag/easytag.info b/audio/easytag/easytag.info
deleted file mode 100644
index b35369e4a5..0000000000
--- a/audio/easytag/easytag.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="easytag"
-VERSION="2.1.10"
-HOMEPAGE="http://projects.gnome.org/easytag/"
-DOWNLOAD="http://download.gnome.org/sources/easytag/2.1/easytag-2.1.10.tar.xz"
-MD5SUM="feafcd13508c26171f1376aa4b0629c4"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="id3lib"
-MAINTAINER="LEVAI Daniel"
-EMAIL="leva@ecentrum.hu"
diff --git a/audio/easytag/slack-desc b/audio/easytag/slack-desc
deleted file mode 100644
index 07c27c80ce..0000000000
--- a/audio/easytag/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------------------------------------------------------|
-easytag: easytag (Tag editor for MP3 and Ogg Vorbis files)
-easytag:
-easytag: EasyTAG is a utility for viewing and editing tags for MP3, MP2, FLAC
-easytag: Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its simple
-easytag: and nice GTK2 interface makes tagging easier under GNU/Linux.
-easytag:
-easytag: Website : http://easytag.sourceforge.net
-easytag:
-easytag:
-easytag:
-easytag:
diff --git a/audio/fluidsynth/README b/audio/fluidsynth/README
deleted file mode 100644
index a309ca2db2..0000000000
--- a/audio/fluidsynth/README
+++ /dev/null
@@ -1,9 +0,0 @@
-FluidSynth is a software real-time synthesizer based on the Soundfont 2
-specifications. FluidSynth reads and handles MIDI events from the MIDI
-input device. It is the software analogue of a MIDI synthesizer.
-FluidSynth can also play midifiles using a Soundfont.
-
-If you want to build support for ladspa plugins, you can pass
-LADSPA=yes to the script. That requires ladspa_sdk.
-
-Optional deps are lash, portaudio, and jack-audio-connection-kit.
diff --git a/audio/fluidsynth/fluidsynth.SlackBuild b/audio/fluidsynth/fluidsynth.SlackBuild
deleted file mode 100644
index 7cf814a89d..0000000000
--- a/audio/fluidsynth/fluidsynth.SlackBuild
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for fluidsynth
-
-# Copyright 2008-2013 Heinz Wiesinger, Amsterdam, The Netherlands
-# 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=fluidsynth
-VERSION=${VERSION:-1.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.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 build
-cd build
- cmake \
- -DCMAKE_C_FLAGS="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
- -DCMAKE_EXE_LINKER_FLAGS="-ltermcap" \
- -DCMAKE_SHARED_LINKER_FLAGS="-ltermcap" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX="$LIBDIRSUFFIX" \
- -DDOC_INSTALL_DIR="doc" \
- -DMAN_INSTALL_DIR="man/man1" \
- -Denable-ladspa="${LADSPA:-no}" \
- ..
-
- 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
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS ChangeLog COPYING INSTALL NEWS README THANKS 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/audio/fluidsynth/fluidsynth.info b/audio/fluidsynth/fluidsynth.info
deleted file mode 100644
index d3b454c60f..0000000000
--- a/audio/fluidsynth/fluidsynth.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="fluidsynth"
-VERSION="1.1.6"
-HOMEPAGE="http://www.fluidsynth.org/"
-DOWNLOAD="http://downloads.sourceforge.net/fluidsynth/fluidsynth-1.1.6.tar.gz"
-MD5SUM="ae5aca6de824b4173667cbd3a310b263"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Heinz Wiesinger"
-EMAIL="pprkut@liwjatan.at"
diff --git a/audio/fluidsynth/slack-desc b/audio/fluidsynth/slack-desc
deleted file mode 100644
index 46df5825cd..0000000000
--- a/audio/fluidsynth/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------------------------------------------------------|
-fluidsynth: fluidsynth (Software Synthesizer)
-fluidsynth:
-fluidsynth: FluidSynth is a software real-time synthesizer based on the
-fluidsynth: Soundfont 2 specifications. FluidSynth reads and handles MIDI
-fluidsynth: events from the MIDI input device. It is the software analogue
-fluidsynth: of a MIDI synthesizer. FluidSynth can also play midifiles
-fluidsynth: using a Soundfont.
-fluidsynth:
-fluidsynth: Homepage: http://www.fluidsynth.org/
-fluidsynth:
-fluidsynth:
diff --git a/audio/lash/lash.SlackBuild b/audio/lash/lash.SlackBuild
index 0918bdd95d..7b197365b9 100644
--- a/audio/lash/lash.SlackBuild
+++ b/audio/lash/lash.SlackBuild
@@ -76,6 +76,8 @@ if [ "$(/usr/share/texmf/bin/texi2html --version)" != "1.76" ]; then
patch -p1 --verbose < $CWD/texlive.patch
fi
+export LDFLAGS="-ldl -lm"
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/audio/lmms/gcc6.patch b/audio/lmms/gcc6.patch
new file mode 100644
index 0000000000..ef7fbe75c9
--- /dev/null
+++ b/audio/lmms/gcc6.patch
@@ -0,0 +1,112 @@
+From a06cb0126ccb025993efb2d81c7cbfd8edd60609 Mon Sep 17 00:00:00 2001
+From: Javier Serrano Polo <javier@jasp.net>
+Date: Sat, 30 Apr 2016 00:00:09 +0200
+Subject: [PATCH] Fixed build problems with GCC 6
+
+---
+ plugins/LadspaEffect/calf/src/modules_limit.cpp | 3 ++-
+ plugins/opl2/fmopl.c | 29 +++++++++++-----------
+ .../zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl | 6 +++--
+ .../zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl | 6 +++--
+ 5 files changed, 29 insertions(+), 22 deletions(-)
+
+diff --git a/plugins/LadspaEffect/calf/src/modules_limit.cpp b/plugins/LadspaEffect/calf/src/modules_limit.cpp
+index 3930078..cd3d6fa 100644
+--- a/plugins/LadspaEffect/calf/src/modules_limit.cpp
++++ b/plugins/LadspaEffect/calf/src/modules_limit.cpp
+@@ -540,7 +540,8 @@ uint32_t multibandlimiter_audio_module::process(uint32_t offset, uint32_t numsam
+ } // process single strip with filter
+
+ // write multiband coefficient to buffer
+- buffer[pos] = std::min(*params[param_limit] / std::max(fabs(sum_left), fabs(sum_right)), 1.0);
++ float pre_buffer = *params[param_limit] / std::max(fabs(sum_left), fabs(sum_right));
++ buffer[pos] = std::min(pre_buffer, 1.0f);
+
+ for (int i = 0; i < strips; i++) {
+ // process gain reduction
+diff --git a/plugins/opl2/fmopl.c b/plugins/opl2/fmopl.c
+index 9b411a2..3dd4a51 100644
+--- a/plugins/opl2/fmopl.c
++++ b/plugins/opl2/fmopl.c
+@@ -653,21 +653,21 @@ static void init_timetables( FM_OPL *OPL , int ARRATE , int DRRATE ) {
+ double rate;
+
+ /* make attack rate & decay rate tables */
+- for ( i = 0; i < 4; i++ ) OPL->AR_TABLE[i] = OPL->DR_TABLE[i] = 0; {
+- for (i = 4; i <= 60; i++) {
+- rate = OPL->freqbase; /* frequency rate */
+- if( i < 60 ) {
+- rate *= 1.0+(i&3)*0.25; /* b0-1 : x1 , x1.25 , x1.5 , x1.75 */
+- }
+- rate *= 1<<((i>>2)-1); /* b2-5 : shift bit */
+- rate *= (double)(EG_ENT<<ENV_BITS);
+- OPL->AR_TABLE[i] = rate / ARRATE;
+- OPL->DR_TABLE[i] = rate / DRRATE;
+- }
+- for ( i = 60; i < 75; i++ ) {
+- OPL->AR_TABLE[i] = EG_AED-1;
+- OPL->DR_TABLE[i] = OPL->DR_TABLE[60];
++ for ( i = 0; i < 4; i++ ) OPL->AR_TABLE[i] = OPL->DR_TABLE[i] = 0;
++ for (i = 4; i <= 60; i++) {
++ rate = OPL->freqbase; /* frequency rate */
++ if( i < 60 ) {
++ rate *= 1.0+(i&3)*0.25; /* b0-1 : x1 , x1.25 , x1.5 , x1.75 */
+ }
++ rate *= 1<<((i>>2)-1); /* b2-5 : shift bit */
++ rate *= (double)(EG_ENT<<ENV_BITS);
++ OPL->AR_TABLE[i] = rate / ARRATE;
++ OPL->DR_TABLE[i] = rate / DRRATE;
++ }
++ for ( i = 60; i < 75; i++ ) {
++ OPL->AR_TABLE[i] = EG_AED-1;
++ OPL->DR_TABLE[i] = OPL->DR_TABLE[60];
++ }
+ #if 0
+ for ( i = 0; i < 64 ; i++ ) { /* make for overflow area */
+ LOG(LOG_WAR,("rate %2d , ar %f ms , dr %f ms \n",i,
+@@ -675,7 +675,6 @@ static void init_timetables( FM_OPL *OPL , int ARRATE , int DRRATE ) {
+ ((double)(EG_ENT<<ENV_BITS) / OPL->DR_TABLE[i]) * (1000.0 / OPL->rate) ));
+ }
+ #endif
+- }
+ }
+
+ /* ---------- generic table initialize ---------- */
+diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl b/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl
+index 359f64c..db70677 100644
+--- a/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl
++++ b/plugins/zynaddsubfx/zynaddsubfx/src/UI/EnvelopeUI.fl
+@@ -204,12 +204,14 @@ if (event==FL_RELEASE){
+
+ if ((event==FL_DRAG)&&(currentpoint>=0)){
+ int ny=127-(int) (y_*127.0/h());
+- if (ny<0) ny=0;if (ny>127) ny=127;
++ if (ny<0) ny=0;
++ if (ny>127) ny=127;
+ env->Penvval[currentpoint]=ny;
+
+ int dx=(int)((x_-cpx)*0.1);
+ int newdt=cpdt+dx;
+- if (newdt<0) newdt=0;if (newdt>127) newdt=127;
++ if (newdt<0) newdt=0;
++ if (newdt>127) newdt=127;
+ if (currentpoint!=0) env->Penvdt[currentpoint]=newdt;
+ else env->Penvdt[currentpoint]=0;
+
+diff --git a/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl b/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl
+index f1b887c..5ab7290 100644
+--- a/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl
++++ b/plugins/zynaddsubfx/zynaddsubfx/src/UI/ResonanceUI.fl
+@@ -133,8 +133,10 @@ if ( (x_>=0)&&(x_<w()) && (y_>=0)&&(y_<h())){
+ if ((event==FL_PUSH)||(event==FL_DRAG)){
+ int leftbutton=1;
+ if (Fl::event_button()==FL_RIGHT_MOUSE) leftbutton=0;
+- if (x_<0) x_=0;if (y_<0) y_=0;
+- if (x_>=w()) x_=w();if (y_>=h()-1) y_=h()-1;
++ if (x_<0) x_=0;
++ if (y_<0) y_=0;
++ if (x_>=w()) x_=w();
++ if (y_>=h()-1) y_=h()-1;
+
+ if ((oldx<0)||(oldx==x_)){
+ int sn=(int)(x_*1.0/w()*N_RES_POINTS);
diff --git a/audio/lmms/lmms.SlackBuild b/audio/lmms/lmms.SlackBuild
index 521fc88259..2d2981d37b 100644
--- a/audio/lmms/lmms.SlackBuild
+++ b/audio/lmms/lmms.SlackBuild
@@ -51,6 +51,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 {} \;
+# Thanks archlinux
+patch -p1 < $CWD/gcc6.patch
+
mkdir build
cd build
cmake \
diff --git a/audio/mac/gcc6.patch b/audio/mac/gcc6.patch
new file mode 100644
index 0000000000..e22d1c1f53
--- /dev/null
+++ b/audio/mac/gcc6.patch
@@ -0,0 +1,181 @@
+From: Peter Levine <plevine457@gmail.com>
+--- mac-3.99-u4-b5-s7/src/Shared/NoWindows.h.old 2016-09-18 21:37:56.049105791 -0400
++++ mac-3.99-u4-b5-s7/src/Shared/NoWindows.h 2016-09-18 21:55:29.666295506 -0400
+@@ -39,8 +39,8 @@
+ typedef const wchar_t * LPCWSTR;
+
+ #define ZeroMemory(POINTER, BYTES) memset(POINTER, 0, BYTES);
+-#define max(a,b) (((a) > (b)) ? (a) : (b))
+-#define min(a,b) (((a) < (b)) ? (a) : (b))
++#define max_macro(a,b) (((a) > (b)) ? (a) : (b))
++#define min_macro(a,b) (((a) < (b)) ? (a) : (b))
+
+ #define __stdcall
+ #define CALLBACK
+--- mac-3.99-u4-b5-s7/src/Shared/CircleBuffer.cpp.old 2016-09-18 21:43:44.270495095 -0400
++++ mac-3.99-u4-b5-s7/src/Shared/CircleBuffer.cpp 2016-09-18 21:44:47.960148731 -0400
+@@ -45,7 +45,7 @@
+
+ if (pBuffer != NULL && nBytes > 0)
+ {
+- int nHeadBytes = min(m_nEndCap - m_nHead, nBytes);
++ int nHeadBytes = min_macro(m_nEndCap - m_nHead, nBytes);
+ int nFrontBytes = nBytes - nHeadBytes;
+
+ memcpy(&pBuffer[0], &m_pBuffer[m_nHead], nHeadBytes);
+@@ -72,7 +72,7 @@
+
+ int CCircleBuffer::RemoveHead(int nBytes)
+ {
+- nBytes = min(MaxGet(), nBytes);
++ nBytes = min_macro(MaxGet(), nBytes);
+ m_nHead += nBytes;
+ if (m_nHead >= m_nEndCap)
+ m_nHead -= m_nEndCap;
+@@ -81,7 +81,7 @@
+
+ int CCircleBuffer::RemoveTail(int nBytes)
+ {
+- nBytes = min(MaxGet(), nBytes);
++ nBytes = min_macro(MaxGet(), nBytes);
+ m_nTail -= nBytes;
+ if (m_nTail < 0)
+ m_nTail += m_nEndCap;
+--- mac-3.99-u4-b5-s7/src/MACLib/APECompress.cpp.old 2016-09-18 21:48:40.916547811 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/APECompress.cpp 2016-09-18 21:51:43.670733601 -0400
+@@ -117,7 +117,7 @@
+ return ERROR_UNDEFINED;
+
+ // calculate how many bytes to copy and add that much to the buffer
+- int nBytesToProcess = min(nBytesAvailable, nBytes - nBytesDone);
++ int nBytesToProcess = min_macro(nBytesAvailable, nBytes - nBytesDone);
+ memcpy(pBuffer, &pData[nBytesDone], nBytesToProcess);
+
+ // unlock the buffer (fail if not successful)
+@@ -162,7 +162,7 @@
+
+ while ((m_nBufferTail - m_nBufferHead) >= nThreshold)
+ {
+- int nFrameBytes = min(m_spAPECompressCreate->GetFullFrameBytes(), m_nBufferTail - m_nBufferHead);
++ int nFrameBytes = min_macro(m_spAPECompressCreate->GetFullFrameBytes(), m_nBufferTail - m_nBufferHead);
+
+ if (nFrameBytes == 0)
+ break;
+--- mac-3.99-u4-b5-s7/src/MACLib/APEDecompress.cpp.old 2016-09-18 21:46:56.962072960 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/APEDecompress.cpp 2016-09-18 22:01:14.402044817 -0400
+@@ -35,8 +35,8 @@
+ m_bErrorDecodingCurrentFrame = FALSE;
+
+ // set the "real" start and finish blocks
+- m_nStartBlock = (nStartBlock < 0) ? 0 : min(nStartBlock, GetInfo(APE_INFO_TOTAL_BLOCKS));
+- m_nFinishBlock = (nFinishBlock < 0) ? GetInfo(APE_INFO_TOTAL_BLOCKS) : min(nFinishBlock, GetInfo(APE_INFO_TOTAL_BLOCKS));
++ m_nStartBlock = (nStartBlock < 0) ? 0 : min_macro(nStartBlock, GetInfo(APE_INFO_TOTAL_BLOCKS));
++ m_nFinishBlock = (nFinishBlock < 0) ? GetInfo(APE_INFO_TOTAL_BLOCKS) : min_macro(nFinishBlock, GetInfo(APE_INFO_TOTAL_BLOCKS));
+ m_bIsRanged = (m_nStartBlock != 0) || (m_nFinishBlock != GetInfo(APE_INFO_TOTAL_BLOCKS));
+ }
+
+@@ -85,7 +85,7 @@
+
+ // cap
+ int nBlocksUntilFinish = m_nFinishBlock - m_nCurrentBlock;
+- const int nBlocksToRetrieve = min(nBlocks, nBlocksUntilFinish);
++ const int nBlocksToRetrieve = min_macro(nBlocks, nBlocksUntilFinish);
+
+ // get the data
+ unsigned char * pOutputBuffer = (unsigned char *) pBuffer;
+@@ -99,7 +99,7 @@
+
+ // analyze how much to remove from the buffer
+ const int nFrameBufferBlocks = m_nFrameBufferFinishedBlocks;
+- nBlocksThisPass = min(nBlocksLeft, nFrameBufferBlocks);
++ nBlocksThisPass = min_macro(nBlocksLeft, nFrameBufferBlocks);
+
+ // remove as much as possible
+ if (nBlocksThisPass > 0)
+@@ -182,7 +182,7 @@
+
+ int nFrameOffsetBlocks = m_nCurrentFrameBufferBlock % GetInfo(APE_INFO_BLOCKS_PER_FRAME);
+ int nFrameBlocksLeft = nFrameBlocks - nFrameOffsetBlocks;
+- int nBlocksThisPass = min(nFrameBlocksLeft, nBlocksLeft);
++ int nBlocksThisPass = min_macro(nFrameBlocksLeft, nBlocksLeft);
+
+ // start the frame if we need to
+ if (nFrameOffsetBlocks == 0)
+--- mac-3.99-u4-b5-s7/src/MACLib/APESimple.cpp.old 2016-09-18 21:47:16.972925909 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/APESimple.cpp 2016-09-18 21:52:39.022779503 -0400
+@@ -193,7 +193,7 @@
+ nBytesRead = 1;
+ while ((nBytesLeft > 0) && (nBytesRead > 0))
+ {
+- int nBytesToRead = min(16384, nBytesLeft);
++ int nBytesToRead = min_macro(16384, nBytesLeft);
+ if (pIO->Read(spBuffer, nBytesToRead, &nBytesRead) != ERROR_SUCCESS)
+ return ERROR_IO_READ;
+
+--- mac-3.99-u4-b5-s7/src/MACLib/APETag.cpp.old 2016-09-18 21:55:53.331533348 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/APETag.cpp 2016-09-18 21:58:21.508345586 -0400
+@@ -16,7 +16,7 @@
+ memcpy(m_spFieldNameUTF16, pFieldName, (wcslen(pFieldName) + 1) * sizeof(str_utf16));
+
+ // data (we'll always allocate two extra bytes and memset to 0 so we're safely NULL terminated)
+- m_nFieldValueBytes = max(nFieldBytes, 0);
++ m_nFieldValueBytes = max_macro(nFieldBytes, 0);
+ m_spFieldValue.Assign(new char [m_nFieldValueBytes + 2], TRUE);
+ memset(m_spFieldValue, 0, m_nFieldValueBytes + 2);
+ if (m_nFieldValueBytes > 0)
+--- mac-3.99-u4-b5-s7/src/MACLib/BitArray.cpp.old 2016-09-18 21:53:24.090030009 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/BitArray.cpp 2016-09-18 22:00:13.500083252 -0400
+@@ -113,7 +113,7 @@
+ m_nCurrentBitIndex = (m_nCurrentBitIndex & 31);
+
+ // zero the rest of the memory (may not need the +1 because of frame byte alignment)
+- memset(&m_pBitArray[1], 0, min(nBytesToWrite + 1, BIT_ARRAY_BYTES - 1));
++ memset(&m_pBitArray[1], 0, min_macro(nBytesToWrite + 1, BIT_ARRAY_BYTES - 1));
+ }
+
+ // return a success
+@@ -247,7 +247,7 @@
+ BitArrayState.k++;
+
+ // figure the pivot value
+- int nPivotValue = max(nOriginalKSum / 32, 1);
++ int nPivotValue = max_macro(nOriginalKSum / 32, 1);
+ int nOverflow = nEncode / nPivotValue;
+ int nBase = nEncode - (nOverflow * nPivotValue);
+
+--- mac-3.99-u4-b5-s7/src/MACLib/MACProgressHelper.cpp.old 2016-09-18 21:56:44.606337012 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/MACProgressHelper.cpp 2016-09-18 21:59:55.854310134 -0400
+@@ -35,7 +35,7 @@
+ m_nCurrentStep = nCurrentStep;
+
+ // figure the percentage done
+- float fPercentageDone = float(m_nCurrentStep) / float(max(m_nTotalSteps, 1));
++ float fPercentageDone = float(m_nCurrentStep) / float(max_macro(m_nTotalSteps, 1));
+ int nPercentageDone = (int) (fPercentageDone * 1000 * 100);
+ if (nPercentageDone > 100000) nPercentageDone = 100000;
+
+--- mac-3.99-u4-b5-s7/src/MACLib/Prepare.cpp.old 2016-09-18 21:56:29.974394222 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/Prepare.cpp 2016-09-18 21:59:28.214726465 -0400
+@@ -177,9 +177,9 @@
+
+ if (LPeak == 0) { *pSpecialCodes |= SPECIAL_FRAME_LEFT_SILENCE; }
+ if (RPeak == 0) { *pSpecialCodes |= SPECIAL_FRAME_RIGHT_SILENCE; }
+- if (max(LPeak, RPeak) > *pPeakLevel)
++ if (max_macro(LPeak, RPeak) > *pPeakLevel)
+ {
+- *pPeakLevel = max(LPeak, RPeak);
++ *pPeakLevel = max_macro(LPeak, RPeak);
+ }
+
+ // check for pseudo-stereo files
+--- mac-3.99-u4-b5-s7/src/MACLib/UnBitArray.cpp.old 2016-09-18 21:56:16.548445898 -0400
++++ mac-3.99-u4-b5-s7/src/MACLib/UnBitArray.cpp 2016-09-18 21:58:56.148161050 -0400
+@@ -110,7 +110,7 @@
+ if (m_nVersion >= 3990)
+ {
+ // figure the pivot value
+- int nPivotValue = max(BitArrayState.nKSum / 32, 1);
++ int nPivotValue = max_macro(BitArrayState.nKSum / 32, 1);
+
+ // get the overflow
+ int nOverflow = 0;
diff --git a/audio/mac/mac.SlackBuild b/audio/mac/mac.SlackBuild
index eb2e3ada5b..c2bcab4668 100644
--- a/audio/mac/mac.SlackBuild
+++ b/audio/mac/mac.SlackBuild
@@ -78,6 +78,8 @@ if [ "${FORCE_SLACK_CFLAGS:-no}" = "yes" ]; then
sed -i 's,-O3\>,,' configure
fi
+patch -p1 < $CWD/gcc6.patch
+
LDFLAGS="-Wl,-s" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/audio/milkytracker/README b/audio/milkytracker/README
index f16c7e8551..b940d275bb 100644
--- a/audio/milkytracker/README
+++ b/audio/milkytracker/README
@@ -1,5 +1,4 @@
This is MilkyTracker 0.90.80. MilkyTracker is an audio tracker, and can create
standard .MOD and .XM module files.
-JACK support is optional and can be added by doing:
- JACK=yes ./milkytracker.SlackBuild
+lhasa is an optional dependency.
diff --git a/audio/milkytracker/milkytracker.SlackBuild b/audio/milkytracker/milkytracker.SlackBuild
index 7f6841c8f1..fc2a020d71 100644
--- a/audio/milkytracker/milkytracker.SlackBuild
+++ b/audio/milkytracker/milkytracker.SlackBuild
@@ -24,13 +24,14 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=milkytracker
-VERSION=${VERSION:-0.90.86}
+SRCNAM=MilkyTracker
+VERSION=${VERSION:-1.02.00}
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 +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"
@@ -60,34 +61,37 @@ 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
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$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 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 -lasound" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --with-jack=${JACK:-no}
+# Thanks fedora
+patch -p1 < $CWD/sdlmain.patch
-make
-make install DESTDIR=$PKG
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \
+ -DCMAKE_BUILD_TYPE=Release \
+ ..
+ make
+ make install DESTDIR=$PKG
+cd ..
mkdir -p $PKG/usr/share/{applications,pixmaps}
cp $CWD/milkytracker.desktop $PKG/usr/share/applications
cp resources/pictures/carton.png $PKG/usr/share/pixmaps/milkytracker-icon-128.png
-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/audio/milkytracker/milkytracker.info b/audio/milkytracker/milkytracker.info
index cdab01e8f0..d1ff04930b 100644
--- a/audio/milkytracker/milkytracker.info
+++ b/audio/milkytracker/milkytracker.info
@@ -1,10 +1,10 @@
PRGNAM="milkytracker"
-VERSION="0.90.86"
+VERSION="1.02.00"
HOMEPAGE="http://www.milkytracker.org/"
-DOWNLOAD="http://www.milkytracker.org/files/milkytracker-0.90.86.tar.bz2"
-MD5SUM="1ef462969cf54ba61748d4d878b5747e"
+DOWNLOAD="https://github.com/milkytracker/MilkyTracker/archive/v1.02.00/milkytracker-1.02.00.tar.gz"
+MD5SUM="ab4c881b8bbd41fde60823c191c7c6ce"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="zziplib"
+REQUIRES="jack-audio-connection-kit zziplib"
MAINTAINER="Erik Hanson"
EMAIL="erik@slackbuilds.org"
diff --git a/audio/milkytracker/sdlmain.patch b/audio/milkytracker/sdlmain.patch
new file mode 100644
index 0000000000..3917a062d6
--- /dev/null
+++ b/audio/milkytracker/sdlmain.patch
@@ -0,0 +1,12 @@
+diff -ru MilkyTracker-1.0.0/cmake/FindSDL2.cmake MilkyTracker-sdlmain/cmake/FindSDL2.cmake
+--- MilkyTracker-1.0.0/cmake/FindSDL2.cmake 2017-03-12 21:30:25.000000000 +0200
++++ MilkyTracker-sdlmain/cmake/FindSDL2.cmake 2017-03-19 20:23:15.773398294 +0200
+@@ -93,7 +93,7 @@
+ endif()
+
+ set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
+-set(SDL2_LIBRARIES ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY})
++set(SDL2_LIBRARIES ${SDL2_LIBRARY})
+
+ include(FindPackageHandleStandardArgs)
+
diff --git a/audio/mp3blaster/mp3blaster.SlackBuild b/audio/mp3blaster/mp3blaster.SlackBuild
index 7f1e3c8e0e..6aa96b6017 100644
--- a/audio/mp3blaster/mp3blaster.SlackBuild
+++ b/audio/mp3blaster/mp3blaster.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 {} \;
+# https://www.linuxquestions.org/questions/slackware-14/ncurses-6-1_20190420-slackware64-current-and-mp3blaster-4175654414/#post5998040
+sed -i "s|lncurses|lncursesw|" configure
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11 -Wno-narrowing" \
./configure \
diff --git a/audio/ocp/ocp.SlackBuild b/audio/ocp/ocp.SlackBuild
index 523d4638c8..4351552662 100644
--- a/audio/ocp/ocp.SlackBuild
+++ b/audio/ocp/ocp.SlackBuild
@@ -70,7 +70,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
sed -i "s/0.1.20/0.1.21/g" configure
-sed -i "4592c2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9]|3.[0-9].[0-9]-*|4.*|5.*)" configure
+sed -i "4592c2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9]|3.[0-9].[0-9]-*|4.*|5.*|6.*|7.*)" configure
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/audio/opus-tools/README b/audio/opus-tools/README
deleted file mode 100644
index 4f031bf99a..0000000000
--- a/audio/opus-tools/README
+++ /dev/null
@@ -1,2 +0,0 @@
-opus-tools provides command-line utilities to encode, inspect and
-decode .opus files.
diff --git a/audio/opus-tools/opus-tools.info b/audio/opus-tools/opus-tools.info
deleted file mode 100644
index 5e0ce3365d..0000000000
--- a/audio/opus-tools/opus-tools.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="opus-tools"
-VERSION="0.2"
-HOMEPAGE="http://www.opus-codec.org"
-DOWNLOAD="https://ftp.mozilla.org/pub/mozilla.org/opus/opus-tools-0.2.tar.gz"
-MD5SUM="ff2d0536e960cabbfb8ca7c8c1759b6c"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="libopusenc"
-MAINTAINER="Matteo Bernardini"
-EMAIL="ponce@slackbuilds.org"
diff --git a/audio/opus-tools/slack-desc b/audio/opus-tools/slack-desc
deleted file mode 100644
index 39aaf10819..0000000000
--- a/audio/opus-tools/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------------------------------------------------------|
-opus-tools: opus-tools (utilities for opus)
-opus-tools:
-opus-tools: opus-tools provides command-line utilities to encode, inspect and
-opus-tools: decode .opus files.
-opus-tools:
-opus-tools: homepage: http://www.opus-codec.org
-opus-tools:
-opus-tools:
-opus-tools:
-opus-tools:
-opus-tools:
diff --git a/audio/opus/README b/audio/opus/README
deleted file mode 100644
index df5dd26216..0000000000
--- a/audio/opus/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Opus is a totally open, royalty-free, highly versatile audio codec.
-It is standardized by the Internet Engineering Task Force (IETF)
-as RFC 6716 which incorporated technology from Skype's SILK codec
-and Xiph.Org's CELT codec.
diff --git a/audio/opus/opus.SlackBuild b/audio/opus/opus.SlackBuild
deleted file mode 100644
index 08e3446287..0000000000
--- a/audio/opus/opus.SlackBuild
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for opus
-
-# Copyright 2012-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-# 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=opus
-VERSION=${VERSION:-1.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}
-
-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 \
- --disable-static \
- --enable-intrinsics \
- --enable-ambisonics \
- --enable-rtcd \
- --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 AUTHORS COPYING INSTALL 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/audio/opus/opus.info b/audio/opus/opus.info
deleted file mode 100644
index 55e1ce1c0d..0000000000
--- a/audio/opus/opus.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="opus"
-VERSION="1.3.1"
-HOMEPAGE="https://opus-codec.org/"
-DOWNLOAD="https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz"
-MD5SUM="d7c07db796d21c9cf1861e0c2b0c0617"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Willy Sudiarto Raharjo"
-EMAIL="willysr@slackbuilds.org"
diff --git a/audio/opus/slack-desc b/audio/opus/slack-desc
deleted file mode 100644
index fb36dc8f15..0000000000
--- a/audio/opus/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------------------------------------------------------|
-opus: opus (Audio Codec)
-opus:
-opus: Opus is a totally open, royalty-free, highly versatile audio codec.
-opus: It is standardized by the Internet Engineering Task Force (IETF)
-opus: as RFC 6716 which incorporated technology from Skype's SILK codec
-opus: and Xiph.Org's CELT codec.
-opus:
-opus: Project site: https://opus-codec.org/
-opus:
-opus:
-opus:
diff --git a/audio/opusfile/README b/audio/opusfile/README
deleted file mode 100644
index 4c32609f79..0000000000
--- a/audio/opusfile/README
+++ /dev/null
@@ -1,2 +0,0 @@
-opusfile provides application developers with a high-level API for
-decoding and seeking in .opus files.
diff --git a/audio/opusfile/opusfile.info b/audio/opusfile/opusfile.info
deleted file mode 100644
index 5a1d075dc5..0000000000
--- a/audio/opusfile/opusfile.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="opusfile"
-VERSION="0.11"
-HOMEPAGE="http://www.opus-codec.org"
-DOWNLOAD="https://ftp.mozilla.org/pub/mozilla.org/opus/opusfile-0.11.tar.gz"
-MD5SUM="e1e94a9a663b4ca7a388f367baf1a7e3"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="opus"
-MAINTAINER="Matteo Bernardini"
-EMAIL="ponce@slackbuilds.org"
diff --git a/audio/pithos/doinst.sh b/audio/pithos/doinst.sh
index 4a25de5e6f..e924bab47c 100644
--- a/audio/pithos/doinst.sh
+++ b/audio/pithos/doinst.sh
@@ -8,3 +8,9 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
fi
fi
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
+
diff --git a/audio/pithos/pithos.SlackBuild b/audio/pithos/pithos.SlackBuild
index 32579cffe5..0d7c1f9b1e 100644
--- a/audio/pithos/pithos.SlackBuild
+++ b/audio/pithos/pithos.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for pithos
-# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# Copyright 2013,2017 Robby Workman, Tuscaloosa, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pithos
-VERSION=${VERSION:-git_ed501485}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.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
@@ -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"
@@ -61,15 +61,25 @@ 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 . \
+chown -R root:root $PRGNAM-$VERSION
+find -L $PRGNAM-$VERSION \
\( -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 {} \;
-python setup.py install --root=$PKG
+mkdir -p $PRGNAM-$VERSION/build
+meson \
+ --prefix=/usr \
+ --libdir=/usr/lib64 \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ $PRGNAM-$VERSION \
+ $PRGNAM-$VERSION/build
+
+DESTDIR=$PKG ninja -C $PRGNAM-$VERSION/build install
cat $CWD/contrib/pithosctl > $PKG/usr/bin/pithosctl
chmod 0755 $PKG/usr/bin/pithosctl
@@ -78,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 CHANGELOG README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $PRGNAM-$VERSION/README.md $PRGNAM-$VERSION/license $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/audio/pithos/pithos.info b/audio/pithos/pithos.info
index c276852bd2..198bec9218 100644
--- a/audio/pithos/pithos.info
+++ b/audio/pithos/pithos.info
@@ -1,10 +1,10 @@
PRGNAM="pithos"
-VERSION="git_ed501485"
-HOMEPAGE="http://kevinmehall.net/p/pithos/"
-DOWNLOAD="http://harrier.slackbuilds.org/misc/pithos-git_ed501485.tar.xz"
-MD5SUM="fb7f45ff93b5aab7b60e5b943d7bb024"
+VERSION="1.4.0"
+HOMEPAGE="https://github.com/pithos/pithos"
+DOWNLOAD="https://github.com/pithos/pithos/releases/download/1.4.0/pithos-1.4.0.tar.xz"
+MD5SUM="2324a9ed104682fb2417f662a82cc8bb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="gst0-python gst0-ffmpeg"
+REQUIRES="meson gst-python gst-libav"
MAINTAINER="Robby Workman"
EMAIL="rworkman@slackbuilds.org"
diff --git a/audio/pithos/slack-desc b/audio/pithos/slack-desc
index 3ac97f0f7d..c55001e893 100644
--- a/audio/pithos/slack-desc
+++ b/audio/pithos/slack-desc
@@ -13,7 +13,7 @@ pithos: lightweight than the Pandora.com web client and integrates with
pithos: desktop features such as media keys, notifications, and the sound
pithos: menu.
pithos:
-pithos: Homepage: http://kevinmehall.net/p/pithos/
+pithos: Homepage: https://github.com/pithos/pithos
pithos:
pithos:
pithos:
diff --git a/audio/rumor/gcc7.diff b/audio/rumor/gcc7.diff
new file mode 100644
index 0000000000..a8c54f20c0
--- /dev/null
+++ b/audio/rumor/gcc7.diff
@@ -0,0 +1,12 @@
+diff -Naur rumor-1.0.5.orig/src/notator.cc rumor-1.0.5.new/src/notator.cc
+--- rumor-1.0.5.orig/src/notator.cc 2010-11-15 18:40:22.000000000 +0100
++++ rumor-1.0.5.new/src/notator.cc 2017-05-31 15:51:42.014855383 +0200
+@@ -334,7 +334,7 @@
+ }
+ } else {
+ OctaveTic=(RefPitch_wt>AbsPitch_wt?',':'\'');
+- NumTics=(abs(RefPitch_wt-AbsPitch_wt)+3)/7;
++ NumTics=(RefPitch_wt-AbsPitch_wt+3)/7;
+ RefPitch_wt=AbsPitch_wt;
+ }
+ for (int i=0; i<NumTics; i++){
diff --git a/audio/rumor/rumor.SlackBuild b/audio/rumor/rumor.SlackBuild
index daeebef2b9..d3ee309487 100644
--- a/audio/rumor/rumor.SlackBuild
+++ b/audio/rumor/rumor.SlackBuild
@@ -49,6 +49,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Thanks to archlinux
+patch -p1 < $CWD/gcc7.diff
+
./autogen.sh
CFLAGS="$SLKCFLAGS" \
diff --git a/audio/seq24/perfedit.patch b/audio/seq24/perfedit.patch
deleted file mode 100644
index 960e6d2bcc..0000000000
--- a/audio/seq24/perfedit.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- seq24/trunk/src/perfedit.cpp.old 2016-01-03 23:30:55.562890265 +0700
-+++ seq24/trunk/src/perfedit.cpp 2016-01-03 23:32:24.958812214 +0700
-@@ -119,7 +119,7 @@
- /* snap */
- m_button_snap = manage( new Button());
- m_button_snap->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( snap_xpm ))));
-- m_button_snap->signal_clicked().connect( bind<Menu *>( mem_fun( *this, &perfedit::popup_menu), m_menu_snap ));
-+ m_button_snap->signal_clicked().connect( bind<void>( mem_fun( *this, &perfedit::popup_menu), m_menu_snap ));
- add_tooltip( m_button_snap, "Grid snap. (Fraction of Measure Length)" );
- m_entry_snap = manage( new Entry());
- m_entry_snap->set_size_request( 40, -1 );
-@@ -152,7 +152,7 @@
- /* beats per measure */
- m_button_bpm = manage( new Button());
- m_button_bpm->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( down_xpm ))));
-- m_button_bpm->signal_clicked().connect( bind<Menu *>( mem_fun( *this, &perfedit::popup_menu), m_menu_bpm ));
-+ m_button_bpm->signal_clicked().connect( bind<void>( mem_fun( *this, &perfedit::popup_menu), m_menu_bpm ));
- add_tooltip( m_button_bpm, "Time Signature. Beats per Measure" );
- m_entry_bpm = manage( new Entry());
- m_entry_bpm->set_width_chars(2);
-@@ -162,7 +162,7 @@
- /* beat width */
- m_button_bw = manage( new Button());
- m_button_bw->add( *manage( new Image(Gdk::Pixbuf::create_from_xpm_data( down_xpm ))));
-- m_button_bw->signal_clicked().connect( bind<Menu *>( mem_fun( *this, &perfedit::popup_menu), m_menu_bw ));
-+ m_button_bw->signal_clicked().connect( bind<void>( mem_fun( *this, &perfedit::popup_menu), m_menu_bw ));
- add_tooltip( m_button_bw, "Time Signature. Length of Beat" );
- m_entry_bw = manage( new Entry());
- m_entry_bw->set_width_chars(2);
diff --git a/audio/seq24/seq24.SlackBuild b/audio/seq24/seq24.SlackBuild
index 39df07766b..4b8cf91b27 100644
--- a/audio/seq24/seq24.SlackBuild
+++ b/audio/seq24/seq24.SlackBuild
@@ -23,13 +23,13 @@
# YOUR DATA IS DESTROYED.
PRGNAM=seq24
-VERSION=${VERSION:-rev136}
+VERSION=${VERSION:-0.9.3}
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"
@@ -59,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM/trunk
-tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM/trunk
+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 \
@@ -69,12 +69,17 @@ 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 {} \;
-autoreconf -i
-
-patch -p2 < $CWD/perfedit.patch
+# Thanks to fedora for this:
+# class "mutex" in src/* clashes with "std::mutex" due
+# to "using namespace std;". Rename mutex to seq24_mutex.
+sed -i \
+ -e 's,mutex::,seq24_mutex::,' \
+ -e 's,\([ cs]\) mutex,\1 seq24_mutex,' \
+ -e 's,::mutex,::seq24_mutex,' \
+ src/*.h src/*.cpp
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -O2 -std=c++11" \
+CXXFLAGS="$SLKCFLAGS -std=c++11" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/audio/seq24/seq24.info b/audio/seq24/seq24.info
index 7681d18b95..3ebc841eb3 100644
--- a/audio/seq24/seq24.info
+++ b/audio/seq24/seq24.info
@@ -1,8 +1,8 @@
PRGNAM="seq24"
-VERSION="rev136"
+VERSION="0.9.3"
HOMEPAGE="http://filter24.org/seq24/"
-DOWNLOAD="http://master.dl.sourceforge.net/project/slackbuildsdirectlinks/seq24/seq24-rev136.tar.gz"
-MD5SUM="e3616365eefa04349773198fec794241"
+DOWNLOAD="https://launchpad.net/seq24/trunk/0.9.3/+download/seq24-0.9.3.tar.bz2"
+MD5SUM="e7c653abb71f17e5cc070ef1d8406a1a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/audio/shell-fm/README b/audio/shell-fm/README
deleted file mode 100644
index fdf6eca651..0000000000
--- a/audio/shell-fm/README
+++ /dev/null
@@ -1,12 +0,0 @@
-shell-fm is a lightweight, console-based player for Last.FM radio streams.
-It's pretty small (the binary is currently a little smaller than 60K, or
-50K when stripped) and it has most features the "official" player has, if
-not even a few more. Additional features are, for example:
-
-network interface (control shell-fm remotely)
-autoban (automatically ban all tracks of an artist you don't like)
-bookmark stations (quickly jump to bookmarked stations with a single key)
-... probably more
-
-*NOTE: Last-FM have changed their API so that only PAID subscribers
-can listen to streams in shell-fm.
diff --git a/audio/shell-fm/shell-fm.SlackBuild b/audio/shell-fm/shell-fm.SlackBuild
deleted file mode 100644
index 94028cc20f..0000000000
--- a/audio/shell-fm/shell-fm.SlackBuild
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for shell-fm
-
-# Copyright 2009-2013 David Woodfall <dave@dawoodfall.net>
-# 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=shell-fm
-VERSION=${VERSION:-0.8}
-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" \
-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 INSTALL AUTHORS RELEASE \
- $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/audio/shell-fm/shell-fm.info b/audio/shell-fm/shell-fm.info
deleted file mode 100644
index 28956094c1..0000000000
--- a/audio/shell-fm/shell-fm.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="shell-fm"
-VERSION="0.8"
-HOMEPAGE="https://github.com/jkramer/shell-fm"
-DOWNLOAD="https://github.com/jkramer/shell-fm/archive/v0.8/shell-fm-0.8.tar.gz"
-MD5SUM="6d6aca71fb8a33562ecf614a10a45255"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
diff --git a/audio/shell-fm/slack-desc b/audio/shell-fm/slack-desc
deleted file mode 100644
index 3bf0b1a989..0000000000
--- a/audio/shell-fm/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------------------------------------------------------|
-shell-fm: shell-fm (a command line last.fm player)
-shell-fm:
-shell-fm: shell-fm is a lightweight, console-based player for Last.FM radio
-shell-fm: streams. It's pretty small (the binary is currently a little smaller
-shell-fm: than 60K, or 50K when stripped) and it has most features the
-shell-fm: "official" player has, if not even a few more.
-shell-fm:
-shell-fm: Homepage: https://github.com/jkramer/shell-fm
-shell-fm:
-shell-fm:
-shell-fm:
diff --git a/audio/sidplayfp/sidplayfp.SlackBuild b/audio/sidplayfp/sidplayfp.SlackBuild
index ae706d48f7..dd201aac7e 100644
--- a/audio/sidplayfp/sidplayfp.SlackBuild
+++ b/audio/sidplayfp/sidplayfp.SlackBuild
@@ -25,13 +25,13 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sidplayfp
-VERSION=${VERSION:-1.3.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.4.3}
+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/audio/sidplayfp/sidplayfp.info b/audio/sidplayfp/sidplayfp.info
index 8c8d1ac6dd..1c16a8fcd7 100644
--- a/audio/sidplayfp/sidplayfp.info
+++ b/audio/sidplayfp/sidplayfp.info
@@ -1,8 +1,8 @@
PRGNAM="sidplayfp"
-VERSION="1.3.0"
+VERSION="1.4.3"
HOMEPAGE="https://sourceforge.net/projects/sidplay-residfp/"
-DOWNLOAD="https://sourceforge.net/projects/sidplay-residfp/files/sidplayfp/1.3/sidplayfp-1.3.0.tar.gz"
-MD5SUM="65ae736d372860223bee9bceb00a3b91"
+DOWNLOAD="https://downloads.sourceforge.net/sidplay-residfp/sidplayfp-1.4.3.tar.gz"
+MD5SUM="be020b5927c80c4269273895400a8120"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libsidplayfp"
diff --git a/audio/speex/README b/audio/speex/README
deleted file mode 100644
index 339c23c818..0000000000
--- a/audio/speex/README
+++ /dev/null
@@ -1,7 +0,0 @@
-Speex is an Open Source/Free Software patent-free audio compression
-format designed for speech. The Speex Project aims to lower the barrier
-of entry for voice applications by providing a free alternative to
-expensive proprietary speech codecs. Moreover, Speex is well-adapted
-to Internet applications and provides useful features that are not
-present in most other codecs. Finally, Speex is part of the GNU
-Project and is available under the revised BSD license.
diff --git a/audio/speex/slack-desc b/audio/speex/slack-desc
deleted file mode 100644
index a675982e71..0000000000
--- a/audio/speex/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------------------------------------------------------|
-speex: speex (an audio compression format designed for speech)
-speex:
-speex: Speex is an Open Source/Free Software patent-free audio compression
-speex: format designed for speech. The Speex Project aims to lower the
-speex: barrier of entry for voice applications by providing a free
-speex: alternative to expensive proprietary speech codecs. Moreover, Speex
-speex: is well-adapted to Internet applications and provides useful features
-speex: that are not present in most other codecs. Finally, Speex is part of
-speex: the GNU Project and is available under the revised BSD license.
-speex:
-speex: homepage: https://speex.org/
diff --git a/audio/speex/speex.SlackBuild b/audio/speex/speex.SlackBuild
deleted file mode 100644
index dba755fb36..0000000000
--- a/audio/speex/speex.SlackBuild
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for speex
-
-# Copyright (c) 2007 Alex Lysenka <me@alkos333.net>
-# Copyright (c) 2012 Vliegendehuiskat
-# Copyright (c) 2014-2016 Matteo Bernardini <ponce@slackbuilds.org>
-# 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.
-
-# Modified by SlackBuilds.org
-
-PRGNAM=speex
-VERSION=${VERSION:-1.2.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.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 {} \;
-
-# Fix end-of-line encoding.
-sed -i 's/\r//' README.TI-DSP
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-SPEEXDSP_CFLAGS="-I$PKG/usr/include" \
-SPEEXDSP_LIBS="-L$PKG/usr/lib${LIBDIRSUFFIX} -lspeexdsp" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-static=no \
- --enable-binaries \
- --build=$ARCH-slackware-linux
-
-# Hack to also make it look in the right directory on multilib systems
-make LDFLAGS="-L/usr/lib${LIBDIRSUFFIX} -L$PKG/usr/lib${LIBDIRSUFFIX} -lspeexdsp"
-make install DESTDIR=$PKG
-
-find $PKG/usr/man -type f -exec gzip -9 '{}' \;
-
-# Fix libspeex.la (if present)
-sed -i "s|-L$PKG.*/lib${LIBDIRSUFFIX} ||" $PKG/usr/lib${LIBDIRSUFFIX}/libspeex.la || true
-
-cp -a \
- AUTHORS COPYING ChangeLog INSTALL NEWS README* TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-find $PKG/usr/doc -type f -exec chown root:root {} \; -exec chmod 644 {} \;
-
-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/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/audio/speex/speex.info b/audio/speex/speex.info
deleted file mode 100644
index 0fb235e318..0000000000
--- a/audio/speex/speex.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="speex"
-VERSION="1.2.0"
-HOMEPAGE="https://speex.org"
-DOWNLOAD="https://ftp.osuosl.org/pub/xiph/releases/speex/speex-1.2.0.tar.gz"
-MD5SUM="8ab7bb2589110dfaf0ed7fa7757dc49c"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Matteo Bernardini"
-EMAIL="ponce@slackbuilds.org"
diff --git a/audio/xmms2/xmms2.SlackBuild b/audio/xmms2/xmms2.SlackBuild
index fcd1ede0a8..21a5a5e300 100644
--- a/audio/xmms2/xmms2.SlackBuild
+++ b/audio/xmms2/xmms2.SlackBuild
@@ -7,7 +7,7 @@
# Updated by Andrew Brouwers, abrouwers at gmail d0t com (13.0, 64-bit)
PRGNAM=xmms2
-VERSION=${VERSION:-"20150712_942b17f"}
+VERSION=${VERSION:-"20170827_dedc33d"}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/audio/xmms2/xmms2.info b/audio/xmms2/xmms2.info
index 61f3ec488c..e4ba4787bd 100644
--- a/audio/xmms2/xmms2.info
+++ b/audio/xmms2/xmms2.info
@@ -1,8 +1,8 @@
PRGNAM="xmms2"
-VERSION="20150712_942b17f"
+VERSION="20170827_dedc33d"
HOMEPAGE="http://wiki.xmms2.xmms.se/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/xmms2-20150712_942b17f.tar.xz"
-MD5SUM="8a5c43ef18fdaf24f6853ced83ce1620"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/xmms2-20170827_dedc33d.tar.xz"
+MD5SUM="082e47f3ca4f40b5c0029e8a3f0a7d55"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/business/ledger/ledger.SlackBuild b/business/ledger/ledger.SlackBuild
index 18c0690efc..5d15c7e400 100644
--- a/business/ledger/ledger.SlackBuild
+++ b/business/ledger/ledger.SlackBuild
@@ -3,7 +3,7 @@
# Written by Lionel Young (redtricycle at gmail dot com)
PRGNAM=ledger
-VERSION=${VERSION:-3.1.1}
+VERSION=${VERSION:-3.1.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -35,7 +35,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 {} \;
-./acprep --prefix=/usr update
+cmake \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ .
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
@@ -47,7 +49,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-cp -a README.md doc/NEWS $PKG/usr/doc/$PRGNAM-$VERSION/
+cp -a README.md doc/NEWS.md $PKG/usr/doc/$PRGNAM-$VERSION/
cp -ra contrib $PKG/usr/doc/$PRGNAM-$VERSION
cp -ra test/input/* $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/business/ledger/ledger.info b/business/ledger/ledger.info
index c89a7d4873..cf83d5a190 100644
--- a/business/ledger/ledger.info
+++ b/business/ledger/ledger.info
@@ -1,8 +1,8 @@
PRGNAM="ledger"
-VERSION="3.1.1"
+VERSION="3.1.3"
HOMEPAGE="https://ledger-cli.org"
-DOWNLOAD="https://github.com/ledger/ledger/archive/v3.1.1/ledger-3.1.1.tar.gz"
-MD5SUM="eae070cbbc1a40a277f1394d72ef0fe6"
+DOWNLOAD="https://github.com/ledger/ledger/archive/v3.1.3/ledger-3.1.3.tar.gz"
+MD5SUM="6d9b8293f5f909aab4b95cffa2b3c120"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="utfcpp"
diff --git a/desktop/arc-theme/README b/desktop/arc-theme/README
index a9fc04447a..9b44fa96a7 100644
--- a/desktop/arc-theme/README
+++ b/desktop/arc-theme/README
@@ -1,3 +1,5 @@
Arc is a flat theme with transparent elements for GTK 3, GTK 2 and
Gnome-Shell which supports GTK 3 and GTK 2 based desktop
environments like Gnome, Unity, Budgie, Pantheon, XFCE, Mate, etc.
+
+inkscape is a build-time dependency.
diff --git a/desktop/arc-theme/arc-theme.SlackBuild b/desktop/arc-theme/arc-theme.SlackBuild
index d3a596f6b3..0e3ce271dc 100644
--- a/desktop/arc-theme/arc-theme.SlackBuild
+++ b/desktop/arc-theme/arc-theme.SlackBuild
@@ -25,7 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=arc-theme
-VERSION=${VERSION:-20170302}
+VERSION=${VERSION:-20181022}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -56,13 +56,15 @@ else
LIBDIRSUFFIX=""
fi
+gnome_shell="--disable-gnome-shell" ; [[ $(which gnome-shell) ]] && gnome_shell=""
+
set -e
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 . \
@@ -71,16 +73,16 @@ 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 {} \;
-sh autogen.sh
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-./configure \
+./autogen.sh \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ $gnome_shell \
--build=$ARCH-slackware-linux
make
diff --git a/desktop/arc-theme/arc-theme.info b/desktop/arc-theme/arc-theme.info
index e653a09f81..3f7b6a1e22 100644
--- a/desktop/arc-theme/arc-theme.info
+++ b/desktop/arc-theme/arc-theme.info
@@ -1,10 +1,10 @@
PRGNAM="arc-theme"
-VERSION="20170302"
-HOMEPAGE="https://github.com/horst3180/arc-theme/"
-DOWNLOAD="https://github.com/horst3180/arc-theme/archive/20170302/arc-theme-20170302.tar.gz"
-MD5SUM="fe3e397ffc3633c1b5ba3b1d6e2456a7"
+VERSION="20181022"
+HOMEPAGE="https://github.com/NicoHood/arc-theme/"
+DOWNLOAD="https://github.com/NicoHood/arc-theme/releases/download/20181022/arc-theme-20181022.tar.xz"
+MD5SUM="4819afac384c9c63dabf4969026ad098"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="inkscape murrine optipng sassc"
MAINTAINER="Marcel Saegebarth"
EMAIL="marc@mos6581.de"
diff --git a/desktop/arc-theme/slack-desc b/desktop/arc-theme/slack-desc
index a4387212a0..5baedd24ef 100644
--- a/desktop/arc-theme/slack-desc
+++ b/desktop/arc-theme/slack-desc
@@ -12,7 +12,7 @@ arc-theme: Arc is a flat theme with transparent elements for GTK 3, GTK 2 and
arc-theme: Gnome-Shell which supports GTK 3 and GTK 2 based desktop
arc-theme: environments like Gnome, Unity, Budgie, Pantheon, XFCE, Mate, etc.
arc-theme:
-arc-theme: Homepage: https://github.com/horst3180/arc-theme/
+arc-theme: Homepage: https://github.com/NicoHood/arc-theme/
arc-theme:
arc-theme:
arc-theme:
diff --git a/desktop/cairo-dock-plugins/README b/desktop/cairo-dock-plugins/README
index d758f4c722..496a240ad9 100644
--- a/desktop/cairo-dock-plugins/README
+++ b/desktop/cairo-dock-plugins/README
@@ -3,4 +3,4 @@ plug-ins for Cairo-Dock It provides some new functionnalities like
controling music players or note-taking, a clock or a desktop
switcher but also some views, dialogs and desklets skins, etc.
-vala, python3 and mono are optional dependencies.
+libetpan, vala, python3 and mono are optional dependencies.
diff --git a/desktop/cairo-dock-plugins/cairo-dock-plugins.SlackBuild b/desktop/cairo-dock-plugins/cairo-dock-plugins.SlackBuild
index 1ef6650ec5..ff20324bc6 100644
--- a/desktop/cairo-dock-plugins/cairo-dock-plugins.SlackBuild
+++ b/desktop/cairo-dock-plugins/cairo-dock-plugins.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cairo-dock-plugins
-VERSION=${VERSION:-3.3.2}
+VERSION=${VERSION:-3.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=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -59,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
+rm -rf cairo-dock-plug-ins-$VERSION
tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+cd cairo-dock-plug-ins-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -69,25 +69,33 @@ 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 {} \;
+# Thanks to fedora and archlinux
+patch -p1 < $CWD/patches/mono.patch
+patch -p1 < $CWD/patches/time_h-confict.patch
+sed -i.wall -e 's|-Wno-all||' Dbus/interfaces/vala/src/CMakeLists.txt
+
+mkdir build
+cd build
cmake \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release .
+ -DCMAKE_BUILD_TYPE=Release ..
make VERBOSE=1
make install DESTDIR=$PKG
+cd ..
# Sheesh. Donchaloveruby?
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/ruby/1.9.1
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/ruby/2.4.0
if [ -d $PKG/usr/usr ]; then
- mv $PKG/usr/usr/lib${LIBDIRSUFFIX}/ruby/1.9.1/CDApplet.rb \
- $PKG/usr/lib${LIBDIRSUFFIX}/ruby/1.9.1
+ mv $PKG/usr/usr/lib${LIBDIRSUFFIX}/ruby/2.4.0/CDApplet.rb \
+ $PKG/usr/lib${LIBDIRSUFFIX}/ruby/2.4.0
rm -rf $PKG/usr/usr
elif [ -e $PKG/usr/CDApplet.rb ]; then
- mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/ruby/1.9.1
- mv $PKG/usr/CDApplet.rb $PKG/usr/lib${LIBDIRSUFFIX}/ruby/1.9.1
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/ruby/2.4.0
+ mv $PKG/usr/CDApplet.rb $PKG/usr/lib${LIBDIRSUFFIX}/ruby/2.4.0
fi
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/desktop/cairo-dock-plugins/cairo-dock-plugins.info b/desktop/cairo-dock-plugins/cairo-dock-plugins.info
index b28117ab5d..3fb0f52e51 100644
--- a/desktop/cairo-dock-plugins/cairo-dock-plugins.info
+++ b/desktop/cairo-dock-plugins/cairo-dock-plugins.info
@@ -1,8 +1,8 @@
PRGNAM="cairo-dock-plugins"
-VERSION="3.3.2"
+VERSION="3.4.1"
HOMEPAGE="http://www.glx-dock.org"
-DOWNLOAD="https://launchpad.net/cairo-dock-plug-ins/3.3/3.3.2/+download/cairo-dock-plugins-3.3.2.tar.gz"
-MD5SUM="3c40afe91cba65da68a70e5e78b76c24"
+DOWNLOAD="https://github.com/Cairo-Dock/cairo-dock-plug-ins/archive/3.4.1/cairo-dock-plugins-3.4.1.tar.gz"
+MD5SUM="434941926f9205fd8562a15b6ac5f243"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="cairo-dock"
diff --git a/desktop/cairo-dock-plugins/patches/mono.patch b/desktop/cairo-dock-plugins/patches/mono.patch
new file mode 100644
index 0000000000..6e6ecfecb6
--- /dev/null
+++ b/desktop/cairo-dock-plugins/patches/mono.patch
@@ -0,0 +1,106 @@
+diff -rupN cairo-dock-plug-ins-3.4.1.orig/CMakeLists.txt cairo-dock-plug-ins-3.4.1/CMakeLists.txt
+--- cairo-dock-plug-ins-3.4.1.orig/CMakeLists.txt 2015-03-12 09:43:57.171067365 +0100
++++ cairo-dock-plug-ins-3.4.1/CMakeLists.txt 2015-03-12 09:46:20.717120675 +0100
+@@ -573,11 +573,11 @@ if (enable-mono-interface)
+ if (NOT GMCS_EXECUTABLE OR NOT EXISTS ${GMCS_EXECUTABLE})
+ message (STATUS "Could not find Mono compiler gmcs, won't build Mono interface.")
+ else()
+- pkg_check_modules (MONO_PACKAGE glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0)
++ pkg_check_modules (MONO_PACKAGE dbus-sharp-2.0 dbus-sharp-glib-2.0 glib-sharp-3.0)
+ if (NOT MONO_PACKAGE_FOUND)
+- message (STATUS "Could not find glib-sharp-2.0, ndesk-dbus-1.0 or ndesk-dbus-glib-1.0; won't be built Mono interface.")
+- message (WARNING "These modules are required to compile DBus applet with Mono interface: glib-sharp-2.0, ndesk-dbus-1.0 and ndesk-dbus-glib-1.0")
+- set (MODULES_MISSING "${MODULES_MISSING} glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0")
++ message (STATUS "Could not find dbus-sharp-2.0, dbus-sharp-glib-2.0 or glib-sharp-3.0; won't be built Mono interface.")
++ message (WARNING "These modules are required to compile DBus applet with Mono interface: dbus-sharp-2.0, dbus-sharp-glib-2.0 and glib-sharp-3.0")
++ set (MODULES_MISSING "${MODULES_MISSING} dbus-sharp-2.0 dbus-sharp-glib-2.0 glib-sharp-3.0")
+ else()
+ set (MONO_FOUND TRUE)
+ set (with_mono yes)
+diff -rupN cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/CDApplet.cs cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/CDApplet.cs
+--- cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/CDApplet.cs 2015-03-12 09:52:56.491934965 +0100
++++ cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/CDApplet.cs 2015-03-12 09:56:50.191652099 +0100
+@@ -21,7 +21,7 @@
+ // Make your own class derive from a CDApplet, and override the functions you need (the ones which don't start with an underscore).
+
+ // Compile it with the following command, then rename 'demo_mono.exe' to 'demo_mono'.
+-// gmcs /target:library CDApplet.cs ISubApplet.cs IApplet.cs -pkg:glib-sharp-2.0 -pkg:ndesk-dbus-1.0 -pkg:ndesk-dbus-glib-1.0
++// gmcs /target:library CDApplet.cs ISubApplet.cs IApplet.cs -pkg:dbus-sharp-2.0 -pkg:dbus-sharp-glib-2.0 -pkg:glib-sharp-3.0
+ //////////////////////////
+ ////// dependancies //////
+ //////////////////////////
+@@ -29,7 +29,7 @@ using System; // Environment
+ using System.IO; // Path, Directory
+ using System.Reflection;
+ using GLib;
+-using NDesk.DBus;
++using DBus;
+ using CairoDock.Applet;
+
+ //namespace CairoDock.Applet
+@@ -258,8 +258,8 @@ public class CDApplet
+
+ private void _connect_to_dock ()
+ {
+- NDesk.DBus.BusG.Init();
+- NDesk.DBus.Bus bus = NDesk.DBus.Bus.Session;
++ DBus.BusG.Init();
++ DBus.Bus bus = DBus.Bus.Session;
+ this.icon = bus.GetObject<IApplet> ("org.cairodock.CairoDock", new ObjectPath (this.cBusPath));
+ this.icon.on_click += new OnClickEvent (on_click);
+ this.icon.on_middle_click += new OnMiddleClickEvent (on_middle_click);
+diff -rupN cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/CMakeLists.txt cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/CMakeLists.txt
+--- cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/CMakeLists.txt 2015-03-12 09:52:56.491934965 +0100
++++ cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/CMakeLists.txt 2015-03-12 09:54:07.418777441 +0100
+@@ -3,7 +3,7 @@
+
+ execute_process(COMMAND ${GMCS_EXECUTABLE}
+ -target:library
+- -pkg:glib-sharp-2.0 -pkg:ndesk-dbus-1.0 -pkg:ndesk-dbus-glib-1.0
++ -pkg:dbus-sharp-2.0 -pkg:dbus-sharp-glib-2.0 -pkg:glib-sharp-3.0
+ -out:${CMAKE_CURRENT_BINARY_DIR}/CDApplet.dll
+ ${CMAKE_CURRENT_SOURCE_DIR}/CDApplet.cs ${CMAKE_CURRENT_SOURCE_DIR}/ISubApplet.cs ${CMAKE_CURRENT_SOURCE_DIR}/IApplet.cs)
+ ### find how to register to GAC ...
+diff -rupN cairo-dock-plug-ins-3.4.1.orig/Dbus/demos/demo_mono/demo_mono.cs cairo-dock-plug-ins-3.4.1/Dbus/demos/demo_mono/demo_mono.cs
+--- cairo-dock-plug-ins-3.4.1.orig/Dbus/demos/demo_mono/demo_mono.cs 2015-03-12 09:59:41.064312097 +0100
++++ cairo-dock-plug-ins-3.4.1/Dbus/demos/demo_mono/demo_mono.cs 2015-03-12 10:02:39.473424651 +0100
+@@ -138,7 +138,7 @@ public class Applet : CDApplet
+ public override void on_build_menu ()
+ {
+ Console.WriteLine("*** build menu");
+- /// Warning : teh AddMenuItems fails with NDesk-DBus 0.6.0; until this is fixed, use the PopulateMenu method.
++ /// Warning : the AddMenuItems fails with DBus Sharp 0.6.0; until this is fixed, use the PopulateMenu method.
+ /**Dictionary<string, object>[] pItems = new Dictionary<string, object>[] {
+ new Dictionary<string, object>()
+ {
+diff -rupN cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/IApplet.cs cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/IApplet.cs
+--- cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/IApplet.cs 2015-03-12 09:59:41.067645289 +0100
++++ cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/IApplet.cs 2015-03-12 10:00:35.395334804 +0100
+@@ -1,6 +1,6 @@
+ using System;
+ using System.Collections.Generic; // Dictionnary
+-using NDesk.DBus;
++using DBus;
+
+ namespace CairoDock.Applet
+ {
+@@ -27,7 +27,7 @@ namespace CairoDock.Applet
+ Left
+ }
+
+- [NDesk.DBus.Interface("org.cairodock.CairoDock.applet")]
++ [DBus.Interface("org.cairodock.CairoDock.applet")]
+ public interface IApplet
+ {
+ object Get(string cProperty);
+diff -rupN cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/ISubApplet.cs cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/ISubApplet.cs
+--- cairo-dock-plug-ins-3.4.1.orig/Dbus/interfaces/mono/ISubApplet.cs 2015-03-12 09:59:41.067645289 +0100
++++ cairo-dock-plug-ins-3.4.1/Dbus/interfaces/mono/ISubApplet.cs 2015-03-12 10:00:16.522802989 +0100
+@@ -1,6 +1,6 @@
+ using System;
+ using System.Collections.Generic; // Dictionnary
+-using NDesk.DBus;
++using DBus;
+
+ namespace CairoDock.Applet
+ {
diff --git a/desktop/cairo-dock-plugins/patches/time_h-confict.patch b/desktop/cairo-dock-plugins/patches/time_h-confict.patch
new file mode 100644
index 0000000000..0a2ea720d1
--- /dev/null
+++ b/desktop/cairo-dock-plugins/patches/time_h-confict.patch
@@ -0,0 +1,137 @@
+--- cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-config.c.glibc 2016-12-11 16:10:41.656840262 +0900
++++ cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-config.c 2016-12-11 16:23:31.875117800 +0900
+@@ -17,6 +17,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include "applet-time_h-struct.h"
+ #include <string.h>
+
+ #include "applet-struct.h"
+--- cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-init.c.glibc 2016-12-11 16:10:41.657840257 +0900
++++ cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-init.c 2016-12-11 16:22:24.465443591 +0900
+@@ -17,6 +17,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include "applet-time_h-struct.h"
+ #include "stdlib.h"
+
+ #include "applet-struct.h"
+--- cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-notifications.c.glibc 2015-02-20 01:13:47.000000000 +0900
++++ cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-notifications.c 2016-12-11 16:24:08.991938415 +0900
+@@ -17,6 +17,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include "applet-time_h-struct.h"
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -66,4 +67,4 @@
+
+
+ return GLDI_NOTIFICATION_LET_PASS;
+-}
+\ ファイル末尾ã«æ”¹è¡ŒãŒã‚ã‚Šã¾ã›ã‚“
++}
+--- cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-sound.c.glibc 2015-02-20 01:13:47.000000000 +0900
++++ cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-sound.c 2016-12-11 16:23:55.137005376 +0900
+@@ -19,6 +19,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include "applet-time_h-struct.h"
+ #include <stdlib.h>
+ #ifndef __FreeBSD__
+ #include <endian.h>
+--- cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-struct.h.glibc 2016-12-11 16:10:41.657840257 +0900
++++ cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-struct.h 2016-12-11 16:22:59.589273837 +0900
+@@ -21,6 +21,7 @@
+ #ifndef __CD_APPLET_STRUCT__
+ #define __CD_APPLET_STRUCT__
+
++#include "applet-time_h-struct.h"
+ #include <sys/types.h>
+ #include <alsa/asoundlib.h>
+ #define _STRUCT_TIMEVAL
+--- cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-time_h-struct.h.glibc 2016-12-11 16:11:55.464483550 +0900
++++ cairo-dock-plugins-3.4.1/Sound-Effects/src/applet-time_h-struct.h 2016-12-11 16:19:52.003180440 +0900
+@@ -0,0 +1,27 @@
++/**
++* This file is a part of the Cairo-Dock project
++*
++* Copyright : (C) see the 'copyright' file.
++* E-mail : see the 'copyright' file.
++*
++* 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 <http://www.gnu.org/licenses/>.
++*/
++
++#ifndef __CD_APPLET_TIME_H_STRUCT__
++#define __CD_APPLET_TIME_H_STRUCT__
++
++#define _POSIX_C_SOURCE 200809L
++#include <time.h>
++
++#endif
++
+--- cairo-dock-plugins-3.4.1/alsaMixer/src/applet-generic.c.glibc 2015-02-20 01:13:47.000000000 +0900
++++ cairo-dock-plugins-3.4.1/alsaMixer/src/applet-generic.c 2016-12-11 16:20:44.168928323 +0900
+@@ -20,6 +20,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include "applet-time_h-struct.h"
+ #include <stdlib.h>
+
+ #include "applet-struct.h"
+--- cairo-dock-plugins-3.4.1/alsaMixer/src/applet-struct.h.glibc 2015-02-20 01:13:47.000000000 +0900
++++ cairo-dock-plugins-3.4.1/alsaMixer/src/applet-struct.h 2016-12-11 16:19:47.713201174 +0900
+@@ -20,6 +20,7 @@
+ #ifndef __CD_APPLET_STRUCT__
+ #define __CD_APPLET_STRUCT__
+
++#include "applet-time_h-struct.h"
+ #include <sys/types.h>
+ #include <alsa/asoundlib.h>
+ #define _STRUCT_TIMEVAL
+--- cairo-dock-plugins-3.4.1/alsaMixer/src/applet-time_h-struct.h.glibc 2016-12-11 16:11:55.464483550 +0900
++++ cairo-dock-plugins-3.4.1/alsaMixer/src/applet-time_h-struct.h 2016-12-11 16:19:52.003180440 +0900
+@@ -0,0 +1,27 @@
++/**
++* This file is a part of the Cairo-Dock project
++*
++* Copyright : (C) see the 'copyright' file.
++* E-mail : see the 'copyright' file.
++*
++* 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 <http://www.gnu.org/licenses/>.
++*/
++
++#ifndef __CD_APPLET_TIME_H_STRUCT__
++#define __CD_APPLET_TIME_H_STRUCT__
++
++#define _POSIX_C_SOURCE 200809L
++#include <time.h>
++
++#endif
++
diff --git a/desktop/cairo-dock/cairo-dock.SlackBuild b/desktop/cairo-dock/cairo-dock.SlackBuild
index f12d52fb2d..9935833256 100644
--- a/desktop/cairo-dock/cairo-dock.SlackBuild
+++ b/desktop/cairo-dock/cairo-dock.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cairo-dock
-VERSION=${VERSION:-3.3.2}
+VERSION=${VERSION:-3.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=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -59,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
+rm -rf $PRGNAM-core-$VERSION
tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+cd $PRGNAM-core-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -69,16 +69,19 @@ 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 {} \;
+mkdir build
+cd build
cmake \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
- -DCMAKE_BUILD_TYPE=Release .
+ -DCMAKE_BUILD_TYPE=Release ..
make VERBOSE=1
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
diff --git a/desktop/cairo-dock/cairo-dock.info b/desktop/cairo-dock/cairo-dock.info
index d439b98f7a..1c6f1ba104 100644
--- a/desktop/cairo-dock/cairo-dock.info
+++ b/desktop/cairo-dock/cairo-dock.info
@@ -1,8 +1,8 @@
PRGNAM="cairo-dock"
-VERSION="3.3.2"
+VERSION="3.4.1"
HOMEPAGE="http://www.glx-dock.org"
-DOWNLOAD="https://launchpad.net/cairo-dock-core/3.3/3.3.2/+download/cairo-dock-3.3.2.tar.gz"
-MD5SUM="aae077803322049e2488ca7c2980cd0d"
+DOWNLOAD="https://github.com/Cairo-Dock/cairo-dock-core/archive/3.4.1/cairo-dock-3.4.1.tar.gz"
+MD5SUM="63285f2744a76354cea9cc4c012b3c11"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gtkglext"
diff --git a/desktop/ceti-2-theme/README b/desktop/ceti-2-theme/README
deleted file mode 100644
index 81caf7d90f..0000000000
--- a/desktop/ceti-2-theme/README
+++ /dev/null
@@ -1,10 +0,0 @@
-ceti-2-theme (GTK2|GTK3 themes)
-
-ceti-2 is a theme for GTK 3, GTK 2 and Gnome-Shell. It supports GTK 3
-and GTK 2 based desktop environments like Gnome, Unity, Budgie,
-Pantheon, etc.
-
-It is the Official continuation of ceti for Gnome 3.14, 3.16 and 3.18.
-It has been completely revamped and is now based on Vertex.
-
-Optional dependencies: gtk-engines, gtk-engines-unico.
diff --git a/desktop/ceti-2-theme/ceti-2-theme.SlackBuild b/desktop/ceti-2-theme/ceti-2-theme.SlackBuild
deleted file mode 100644
index f5ed3c662c..0000000000
--- a/desktop/ceti-2-theme/ceti-2-theme.SlackBuild
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-#
-# Slackware build script for ceti-2-theme.
-#
-# Copyright 2016 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="ceti-2-theme"
-VERSION=${VERSION:-20150923}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-ARCH=noarch
-
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-CWD=$(pwd)
-
-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 {} \;
-
-./autogen.sh \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-silent-rules \
- --disable-gnome-shell \
- --disable-unity \
- --build=$ARCH-slackware-linux
-
-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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/desktop/ceti-2-theme/ceti-2-theme.info b/desktop/ceti-2-theme/ceti-2-theme.info
deleted file mode 100644
index 28f1dffa11..0000000000
--- a/desktop/ceti-2-theme/ceti-2-theme.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="ceti-2-theme"
-VERSION="20150923"
-HOMEPAGE="https://github.com/horst3180/Ceti-2-theme"
-DOWNLOAD="https://github.com/horst3180/ceti-2-theme/archive/20150923/ceti-2-theme-20150923.tar.gz"
-MD5SUM="5da8e4e6c2260113b12fafc0a682b389"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="murrine"
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
diff --git a/desktop/ceti-2-theme/doinst.sh b/desktop/ceti-2-theme/doinst.sh
deleted file mode 100644
index aea0f894eb..0000000000
--- a/desktop/ceti-2-theme/doinst.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
-fi
-
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
-fi
-
-if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
- if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
- fi
-fi
diff --git a/desktop/ceti-2-theme/slack-desc b/desktop/ceti-2-theme/slack-desc
deleted file mode 100644
index efcdc3ee26..0000000000
--- a/desktop/ceti-2-theme/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------------------------------------------------------|
-ceti-2-theme: ceti-2-theme (GTK2|GTK3 themes)
-ceti-2-theme:
-ceti-2-theme: ceti-2 is a theme for GTK 3, GTK 2 and Gnome-Shell. It supports GTK 3
-ceti-2-theme: and GTK 2 based desktop environments like Gnome, Unity, Budgie,
-ceti-2-theme: Pantheon, etc.
-ceti-2-theme:
-ceti-2-theme: It is the Official continuation of Ceti for Gnome 3.14, 3.16 and 3.18.
-ceti-2-theme: It has been completely revamped and is now based on Vertex.
-ceti-2-theme:
-ceti-2-theme: Home page: https://github.com/horst3180/Ceti-2-theme
-ceti-2-theme:
diff --git a/desktop/compton/compton.SlackBuild b/desktop/compton/compton.SlackBuild
index a72d5cb66e..f9133cac40 100644
--- a/desktop/compton/compton.SlackBuild
+++ b/desktop/compton/compton.SlackBuild
@@ -22,7 +22,7 @@
# not, see <http://www.gnu.org/licenses/>.
PRGNAM="compton"
-VERSION=${VERSION:-316eac0613bf342ff91cc645a6c3c80e6b9083fb}
+VERSION=${VERSION:-7.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -58,9 +58,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-${VERSION}
-tar xvf $CWD/$PRGNAM-${VERSION}.tar.gz || exit 1
-cd ${PRGNAM}-${VERSION}
+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 \
@@ -68,19 +68,25 @@ 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 {} \;
-make || exit 1
-make install DESTDIR=$PKG
+sed -i "s|'no-unknown-warning-option',\ ||" meson.build
+cp $CWD/meson.build $CWD/test.h subprojects/test.h/
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+meson build . -D build_docs=true -D b_ndebug=true --prefix=/usr
+DESTDIR=$PKG ninja -C build install
+
+mv $PKG/usr/share/man $PKG/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
-mv $PKG/usr/share/man $PKG/usr/man
-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
+install -D -m 0644 $PRGNAM.desktop $PKG/usr/share/applications/$PRGNAM.desktop
+install -D -m 0644 $PRGNAM.sample.conf $PKG/etc/$PRGNAM.conf
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -ar \
- desc.txt dbus-examples compton.sample.conf LICENSE \
+ desc.txt dbus-examples compton.sample.conf COPYING LICENSES \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/desktop/compton/compton.info b/desktop/compton/compton.info
index dd49ce713e..334932e1ce 100644
--- a/desktop/compton/compton.info
+++ b/desktop/compton/compton.info
@@ -1,10 +1,10 @@
PRGNAM="compton"
-VERSION="316eac0613bf342ff91cc645a6c3c80e6b9083fb"
-HOMEPAGE="https://github.com/chjj/compton"
-DOWNLOAD="https://github.com/chjj/compton/archive/316eac0/compton-316eac0613bf342ff91cc645a6c3c80e6b9083fb.tar.gz"
-MD5SUM="eb3fddcd691af8239b3ab56bf89e038c"
+VERSION="7.2"
+HOMEPAGE="https://github.com/yshui/compton/"
+DOWNLOAD="https://github.com/yshui/compton/archive/v7.2/compton-7.2.tar.gz"
+MD5SUM="91e9aa659dfaa17ccd5653a2c0c5707f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libconfig"
+REQUIRES="libconfig libev libxdg-basedir setconf uthash"
MAINTAINER="melikamp"
EMAIL="melikamp@melikamp.net"
diff --git a/desktop/compton/meson.build b/desktop/compton/meson.build
new file mode 100644
index 0000000000..042e5d5dd2
--- /dev/null
+++ b/desktop/compton/meson.build
@@ -0,0 +1,2 @@
+project('test.h', 'c')
+test_h_dep = declare_dependency(include_directories: include_directories('.'))
diff --git a/desktop/compton/test.h b/desktop/compton/test.h
new file mode 100644
index 0000000000..46ceda4ee5
--- /dev/null
+++ b/desktop/compton/test.h
@@ -0,0 +1,158 @@
+// SPDX-License-Identifier: MIT
+#pragma once
+
+#ifdef UNIT_TEST
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+struct test_file_metadata;
+
+struct test_failure {
+ bool present;
+ const char *message;
+ const char *file;
+ int line;
+};
+
+struct test_case_metadata {
+ void (*fn)(struct test_case_metadata *, struct test_file_metadata *);
+ struct test_failure failure;
+ const char *name;
+ struct test_case_metadata *next;
+};
+
+struct test_file_metadata {
+ bool registered;
+ const char *name;
+ struct test_file_metadata *next;
+ struct test_case_metadata *tests;
+};
+
+struct test_file_metadata __attribute__((weak)) * test_file_head;
+
+#define SET_FAILURE(_message) \
+ metadata->failure = (struct test_failure) { \
+ .message = _message, .file = __FILE__, .line = __LINE__, \
+ .present = true, \
+ }
+
+#define TEST_EQUAL(a, b) \
+ do { \
+ if ((a) != (b)) { \
+ SET_FAILURE(#a " != " #b); \
+ return; \
+ } \
+ } while (0)
+
+#define TEST_TRUE(a) \
+ do { \
+ if (!(a)) { \
+ SET_FAILURE(#a " is not true"); \
+ return; \
+ } \
+ } while (0)
+
+#define TEST_STREQUAL(a, b) \
+ do { \
+ if (strcmp(a, b) != 0) { \
+ SET_FAILURE(#a " != " #b); \
+ return; \
+ } \
+ } while (0)
+
+#define TEST_CASE(_name) \
+ static void __test_h_##_name(struct test_case_metadata *, \
+ struct test_file_metadata *); \
+ static struct test_file_metadata __test_h_file; \
+ static struct test_case_metadata __test_h_meta_##_name = { \
+ .name = #_name, \
+ .fn = __test_h_##_name, \
+ }; \
+ static void __attribute__((constructor(101))) \
+ __test_h_##_name##_register(void) { \
+ __test_h_meta_##_name.next = __test_h_file.tests; \
+ __test_h_file.tests = &__test_h_meta_##_name; \
+ if (!__test_h_file.registered) { \
+ __test_h_file.name = __FILE__; \
+ __test_h_file.next = test_file_head; \
+ test_file_head = &__test_h_file; \
+ __test_h_file.registered = true; \
+ } \
+ } \
+ static void __test_h_##_name( \
+ struct test_case_metadata *metadata __attribute__((unused)), \
+ struct test_file_metadata *file_metadata __attribute__((unused)))
+
+extern void __attribute__((weak)) (*test_h_unittest_setup)(void);
+/// Run defined tests, return true if all tests succeeds
+/// @param[out] tests_run if not NULL, set to whether tests were run
+static inline void __attribute__((constructor(102))) run_tests(void) {
+ bool should_run = false;
+ FILE *cmdlinef = fopen("/proc/self/cmdline", "r");
+ char *arg = NULL;
+ int arglen;
+ fscanf(cmdlinef, "%ms%n", &arg, &arglen);
+ fclose(cmdlinef);
+ for (char *pos = arg; pos < arg + arglen; pos += strlen(pos) + 1) {
+ if (strcmp(pos, "--unittest") == 0) {
+ should_run = true;
+ break;
+ }
+ }
+ free(arg);
+
+ if (!should_run) {
+ return;
+ }
+
+ if (&test_h_unittest_setup) {
+ test_h_unittest_setup();
+ }
+
+ struct test_file_metadata *i = test_file_head;
+ int failed = 0, success = 0;
+ while (i) {
+ fprintf(stderr, "Running tests from %s:\n", i->name);
+ struct test_case_metadata *j = i->tests;
+ while (j) {
+ fprintf(stderr, "\t%s ... ", j->name);
+ j->failure.present = false;
+ j->fn(j, i);
+ if (j->failure.present) {
+ fprintf(stderr, "failed (%s at %s:%d)\n",
+ j->failure.message, j->failure.file,
+ j->failure.line);
+ failed++;
+ } else {
+ fprintf(stderr, "passed\n");
+ success++;
+ }
+ j = j->next;
+ }
+ fprintf(stderr, "\n");
+ i = i->next;
+ }
+ int total = failed + success;
+ fprintf(stderr, "Test results: passed %d/%d, failed %d/%d\n", success, total,
+ failed, total);
+ exit(failed == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
+}
+
+#else
+
+#include <stdbool.h>
+
+#define TEST_CASE(name) static void __attribute__((unused)) __test_h_##name(void)
+
+#define TEST_EQUAL(a, b) \
+ (void)(a); \
+ (void)(b)
+#define TEST_TRUE(a) (void)(a)
+#define TEST_STREQUAL(a, b) \
+ (void)(a); \
+ (void)(b)
+
+#endif
diff --git a/desktop/devilspie/devilspie.SlackBuild b/desktop/devilspie/devilspie.SlackBuild
index 471bd18014..5334d2b91d 100644
--- a/desktop/devilspie/devilspie.SlackBuild
+++ b/desktop/devilspie/devilspie.SlackBuild
@@ -55,7 +55,7 @@ sed -i -e '/-DG.*_DISABLE_DEPRECATED/d' src/Makefile.am
autoreconf -i
LDFLAGS="-lX11" \
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=format-y2k" \
CPPFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/desktop/dwm/dwm.SlackBuild b/desktop/dwm/dwm.SlackBuild
index 06a0579171..0587f25376 100644
--- a/desktop/dwm/dwm.SlackBuild
+++ b/desktop/dwm/dwm.SlackBuild
@@ -111,9 +111,6 @@ find -L . \
# patch -p0 < $CWD/patches/$i
#done
-# Reverse commit to continue support for fontconfig 2.11.1
-patch -R -p1 <$CWD/sbo-patches/0001-Prepare-6.2-release.patch
-
## Fix options for our compilers,
## thanks to Brenton Earl.
sed -i \
diff --git a/desktop/dwm/sbo-patches/0001-Prepare-6.2-release.patch b/desktop/dwm/sbo-patches/0001-Prepare-6.2-release.patch
deleted file mode 100644
index 22da3facea..0000000000
--- a/desktop/dwm/sbo-patches/0001-Prepare-6.2-release.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/drw.c b/drw.c
-index c638323..8fd1ca4 100644
---- a/drw.c
-+++ b/drw.c
-@@ -132,6 +132,19 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern)
- die("no font specified.");
- }
-
-+ /* Do not allow using color fonts. This is a workaround for a BadLength
-+ * error from Xft with color glyphs. Modelled on the Xterm workaround. See
-+ * https://bugzilla.redhat.com/show_bug.cgi?id=1498269
-+ * https://lists.suckless.org/dev/1701/30932.html
-+ * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
-+ * and lots more all over the internet.
-+ */
-+ FcBool iscol;
-+ if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
-+ XftFontClose(drw->dpy, xfont);
-+ return NULL;
-+ }
-+
- font = ecalloc(1, sizeof(Fnt));
- font->xfont = xfont;
- font->pattern = pattern;
-@@ -200,7 +213,7 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount)
- Clr *ret;
-
- /* need at least two colors for a scheme */
-- if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(Clr))))
-+ if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor))))
- return NULL;
-
- for (i = 0; i < clrcount; i++)
-@@ -337,6 +350,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp
- fcpattern = FcPatternDuplicate(drw->fonts->pattern);
- FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset);
- FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
-+ FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);
-
- FcConfigSubstitute(NULL, fcpattern, FcMatchPattern);
- FcDefaultSubstitute(fcpattern);
-
---------------false--
-
-
diff --git a/desktop/lumina/lumina.SlackBuild b/desktop/lumina/lumina.SlackBuild
index 73a9f16d48..6754e909df 100644
--- a/desktop/lumina/lumina.SlackBuild
+++ b/desktop/lumina/lumina.SlackBuild
@@ -81,6 +81,7 @@ qmake-qt5 \
QMAKE_CFLAGS_ISYSTEM= \
QMAKE_CFLAGS="$SLKCFLAGS" \
QMAKE_CXXFLAGS="$SLKCFLAGS" \
+ QMAKE_CFLAGS_ISYSTEM= \
QT5LIBDIR=/usr/lib${LIBDIRSUFFIX}/qt5 \
CONFIG+=WITH_I18N \
L_ETCDIR=/etc
diff --git a/desktop/polybar/00165e1a6d5dd61bc153e1352b21ec07fc81245d.patch b/desktop/polybar/00165e1a6d5dd61bc153e1352b21ec07fc81245d.patch
new file mode 100644
index 0000000000..81783617b9
--- /dev/null
+++ b/desktop/polybar/00165e1a6d5dd61bc153e1352b21ec07fc81245d.patch
@@ -0,0 +1,44 @@
+From 00165e1a6d5dd61bc153e1352b21ec07fc81245d Mon Sep 17 00:00:00 2001
+From: patrick96 <p.ziegler96@gmail.com>
+Date: Sun, 11 Feb 2018 21:27:52 +0100
+Subject: [PATCH] fix(generators): Add support for eventstruct
+
+Newer xcb-proto commits after the 1.12 release require the 'eventstruct'
+key in the output dictionary, otherwise the generator crashes.
+
+I don't see a need for xpp to actually support the eventstruct key and
+thus it uses a NOP lambda function
+---
+ generators/cpp_client.py | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/generators/cpp_client.py b/generators/cpp_client.py
+index 20d116f..709e8d8 100644
+--- a/generators/cpp_client.py
++++ b/generators/cpp_client.py
+@@ -3130,15 +3130,16 @@ def cpp_type_classes():
+ # }
+
+ # Must create an "output" dictionary before any xcbgen imports.
+-output = {'open' : c_open,
+- 'close' : c_close,
+- 'simple' : c_simple, # lambda x, y: None,
+- 'enum' : lambda x, y: None,
+- 'struct' : lambda x, y: None,
+- 'union' : lambda x, y: None,
+- 'request' : c_request,
+- 'event' : cpp_event,
+- 'error' : cpp_error,
++output = {'open' : c_open,
++ 'close' : c_close,
++ 'simple' : c_simple, # lambda x, y: None,
++ 'enum' : lambda x, y: None,
++ 'struct' : lambda x, y: None,
++ 'union' : lambda x, y: None,
++ 'request' : c_request,
++ 'event' : cpp_event,
++ 'error' : cpp_error,
++ 'eventstruct' : lambda x, y: None,
+ }
+
+ # Boilerplate below this point
diff --git a/desktop/polybar/polybar.SlackBuild b/desktop/polybar/polybar.SlackBuild
index b86a3cabea..9856cb3da0 100644
--- a/desktop/polybar/polybar.SlackBuild
+++ b/desktop/polybar/polybar.SlackBuild
@@ -75,6 +75,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 {} \;
+( cd lib/xpp
+ patch -p1 < $CWD/00165e1a6d5dd61bc153e1352b21ec07fc81245d.patch )
+
# Fixes install location
sed -i -e '/share\/doc\/polybar/s/share\///' doc/CMakeLists.txt
sed -i -e "/DESTINATION doc\/polybar/s/polybar/$PRGNAM-$VERSION/" doc/CMakeLists.txt
@@ -87,7 +90,7 @@ mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=implicit-fallthrough -Wno-error=stringop-truncation -Wno-error=deprecated-copy" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release ..
make -j1
diff --git a/desktop/rss-guard/01_min_qt_required_is_5.9.patch b/desktop/rss-guard/01_min_qt_required_is_5.9.patch
new file mode 100644
index 0000000000..e54b533774
--- /dev/null
+++ b/desktop/rss-guard/01_min_qt_required_is_5.9.patch
@@ -0,0 +1,56 @@
+diff --git a/rssguard.pro b/rssguard.pro
+index 21a897c7..f8eb8d28 100755
+--- a/rssguard.pro
++++ b/rssguard.pro
+@@ -41,8 +41,8 @@ TARGET = rssguard
+
+ message(rssguard: Welcome RSS Guard qmake script.)
+
+-lessThan(QT_MAJOR_VERSION, 5)|lessThan(QT_MINOR_VERSION, 7) {
+- warning(rssguard: At least Qt \"5.7.0\" is required!!!)
++lessThan(QT_MAJOR_VERSION, 5)|lessThan(QT_MINOR_VERSION, 9) {
++ warning(rssguard: At least Qt \"5.9.0\" is required!!!)
+ }
+
+ APP_NAME = "RSS Guard"
+diff --git a/src/miscellaneous/textfactory.cpp b/src/miscellaneous/textfactory.cpp
+index 53451d63..f371d02d 100755
+--- a/src/miscellaneous/textfactory.cpp
++++ b/src/miscellaneous/textfactory.cpp
+@@ -10,10 +10,11 @@
+
+ #include <QDir>
+ #include <QLocale>
+-#include <QRandomGenerator>
+ #include <QString>
+ #include <QStringList>
+
++#include <random>
++
+ quint64 TextFactory::s_encryptionKey = 0x0;
+
+ TextFactory::TextFactory() = default;
+@@ -128,7 +129,10 @@ quint64 TextFactory::initializeSecretEncryptionKey() {
+ QString encryption_file_path = qApp->settings()->pathName() + QDir::separator() + ENCRYPTION_FILE_NAME;
+
+ try {
+- s_encryptionKey = quint64(QString(IOFactory::readFile(encryption_file_path)).toLongLong());
++ s_encryptionKey = quint64(QString(IOFactory::readFile(encryption_file_path)).toULongLong());
++
++ auto aa = s_encryptionKey;
++ auto bb = false;
+ }
+ catch (ApplicationException&) {
+ // Well, key does not exist or is invalid, generate and save one.
+@@ -148,5 +152,10 @@ quint64 TextFactory::initializeSecretEncryptionKey() {
+ }
+
+ quint64 TextFactory::generateSecretEncryptionKey() {
+- return QRandomGenerator().generate64();
++ std::random_device rd;
++ std::mt19937 mt(rd());
++ std::uniform_int<quint64> dist(std::numeric_limits<quint64>().min() + 1000000UL,
++ std::numeric_limits<quint64>().max());
++
++ return dist(mt);
+ }
diff --git a/desktop/rss-guard/02_fix_random_class_name.patch b/desktop/rss-guard/02_fix_random_class_name.patch
new file mode 100644
index 0000000000..06c49f7aba
--- /dev/null
+++ b/desktop/rss-guard/02_fix_random_class_name.patch
@@ -0,0 +1,24 @@
+From d347ba63072ab13c0dbc1792d1a2b837af997a46 Mon Sep 17 00:00:00 2001
+From: Martin Rotter <rotter@praktik.cz>
+Date: Thu, 6 Jun 2019 11:35:25 +0200
+Subject: [PATCH] Fix random class name
+
+---
+ src/miscellaneous/textfactory.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/miscellaneous/textfactory.cpp b/src/miscellaneous/textfactory.cpp
+index 48597235..1ac6f049 100755
+--- a/src/miscellaneous/textfactory.cpp
++++ b/src/miscellaneous/textfactory.cpp
+@@ -151,8 +151,8 @@ quint64 TextFactory::initializeSecretEncryptionKey() {
+ quint64 TextFactory::generateSecretEncryptionKey() {
+ std::random_device rd;
+ std::mt19937 mt(rd());
+- std::uniform_int<quint64> dist(std::numeric_limits<quint64>().min() + 1000000UL,
+- std::numeric_limits<quint64>().max());
++ std::uniform_int_distribution<quint64> dist(std::numeric_limits<quint64>().min() + 1000000UL,
++ std::numeric_limits<quint64>().max());
+
+ return dist(mt);
+ }
diff --git a/desktop/rss-guard/rss-guard.SlackBuild b/desktop/rss-guard/rss-guard.SlackBuild
index 470d4565c4..6dee54d811 100644
--- a/desktop/rss-guard/rss-guard.SlackBuild
+++ b/desktop/rss-guard/rss-guard.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for rss-guard
#
-# Copyright 2012-2016 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2012-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=rss-guard
SRCNAM=rssguard
-VERSION=${VERSION:-3.3.5}
+VERSION=${VERSION:-3.5.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,18 +70,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 {} \;
+patch -p1 < $CWD/01_min_qt_required_is_5.9.patch
+patch -p1 < $CWD/02_fix_random_class_name.patch
+
mkdir -p build
cd build
qmake-qt5 PREFIX=/usr ..
make
- make release-install INSTALL_ROOT=$PKG
+ make install INSTALL_ROOT=$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 $PKG/usr/share/$SRCNAM/information/* $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/desktop/rss-guard/rss-guard.info b/desktop/rss-guard/rss-guard.info
index 4589139345..24591de685 100644
--- a/desktop/rss-guard/rss-guard.info
+++ b/desktop/rss-guard/rss-guard.info
@@ -1,8 +1,8 @@
PRGNAM="rss-guard"
-VERSION="3.3.5"
+VERSION="3.5.9"
HOMEPAGE="https://github.com/martinrotter/rssguard"
-DOWNLOAD="https://github.com/martinrotter/rssguard/archive/3.3.5.tar.gz"
-MD5SUM="9ac44a786afe7b9c5a94e1a81120ada8"
+DOWNLOAD="https://github.com/martinrotter/rssguard/archive/3.5.9/rssguard-3.5.9.tar.gz"
+MD5SUM="fb9b713a18a2bb85e7a4f7ce40a054b0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="qt5"
diff --git a/desktop/seafile-gui/README b/desktop/seafile-client/README
index 94ced6564e..94ced6564e 100644
--- a/desktop/seafile-gui/README
+++ b/desktop/seafile-client/README
diff --git a/desktop/seafile-gui/doinst.sh b/desktop/seafile-client/doinst.sh
index 65c7e2eeb9..65c7e2eeb9 100644
--- a/desktop/seafile-gui/doinst.sh
+++ b/desktop/seafile-client/doinst.sh
diff --git a/desktop/seafile-gui/seafile-gui.SlackBuild b/desktop/seafile-client/seafile-client.SlackBuild
index 9b7e62a867..a50bcb3248 100644
--- a/desktop/seafile-gui/seafile-gui.SlackBuild
+++ b/desktop/seafile-client/seafile-client.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Slackware build script for "seafile-client".
+# Slackware build script for seafile-client.
# Copyright 2015 Marcel Saegebarth <marc@mos6581.de>
# All rights reserved.
@@ -24,15 +24,14 @@
# (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=seafile-gui
-SRCNAM=seafile-client
-VERSION=${VERSION:-4.4.2}
+PRGNAM=seafile-client
+VERSION=${VERSION:-6.2.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
@@ -43,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"
@@ -62,9 +61,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/v$VERSION.tar.gz || tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
-cd $SRCNAM-$VERSION
+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 \
diff --git a/desktop/seafile-client/seafile-client.info b/desktop/seafile-client/seafile-client.info
new file mode 100644
index 0000000000..92933b6c01
--- /dev/null
+++ b/desktop/seafile-client/seafile-client.info
@@ -0,0 +1,10 @@
+PRGNAM="seafile-client"
+VERSION="6.2.5"
+HOMEPAGE="http://seafile.com/"
+DOWNLOAD="https://github.com/haiwen/seafile-client/archive/v6.2.5/seafile-client-6.2.5.tar.gz"
+MD5SUM="3f3cd465109e1d49888fbca310033a3b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="qt5 seafile"
+MAINTAINER="Marcel Saegebarth"
+EMAIL="marc@mos6581.de"
diff --git a/network/seafile-client/slack-desc b/desktop/seafile-client/slack-desc
index e41d278faa..2f39a14e33 100644
--- a/network/seafile-client/slack-desc
+++ b/desktop/seafile-client/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-seafile-client: seafile-client (Cloud Storage System)
+seafile-client: seafile-client (Seafile Desktop Client)
seafile-client:
-seafile-client: Seafile is a next-generation open source cloud storage system with
-seafile-client: advanced support for file syncing, privacy protection and teamwork.
+seafile-client: Graphical desktop client for the Seafile next-generation open
+seafile-client: source cloud storage system with advanced support for file syncing,
+seafile-client: privacy protection and teamwork.
seafile-client:
seafile-client: Homepage: http://seafile.com/
seafile-client:
seafile-client:
seafile-client:
seafile-client:
-seafile-client:
diff --git a/desktop/seafile-gui/seafile-gui.info b/desktop/seafile-gui/seafile-gui.info
deleted file mode 100644
index a878209924..0000000000
--- a/desktop/seafile-gui/seafile-gui.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="seafile-gui"
-VERSION="4.4.2"
-HOMEPAGE="http://seafile.com/"
-DOWNLOAD="https://github.com/haiwen/seafile-client/archive/v4.4.2.tar.gz"
-MD5SUM="8749f059e9209df31e662c9325c735e5"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="seafile-client"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/desktop/searchmonkey/patch.txt b/desktop/searchmonkey/patch.txt
new file mode 100644
index 0000000000..08d9959efd
--- /dev/null
+++ b/desktop/searchmonkey/patch.txt
@@ -0,0 +1,11 @@
+--- ./mainwindow.cpp 2010-05-16 11:42:14.000000000 -0400
++++ ./mainwindow.cpp.new 2016-09-06 21:07:18.462298114 -0400
+@@ -781,7 +781,7 @@
+ ******************************************************************************/
+ void MainWindow::find () throw() {
+
+- auto autoSettingsReset asr(sui); // dtor calls sui->reset()
++
+
+ bool modeAdvanced = ui->actionAdvanced->isChecked();
+ qDebug() << "modeAdvanced-" << modeAdvanced;
diff --git a/desktop/searchmonkey/searchmonkey.SlackBuild b/desktop/searchmonkey/searchmonkey.SlackBuild
index b1c2ef0824..f807c46128 100644
--- a/desktop/searchmonkey/searchmonkey.SlackBuild
+++ b/desktop/searchmonkey/searchmonkey.SlackBuild
@@ -69,6 +69,7 @@ find -L . \
-exec chmod 644 {} \;
patch -p1 --verbose <$CWD/searchmonkey-2.0.0-gcc4.7.patch
+patch -p1 --verbose <$CWD/patch.txt
qmake \
QMAKE_CFLAGS="$SLKCFLAGS" \
diff --git a/desktop/suru-plus-icon-theme/README b/desktop/suru-plus-icon-theme/README
new file mode 100644
index 0000000000..bc31a6a5bb
--- /dev/null
+++ b/desktop/suru-plus-icon-theme/README
@@ -0,0 +1,3 @@
+Suru++ is a cyberpunkish, elegant, futuristic, macOS-like,
+Papirus-like and modern Suru icons based on Suru Icons
+by Sam Hewitt.
diff --git a/desktop/thunar-dropbox/doinst.sh b/desktop/suru-plus-icon-theme/doinst.sh
index 19400050fd..4110f5514d 100644
--- a/desktop/thunar-dropbox/doinst.sh
+++ b/desktop/suru-plus-icon-theme/doinst.sh
@@ -3,4 +3,3 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
-
diff --git a/desktop/suru-plus-icon-theme/slack-desc b/desktop/suru-plus-icon-theme/slack-desc
new file mode 100644
index 0000000000..97b1322469
--- /dev/null
+++ b/desktop/suru-plus-icon-theme/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------------------------------------------------------|
+suru-plus-icon-theme: suru-plus-icon-theme (Extensive SVG icons set)
+suru-plus-icon-theme:
+suru-plus-icon-theme: Suru++ is a cyberpunkish, elegant, futuristic, macOS-like,
+suru-plus-icon-theme: Papirus-like and modern Suru icons based on Suru Icons
+suru-plus-icon-theme: by Sam Hewitt.
+suru-plus-icon-theme:
+suru-plus-icon-theme: homepage: https://github.com/gusbemacbe/suru-plus
+suru-plus-icon-theme:
+suru-plus-icon-theme:
+suru-plus-icon-theme:
+suru-plus-icon-theme:
diff --git a/python/pip/pip.SlackBuild b/desktop/suru-plus-icon-theme/suru-plus-icon-theme.SlackBuild
index 0f28914773..665e22dc69 100644
--- a/python/pip/pip.SlackBuild
+++ b/desktop/suru-plus-icon-theme/suru-plus-icon-theme.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for pip
+# Slackware build script for suru-plus-icon-theme
-# Copyright 2012-2018 Audrius Kažukauskas <audrius@neutrino.lt>
+# Copyright 2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,18 +22,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=pip
-VERSION=${VERSION:-9.0.3}
+PRGNAM=suru-plus-icon-theme
+SRCNAM=suru-plus
+VERSION=${VERSION:-30.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
+ARCH=noarch
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
@@ -42,30 +37,27 @@ OUTPUT=${OUTPUT:-/tmp}
set -e
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
+rm -rf $PKG $SRCNAM-$VERSION
+mkdir -p $PKG/usr/share/icons $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$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 \
+ -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 {} \;
-python setup.py install --root=$PKG
-
-# Add bash completion file.
-install -D -m 644 $CWD/pip.sh $PKG/usr/share/bash-completion/completions/pip
+cp -a eSuru++ Suru++ Suru++-Light $PKG/usr/share/icons/
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING CREDITS LICENSE *.md tools $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
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/desktop/suru-plus-icon-theme/suru-plus-icon-theme.info b/desktop/suru-plus-icon-theme/suru-plus-icon-theme.info
new file mode 100644
index 0000000000..045be3da36
--- /dev/null
+++ b/desktop/suru-plus-icon-theme/suru-plus-icon-theme.info
@@ -0,0 +1,10 @@
+PRGNAM="suru-plus-icon-theme"
+VERSION="30.0"
+HOMEPAGE="https://github.com/gusbemacbe/suru-plus"
+DOWNLOAD="https://github.com/gusbemacbe/suru-plus/archive/v30.0/suru-plus-30.0.tar.gz"
+MD5SUM="aba1a105215425e843b60b8edae38241"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/desktop/thunar-archive-plugin/thunar-archive-plugin.SlackBuild b/desktop/thunar-archive-plugin/thunar-archive-plugin.SlackBuild
index fd27c5b191..4b3135bcda 100644
--- a/desktop/thunar-archive-plugin/thunar-archive-plugin.SlackBuild
+++ b/desktop/thunar-archive-plugin/thunar-archive-plugin.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=thunar-archive-plugin
-VERSION=${VERSION:-0.3.1}
+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
@@ -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/desktop/thunar-archive-plugin/thunar-archive-plugin.info b/desktop/thunar-archive-plugin/thunar-archive-plugin.info
index 7181974b68..88e6670e73 100644
--- a/desktop/thunar-archive-plugin/thunar-archive-plugin.info
+++ b/desktop/thunar-archive-plugin/thunar-archive-plugin.info
@@ -1,8 +1,8 @@
PRGNAM="thunar-archive-plugin"
-VERSION="0.3.1"
+VERSION="0.4.0"
HOMEPAGE="https://goodies.xfce.org/projects/thunar-plugins/thunar-archive-plugin"
-DOWNLOAD="https://archive.xfce.org/src/thunar-plugins/thunar-archive-plugin/0.3/thunar-archive-plugin-0.3.1.tar.bz2"
-MD5SUM="425f4faaace6dc7a4716a35b7795463a"
+DOWNLOAD="http://archive.xfce.org/src/thunar-plugins/thunar-archive-plugin/0.4/thunar-archive-plugin-0.4.0.tar.bz2"
+MD5SUM="0a7738a3a5f84bf218ece3ffb5241c63"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="xarchiver"
diff --git a/desktop/thunar-dropbox/README b/desktop/thunar-dropbox/README
deleted file mode 100644
index 23795731f9..0000000000
--- a/desktop/thunar-dropbox/README
+++ /dev/null
@@ -1 +0,0 @@
-Thunar-dropbox is a Thunar plugin that adds context-menu items from dropbox.
diff --git a/desktop/thunar-dropbox/slack-desc b/desktop/thunar-dropbox/slack-desc
deleted file mode 100644
index 2f60412719..0000000000
--- a/desktop/thunar-dropbox/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------------------------------------------------------|
-thunar-dropbox: thunar-dropbox (dropbox plugin for thunar)
-thunar-dropbox:
-thunar-dropbox: Thunar Dropbox is a plugin for thunar that adds context-menu
-thunar-dropbox: items from dropbox.
-thunar-dropbox:
-thunar-dropbox: http://www.softwarebakery.com/maato/thunar-dropbox.html
-thunar-dropbox:
-thunar-dropbox:
-thunar-dropbox:
-thunar-dropbox:
-thunar-dropbox:
diff --git a/desktop/thunar-dropbox/thunar-dropbox.info b/desktop/thunar-dropbox/thunar-dropbox.info
deleted file mode 100644
index 1d8bd2a7f3..0000000000
--- a/desktop/thunar-dropbox/thunar-dropbox.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="thunar-dropbox"
-VERSION="0.2.1"
-HOMEPAGE="http://www.softwarebakery.com/maato/thunar-dropbox.html"
-DOWNLOAD="http://www.softwarebakery.com/maato/files/thunar-dropbox/thunar-dropbox-0.2.1.tar.bz2"
-MD5SUM="52bb2caa26afaf80835a56b9ad3d2155"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Murat D. Kadirov"
-EMAIL="banderols@gmail.com"
diff --git a/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin-0.2.1.patch b/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin-0.3.0.patch
index 78db9be2b6..2d626e0ddd 100644
--- a/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin-0.2.1.patch
+++ b/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin-0.3.0.patch
@@ -1,7 +1,7 @@
-diff -Nur thunar-media-tags-plugin-0.2.1.orig/configure thunar-media-tags-plugin-0.2.1/configure
---- thunar-media-tags-plugin-0.2.1.orig/configure 2013-05-11 04:57:03.000000000 -0500
-+++ thunar-media-tags-plugin-0.2.1/configure 2013-06-17 01:40:43.467622887 -0500
-@@ -14529,45 +14529,7 @@
+diff -Naur thunar-media-tags-plugin-0.3.0.orig/configure thunar-media-tags-plugin-0.3.0/configure
+--- thunar-media-tags-plugin-0.3.0.orig/configure 2018-02-14 21:50:48.000000000 +0100
++++ thunar-media-tags-plugin-0.3.0/configure 2019-08-29 09:11:23.390608000 +0200
+@@ -15292,45 +15292,8 @@
TAGLIBC_LIBS=""
TAGLIBC_CFLAGS=""
@@ -42,13 +42,13 @@ diff -Nur thunar-media-tags-plugin-0.2.1.orig/configure thunar-media-tags-plugin
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tag_c_taglib_file_new" >&5
-$as_echo "$ac_cv_lib_tag_c_taglib_file_new" >&6; }
-if test "x$ac_cv_lib_tag_c_taglib_file_new" = xyes; then :
--
+
- ac_fn_c_check_header_mongrel "$LINENO" "taglib/tag_c.h" "ac_cv_header_taglib_tag_c_h" "$ac_includes_default"
+ac_fn_c_check_header_mongrel "$LINENO" "taglib/tag_c.h" "ac_cv_header_taglib_tag_c_h" "$ac_includes_default"
if test "x$ac_cv_header_taglib_tag_c_h" = xyes; then :
TAGLIBC_LIBS="-ltag_c"
-@@ -14579,10 +14541,6 @@
+@@ -15342,10 +15305,6 @@
diff --git a/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.SlackBuild b/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.SlackBuild
index d2837715b7..6ca665ed24 100644
--- a/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.SlackBuild
+++ b/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=thunar-media-tags-plugin
-VERSION=${VERSION:-0.2.1}
+VERSION=${VERSION:-0.3.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
@@ -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"
@@ -70,7 +70,7 @@ find -L . \
-exec chmod 644 {} \;
# Fix taglib linking - thanks, Roberto Neri! :)
-patch -p1 < $CWD/thunar-media-tags-plugin-0.2.1.patch
+patch -p1 < $CWD/thunar-media-tags-plugin-0.3.0.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.info b/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.info
index 4c2c75bd65..9c9c226e6d 100644
--- a/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.info
+++ b/desktop/thunar-media-tags-plugin/thunar-media-tags-plugin.info
@@ -1,8 +1,8 @@
PRGNAM="thunar-media-tags-plugin"
-VERSION="0.2.1"
+VERSION="0.3.0"
HOMEPAGE="https://goodies.xfce.org/projects/thunar-plugins/thunar-media-tags-plugin"
-DOWNLOAD="https://archive.xfce.org/src/thunar-plugins/thunar-media-tags-plugin/0.2/thunar-media-tags-plugin-0.2.1.tar.bz2"
-MD5SUM="0106e900714f86ccbafdc72238d3cf8d"
+DOWNLOAD="https://archive.xfce.org/src/thunar-plugins/thunar-media-tags-plugin/0.3/thunar-media-tags-plugin-0.3.0.tar.bz2"
+MD5SUM="5e332113e4b0e548ee7abd87629667f7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/desktop/wbar/wbar.SlackBuild b/desktop/wbar/wbar.SlackBuild
index 09fd3d2bc5..d16ff8a236 100644
--- a/desktop/wbar/wbar.SlackBuild
+++ b/desktop/wbar/wbar.SlackBuild
@@ -74,7 +74,7 @@ find -L . \
sed -i 's|pidof|/sbin/pidof|g' src/config/Run.cc
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-error=literal-suffix" \
./configure \
--prefix=/usr \
--exec-prefix=/usr \
diff --git a/desktop/wmakerconf/README b/desktop/wmakerconf/README
deleted file mode 100644
index 4853bb11a7..0000000000
--- a/desktop/wmakerconf/README
+++ /dev/null
@@ -1,4 +0,0 @@
-WMakerConf (short for Window Maker Configurator) is a configuration
-utility for the Window Maker window manager.
-
-WMakerConf requires WindowMaker to be installed (it's part of Slackware).
diff --git a/desktop/wmakerconf/doinst.sh b/desktop/wmakerconf/doinst.sh
deleted file mode 100644
index 2e82bb7622..0000000000
--- a/desktop/wmakerconf/doinst.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
-fi
diff --git a/desktop/wmakerconf/slack-desc b/desktop/wmakerconf/slack-desc
deleted file mode 100644
index 60fed0e4d6..0000000000
--- a/desktop/wmakerconf/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------------------------------------------------------|
-wmakerconf: wmakerconf (GTK+ based configuration tool for Window Maker)
-wmakerconf:
-wmakerconf: WMakerConf (short for Window Maker Configurator) is a configuration
-wmakerconf: utility for the Window Maker window manager.
-wmakerconf:
-wmakerconf: homepage: http://wmakerconf.sourceforge.net
-wmakerconf:
-wmakerconf:
-wmakerconf:
-wmakerconf:
-wmakerconf:
diff --git a/desktop/wmakerconf/wmakerconf-2.12-wmaker-0.95_support.patch b/desktop/wmakerconf/wmakerconf-2.12-wmaker-0.95_support.patch
deleted file mode 100644
index 5b598c3c15..0000000000
--- a/desktop/wmakerconf/wmakerconf-2.12-wmaker-0.95_support.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff -Naur wmakerconf-2.12.orig/src/menu.c wmakerconf-2.12/src/menu.c
---- wmakerconf-2.12.orig/src/menu.c 2012-02-10 17:34:57.601475631 +0100
-+++ wmakerconf-2.12/src/menu.c 2012-02-10 17:35:03.917287748 +0100
-@@ -500,10 +500,10 @@
- * No return value.
- */
- {
-- if (!WMWritePropListToFile (orig_wmaker, orig_wmaker_fname, YES))
-+ if (!WMWritePropListToFile(orig_wmaker, orig_wmaker_fname))
- warning (_("Can't revert to backupfile of `WindowMaker'. "
- "Please manually revert from file WindowMaker.bak."));
-- if (orig_rootmenu && !WMWritePropListToFile (orig_rootmenu, orig_rootmenu_fname, YES))
-+ if (orig_rootmenu && !WMWritePropListToFile(orig_rootmenu, orig_rootmenu_fname))
- warning (_("Can't revert to backupfile of `WMRootMenu'. "
- "Please manually revert from file WMRootMenu.bak."));
- gtk_main_quit ();
-diff -Naur wmakerconf-2.12.orig/src/rootmenu.c wmakerconf-2.12/src/rootmenu.c
---- wmakerconf-2.12.orig/src/rootmenu.c 2012-02-10 17:34:57.601475631 +0100
-+++ wmakerconf-2.12/src/rootmenu.c 2012-02-10 17:35:03.929287391 +0100
-@@ -365,7 +365,7 @@
- node_freeitem, NULL);
- g_node_destroy (node);
-
-- if (WMWritePropListToFile (menu, filename, YES))
-+ if (WMWritePropListToFile(menu, filename))
- {
- menu_changed = NO;
- message (_("Window Maker root menu file '%s' saved."), filename);
-diff -Naur wmakerconf-2.12.orig/src/themebrowser.c wmakerconf-2.12/src/themebrowser.c
---- wmakerconf-2.12.orig/src/themebrowser.c 2012-02-10 17:34:57.601475631 +0100
-+++ wmakerconf-2.12/src/themebrowser.c 2012-02-10 17:35:56.515722786 +0100
-@@ -2705,7 +2705,7 @@
- oldfiles = g_list_remove (oldfiles, tmp);
- Free (tmp);
- }
-- if (!WMWritePropListToFile (theme, stylename, YES))
-+ if (!WMWritePropListToFile(theme, stylename))
- {
- dialog_popup (DIALOG_ERROR, NULL, NULL,
- _("Can't save theme file\n`%s'\n"
-diff -Naur wmakerconf-2.12.orig/src/window.c wmakerconf-2.12/src/window.c
---- wmakerconf-2.12.orig/src/window.c 2012-02-10 17:34:57.601475631 +0100
-+++ wmakerconf-2.12/src/window.c 2012-02-10 17:35:03.953286677 +0100
-@@ -1069,7 +1069,7 @@
- WMReleasePropList (all_keys);
- }
-
-- if (WMWritePropListToFile (newwm, orig_wmaker_fname, YES))
-+ if (WMWritePropListToFile(newwm, orig_wmaker_fname))
- {
- changed = NO;
- message (_("Window Maker config file '%s' saved."),
-diff -Naur wmakerconf-2.12.orig/src/wmconfig.c wmakerconf-2.12/src/wmconfig.c
---- wmakerconf-2.12.orig/src/wmconfig.c 2012-02-10 17:34:57.601475631 +0100
-+++ wmakerconf-2.12/src/wmconfig.c 2012-02-10 17:35:03.957286559 +0100
-@@ -216,7 +216,7 @@
- /*
- * Generate backup file "'path'.bak"
- */
-- if (WMWritePropListToFile (orig_rootmenu, new, YES))
-+ if (WMWritePropListToFile(orig_rootmenu, new))
- message (_("Backupfile `%s' generated."), new);
- else
- error (_("Can't write backupfile `%s'."), new);
-@@ -280,7 +280,7 @@
- if (!windowmaker)
- {
- windowmaker = global_windowmaker;
-- if (WMWritePropListToFile (windowmaker, orig_wmaker_fname, YES))
-+ if (WMWritePropListToFile(windowmaker, orig_wmaker_fname))
- warning (_("New WindowMaker configuration file `%s' created."),
- orig_wmaker_fname);
- else
-@@ -294,7 +294,7 @@
- /*
- * Generate backup file "'path'.bak"
- */
-- if (WMWritePropListToFile (windowmaker, new, YES))
-+ if (WMWritePropListToFile(windowmaker, new))
- message (_("Backupfile `%s' generated."), new);
- else
- error (_("Can't write backupfile `%s'."), new);
diff --git a/desktop/wmakerconf/wmakerconf.SlackBuild b/desktop/wmakerconf/wmakerconf.SlackBuild
deleted file mode 100644
index a971aba9b7..0000000000
--- a/desktop/wmakerconf/wmakerconf.SlackBuild
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for wmakerconf
-# Written by Cezary M. Kruk (c.kruk@bigfoot.com)
-#
-# Modified by the SlackBuilds.org project.
-
-PRGNAM=wmakerconf
-VERSION=${VERSION:-2.12}
-BUILD=${BUILD:-3}
-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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-# Fix for building over windowmaer >= 0.95.2
-# http://sourceforge.net/tracker/?func=detail&aid=3522083&group_id=196469&atid=957581
-patch -p1 < $CWD/wmakerconf-2.12-wmaker-0.95_support.patch
-
-# Fix linking to X11 libs
-sed -e "/^LIBS =/s/$/ -lX11/" -i src/Makefile.in
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --with-wmakeretcprefix=/etc/X11 \
- --localstatedir=/var \
- --mandir=/usr/man \
- --disable-debug \
- --build=$ARCH-slackware-linux
-
-make
-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
-
-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 \
- AUTHORS COPYING ChangeLog INSTALL MANUAL NEWS NLS-TEAM1 README 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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/desktop/wmakerconf/wmakerconf.info b/desktop/wmakerconf/wmakerconf.info
deleted file mode 100644
index 4052e2da2e..0000000000
--- a/desktop/wmakerconf/wmakerconf.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="wmakerconf"
-VERSION="2.12"
-HOMEPAGE="http://wmakerconf.sourceforge.net"
-DOWNLOAD="http://downloads.sourceforge.net/wmakerconf/wmakerconf_2.12.tar.gz"
-MD5SUM="252114b5ee5fc5bec99477497ee045cc"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Cezary M. Kruk"
-EMAIL="c.kruk@bigfoot.com"
diff --git a/desktop/workrave/README b/desktop/workrave/README
new file mode 100644
index 0000000000..446e900f7e
--- /dev/null
+++ b/desktop/workrave/README
@@ -0,0 +1,4 @@
+Workrave is a program that assists in the recovery and prevention of
+Repetitive Strain Injury (RSI).
+The program frequently alerts you to take micro-pauses, rest breaks
+and restricts you to your daily limit.
diff --git a/desktop/workrave/doinst.sh b/desktop/workrave/doinst.sh
new file mode 100644
index 0000000000..b34040d04c
--- /dev/null
+++ b/desktop/workrave/doinst.sh
@@ -0,0 +1,19 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+# If other icon themes are installed, then add to/modify this as needed
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
+
+# If needed -- be sure to sed @LIBDIR@ inside the build script
+chroot . /usr/bin/gio-querymodules @LIBDIR@/gio/modules/ 1> /dev/null 2> /dev/null
diff --git a/audio/opusfile/slack-desc b/desktop/workrave/slack-desc
index e77532d058..a6374fc7cf 100644
--- a/audio/opusfile/slack-desc
+++ b/desktop/workrave/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-opusfile: opusfile (opus decoding API)
-opusfile:
-opusfile: opusfile provides application developers with a high-level API for
-opusfile: decoding and seeking in .opus files.
-opusfile:
-opusfile: homepage: http://www.opus-codec.org
-opusfile:
-opusfile:
-opusfile:
-opusfile:
-opusfile:
+workrave: workrave (work breaks alerts)
+workrave:
+workrave: Workrave is a program that assists in the recovery and prevention of
+workrave: Repetitive Strain Injury (RSI).
+workrave: The program frequently alerts you to take micro-pauses, rest breaks
+workrave: and restricts you to your daily limit.
+workrave:
+workrave: homepage: http://workrave.org
+workrave:
+workrave:
+workrave:
diff --git a/development/SDL2_gfx/SDL2_gfx.SlackBuild b/desktop/workrave/workrave.SlackBuild
index cdf7a8fb56..ec4764038a 100644
--- a/development/SDL2_gfx/SDL2_gfx.SlackBuild
+++ b/desktop/workrave/workrave.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for SDL2_gfx
+# Slackware build script for workrave
-# Copyright 2014-2018 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=SDL2_gfx
-VERSION=${VERSION:-1.0.4}
+PRGNAM=workrave
+VERSION=${VERSION:-1.10.34}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -69,7 +69,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 {} \;
-./autogen.sh
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -79,7 +78,6 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --disable-static \
--build=$ARCH-slackware-linux
make
@@ -89,11 +87,12 @@ 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 AUTHORS COPYING ChangeLog NEWS README $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
+sed "s|@LIBDIR@|/usr/lib$LIBDIRSUFFIX|" $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/desktop/workrave/workrave.info b/desktop/workrave/workrave.info
new file mode 100644
index 0000000000..23ba6ded00
--- /dev/null
+++ b/desktop/workrave/workrave.info
@@ -0,0 +1,10 @@
+PRGNAM="workrave"
+VERSION="1.10.34"
+HOMEPAGE="http://workrave.org"
+DOWNLOAD="https://github.com/rcaelers/workrave/releases/download/v1_10_34/workrave-1.10.34.tar.gz"
+MD5SUM="25914f54ea1e6395da7b88be2f189093"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/desktop/yad/yad.SlackBuild b/desktop/yad/yad.SlackBuild
index 0b08f08e7a..d96ebb91ee 100644
--- a/desktop/yad/yad.SlackBuild
+++ b/desktop/yad/yad.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for yad
# Copyright 2010-2014 Charles <SlackBuilds@catcons.co.uk>
-# Copyright 2015-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2015-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=yad
-VERSION=${VERSION:-0.40.0}
+VERSION=${VERSION:-4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -55,8 +55,8 @@ else
LIBDIRSUFFIX=""
fi
-GTK=${GTK:-2}
-if pkg-config --exists webkit-1.0 ; then HTML="--enable-html" ; else HTML="" ; fi
+if pkg-config --exists webkit2gtk-4.0 ; then HTML="--enable-html" ; else HTML="" ; fi
+if pkg-config --exists gtksourceview-3.0 ; then SOURCEVIEW="--enable-sourceview" ; else SOURCEVIEW="" ; fi
set -e
@@ -73,6 +73,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 {} \;
+autoreconf -vif
+intltoolize
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -84,8 +87,11 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--with-rgb=/usr/share/X11/rgb.txt \
--enable-icon-browser \
- --with-gtk=gtk$GTK \
+ --enable-pfd \
+ --enable-tray \
+ --enable-spell \
$HTML \
+ $SOURCEVIEW \
--build=$ARCH-slackware-linux
make
@@ -95,7 +101,7 @@ 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 AUTHORS NEWS README* $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING NEWS README* THANKS TODO $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/desktop/yad/yad.info b/desktop/yad/yad.info
index a5a5b9d17e..2498c778cb 100644
--- a/desktop/yad/yad.info
+++ b/desktop/yad/yad.info
@@ -1,8 +1,8 @@
PRGNAM="yad"
-VERSION="0.40.0"
-HOMEPAGE="https://sourceforge.net/projects/yad-dialog/"
-DOWNLOAD="https://downloads.sf.net/yad-dialog/yad-0.40.0.tar.xz"
-MD5SUM="82d458a2e1695dd0709f71ad26109812"
+VERSION="4.1"
+HOMEPAGE="https://github.com/v1cont/yad/"
+DOWNLOAD="https://github.com/v1cont/yad/archive/4.1/yad-4.1.tar.gz"
+MD5SUM="8b16119570fb03e3804bb6b33108eb9c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/ChezScheme/ChezScheme.SlackBuild b/development/ChezScheme/ChezScheme.SlackBuild
index 604a2dfd75..a30137c407 100644
--- a/development/ChezScheme/ChezScheme.SlackBuild
+++ b/development/ChezScheme/ChezScheme.SlackBuild
@@ -86,6 +86,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
./configure \
+ CFLAGS="-Wno-error=implicit-fallthrough=" \
$WSIZE \
$THREADS \
--installprefix=/usr \
diff --git a/development/Coin/Coin.SlackBuild b/development/Coin/Coin.SlackBuild
index 96953fa909..eb99408893 100644
--- a/development/Coin/Coin.SlackBuild
+++ b/development/Coin/Coin.SlackBuild
@@ -61,6 +61,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Thanks Fedora
+patch -p1 < $CWD/memhandler-initialization.patch
+
# Thanks Debian
patch -p1 < $CWD/coin-include_and_js.patch
diff --git a/development/Coin/memhandler-initialization.patch b/development/Coin/memhandler-initialization.patch
new file mode 100644
index 0000000000..4c346487ed
--- /dev/null
+++ b/development/Coin/memhandler-initialization.patch
@@ -0,0 +1,20 @@
+--- Coin-3.1.3/src/misc/SbHash.h.init 2010-03-02 22:20:09.000000000 +0900
++++ Coin-3.1.3/src/misc/SbHash.h 2016-04-22 16:52:39.888883757 +0900
+@@ -89,6 +89,8 @@
+ cc_memalloc_deallocate(entry->memhandler, ptr);
+ }
+ SbHashEntry(const Key & key, const Type & obj) : key(key), obj(obj) {}
++ SbHashEntry(const Key & key, const Type & obj, cc_memalloc *memhandler)
++ : key(key), obj(obj), memhandler(memhandler) {}
+
+ Key key;
+ Type obj;
+@@ -218,7 +220,7 @@
+ /* Key not already in the hash table; insert a new
+ * entry as the first element in the bucket
+ */
+- entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj);
++ entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj, this->memhandler);
+ entry->next = this->buckets[i];
+ this->buckets[i] = entry;
+
diff --git a/development/FreeBASIC/FreeBASIC.SlackBuild b/development/FreeBASIC/FreeBASIC.SlackBuild
index b851e000e0..97ffce4878 100644
--- a/development/FreeBASIC/FreeBASIC.SlackBuild
+++ b/development/FreeBASIC/FreeBASIC.SlackBuild
@@ -89,13 +89,10 @@ if [ "$ARCH" = "x86_64" ]; then
$PKG/usr/lib/${PRGNAM,,}
fi
-# fix linking with libtinfo over libncurses
+# fix linking libtinfo over the newer version - WARNING, UGLY SHIT! -ponce
ln -sf \
- /usr/lib${LIBDIRSUFFIX}/libncurses.so.5 \
+ /usr/lib${LIBDIRSUFFIX}/libtinfo.so.6 \
$PKG/usr/lib${LIBDIRSUFFIX}/libtinfo.so.5
-ln -sf \
- /usr/lib${LIBDIRSUFFIX}/libtinfo.so.5 \
- $PKG/usr/lib${LIBDIRSUFFIX}/libtinfo.so
# gzip man page
gzip -c doc/fbc.1 > $PKG/usr/man/man1/fbc.1.gz
diff --git a/development/MySQL-python/MySQL-python.SlackBuild b/development/MySQL-python/MySQL-python.SlackBuild
index c367b99dc9..cc212f17be 100644
--- a/development/MySQL-python/MySQL-python.SlackBuild
+++ b/development/MySQL-python/MySQL-python.SlackBuild
@@ -57,7 +57,7 @@ patch -p1 < $CWD/patches/no_distribute_download.patch
# Include my_config.h first
patch -p1 < $CWD/patches/MySQL-python-1.2.4-include-my_config-first.patch
-python setup.py install --root=$PKG
+CPPFLAGS="-I/usr/include/mysql/server" python 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/development/SDL2_gfx/README b/development/SDL2_gfx/README
deleted file mode 100644
index 6be21f40d1..0000000000
--- a/development/SDL2_gfx/README
+++ /dev/null
@@ -1,3 +0,0 @@
-SDL graphics drawing primitives and other support functions
-wrapped up in an addon library for the Simple Direct Media
-(SDL) cross-platform API layer.
diff --git a/development/SDL2_gfx/SDL2_gfx.info b/development/SDL2_gfx/SDL2_gfx.info
deleted file mode 100644
index 2f64868bd2..0000000000
--- a/development/SDL2_gfx/SDL2_gfx.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="SDL2_gfx"
-VERSION="1.0.4"
-HOMEPAGE="http://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/"
-DOWNLOAD="http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-1.0.4.tar.gz"
-MD5SUM="15f9866c6464ca298f28f62fe5b36d9f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="SDL2"
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/development/SDL2_gfx/slack-desc b/development/SDL2_gfx/slack-desc
deleted file mode 100644
index 72864f2da7..0000000000
--- a/development/SDL2_gfx/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_gfx: SDL2_gfx (addon library for the SDL2)
-SDL2_gfx:
-SDL2_gfx: SDL graphics drawing primitives and other support functions
-SDL2_gfx: wrapped up in an addon library for the Simple Direct Media (SDL)
-SDL2_gfx: cross-platform API layer.
-SDL2_gfx:
-SDL2_gfx: Homepage:
-SDL2_gfx: http://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/
-SDL2_gfx:
-SDL2_gfx:
-SDL2_gfx:
diff --git a/development/acpica/acpica.SlackBuild b/development/acpica/acpica.SlackBuild
index f3ffc6d06f..6e097577c4 100644
--- a/development/acpica/acpica.SlackBuild
+++ b/development/acpica/acpica.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for acpica
-# Copyright 2008-2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2008-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# 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=acpica
-VERSION=${VERSION:-20170531}
+VERSION=${VERSION:-20180105}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -74,7 +74,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
cd generate/unix
- CFLAGS="$SLKCFLAGS" \
+ CFLAGS="$SLKCFLAGS -Wno-error=format-overflow -Wno-error=stringop-truncation" \
CXXFLAGS="$SLKCFLAGS" \
make BITS=$BITS
diff --git a/development/acpica/acpica.info b/development/acpica/acpica.info
index dea5cd5d50..3ac0a61986 100644
--- a/development/acpica/acpica.info
+++ b/development/acpica/acpica.info
@@ -1,8 +1,8 @@
PRGNAM="acpica"
-VERSION="20170531"
+VERSION="20180105"
HOMEPAGE="http://www.acpica.org"
-DOWNLOAD="https://acpica.org/sites/acpica/files/acpica-unix2-20170531.tar.gz"
-MD5SUM="46c4c93435ad1d8c4eb5bacde17503b8"
+DOWNLOAD="https://acpica.org/sites/acpica/files/acpica-unix2-20180105.tar.gz"
+MD5SUM="5aa086f71f4b5273c0932a1e04419a37"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/android-tools/README b/development/android-tools/README
index e7d793fe84..f8f0f70641 100644
--- a/development/android-tools/README
+++ b/development/android-tools/README
@@ -1,2 +1,2 @@
-These are the adb, fastboot, mkbootimg and make_ext4fs tools from the
-android sdk.
+These are the adb, fastboot, mkbootimg, mke2fs.android, e2fsdroid
+and ext2simg tools from the android sdk.
diff --git a/development/android-tools/android-tools.SlackBuild b/development/android-tools/android-tools.SlackBuild
index 8e141f5fbd..d967c127d6 100644
--- a/development/android-tools/android-tools.SlackBuild
+++ b/development/android-tools/android-tools.SlackBuild
@@ -25,13 +25,13 @@
PRGNAM=android-tools
-VERSION=${VERSION:-8.0.0_r24}
-SRC1=core-6cd85e2a89347e0a107f59e38ece61fa19e6da78.tar.gz
-SRC2=extras-af2dce5151ad478673401211dd71ae1579d2b5be.tar.gz
-SRC3=selinux-be29c2550c3ff6551a56048c075a88da01b46cab.tar.gz
-SRC4=f2fs-tools-b8baf1712d991541141bb0bdddd625f527e6d41f.tar.gz
-SRC5=boringssl-58e449904e248f34bdfc2be7a609c58bcb0257b7.tar.gz
-
+VERSION=${VERSION:-9.0.0_r18}
+SRC1=core-c9602275fc7dae822d22ba36c933d29f4556d6aa.tar.gz
+SRC2=e2fsprogs-fecf0a211618bbed183ebf58d5bf489105bed72c.tar.gz
+SRC3=extras-9d680761912ab259ffd35b05c880b9e49d800bc8.tar.gz
+SRC4=f2fs-tools-d2d127499ebdfaa681df4c13a303a7d0445f1e80.tar.gz
+SRC5=selinux-0d8f825909d3e600facbf23be4758877f98c2602.tar.gz
+SRC6=boringssl-45210dd4e21ace9d28cb76b3f83303fcdd2efcce.tar.gz
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -73,19 +73,25 @@ cd $TMP/android-tools
mkdir core
tar -xvf $CWD/$SRC1 -C core
+mkdir e2fsprogs
+tar -xvf $CWD/$SRC2 -C e2fsprogs
mkdir extras
-tar -xvf $CWD/$SRC2 -C extras
-mkdir selinux
-tar -xvf $CWD/$SRC3 -C selinux
+tar -xvf $CWD/$SRC3 -C extras
mkdir f2fs-tools
tar -xvf $CWD/$SRC4 -C f2fs-tools
+mkdir selinux
+tar -xvf $CWD/$SRC5 -C selinux
mkdir boringssl
-tar -xvf $CWD/$SRC5 -C boringssl
+tar -xvf $CWD/$SRC6 -C boringssl
+## android.googlesource.com stuff takes android-$VERSION as a tag
#git clone --branch android-$VERSION --depth 1 https://android.googlesource.com/platform/system/core
#git clone --branch android-$VERSION --depth 1 https://android.googlesource.com/platform/system/extras
-#git clone --branch android-$VERSION --depth 1 https://android.googlesource.com/platform/external/libselinux
+#git clone --branch android-$VERSION --depth 1 https://android.googlesource.com/platform/external/selinux
+#git clone --branch android-$VERSION --depth 1 https://android.googlesource.com/platform/external/e2fsprogs
#git clone --branch android-$VERSION --depth 1 https://android.googlesource.com/platform/external/f2fs-tools
+## boringssl commit id is from https://android.googlesource.com/platform/external/boringssl/+/$VERSION/BORINGSSL_REVISION
+#git clone https://boringssl.googlesource.com/boringssl
# generate_build.rb borrowed from Arch Linux
# And thanks to Alan Alberghini for the make_ext4fs patch.
@@ -95,6 +101,10 @@ cd core
patch -p1 < $CWD/fix_build_core.patch
cd ..
+cd e2fsprogs
+patch -p1 < $CWD/fix_build_e2fsprogs.patch
+cd ..
+
cd selinux
patch -p1 < $CWD/fix_build_selinux.patch
cd ..
@@ -119,7 +129,11 @@ mkdir -p $PKG/usr/bin
install -Dm 755 adb $PKG/usr/bin/adb
install -Dm 755 fastboot $PKG/usr/bin/fastboot
install -Dm 755 core/mkbootimg/mkbootimg $PKG/usr/bin/mkbootimg
-install -Dm 755 make_ext4fs $PKG/usr/bin/make_ext4fs
+install -Dm 755 mke2fs.android $PKG/usr/bin/mke2fs.android
+install -Dm 755 e2fsdroid $PKG/usr/bin/e2fsdroid
+install -Dm 755 ext2simg $PKG/usr/bin/ext2simg
+
+install -Dm 644 $CWD/bash_completion.fastboot $PKG/usr/share/bash-completion/completions/fastboot
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/development/android-tools/android-tools.info b/development/android-tools/android-tools.info
index ba44d787e2..0be06697ab 100644
--- a/development/android-tools/android-tools.info
+++ b/development/android-tools/android-tools.info
@@ -1,16 +1,18 @@
PRGNAM="android-tools"
-VERSION="8.0.0_r24"
+VERSION="9.0.0_r18"
HOMEPAGE="http://developer.android.com/sdk/"
-DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/android-tools/8.0.0_r24/core-6cd85e2a89347e0a107f59e38ece61fa19e6da78.tar.gz \
- https://sourceforge.net/projects/slackbuildsdirectlinks/files/android-tools/8.0.0_r24/extras-af2dce5151ad478673401211dd71ae1579d2b5be.tar.gz \
- https://sourceforge.net/projects/slackbuildsdirectlinks/files/android-tools/8.0.0_r24/f2fs-tools-b8baf1712d991541141bb0bdddd625f527e6d41f.tar.gz \
- https://sourceforge.net/projects/slackbuildsdirectlinks/files/android-tools/8.0.0_r24/selinux-be29c2550c3ff6551a56048c075a88da01b46cab.tar.gz \
- https://sourceforge.net/projects/slackbuildsdirectlinks/files/android-tools/8.0.0_r24/boringssl-58e449904e248f34bdfc2be7a609c58bcb0257b7.tar.gz"
-MD5SUM="b5b3857b5edae7305f5348e1db148b61 \
- 19bdc27835ed340fdbb4205d6af8e721 \
- 2ebe16bb82a5b24706d78d9e16d66f6e \
- 0599c72a1ff3142ad6baed8886d074a3 \
- 83ed1371eee7769f29b767c217e865e7"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/android-tools/9.0.0_r18/core-c9602275fc7dae822d22ba36c933d29f4556d6aa.tar.gz \
+ http://ponce.cc/slackware/sources/repo/android-tools/9.0.0_r18/e2fsprogs-fecf0a211618bbed183ebf58d5bf489105bed72c.tar.gz \
+ http://ponce.cc/slackware/sources/repo/android-tools/9.0.0_r18/extras-9d680761912ab259ffd35b05c880b9e49d800bc8.tar.gz \
+ http://ponce.cc/slackware/sources/repo/android-tools/9.0.0_r18/f2fs-tools-d2d127499ebdfaa681df4c13a303a7d0445f1e80.tar.gz \
+ http://ponce.cc/slackware/sources/repo/android-tools/9.0.0_r18/selinux-0d8f825909d3e600facbf23be4758877f98c2602.tar.gz \
+ http://ponce.cc/slackware/sources/repo/android-tools/9.0.0_r18/boringssl-45210dd4e21ace9d28cb76b3f83303fcdd2efcce.tar.gz"
+MD5SUM="8bba902ab4b5aace76e2efc34e47fe46 \
+ 8f01009b219d13fce4960a9b5de2e868 \
+ 44894217f0c6b8dcae77292b08e51d40 \
+ 789498e1c7f5dc2851590d8e2fa05028 \
+ b94232d9153df5a020419ac228153837 \
+ a532caf142cb80ca418629e45cfa4b67"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gtest ninja pcre2"
diff --git a/development/android-tools/bash_completion.fastboot b/development/android-tools/bash_completion.fastboot
new file mode 100644
index 0000000000..bc59ee8636
--- /dev/null
+++ b/development/android-tools/bash_completion.fastboot
@@ -0,0 +1,90 @@
+## Bash completion for the Android SDK tools.
+##
+## Copyright (c) 2009 Matt Brubeck
+##
+## Permission is hereby granted, free of charge, to any person obtaining a copy
+## of this software and associated documentation files (the "Software"), to deal
+## in the Software without restriction, including without limitation the rights
+## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+## copies of the Software, and to permit persons to whom the Software is
+## furnished to do so, subject to the following conditions:
+##
+## The above copyright notice and this permission notice shall be included in
+## all copies or substantial portions of the Software.
+##
+## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+## THE SOFTWARE.
+
+
+function _fastboot()
+{
+ local cur prev opts cmds c subcommand device_selected
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ opts="-w -s -p -c -i -b -n"
+ cmds="update flashall flash erase getvar boot devices \
+ reboot reboot-bootloader oem continue"
+ subcommand=""
+ partition_list="boot recovery system userdata bootloader radio"
+ device_selected=""
+
+ # Look for the subcommand.
+ c=1
+ while [ $c -lt $COMP_CWORD ]; do
+ word="${COMP_WORDS[c]}"
+ if [ "$word" = "-s" ]; then
+ device_selected=true
+ fi
+ for cmd in $cmds; do
+ if [ "$cmd" = "$word" ]; then
+ subcommand="$word"
+ fi
+ done
+ c=$((++c))
+ done
+
+ case "${subcommand}" in
+ '')
+ case "${prev}" in
+ -s)
+ # Use 'fastboot devices' to list serial numbers.
+ COMPREPLY=( $(compgen -W "$(fastboot devices|cut -f1)" -- ${cur} ) )
+ return 0
+ ;;
+ esac
+ case "${cur}" in
+ -*)
+ COMPREPLY=( $(compgen -W "$opts" -- ${cur}) )
+ return 0
+ ;;
+ esac
+ if [ -z "$device_selected" ]; then
+ local num_devices=$(( $(fastboot devices 2>/dev/null|wc -l) ))
+ if [ "$num_devices" -gt "1" ]; then
+ # With multiple devices, you must choose a device first.
+ COMPREPLY=( $(compgen -W "-s" -- ${cur}) )
+ return 0
+ fi
+ fi
+ COMPREPLY=( $(compgen -W "${cmds}" -- ${cur}) )
+ return 0
+ ;;
+ flash)
+ # partition name
+ COMPREPLY=( $(compgen -W "${partition_list}" -- ${cur}) )
+ return 0
+ ;;
+ erase)
+ # partition name
+ COMPREPLY=( $(compgen -W "${partition_list}" -- ${cur}) )
+ return 0
+ ;;
+ esac
+}
+complete -o default -F _fastboot fastboot
diff --git a/development/android-tools/fix_build_core.patch b/development/android-tools/fix_build_core.patch
index b67a540199..7b163633de 100644
--- a/development/android-tools/fix_build_core.patch
+++ b/development/android-tools/fix_build_core.patch
@@ -1,16 +1,16 @@
diff --git a/adb/client/usb_libusb.cpp b/adb/client/usb_libusb.cpp
-index 7025f283c..66fad6564 100644
+index 46c3f58ec5..a0c36f0151 100644
--- a/adb/client/usb_libusb.cpp
+++ b/adb/client/usb_libusb.cpp
-@@ -21,6 +21,7 @@
- #include <stdint.h>
+@@ -22,6 +22,7 @@
+ #include <stdlib.h>
#include <atomic>
+#include <condition_variable>
#include <chrono>
+ #include <condition_variable>
#include <memory>
- #include <mutex>
-@@ -28,7 +29,7 @@
+@@ -30,7 +31,7 @@
#include <thread>
#include <unordered_map>
@@ -19,20 +19,32 @@ index 7025f283c..66fad6564 100644
#include <android-base/file.h>
#include <android-base/logging.h>
+diff --git a/adb/client/usb_linux.cpp b/adb/client/usb_linux.cpp
+index 1f376a4c93..f1d6779159 100644
+--- a/adb/client/usb_linux.cpp
++++ b/adb/client/usb_linux.cpp
+@@ -29,6 +29,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
++#include <sys/sysmacros.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <unistd.h>
diff --git a/adb/sysdeps/posix/network.cpp b/adb/sysdeps/posix/network.cpp
-index 45da5af4a..516c716d9 100644
+index ecd1fd24ec..86166c0e2c 100644
--- a/adb/sysdeps/posix/network.cpp
+++ b/adb/sysdeps/posix/network.cpp
-@@ -16,6 +16,7 @@
+@@ -21,6 +21,7 @@
+ #include <sys/socket.h>
- #include "sysdeps/network.h"
+ #include <string>
++#include <string.h>
+
+ #include "adb_unique_fd.h"
-+#include <cstring>
- #include <errno.h>
- #include <netinet/in.h>
- #include <sys/socket.h>
diff --git a/base/errors_unix.cpp b/base/errors_unix.cpp
-index 296995efe..48269b675 100644
+index 296995efe2..48269b6750 100644
--- a/base/errors_unix.cpp
+++ b/base/errors_unix.cpp
@@ -17,6 +17,7 @@
@@ -44,7 +56,7 @@ index 296995efe..48269b675 100644
namespace android {
namespace base {
diff --git a/base/file.cpp b/base/file.cpp
-index 2f697a1cc..81aef5758 100644
+index 2f697a1cc1..81aef5758c 100644
--- a/base/file.cpp
+++ b/base/file.cpp
@@ -22,6 +22,7 @@
@@ -56,7 +68,7 @@ index 2f697a1cc..81aef5758 100644
#include <memory>
#include <mutex>
diff --git a/base/logging.cpp b/base/logging.cpp
-index 6357b4ba7..3c7dbce13 100644
+index a31feefab2..d746cc4d78 100644
--- a/base/logging.cpp
+++ b/base/logging.cpp
@@ -23,6 +23,7 @@
@@ -67,15 +79,40 @@ index 6357b4ba7..3c7dbce13 100644
// For getprogname(3) or program_invocation_short_name.
#if defined(__ANDROID__) || defined(__APPLE__)
+diff --git a/fastboot/fs.cpp b/fastboot/fs.cpp
+index c30ca1e4b3..fdc042ff36 100644
+--- a/fastboot/fs.cpp
++++ b/fastboot/fs.cpp
+@@ -117,7 +117,7 @@ static int generate_ext4_image(const char* fileName, long long partSize,
+ static constexpr int block_size = 4096;
+ const std::string exec_dir = android::base::GetExecutableDirectory();
+
+- const std::string mke2fs_path = exec_dir + "/mke2fs";
++ const std::string mke2fs_path = exec_dir + "/mke2fs.android";
+ std::vector<const char*> mke2fs_args = {mke2fs_path.c_str(), "-t", "ext4", "-b"};
+
+ std::string block_size_str = std::to_string(block_size);
diff --git a/libsparse/sparse_read.cpp b/libsparse/sparse_read.cpp
-index bd668735a..76cf43299 100644
+index 4379635270..ccb565bb63 100644
--- a/libsparse/sparse_read.cpp
+++ b/libsparse/sparse_read.cpp
-@@ -18,6 +18,7 @@
- #define _LARGEFILE64_SOURCE 1
+@@ -26,6 +26,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <string>
++#include <string.h>
+ #include <unistd.h>
- #include <algorithm>
-+#include <cstring>
- #include <inttypes.h>
- #include <fcntl.h>
- #include <stdarg.h>
+ #include <sparse/sparse.h>
+diff --git a/libziparchive/zip_archive.cc b/libziparchive/zip_archive.cc
+index 5e5e7afd18..ebbc819a7a 100644
+--- a/libziparchive/zip_archive.cc
++++ b/libziparchive/zip_archive.cc
+@@ -29,6 +29,7 @@
+ #include <string.h>
+ #include <time.h>
+ #include <unistd.h>
++#include <string_view>
+
+ #include <memory>
+ #include <vector>
diff --git a/development/android-tools/fix_build_e2fsprogs.patch b/development/android-tools/fix_build_e2fsprogs.patch
new file mode 100644
index 0000000000..b9fdb5eafe
--- /dev/null
+++ b/development/android-tools/fix_build_e2fsprogs.patch
@@ -0,0 +1,83 @@
+diff --git a/contrib/android/perms.c b/contrib/android/perms.c
+index d83ad35a..dca5b620 100644
+--- a/contrib/android/perms.c
++++ b/contrib/android/perms.c
+@@ -5,6 +5,7 @@
+ #include "support/nls-enable.h"
+ #include <time.h>
+ #include <sys/stat.h>
++#include "private/android_filesystem_capability.h"
+
+ #ifndef XATTR_SELINUX_SUFFIX
+ # define XATTR_SELINUX_SUFFIX "selinux"
+diff --git a/lib/ext2fs/bitops.h b/lib/ext2fs/bitops.h
+index 505b3c9c..7be5105f 100644
+--- a/lib/ext2fs/bitops.h
++++ b/lib/ext2fs/bitops.h
+@@ -233,11 +233,11 @@ extern errcode_t ext2fs_find_first_set_generic_bmap(ext2fs_generic_bitmap bitmap
+ #if (__STDC_VERSION__ >= 199901L)
+ #define _INLINE_ extern inline
+ #else
+-#define _INLINE_ inline
++#define _INLINE_ static inline
+ #endif
+ #else /* !INCLUDE_INLINE FUNCS */
+ #if (__STDC_VERSION__ >= 199901L)
+-#define _INLINE_ inline
++#define _INLINE_ static inline
+ #else /* not C99 */
+ #ifdef __GNUC__
+ #define _INLINE_ extern __inline__
+diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
+index 470e7d7a..95a41e0d 100644
+--- a/lib/ext2fs/ext2fs.h
++++ b/lib/ext2fs/ext2fs.h
+@@ -1743,7 +1743,7 @@ extern const struct ext2_inode *ext2fs_const_inode(const struct ext2_inode_large
+ #define _INLINE_ extern
+ #else
+ #if (__STDC_VERSION__ >= 199901L)
+-#define _INLINE_ inline
++#define _INLINE_ static inline
+ #else
+ #ifdef __GNUC__
+ #define _INLINE_ extern __inline__
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index 1373b46b..e6f34bd9 100644
+--- a/misc/create_inode.c
++++ b/misc/create_inode.c
+@@ -403,7 +403,7 @@ static ssize_t my_pread(int fd, void *buf, size_t count, off_t offset)
+ }
+ #endif /* !defined HAVE_PREAD64 && !defined HAVE_PREAD */
+
+-static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
++static errcode_t e2_copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
+ off_t start, off_t end, char *buf,
+ char *zerobuf)
+ {
+@@ -477,7 +477,7 @@ static errcode_t try_lseek_copy(ext2_filsys fs, int fd, struct stat *statbuf,
+
+ data_blk = data & ~(fs->blocksize - 1);
+ hole_blk = (hole + (fs->blocksize - 1)) & ~(fs->blocksize - 1);
+- err = copy_file_range(fs, fd, e2_file, data_blk, hole_blk, buf,
++ err = e2_copy_file_range(fs, fd, e2_file, data_blk, hole_blk, buf,
+ zerobuf);
+ if (err)
+ return err;
+@@ -527,7 +527,7 @@ static errcode_t try_fiemap_copy(ext2_filsys fs, int fd, ext2_file_t e2_file,
+ }
+ for (i = 0, ext = ext_buf; i < fiemap_buf->fm_mapped_extents;
+ i++, ext++) {
+- err = copy_file_range(fs, fd, e2_file, ext->fe_logical,
++ err = e2_copy_file_range(fs, fd, e2_file, ext->fe_logical,
+ ext->fe_logical + ext->fe_length,
+ buf, zerobuf);
+ if (err)
+@@ -580,7 +580,7 @@ static errcode_t copy_file(ext2_filsys fs, int fd, struct stat *statbuf,
+ goto out;
+ #endif
+
+- err = copy_file_range(fs, fd, e2_file, 0, statbuf->st_size, buf,
++ err = e2_copy_file_range(fs, fd, e2_file, 0, statbuf->st_size, buf,
+ zerobuf);
+ out:
+ ext2fs_free_mem(&zerobuf);
diff --git a/development/android-tools/generate_build.rb b/development/android-tools/generate_build.rb
index cb3e1e685c..91f42fec0b 100644
--- a/development/android-tools/generate_build.rb
+++ b/development/android-tools/generate_build.rb
@@ -5,7 +5,7 @@
# This script tries to mimic Android build rules.
def expand(dir, files)
- files.map{|f| File.join(dir,f)}
+ files.map { |f| File.join(dir, f) }
end
# Compiles sources to *.o files.
@@ -16,17 +16,17 @@ def compile(sources, cflags)
ext = File.extname(s)
case ext
- when '.c'
- cc = 'cc'
- lang_flags = '-std=gnu11 $CFLAGS $CPPFLAGS'
- when '.cpp', '.cc'
- cc = 'cxx'
- lang_flags = '-std=gnu++14 $CXXFLAGS $CPPFLAGS'
+ when ".c"
+ cc = "cc"
+ lang_flags = "-std=gnu11 $CFLAGS $CPPFLAGS"
+ when ".cpp", ".cc"
+ cc = "cxx"
+ lang_flags = "-std=gnu++17 $CXXFLAGS $CPPFLAGS"
else
- raise "Unknown extension #{ext}"
+ raise "Unknown extension #{ext}"
end
- output = s + '.o'
+ output = s + ".o"
outputs << output
puts "build #{output}: #{cc} #{s}\n cflags = #{lang_flags} #{cflags}"
end
@@ -38,24 +38,23 @@ end
# lib - static library path relative to dir
def subninja(dir, lib)
puts "subninja #{dir}build.ninja"
- return lib.each{|l| dir + l}
+ return lib.each { |l| dir + l }
end
# Links object files
def link(output, objects, ldflags)
- puts "build #{output}: link #{objects.join(' ')}\n ldflags = #{ldflags} $LDFLAGS"
+ puts "build #{output}: link #{objects.join(" ")}\n ldflags = #{ldflags} $LDFLAGS"
end
puts "# This set of commands generated by generate_build.rb script\n\n"
-puts "CC = #{ENV['CC'] || 'clang'}"
-puts "CXX = #{ENV['CXX'] || 'clang++'}\n\n"
-puts "CFLAGS = #{ENV['CFLAGS']}"
-puts "CXXFLAGS = #{ENV['CXXFLAGS']}"
-puts "LDFLAGS = #{ENV['LDFLAGS']}"
-puts "PKGVER = #{ENV['PKGVER']}\n\n"
-
-
-puts """
+puts "CC = #{ENV["CC"] || "clang"}"
+puts "CXX = #{ENV["CXX"] || "clang++"}\n\n"
+puts "CFLAGS = #{ENV["CFLAGS"]}"
+puts "CXXFLAGS = #{ENV["CXXFLAGS"]}"
+puts "LDFLAGS = #{ENV["LDFLAGS"]}"
+puts "PKGVER = #{ENV["PKGVER"]}\n\n"
+
+puts "" "
rule cc
command = $CC $cflags -c $in -o $out
@@ -66,7 +65,7 @@ rule link
command = $CXX $ldflags $LDFLAGS $in -o $out
-"""
+" ""
adbdfiles = %w(
adb.cpp
@@ -85,7 +84,7 @@ adbdfiles = %w(
adb_auth_host.cpp
shell_service_protocol.cpp
)
-libadbd = compile(expand('core/adb', adbdfiles), '-DADB_VERSION="\"$PKGVER\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include')
+libadbd = compile(expand("core/adb", adbdfiles), '-DADB_VERSION="\"$PKGVER\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include')
adbfiles = %w(
console.cpp
@@ -96,13 +95,13 @@ adbfiles = %w(
file_sync_client.cpp
sysdeps_unix.cpp
sysdeps/errno.cpp
- sysdeps/posix/network.cpp
client/main.cpp
client/usb_dispatch.cpp
client/usb_linux.cpp
client/usb_libusb.cpp
+ sysdeps/posix/network.cpp
)
-libadb = compile(expand('core/adb', adbfiles), '-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb')
+libadb = compile(expand("core/adb", adbfiles), "-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb")
basefiles = %w(
file.cpp
@@ -113,7 +112,7 @@ basefiles = %w(
errors_unix.cpp
test_utils.cpp
)
-libbase = compile(expand('core/base', basefiles), '-DADB_HOST=1 -Icore/base/include -Icore/include')
+libbase = compile(expand("core/base", basefiles), "-DADB_HOST=1 -Icore/base/include -Icore/include")
logfiles = %w(
log_event_write.c
@@ -129,39 +128,38 @@ logfiles = %w(
stderr_write.c
logprint.c
)
-liblog = compile(expand('core/liblog', logfiles), '-DLIBLOG_LOG_TAG=1006 -D_XOPEN_SOURCE=700 -DFAKE_LOG_DEVICE=1 -Icore/log/include -Icore/include')
+liblog = compile(expand("core/liblog", logfiles), "-DLIBLOG_LOG_TAG=1006 -D_XOPEN_SOURCE=700 -DFAKE_LOG_DEVICE=1 -Icore/log/include -Icore/include")
cutilsfiles = %w(
- load_file.c
- canned_fs_config.c
- fs_config.cpp
- socket_local_client_unix.c
- socket_network_client_unix.c
- socket_local_server_unix.c
+ load_file.cpp
+ socket_local_client_unix.cpp
+ socket_network_client_unix.cpp
+ socket_local_server_unix.cpp
sockets_unix.cpp
- socket_inaddr_any_server_unix.c
+ socket_inaddr_any_server_unix.cpp
sockets.cpp
android_get_control_file.cpp
- threads.c
+ threads.cpp
+ fs_config.cpp
+ canned_fs_config.cpp
)
-libcutils = compile(expand('core/libcutils', cutilsfiles), '-D_GNU_SOURCE -Icore/include -Icore/libcutils/include')
+libcutils = compile(expand("core/libcutils", cutilsfiles), "-D_GNU_SOURCE -Icore/libcutils/include -Icore/include")
diagnoseusbfiles = %w(
diagnose_usb.cpp
)
-libdiagnoseusb = compile(expand('core/adb', diagnoseusbfiles), '-Icore/include -Icore/base/include')
+libdiagnoseusb = compile(expand("core/adb", diagnoseusbfiles), "-Icore/include -Icore/base/include")
libcryptofiles = %w(
android_pubkey.c
)
-libcrypto = compile(expand('core/libcrypto_utils', libcryptofiles), '-Icore/libcrypto_utils/include -Iboringssl/include')
+libcrypto = compile(expand("core/libcrypto_utils", libcryptofiles), "-Icore/libcrypto_utils/include -Iboringssl/include")
# TODO: make subninja working
#boringssl = subninja('boringssl/build/', ['crypto/libcrypto.a'])
-boringssl = ['boringssl/build/crypto/libcrypto.a']
-
-link('adb', libbase + liblog + libcutils + libadbd + libadb + libdiagnoseusb + libcrypto + boringssl, '-lpthread -lusb-1.0')
+boringssl = ["boringssl/build/crypto/libcrypto.a"]
+link("adb", libbase + liblog + libcutils + libadbd + libadb + libdiagnoseusb + libcrypto + boringssl, "-lpthread -lusb-1.0")
fastbootfiles = %w(
protocol.cpp
@@ -175,7 +173,7 @@ fastbootfiles = %w(
tcp.cpp
udp.cpp
)
-libfastboot = compile(expand('core/fastboot', fastbootfiles), '-DFASTBOOT_VERSION="\"$PKGVER\"" -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -DUSE_F2FS -Icore/base/include -Icore/include -Icore/adb -Icore/libsparse/include -Icore/mkbootimg -Iextras/ext4_utils/include -Iextras/f2fs_utils')
+libfastboot = compile(expand("core/fastboot", fastbootfiles), '-DFASTBOOT_VERSION="\"$PKGVER\"" -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -DUSE_F2FS -Icore/base/include -Icore/include -Icore/adb -Icore/libsparse/include -Icore/mkbootimg -Iextras/ext4_utils/include -Iextras/f2fs_utils -Icore/libziparchive/include -Icore/mkbootimg/include/bootimg')
sparsefiles = %w(
backed_block.c
@@ -185,44 +183,28 @@ sparsefiles = %w(
sparse_err.c
sparse_read.cpp
)
-libsparse = compile(expand('core/libsparse', sparsefiles), '-Icore/libsparse/include -Icore/base/include')
+libsparse = compile(expand("core/libsparse", sparsefiles), "-Icore/libsparse/include -Icore/base/include")
f2fsfiles = %w(
- f2fs_utils.c
- f2fs_ioutils.c
- f2fs_dlutils.c
)
-f2fs = compile(expand('extras/f2fs_utils', f2fsfiles), '-Iextras/f2fs_utils -If2fs-tools/include -If2fs-tools/mkfs -Icore/libsparse/include -Iselinux/libselinux/include')
+f2fs = compile(expand("extras/f2fs_utils", f2fsfiles), "-DHAVE_LINUX_TYPES_H -If2fs-tools/include -Icore/liblog/include")
zipfiles = %w(
zip_archive.cc
)
-libzip = compile(expand('core/libziparchive', zipfiles), '-Icore/base/include -Icore/include')
+libzip = compile(expand("core/libziparchive", zipfiles), "-Icore/base/include -Icore/include -Icore/libziparchive/include")
utilfiles = %w(
FileMap.cpp
)
-libutil = compile(expand('core/libutils', utilfiles), '-Icore/include')
+libutil = compile(expand("core/libutils", utilfiles), "-Icore/include")
ext4files = %w(
- make_ext4fs.c
- ext4fixup.c
ext4_utils.c
- allocate.c
- contents.c
- extent.c
- indirect.c
- sha1.c
wipe.c
- crc16.c
ext4_sb.c
)
-libext4 = compile(expand('extras/ext4_utils', ext4files), '-D_GNU_SOURCE -Icore/libsparse/include -Icore/include -Iselinux/libselinux/include -Iextras/ext4_utils/include -DANDROID -DHOST=1')
-
-make_ext4files = %w(
- make_ext4fs_main.c
-)
-libmake_ext4 = compile(expand('extras/ext4_utils', make_ext4files), '-DANDROID -Icore/libsparse/include -Icore/include -Iselinux/libselinux/include -Iextras/ext4_utils/include -DHOST=1')
+libext4 = compile(expand("extras/ext4_utils", ext4files), "-D_GNU_SOURCE -Icore/libsparse/include -Icore/include -Iselinux/libselinux/include -Iextras/ext4_utils/include")
selinuxfiles = %w(
callbacks.c
@@ -250,7 +232,7 @@ selinuxfiles = %w(
getenforce.c
setenforce.c
)
-libselinux = compile(expand('selinux/libselinux/src', selinuxfiles), '-DAUDITD_LOG_TAG=1003 -D_GNU_SOURCE -DHOST -DUSE_PCRE2 -DNO_PERSISTENTLY_STORED_PATTERNS -DDISABLE_SETRANS -DDISABLE_BOOL -DNO_MEDIA_BACKEND -DNO_X_BACKEND -DNO_DB_BACKEND -DPCRE2_CODE_UNIT_WIDTH=8 -Iselinux/libselinux/include -Iselinux/libsepol/include')
+libselinux = compile(expand("selinux/libselinux/src", selinuxfiles), "-DAUDITD_LOG_TAG=1003 -D_GNU_SOURCE -DHOST -DUSE_PCRE2 -DNO_PERSISTENTLY_STORED_PATTERNS -DDISABLE_SETRANS -DDISABLE_BOOL -DNO_MEDIA_BACKEND -DNO_X_BACKEND -DNO_DB_BACKEND -DPCRE2_CODE_UNIT_WIDTH=8 -Iselinux/libselinux/include -Iselinux/libsepol/include")
libsepolfiles = %w(
policydb_public.c
@@ -277,7 +259,140 @@ libsepolfiles = %w(
expand.c
hierarchy.c
)
-libsepol = compile(expand('selinux/libsepol/src', libsepolfiles), '-Iselinux/libsepol/include')
+libsepol = compile(expand("selinux/libsepol/src", libsepolfiles), "-Iselinux/libsepol/include")
+
+link("fastboot", libsparse + libzip + libcutils + liblog + libutil + libbase + libext4 + f2fs + libselinux + libsepol + libfastboot + libdiagnoseusb, "-lz -lpcre2-8 -lpthread -ldl")
+
+# mke2fs.android - a ustom version of mke2fs that supports --android_sparse (FS#56955)
+libext2fsfiles = %w(
+ lib/blkid/cache.c
+ lib/blkid/dev.c
+ lib/blkid/devname.c
+ lib/blkid/devno.c
+ lib/blkid/getsize.c
+ lib/blkid/llseek.c
+ lib/blkid/probe.c
+ lib/blkid/read.c
+ lib/blkid/resolve.c
+ lib/blkid/save.c
+ lib/blkid/tag.c
+ lib/e2p/feature.c
+ lib/e2p/hashstr.c
+ lib/e2p/mntopts.c
+ lib/e2p/ostype.c
+ lib/e2p/parse_num.c
+ lib/e2p/uuid.c
+ lib/et/com_err.c
+ lib/et/error_message.c
+ lib/et/et_name.c
+ lib/ext2fs/alloc.c
+ lib/ext2fs/alloc_sb.c
+ lib/ext2fs/alloc_stats.c
+ lib/ext2fs/alloc_tables.c
+ lib/ext2fs/atexit.c
+ lib/ext2fs/badblocks.c
+ lib/ext2fs/bb_inode.c
+ lib/ext2fs/bitmaps.c
+ lib/ext2fs/bitops.c
+ lib/ext2fs/blkmap64_ba.c
+ lib/ext2fs/blkmap64_rb.c
+ lib/ext2fs/blknum.c
+ lib/ext2fs/block.c
+ lib/ext2fs/bmap.c
+ lib/ext2fs/closefs.c
+ lib/ext2fs/crc16.c
+ lib/ext2fs/crc32c.c
+ lib/ext2fs/csum.c
+ lib/ext2fs/dirblock.c
+ lib/ext2fs/dir_iterate.c
+ lib/ext2fs/expanddir.c
+ lib/ext2fs/ext2_err.c
+ lib/ext2fs/ext_attr.c
+ lib/ext2fs/extent.c
+ lib/ext2fs/fallocate.c
+ lib/ext2fs/fileio.c
+ lib/ext2fs/freefs.c
+ lib/ext2fs/gen_bitmap64.c
+ lib/ext2fs/gen_bitmap.c
+ lib/ext2fs/get_num_dirs.c
+ lib/ext2fs/getsectsize.c
+ lib/ext2fs/getsize.c
+ lib/ext2fs/hashmap.c
+ lib/ext2fs/i_block.c
+ lib/ext2fs/ind_block.c
+ lib/ext2fs/initialize.c
+ lib/ext2fs/inline.c
+ lib/ext2fs/inline_data.c
+ lib/ext2fs/inode.c
+ lib/ext2fs/io_manager.c
+ lib/ext2fs/ismounted.c
+ lib/ext2fs/link.c
+ lib/ext2fs/llseek.c
+ lib/ext2fs/lookup.c
+ lib/ext2fs/mkdir.c
+ lib/ext2fs/mkjournal.c
+ lib/ext2fs/mmp.c
+ lib/ext2fs/namei.c
+ lib/ext2fs/newdir.c
+ lib/ext2fs/openfs.c
+ lib/ext2fs/progress.c
+ lib/ext2fs/punch.c
+ lib/ext2fs/rbtree.c
+ lib/ext2fs/read_bb.c
+ lib/ext2fs/read_bb_file.c
+ lib/ext2fs/res_gdt.c
+ lib/ext2fs/rw_bitmaps.c
+ lib/ext2fs/sha512.c
+ lib/ext2fs/sparse_io.c
+ lib/ext2fs/symlink.c
+ lib/ext2fs/undo_io.c
+ lib/ext2fs/unix_io.c
+ lib/ext2fs/valid_blk.c
+ lib/support/dict.c
+ lib/support/mkquota.c
+ lib/support/parse_qtype.c
+ lib/support/plausible.c
+ lib/support/prof_err.c
+ lib/support/profile.c
+ lib/support/quotaio.c
+ lib/support/quotaio_tree.c
+ lib/support/quotaio_v2.c
+ lib/uuid/gen_uuid.c
+ lib/uuid/isnull.c
+ lib/uuid/pack.c
+ lib/uuid/parse.c
+ lib/uuid/unpack.c
+ lib/uuid/unparse.c
+ misc/create_inode.c
+)
+libext2fs = compile(expand("e2fsprogs", libext2fsfiles), "-Ie2fsprogs/lib -Ie2fsprogs/lib/ext2fs -Icore/libsparse/include")
+
+mke2fsfiles = %w(
+ misc/default_profile.c
+ misc/mke2fs.c
+ misc/mk_hugefiles.c
+ misc/util.c
+)
+mke2fs = compile(expand("e2fsprogs", mke2fsfiles), "-Ie2fsprogs/lib")
+
+link("mke2fs.android", mke2fs + libext2fs + libsparse + libbase + libzip + liblog + libutil, "-lpthread -lz")
+
+e2fsdroidfiles = %w(
+ contrib/android/e2fsdroid.c
+ contrib/android/basefs_allocator.c
+ contrib/android/block_range.c
+ contrib/android/base_fs.c
+ contrib/android/fsmap.c
+ contrib/android/block_list.c
+ contrib/android/perms.c
+)
+e2fsdroid = compile(expand("e2fsprogs", e2fsdroidfiles), "-Ie2fsprogs/lib -Ie2fsprogs/lib/ext2fs -Iselinux/libselinux/include -Icore/libcutils/include -Ie2fsprogs/misc")
+
+link("e2fsdroid", e2fsdroid + libext2fs + libsparse + libbase + libzip + liblog + libutil + libselinux + libsepol + libcutils, "-lz -lpthread -lpcre2-8")
+
+ext2simgfiles = %w(
+ contrib/android/ext2simg.c
+)
+ext2simg = compile(expand("e2fsprogs", ext2simgfiles), "-Ie2fsprogs/lib -Icore/libsparse/include")
-link('fastboot', libsparse + libzip + libcutils + liblog + libutil + libbase + libext4 + f2fs + libselinux + libsepol + libfastboot + libdiagnoseusb, '-lz -lpcre2-8 -lpthread -ldl')
-link('make_ext4fs', libmake_ext4 + libzip + libcutils + liblog + libutil + libbase + libext4 + libselinux + libsepol + libsparse, '-lz -lpcre2-8 -lpthread')
+link("ext2simg", ext2simg + libext2fs + libsparse + libbase + libzip + liblog + libutil, "-lz -lpthread")
diff --git a/development/anjuta/anjuta.SlackBuild b/development/anjuta/anjuta.SlackBuild
index f9944de6a4..6ad50aec7b 100644
--- a/development/anjuta/anjuta.SlackBuild
+++ b/development/anjuta/anjuta.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=format-nonliteral -Wno-error=format-y2k" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/development/apache-log4cxx/apache-log4cxx.SlackBuild b/development/apache-log4cxx/apache-log4cxx.SlackBuild
index 8e1adafefb..a0971e9701 100644
--- a/development/apache-log4cxx/apache-log4cxx.SlackBuild
+++ b/development/apache-log4cxx/apache-log4cxx.SlackBuild
@@ -70,6 +70,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
zcat $CWD/fixincludes.patch.gz | patch -p1 || exit
+zcat $CWD/narrowing-fixes.patch.gz | patch -p1 || exit
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/development/apache-log4cxx/narrowing-fixes.patch.gz b/development/apache-log4cxx/narrowing-fixes.patch.gz
new file mode 100644
index 0000000000..cd79cc6971
--- /dev/null
+++ b/development/apache-log4cxx/narrowing-fixes.patch.gz
Binary files differ
diff --git a/development/atom/atom.SlackBuild b/development/atom/atom.SlackBuild
index 4b37a523e6..cb91f78ccf 100644
--- a/development/atom/atom.SlackBuild
+++ b/development/atom/atom.SlackBuild
@@ -23,7 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=atom
-VERSION=${VERSION:-1.23.3}
+VERSION=${VERSION:-1.32.0_beta0}
+SRCVER=$(echo $VERSION | tr _ - )
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -65,9 +66,9 @@ set -e
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
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$SRCVER
+tar -xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -120,7 +121,9 @@ if [ "${ELECTRON_VERSION}" != "" ]; then
$PKG/$ATOM_RESOURCES/apm/node_modules/atom-package-manager/lib/apm.js
else
# packaged installation
- cp -r out/$PRGNAM-$VERSION-$ARCH_OUTPUT $PKG/usr/share/atom
+ BETA=""
+ if echo $VERSION | grep -q beta ; then BETA="-beta" ; fi
+ cp -r out/${PRGNAM}${BETA}-$SRCVER-$ARCH_OUTPUT $PKG/usr/share/atom
fi
install -Dm755 atom.sh $PKG/usr/bin/atom
diff --git a/development/atom/atom.info b/development/atom/atom.info
index 2f69bc17d7..6f155359b4 100644
--- a/development/atom/atom.info
+++ b/development/atom/atom.info
@@ -1,8 +1,8 @@
PRGNAM="atom"
-VERSION="1.23.3"
+VERSION="1.32.0_beta0"
HOMEPAGE="https://atom.io/"
-DOWNLOAD="https://github.com/atom/atom/archive/v1.23.3/atom-1.23.3.tar.gz"
-MD5SUM="1dfc819b29c910daaed20c11a629b28f"
+DOWNLOAD="https://github.com/atom/atom/archive/v1.32.0-beta0/atom-1.32.0-beta0.tar.gz"
+MD5SUM="eab5898091d0e5e333d847e3025a158b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="nodejs"
diff --git a/development/autogen/autogen.SlackBuild b/development/autogen/autogen.SlackBuild
index 8318ecd660..3fdb23b320 100644
--- a/development/autogen/autogen.SlackBuild
+++ b/development/autogen/autogen.SlackBuild
@@ -70,7 +70,11 @@ 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" \
+# Patched for guile 2.2.x
+patch -p1 < $CWD/guile-2.2.patch
+
+autoreconf
+CFLAGS="$SLKCFLAGS -Wno-error=implicit-fallthrough -Wno-error=format-overflow" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -81,6 +85,7 @@ CXXFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-static=no \
+ --disable-dependency-tracking \
--build=$ARCH-slackware-linux
make
diff --git a/development/autogen/guile-2.2.patch b/development/autogen/guile-2.2.patch
new file mode 100644
index 0000000000..b3d50f4b79
--- /dev/null
+++ b/development/autogen/guile-2.2.patch
@@ -0,0 +1,78 @@
+diff --git a/agen5/guile-iface.h b/agen5/guile-iface.h
+index 0aeabb0..6ce3520 100644
+--- a/agen5/guile-iface.h
++++ b/agen5/guile-iface.h
+@@ -9,7 +9,7 @@
+ # error AutoGen does not work with this version of Guile
+ choke me.
+
+-#elif GUILE_VERSION < 201000
++#else
+ # define AG_SCM_IS_PROC(_p) scm_is_true( scm_procedure_p(_p))
+ # define AG_SCM_LIST_P(_l) scm_is_true( scm_list_p(_l))
+ # define AG_SCM_PAIR_P(_p) scm_is_true( scm_pair_p(_p))
+@@ -24,9 +24,6 @@
+ # define AG_SCM_TO_ULONG(_v) ((unsigned long)scm_to_ulong(_v))
+ # define AG_SCM_VEC_P(_v) scm_is_vector(_v)
+
+-#else
+-# error unknown GUILE_VERSION
+- choke me.
+ #endif
+
+ #endif /* MUTATING_GUILE_IFACE_H_GUARD */
+diff --git a/configure b/configure
+index befe20b..c4254eb 100755
+--- a/configure
++++ b/configure
+@@ -14191,7 +14191,7 @@ $as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+ fi
+- _guile_versions_to_search="2.0 1.8"
++ _guile_versions_to_search="2.2 2.0 1.8"
+ if test -n "$GUILE_EFFECTIVE_VERSION"; then
+ _guile_tmp=""
+ for v in $_guile_versions_to_search; do
+
+diff --git a/agen5/guile-iface.h b/agen5/guile-iface.h
+index 0aeabb0..6ce3520 100644
+--- autogen-5.18.12/config/guile-orig.m4 2017-11-21 15:23:45.047606700 -0500
++++ autogen-5.18.12/config/guile.m4 2017-11-21 15:24:20.414686700 -0500
+@@ -47,7 +47,7 @@
+ # for an available version of Guile.
+ #
+ # By default, this macro will search for the latest stable version of
+-# Guile (e.g. 2.0), falling back to the previous stable version
++# Guile (e.g. 2.2), falling back to the previous stable version
+ # (e.g. 1.8) if it is available. If no guile-@var{VERSION}.pc file is
+ # found, an error is signalled. The found version is stored in
+ # @var{GUILE_EFFECTIVE_VERSION}.
+@@ -61,7 +61,7 @@
+ #
+ AC_DEFUN([GUILE_PKG],
+ [PKG_PROG_PKG_CONFIG
+- _guile_versions_to_search="m4_default([$1], [2.0 1.8])"
++ _guile_versions_to_search="m4_default([$1], [2.2 1.8])"
+ if test -n "$GUILE_EFFECTIVE_VERSION"; then
+ _guile_tmp=""
+ for v in $_guile_versions_to_search; do
+@@ -184,7 +184,7 @@
+ # If @code{guile} is not found, signal an error.
+ #
+ # By default, this macro will search for the latest stable version of
+-# Guile (e.g. 2.0). x.y or x.y.z versions can be specified. If an older
++# Guile (e.g. 2.2). x.y or x.y.z versions can be specified. If an older
+ # version is found, the macro will signal an error.
+ #
+ # The effective version of the found @code{guile} is set to
+@@ -201,7 +201,7 @@
+ [AC_PATH_PROG(GUILE,guile)
+ _guile_required_version="m4_default([$1], [$GUILE_EFFECTIVE_VERSION])"
+ if test -z "$_guile_required_version"; then
+- _guile_required_version=2.0
++ _guile_required_version=2.2
+ fi
+ if test "$GUILE" = "" ; then
+ AC_MSG_ERROR([guile required but not found])
+
diff --git a/development/avr-binutils/avr-binutils.SlackBuild b/development/avr-binutils/avr-binutils.SlackBuild
index 3b31a96b3f..a3b68d60ec 100644
--- a/development/avr-binutils/avr-binutils.SlackBuild
+++ b/development/avr-binutils/avr-binutils.SlackBuild
@@ -9,13 +9,13 @@
# This file is placed in the public domain.
PRGNAM=avr-binutils
-VERSION=${VERSION:-2.25}
+VERSION=${VERSION:-2.31}
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
@@ -26,8 +26,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"
@@ -50,10 +50,10 @@ tar xvf $CWD/binutils-$VERSION.tar.bz2
cd binutils-$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 {} \;
# Apply patch for AVR specific output of 'size' (avr-size)
patch -p0 < $CWD/avr-size.patch
@@ -95,7 +95,7 @@ rm -f $PKG/usr/man/man1/avr-dlltool.1
rm -f $PKG/usr/man/man1/avr-nlmconv.1
rm -f $PKG/usr/man/man1/avr-windres.1
-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
find $PKG/usr/man -type f -exec gzip -9 {} \;
diff --git a/development/avr-binutils/avr-binutils.info b/development/avr-binutils/avr-binutils.info
index 6b640d3296..9d5458e879 100644
--- a/development/avr-binutils/avr-binutils.info
+++ b/development/avr-binutils/avr-binutils.info
@@ -1,8 +1,8 @@
PRGNAM="avr-binutils"
-VERSION="2.25"
+VERSION="2.31"
HOMEPAGE="http://www.gnu.org/software/binutils"
-DOWNLOAD="http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
-MD5SUM="d9f3303f802a5b6b0bb73a335ab89d66"
+DOWNLOAD="http://ftp.gnu.org/gnu/binutils/binutils-2.31.tar.bz2"
+MD5SUM="50a489aa6d4b8630b7b89b2de6b185be"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/avr-binutils/avr-size.patch b/development/avr-binutils/avr-size.patch
index 2e01c3d31f..b36f3d6d08 100644
--- a/development/avr-binutils/avr-size.patch
+++ b/development/avr-binutils/avr-size.patch
@@ -1,8 +1,10 @@
-AVR specific only
---------------------------------------------------------------------------------
+AVR only; support -C for AVR memory usage
+
+Source: http://git.makehackvoid.com/cgi-bin/gitweb.cgi?p=mhvavrtools.git;a=blob_plain;f=mhvavrtools/patches/binutils-001-avr-size.patch;h=e80d28eae46217551d996a2253256c97d10aa4b5;hb=refs/heads/master
+===========================================================
--- binutils/size.c 2007-08-06 13:56:14.000000000 -0600
+++ binutils/size.c 2007-09-13 09:13:10.281250000 -0600
-@@ -35,10 +35,31 @@
+@@ -36,10 +36,31 @@
#include "getopt.h"
#include "bucomm.h"
@@ -36,7 +38,7 @@ AVR specific only
/* Program options. */
static enum
-@@ -47,9 +68,8 @@ static enum
+@@ -48,9 +69,8 @@ static enum
}
radix = decimal;
@@ -47,7 +49,7 @@ AVR specific only
static int show_version = 0;
static int show_help = 0;
static int show_totals = 0;
-@@ -63,6 +83,157 @@ static bfd_size_type total_textsize;
+@@ -64,6 +84,246 @@ static bfd_size_type total_textsize;
/* Program exit status. */
static int return_code = 0;
@@ -63,12 +65,18 @@ AVR specific only
+#define AVR4K 4096UL
+#define AVR8K 8192UL
+#define AVR16K 16384UL
++#define AVR20K 20480UL
+#define AVR24K 24576UL
+#define AVR32K 32768UL
++#define AVR36K 36864UL
+#define AVR40K 40960UL
+#define AVR64K 65536UL
++#define AVR68K 69632UL
+#define AVR128K 131072UL
++#define AVR136K 139264UL
++#define AVR200K 204800UL
+#define AVR256K 262144UL
++#define AVR264K 270336UL
+
+typedef struct
+{
@@ -80,123 +88,206 @@ AVR specific only
+
+avr_device_t avr[] =
+{
-+ {"atmega2560", AVR256K, AVR8K, AVR4K},
-+ {"atmega2561", AVR256K, AVR8K, AVR4K},
-+
-+ {"at43usb320", AVR128K, 608UL, 0},
-+ {"at90can128", AVR128K, AVR4K, AVR4K},
-+ {"at90usb1286", AVR128K, AVR8K, AVR4K},
-+ {"at90usb1287", AVR128K, AVR8K, AVR4K},
-+ {"atmega128", AVR128K, AVR4K, AVR4K},
-+ {"atmega1280", AVR128K, AVR8K, AVR4K},
-+ {"atmega1281", AVR128K, AVR8K, AVR4K},
-+ {"atmega1284P", AVR128K, AVR16K, AVR4K},
-+ {"atmega103", AVR128K, 4000UL, AVR4K},
-+ {"atxmega128a1",AVR128K, AVR8K, AVR2K},
-+
-+ {"at90can64", AVR64K, AVR4K, AVR2K},
-+ {"at90usb646", AVR64K, AVR4K, AVR2K},
-+ {"at90usb647", AVR64K, AVR4K, AVR2K},
-+ {"atmega64", AVR64K, AVR4K, AVR2K},
-+ {"atmega640", AVR64K, AVR8K, AVR4K},
-+ {"atmega644", AVR64K, AVR4K, AVR2K},
-+ {"atmega644p", AVR64K, AVR4K, AVR2K},
-+ {"atmega645", AVR64K, AVR4K, AVR2K},
-+ {"atmega6450", AVR64K, AVR4K, AVR2K},
-+ {"atmega649", AVR64K, AVR4K, AVR2K},
-+ {"atmega6490", AVR64K, AVR4K, AVR2K},
-+ {"atxmega64a1", AVR64K, AVR4K, AVR2K},
-+
-+ {"atmega406", AVR40K, AVR512, AVR2K},
-+
-+ {"at90can32", AVR32K, AVR2K, AVR1K},
-+ {"at94k", AVR32K, AVR4K, 0},
-+ {"atmega32", AVR32K, AVR2K, AVR1K},
-+ {"atmega323", AVR32K, AVR2K, AVR1K},
-+ {"atmega324p", AVR32K, AVR2K, AVR1K},
-+ {"atmega325", AVR32K, AVR2K, AVR1K},
-+ {"atmega325p", AVR32K, AVR2K, AVR1K},
-+ {"atmega3250", AVR32K, AVR2K, AVR1K},
-+ {"atmega3250p", AVR32K, AVR2K, AVR1K},
-+ {"atmega328p", AVR32K, AVR2K, AVR1K},
-+ {"atmega329", AVR32K, AVR2K, AVR1K},
-+ {"atmega329p", AVR32K, AVR2K, AVR1K},
-+ {"atmega3290", AVR32K, AVR2K, AVR1K},
-+ {"atmega3290p", AVR32K, AVR2K, AVR1K},
-+ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
-+ {"atmega32c1", AVR32K, AVR2K, AVR1K},
-+ {"atmega32m1", AVR32K, AVR2K, AVR1K},
-+ {"atmega32u4", AVR32K, 2560UL, AVR1K},
-+
-+ {"at43usb355", AVR24K, 1120, 0},
-+
-+ {"at76c711", AVR16K, AVR2K, 0},
-+ {"at90pwm216", AVR16K, AVR1K, AVR512},
-+ {"at90pwm316", AVR16K, AVR1K, AVR512},
-+ {"at90usb162", AVR16K, AVR512, AVR512},
-+ {"atmega16", AVR16K, AVR1K, AVR512},
-+ {"atmega161", AVR16K, AVR1K, AVR512},
-+ {"atmega162", AVR16K, AVR1K, AVR512},
-+ {"atmega163", AVR16K, AVR1K, AVR512},
-+ {"atmega164", AVR16K, AVR1K, AVR512},
-+ {"atmega164p", AVR16K, AVR1K, AVR512},
-+ {"atmega165", AVR16K, AVR1K, AVR512},
-+ {"atmega165p", AVR16K, AVR1K, AVR512},
-+ {"atmega168", AVR16K, AVR1K, AVR512},
-+ {"atmega168p", AVR16K, AVR1K, AVR512},
-+ {"atmega169", AVR16K, AVR1K, AVR512},
-+ {"atmega169p", AVR16K, AVR1K, AVR512},
-+ {"attiny167", AVR16K, AVR512, AVR512},
-+ {"atxmega16d4", AVR16K, AVR2K, AVR1K},
-+
-+ {"at90c8534", AVR8K, 352, AVR512},
-+ {"at90pwm1", AVR8K, AVR512, AVR512},
-+ {"at90pwm2", AVR8K, AVR512, AVR512},
-+ {"at90pwm2b", AVR8K, AVR512, AVR512},
-+ {"at90pwm3", AVR8K, AVR512, AVR512},
-+ {"at90pwm3b", AVR8K, AVR512, AVR512},
-+ {"at90s8515", AVR8K, AVR512, AVR512},
-+ {"at90s8535", AVR8K, AVR512, AVR512},
-+ {"at90usb82", AVR8K, AVR512, AVR512},
-+ {"atmega8", AVR8K, AVR1K, AVR512},
-+ {"atmega8515", AVR8K, AVR512, AVR512},
-+ {"atmega8535", AVR8K, AVR512, AVR512},
-+ {"atmega88", AVR8K, AVR1K, AVR512},
-+ {"atmega88p", AVR8K, AVR1K, AVR512},
-+ {"attiny84", AVR8K, AVR512, AVR512},
-+ {"attiny85", AVR8K, AVR512, AVR512},
-+ {"attiny861", AVR8K, AVR512, AVR512},
-+ {"attiny88", AVR8K, AVR256, AVR64},
-+
-+ {"at90s4414", AVR4K, 352, AVR256},
-+ {"at90s4433", AVR4K, AVR128, AVR256},
-+ {"at90s4434", AVR4K, 352, AVR256},
-+ {"atmega48", AVR4K, AVR512, AVR256},
-+ {"atmega48p", AVR4K, AVR512, AVR256},
-+ {"attiny43u", AVR4K, AVR256, AVR64},
-+ {"attiny44", AVR4K, AVR256, AVR256},
-+ {"attiny45", AVR4K, AVR256, AVR256},
-+ {"attiny461", AVR4K, AVR256, AVR256},
-+ {"attiny48", AVR4K, AVR256, AVR64},
-+
-+ {"at86rf401", AVR2K, 224, AVR128},
-+ {"at90s2313", AVR2K, AVR128, AVR128},
-+ {"at90s2323", AVR2K, AVR128, AVR128},
-+ {"at90s2333", AVR2K, 224, AVR128},
-+ {"at90s2343", AVR2K, AVR128, AVR128},
-+ {"attiny22", AVR2K, 224, AVR128},
-+ {"attiny2313", AVR2K, AVR128, AVR128},
-+ {"attiny24", AVR2K, AVR128, AVR128},
-+ {"attiny25", AVR2K, AVR128, AVR128},
-+ {"attiny26", AVR2K, AVR128, AVR128},
-+ {"attiny261", AVR2K, AVR128, AVR128},
-+ {"attiny28", AVR2K, 0, 0},
-+
-+ {"at90s1200", AVR1K, 0, AVR64},
-+ {"attiny11", AVR1K, 0, AVR64},
-+ {"attiny12", AVR1K, 0, AVR64},
-+ {"attiny13", AVR1K, AVR64, AVR64},
-+ {"attiny15", AVR1K, 0, AVR64},
++ {"atxmega256a3", AVR264K, AVR16K, AVR4K},
++ {"atxmega256a3b", AVR264K, AVR16K, AVR4K},
++ {"atxmega256d3", AVR264K, AVR16K, AVR4K},
++
++ {"atmega2560", AVR256K, AVR8K, AVR4K},
++ {"atmega2561", AVR256K, AVR8K, AVR4K},
++
++ {"atxmega192a3", AVR200K, AVR16K, AVR2K},
++ {"atxmega192d3", AVR200K, AVR16K, AVR2K},
++
++ {"atxmega128a1", AVR136K, AVR8K, AVR2K},
++ {"atxmega128a1u", AVR136K, AVR8K, AVR2K},
++ {"atxmega128a3", AVR136K, AVR8K, AVR2K},
++ {"atxmega128d3", AVR136K, AVR8K, AVR2K},
++
++ {"at43usb320", AVR128K, 608UL, 0UL},
++ {"at90can128", AVR128K, AVR4K, AVR4K},
++ {"at90usb1286", AVR128K, AVR8K, AVR4K},
++ {"at90usb1287", AVR128K, AVR8K, AVR4K},
++ {"atmega128", AVR128K, AVR4K, AVR4K},
++ {"atmega1280", AVR128K, AVR8K, AVR4K},
++ {"atmega1281", AVR128K, AVR8K, AVR4K},
++ {"atmega1284p", AVR128K, AVR16K, AVR4K},
++ {"atmega128rfa1", AVR128K, AVR16K, AVR4K},
++ {"atmega103", AVR128K, 4000UL, AVR4K},
++
++ {"atxmega64a1", AVR68K, AVR4K, AVR2K},
++ {"atxmega64a1u", AVR68K, AVR4K, AVR2K},
++ {"atxmega64a3", AVR68K, AVR4K, AVR2K},
++ {"atxmega64d3", AVR68K, AVR4K, AVR2K},
++
++ {"at90can64", AVR64K, AVR4K, AVR2K},
++ {"at90scr100", AVR64K, AVR4K, AVR2K},
++ {"at90usb646", AVR64K, AVR4K, AVR2K},
++ {"at90usb647", AVR64K, AVR4K, AVR2K},
++ {"atmega64", AVR64K, AVR4K, AVR2K},
++ {"atmega640", AVR64K, AVR8K, AVR4K},
++ {"atmega644", AVR64K, AVR4K, AVR2K},
++ {"atmega644a", AVR64K, AVR4K, AVR2K},
++ {"atmega644p", AVR64K, AVR4K, AVR2K},
++ {"atmega644pa", AVR64K, AVR4K, AVR2K},
++ {"atmega645", AVR64K, AVR4K, AVR2K},
++ {"atmega645a", AVR64K, AVR4K, AVR2K},
++ {"atmega645p", AVR64K, AVR4K, AVR2K},
++ {"atmega6450", AVR64K, AVR4K, AVR2K},
++ {"atmega6450a", AVR64K, AVR4K, AVR2K},
++ {"atmega6450p", AVR64K, AVR4K, AVR2K},
++ {"atmega649", AVR64K, AVR4K, AVR2K},
++ {"atmega649a", AVR64K, AVR4K, AVR2K},
++ {"atmega649p", AVR64K, AVR4K, AVR2K},
++ {"atmega6490", AVR64K, AVR4K, AVR2K},
++ {"atmega6490a", AVR64K, AVR4K, AVR2K},
++ {"atmega6490p", AVR64K, AVR4K, AVR2K},
++ {"atmega64c1", AVR64K, AVR4K, AVR2K},
++ {"atmega64hve", AVR64K, AVR4K, AVR1K},
++ {"atmega64m1", AVR64K, AVR4K, AVR2K},
++ {"m3000", AVR64K, AVR4K, 0UL},
++
++ {"atmega406", AVR40K, AVR2K, AVR512},
++
++ {"atxmega32a4", AVR36K, AVR4K, AVR1K},
++ {"atxmega32d4", AVR36K, AVR4K, AVR1K},
++
++ {"at90can32", AVR32K, AVR2K, AVR1K},
++ {"at94k", AVR32K, AVR4K, 0UL},
++ {"atmega32", AVR32K, AVR2K, AVR1K},
++ {"atmega323", AVR32K, AVR2K, AVR1K},
++ {"atmega324a", AVR32K, AVR2K, AVR1K},
++ {"atmega324p", AVR32K, AVR2K, AVR1K},
++ {"atmega324pa", AVR32K, AVR2K, AVR1K},
++ {"atmega325", AVR32K, AVR2K, AVR1K},
++ {"atmega325a", AVR32K, AVR2K, AVR1K},
++ {"atmega325p", AVR32K, AVR2K, AVR1K},
++ {"atmega3250", AVR32K, AVR2K, AVR1K},
++ {"atmega3250a", AVR32K, AVR2K, AVR1K},
++ {"atmega3250p", AVR32K, AVR2K, AVR1K},
++ {"atmega328", AVR32K, AVR2K, AVR1K},
++ {"atmega328p", AVR32K, AVR2K, AVR1K},
++ {"atmega329", AVR32K, AVR2K, AVR1K},
++ {"atmega329a", AVR32K, AVR2K, AVR1K},
++ {"atmega329p", AVR32K, AVR2K, AVR1K},
++ {"atmega329pa", AVR32K, AVR2K, AVR1K},
++ {"atmega3290", AVR32K, AVR2K, AVR1K},
++ {"atmega3290a", AVR32K, AVR2K, AVR1K},
++ {"atmega3290p", AVR32K, AVR2K, AVR1K},
++ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
++ {"atmega32c1", AVR32K, AVR2K, AVR1K},
++ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
++ {"atmega32m1", AVR32K, AVR2K, AVR1K},
++ {"atmega32u2", AVR32K, AVR1K, AVR1K},
++ {"atmega32u4", AVR32K, 2560UL, AVR1K},
++ {"atmega32u6", AVR32K, 2560UL, AVR1K},
++
++ {"at43usb355", AVR24K, 1120UL, 0UL},
++
++ {"atxmega16a4", AVR20K, AVR2K, AVR1K},
++ {"atxmega16d4", AVR20K, AVR2K, AVR1K},
++
++ {"at76c711", AVR16K, AVR2K, 0UL},
++ {"at90pwm216", AVR16K, AVR1K, AVR512},
++ {"at90pwm316", AVR16K, AVR1K, AVR512},
++ {"at90usb162", AVR16K, AVR512, AVR512},
++ {"atmega16", AVR16K, AVR1K, AVR512},
++ {"atmega16a", AVR16K, AVR1K, AVR512},
++ {"atmega161", AVR16K, AVR1K, AVR512},
++ {"atmega162", AVR16K, AVR1K, AVR512},
++ {"atmega163", AVR16K, AVR1K, AVR512},
++ {"atmega164", AVR16K, AVR1K, AVR512},
++ {"atmega164a", AVR16K, AVR1K, AVR512},
++ {"atmega164p", AVR16K, AVR1K, AVR512},
++ {"atmega165a", AVR16K, AVR1K, AVR512},
++ {"atmega165", AVR16K, AVR1K, AVR512},
++ {"atmega165p", AVR16K, AVR1K, AVR512},
++ {"atmega168", AVR16K, AVR1K, AVR512},
++ {"atmega168a", AVR16K, AVR1K, AVR512},
++ {"atmega168p", AVR16K, AVR1K, AVR512},
++ {"atmega169", AVR16K, AVR1K, AVR512},
++ {"atmega169a", AVR16K, AVR1K, AVR512},
++ {"atmega169p", AVR16K, AVR1K, AVR512},
++ {"atmega169pa", AVR16K, AVR1K, AVR512},
++ {"atmega16hva", AVR16K, 768UL, AVR256},
++ {"atmega16hva2", AVR16K, AVR1K, AVR256},
++ {"atmega16hvb", AVR16K, AVR1K, AVR512},
++ {"atmega16m1", AVR16K, AVR1K, AVR512},
++ {"atmega16u2", AVR16K, AVR512, AVR512},
++ {"atmega16u4", AVR16K, 1280UL, AVR512},
++ {"attiny167", AVR16K, AVR512, AVR512},
++
++ {"at90c8534", AVR8K, 352UL, AVR512},
++ {"at90pwm1", AVR8K, AVR512, AVR512},
++ {"at90pwm2", AVR8K, AVR512, AVR512},
++ {"at90pwm2b", AVR8K, AVR512, AVR512},
++ {"at90pwm3", AVR8K, AVR512, AVR512},
++ {"at90pwm3b", AVR8K, AVR512, AVR512},
++ {"at90pwm81", AVR8K, AVR256, AVR512},
++ {"at90s8515", AVR8K, AVR512, AVR512},
++ {"at90s8535", AVR8K, AVR512, AVR512},
++ {"at90usb82", AVR8K, AVR512, AVR512},
++ {"ata6289", AVR8K, AVR512, 320UL},
++ {"atmega8", AVR8K, AVR1K, AVR512},
++ {"atmega8515", AVR8K, AVR512, AVR512},
++ {"atmega8535", AVR8K, AVR512, AVR512},
++ {"atmega88", AVR8K, AVR1K, AVR512},
++ {"atmega88a", AVR8K, AVR1K, AVR512},
++ {"atmega88p", AVR8K, AVR1K, AVR512},
++ {"atmega88pa", AVR8K, AVR1K, AVR512},
++ {"atmega8hva", AVR8K, 768UL, AVR256},
++ {"atmega8u2", AVR8K, AVR512, AVR512},
++ {"attiny84", AVR8K, AVR512, AVR512},
++ {"attiny84a", AVR8K, AVR512, AVR512},
++ {"attiny85", AVR8K, AVR512, AVR512},
++ {"attiny861", AVR8K, AVR512, AVR512},
++ {"attiny861a", AVR8K, AVR512, AVR512},
++ {"attiny87", AVR8K, AVR512, AVR512},
++ {"attiny88", AVR8K, AVR512, AVR64},
++
++ {"at90s4414", AVR4K, 352UL, AVR256},
++ {"at90s4433", AVR4K, AVR128, AVR256},
++ {"at90s4434", AVR4K, 352UL, AVR256},
++ {"atmega48", AVR4K, AVR512, AVR256},
++ {"atmega48a", AVR4K, AVR512, AVR256},
++ {"atmega48p", AVR4K, AVR512, AVR256},
++ {"attiny4313", AVR4K, AVR256, AVR256},
++ {"attiny43u", AVR4K, AVR256, AVR64},
++ {"attiny44", AVR4K, AVR256, AVR256},
++ {"attiny44a", AVR4K, AVR256, AVR256},
++ {"attiny45", AVR4K, AVR256, AVR256},
++ {"attiny461", AVR4K, AVR256, AVR256},
++ {"attiny461a", AVR4K, AVR256, AVR256},
++ {"attiny48", AVR4K, AVR256, AVR64},
++
++ {"at86rf401", AVR2K, 224UL, AVR128},
++ {"at90s2313", AVR2K, AVR128, AVR128},
++ {"at90s2323", AVR2K, AVR128, AVR128},
++ {"at90s2333", AVR2K, 224UL, AVR128},
++ {"at90s2343", AVR2K, AVR128, AVR128},
++ {"attiny20", AVR2K, AVR128, 0UL},
++ {"attiny22", AVR2K, 224UL, AVR128},
++ {"attiny2313", AVR2K, AVR128, AVR128},
++ {"attiny2313a", AVR2K, AVR128, AVR128},
++ {"attiny24", AVR2K, AVR128, AVR128},
++ {"attiny24a", AVR2K, AVR128, AVR128},
++ {"attiny25", AVR2K, AVR128, AVR128},
++ {"attiny26", AVR2K, AVR128, AVR128},
++ {"attiny261", AVR2K, AVR128, AVR128},
++ {"attiny261a", AVR2K, AVR128, AVR128},
++ {"attiny28", AVR2K, 0UL, 0UL},
++ {"attiny40", AVR2K, AVR256, 0UL},
++
++ {"at90s1200", AVR1K, 0UL, AVR64},
++ {"attiny9", AVR1K, 32UL, 0UL},
++ {"attiny10", AVR1K, 32UL, 0UL},
++ {"attiny11", AVR1K, 0UL, AVR64},
++ {"attiny12", AVR1K, 0UL, AVR64},
++ {"attiny13", AVR1K, AVR64, AVR64},
++ {"attiny13a", AVR1K, AVR64, AVR64},
++ {"attiny15", AVR1K, 0UL, AVR64},
++
++ {"attiny4", AVR512, 32UL, 0UL},
++ {"attiny5", AVR512, 32UL, 0UL},
+};
+
+static char *avrmcu = NULL;
@@ -205,7 +296,7 @@ AVR specific only
static char *target = NULL;
/* Forward declarations. */
-@@ -78,7 +240,8 @@ usage (FILE *stream, int status)
+@@ -79,7 +337,8 @@ usage (FILE *stream, int status)
fprintf (stream, _(" Displays the sizes of sections inside binary files\n"));
fprintf (stream, _(" If no input file(s) are specified, a.out is assumed\n"));
fprintf (stream, _(" The options are:\n\
@@ -215,7 +306,7 @@ AVR specific only
-o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n\
-t --totals Display the total sizes (Berkeley only)\n\
--common Display total size for *COM* syms\n\
-@@ -87,11 +250,7 @@ usage (FILE *stream, int status)
+@@ -88,11 +337,7 @@ usage (FILE *stream, int status)
-h --help Display this information\n\
-v --version Display the program's version\n\
\n"),
@@ -228,7 +319,7 @@ AVR specific only
);
list_supported_targets (program_name, stream);
if (REPORT_BUGS_TO[0] && status == 0)
-@@ -102,6 +261,7 @@ usage (FILE *stream, int status)
+@@ -103,6 +359,7 @@ usage (FILE *stream, int status)
#define OPTION_FORMAT (200)
#define OPTION_RADIX (OPTION_FORMAT + 1)
#define OPTION_TARGET (OPTION_RADIX + 1)
@@ -236,7 +327,7 @@ AVR specific only
static struct option long_options[] =
{
-@@ -109,6 +269,7 @@ static struct option long_options[] =
+@@ -110,6 +368,7 @@ static struct option long_options[] =
{"format", required_argument, 0, OPTION_FORMAT},
{"radix", required_argument, 0, OPTION_RADIX},
{"target", required_argument, 0, OPTION_TARGET},
@@ -244,7 +335,7 @@ AVR specific only
{"totals", no_argument, &show_totals, 1},
{"version", no_argument, &show_version, 1},
{"help", no_argument, &show_help, 1},
-@@ -140,7 +301,7 @@ main (int argc, char **argv)
+@@ -141,7 +399,7 @@ main (int argc, char **argv)
bfd_init ();
set_default_bfd_target ();
@@ -253,7 +344,7 @@ AVR specific only
(int *) 0)) != EOF)
switch (c)
{
-@@ -149,11 +310,15 @@ main (int argc, char **argv)
+@@ -150,11 +409,15 @@ main (int argc, char **argv)
{
case 'B':
case 'b':
@@ -271,7 +362,7 @@ AVR specific only
break;
default:
non_fatal (_("invalid argument to --format: %s"), optarg);
-@@ -161,6 +326,10 @@ main (int argc, char **argv)
+@@ -162,6 +424,10 @@ main (int argc, char **argv)
}
break;
@@ -282,7 +373,7 @@ AVR specific only
case OPTION_TARGET:
target = optarg;
break;
-@@ -189,11 +358,14 @@ main (int argc, char **argv)
+@@ -190,11 +457,14 @@ main (int argc, char **argv)
break;
case 'A':
@@ -299,7 +390,7 @@ AVR specific only
case 'v':
case 'V':
show_version = 1;
-@@ -239,7 +411,7 @@ main (int argc, char **argv)
+@@ -240,7 +509,7 @@ main (int argc, char **argv)
for (; optind < argc;)
display_file (argv[optind++]);
@@ -308,7 +399,7 @@ AVR specific only
{
bfd_size_type total = total_textsize + total_datasize + total_bsssize;
-@@ -600,13 +772,117 @@ print_sysv_format (bfd *file)
+@@ -599,13 +869,117 @@ print_sysv_format (bfd *file)
printf ("\n\n");
}
@@ -341,12 +432,12 @@ AVR specific only
+ int rammax = 0;
+ int eeprommax = 0;
+ asection *section;
-+ bfd_size_type data_size = 0;
-+ bfd_size_type text_size = 0;
-+ bfd_size_type bss_size = 0;
-+ bfd_size_type bootloader_size = 0;
-+ bfd_size_type noinit_size = 0;
-+ bfd_size_type eeprom_size = 0;
++ bfd_size_type my_datasize = 0;
++ bfd_size_type my_textsize = 0;
++ bfd_size_type my_bsssize = 0;
++ bfd_size_type bootloadersize = 0;
++ bfd_size_type noinitsize = 0;
++ bfd_size_type eepromsize = 0;
+
+ avr_device_t *avrdevice = avr_find_device();
+ if (avrdevice != NULL)
@@ -358,21 +449,21 @@ AVR specific only
+ }
+
+ if ((section = bfd_get_section_by_name (file, ".data")) != NULL)
-+ data_size = bfd_section_size (file, section);
++ my_datasize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".text")) != NULL)
-+ text_size = bfd_section_size (file, section);
++ my_textsize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".bss")) != NULL)
-+ bss_size = bfd_section_size (file, section);
++ my_bsssize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".bootloader")) != NULL)
-+ bootloader_size = bfd_section_size (file, section);
++ bootloadersize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".noinit")) != NULL)
-+ noinit_size = bfd_section_size (file, section);
++ noinitsize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".eeprom")) != NULL)
-+ eeprom_size = bfd_section_size (file, section);
++ eepromsize = bfd_section_size (file, section);
+
-+ bfd_size_type text = text_size + data_size + bootloader_size;
-+ bfd_size_type data = data_size + bss_size + noinit_size;
-+ bfd_size_type eeprom = eeprom_size;
++ bfd_size_type text = my_textsize + my_datasize + bootloadersize;
++ bfd_size_type data = my_datasize + my_bsssize + noinitsize;
++ bfd_size_type eeprom = eepromsize;
+
+ printf ("AVR Memory Usage\n"
+ "----------------\n"
diff --git a/development/avr-gcc/avr-gcc.SlackBuild b/development/avr-gcc/avr-gcc.SlackBuild
index a91986fe8c..ba8b2d314f 100644
--- a/development/avr-gcc/avr-gcc.SlackBuild
+++ b/development/avr-gcc/avr-gcc.SlackBuild
@@ -8,13 +8,14 @@
# This file is placed in the public domain.
PRGNAM=avr-gcc
-VERSION=${VERSION:-4.9.2}
+VERSION=${VERSION:-8.2.0}
+ISLVERSION=${ISLVERSION:-0.19}
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
@@ -25,8 +26,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"
@@ -42,21 +43,25 @@ fi
set -e
rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf gcc-$VERSION avr-gcc-build-$VERSION
-tar xvf $CWD/gcc-$VERSION.tar.bz2 || exit 1
-mkdir avr-gcc-build-$VERSION
-cd avr-gcc-build-$VERSION || exit 1
-chown -R root:root .
+mkdir -p $TMP/$PRGNAM $PKG $OUTPUT
+cd $TMP/$PRGNAM
+rm -rf $TMP/$PRGNAM/*
+tar xvf $CWD/gcc-$VERSION.tar.xz
+tar xvf $CWD/isl-$ISLVERSION.tar.bz2
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 {} \;
+cd gcc-$VERSION
+ln -s ../isl-$ISLVERSION isl
+
+mkdir ../avr-gcc-build-$VERSION
+cd ../avr-gcc-build-$VERSION
+
+export CFLAGS_FOR_TARGET="$SLKCFLAGS"
+export CXXFLAGS_FOR_TARGET="$SLKCFLAGS"
-CFLAGS_FOR_BUILD="$SLKCFLAGS" \
-CXXFLAGS_FOR_BUILD="$SLKCFLAGS" \
../gcc-$VERSION/configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -71,11 +76,12 @@ CXXFLAGS_FOR_BUILD="$SLKCFLAGS" \
--disable-linker-build-id \
--disable-nls \
--disable-werror \
- --enable-__cxa_atexit \
+ --disable-__cxa_atexit \
--enable-checking=release \
--enable-clocale=gnu \
--enable-cloog-backend=isl \
--enable-gnu-unique-object \
+ --enable-gnu-indirect-function \
--enable-gold \
--enable-languages=c,c++ \
--enable-ld=default \
@@ -90,22 +96,24 @@ CXXFLAGS_FOR_BUILD="$SLKCFLAGS" \
--with-plugin-ld=ld.gold \
--with-system-zlib \
--with-dwarf2 \
+ --with-isl \
--program-prefix="avr-" \
--program-suffix="" \
--build=$ARCH-slackware-linux
make || exit 1
-make install DESTDIR=$PKG || exit 1
+make -j1 install DESTDIR=$PKG || exit 1
# Remove useless stuff
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/libiberty.a
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/libcc1.*
rm -rf $PKG/usr/info
rm -rf $PKG/usr/include
rm -rf $PKG/usr/share
rm -rf $PKG/usr/man/man7
rm -rf $PKG/usr/libexec/gcc/avr/$VERSION/install-tools
-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
find $PKG/usr/man -type f -exec gzip -9 {} \;
diff --git a/development/avr-gcc/avr-gcc.info b/development/avr-gcc/avr-gcc.info
index 6bd3a9b64d..a57c77698b 100644
--- a/development/avr-gcc/avr-gcc.info
+++ b/development/avr-gcc/avr-gcc.info
@@ -1,8 +1,10 @@
PRGNAM="avr-gcc"
-VERSION="4.9.2"
+VERSION="8.2.0"
HOMEPAGE="http://www.gnu.org/software/gcc/"
-DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2"
-MD5SUM="4df8ee253b7f3863ad0b86359cd39c43"
+DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.xz \
+ http://isl.gforge.inria.fr/isl-0.19.tar.bz2"
+MD5SUM="4ab282f414676496483b3e1793d07862 \
+ 7850d46a96e5ea31e34913190895e154"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="avr-binutils"
diff --git a/development/camlp4/camlp4.SlackBuild b/development/camlp4/camlp4.SlackBuild
index 932c6d73fc..cfd34f6caa 100644
--- a/development/camlp4/camlp4.SlackBuild
+++ b/development/camlp4/camlp4.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for camlp4
-# Copyright 2013 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=camlp4
-VERSION=${VERSION:-4.03_1}
+VERSION=${VERSION:-4.08_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=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -55,17 +55,15 @@ else
fi
DOCS="CHANGES* LICENSE"
-TVERSION=$(echo $VERSION | tr _ +)
-CVERSION=$(echo $VERSION | tr _ -)
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$CVERSION
-tar xvf $CWD/$PRGNAM-$CVERSION.tar.?z* || tar xvf $CWD/$TVERSION.tar.?z*
-cd $PRGNAM-$CVERSION
+rm -rf $PRGNAM-$(echo $VERSION | tr _ -)
+tar xvf $CWD/$PRGNAM-$(echo $VERSION | tr _ -).tar.?z*
+cd $PRGNAM-$(echo $VERSION | tr _ -)
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/development/camlp4/camlp4.info b/development/camlp4/camlp4.info
index f7192e0340..1fa1c27557 100644
--- a/development/camlp4/camlp4.info
+++ b/development/camlp4/camlp4.info
@@ -1,8 +1,8 @@
PRGNAM="camlp4"
-VERSION="4.03_1"
+VERSION="4.08_1"
HOMEPAGE="http://caml.inria.fr"
-DOWNLOAD="https://github.com/ocaml/camlp4/archive/4.03+1.tar.gz"
-MD5SUM="65ece8d2c8f4b1e06d62323e78759a7c"
+DOWNLOAD="https://github.com/ocaml/camlp4/archive/4.08+1/camlp4-4.08-1.tar.gz"
+MD5SUM="7e09e32fdfb185050f69cb2f1e77bf8a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ocamlbuild"
diff --git a/development/camlp5/camlp5.SlackBuild b/development/camlp5/camlp5.SlackBuild
index 1f504f9e2a..5e7034d981 100644
--- a/development/camlp5/camlp5.SlackBuild
+++ b/development/camlp5/camlp5.SlackBuild
@@ -1,5 +1,7 @@
#!/bin/sh
#
+# Slackware build script for camlp5
+#
# 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
@@ -12,15 +14,13 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Slackware build script for camlp5
# Written by adaptr (jeroen@adaptr.nl)
# Rewrite for updated camlp5 Panagiotis Nikolaou, Culver City, CA
PRGNAM=camlp5
-VERSION=${VERSION:-7.05}
-SRCVER=rel705
+VERSION=${VERSION:-7.10}
+SRCVER=rel710
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -81,7 +81,7 @@ 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 CHANGES INSTALL LICENSE MODE README $PKG/usr/doc/$PRGNAM-$VERSION/
+cp -a CHANGES LICENSE MODE README* $PKG/usr/doc/$PRGNAM-$VERSION/
## Build TeX, PS, PDF, TeXinfo and HTML Documentation
cd doc/htmlp
diff --git a/development/camlp5/camlp5.info b/development/camlp5/camlp5.info
index 40cf6cf6ad..9141974c55 100644
--- a/development/camlp5/camlp5.info
+++ b/development/camlp5/camlp5.info
@@ -1,8 +1,8 @@
PRGNAM="camlp5"
-VERSION="7.05"
+VERSION="7.10"
HOMEPAGE="https://camlp5.github.io/"
-DOWNLOAD="https://github.com/camlp5/camlp5/archive/rel705/camlp5-rel705.tar.gz"
-MD5SUM="cf9d909191711afb1b634f75acbe1cfe"
+DOWNLOAD="https://github.com/camlp5/camlp5/archive/rel710/camlp5-rel710.tar.gz"
+MD5SUM="1c396142b981c5af1af7470bb23bf0ce"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ocaml"
diff --git a/development/device-tree-compiler/device-tree-compiler.SlackBuild b/development/device-tree-compiler/device-tree-compiler.SlackBuild
index 58b655f1fa..26766281f5 100644
--- a/development/device-tree-compiler/device-tree-compiler.SlackBuild
+++ b/development/device-tree-compiler/device-tree-compiler.SlackBuild
@@ -25,7 +25,7 @@
# With tweaks from rworkman to use in SlackBuilds.org tree
PRGNAM=device-tree-compiler
-VERSION=${VERSION:-1.4.4}
+VERSION=${VERSION:-1.5.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.xz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.lz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/development/device-tree-compiler/device-tree-compiler.info b/development/device-tree-compiler/device-tree-compiler.info
index 38575f14af..93be5bab57 100644
--- a/development/device-tree-compiler/device-tree-compiler.info
+++ b/development/device-tree-compiler/device-tree-compiler.info
@@ -1,8 +1,8 @@
PRGNAM="device-tree-compiler"
-VERSION="1.4.4"
+VERSION="1.5.0"
HOMEPAGE="https://git.kernel.org/cgit/utils/dtc/dtc.git"
-DOWNLOAD="http://harrier.slackbuilds.org/misc/device-tree-compiler-1.4.4.tar.xz"
-MD5SUM="ccc3b88d50823b19791f42bc2e5c9309"
+DOWNLOAD="http://harrier.slackbuilds.org/misc/device-tree-compiler-1.5.0.tar.lz"
+MD5SUM="a609b2995f94de58fc7544a429ac0b28"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/docutils/README b/development/docutils/README
deleted file mode 100644
index 1160a389f0..0000000000
--- a/development/docutils/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Docutils (Python Documentation Utilities)
-
-Docutils is a modular system for processing documentation into useful
-formats, such as HTML, XML, and LaTeX. For input Docutils supports
-reStructuredText, an easy-to-read, what-you-see-is-what-you-get plaintext
-markup syntax.
diff --git a/development/docutils/docutils.SlackBuild b/development/docutils/docutils.SlackBuild
deleted file mode 100644
index b953ca5071..0000000000
--- a/development/docutils/docutils.SlackBuild
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for docutils
-
-# Copyright 2006-2019 Robby Workman Tuscaloosa, AL, 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=docutils
-VERSION=${VERSION:-0.14}
-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}
-
-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 {} \;
-
-python setup.py install --root=$PKG
-2to3 --write --no-diffs docutils
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a *.txt PKG-INFO $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/development/docutils/docutils.info b/development/docutils/docutils.info
deleted file mode 100644
index 5e22f0645a..0000000000
--- a/development/docutils/docutils.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="docutils"
-VERSION="0.14"
-HOMEPAGE="http://docutils.sourceforge.net"
-DOWNLOAD="http://downloads.sourceforge.net/docutils/docutils-0.14.tar.gz"
-MD5SUM="c53768d63db3873b7d452833553469de"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Robby Workman"
-EMAIL="rworkman@slackbuilds.org"
diff --git a/development/docutils/slack-desc b/development/docutils/slack-desc
deleted file mode 100644
index 06dc8a4d0d..0000000000
--- a/development/docutils/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------------------------------------------------------|
-docutils: docutils (Python Document Utilities module)
-docutils:
-docutils: Docutils is an open-source text processing system for processing
-docutils: plaintext documentation into useful formats, such as HTML or LaTeX.
-docutils: It includes reStructuredText, the easy to read, easy to use,
-docutils: what-you-see-is-what-you-get plaintext markup language.
-docutils:
-docutils: Homepage: http://docutils.sourceforge.net/
-docutils:
-docutils:
-docutils:
diff --git a/development/dune/README b/development/dune/README
new file mode 100644
index 0000000000..4bee426ba6
--- /dev/null
+++ b/development/dune/README
@@ -0,0 +1,5 @@
+Dune is a build system designed for OCaml/Reason projects only.
+It focuses on providing the user with a consistent experience and
+takes care of most of the low-level details of OCaml compilation.
+All you have to do is provide a description of your project and
+dune will do the rest.
diff --git a/development/meson/meson.SlackBuild b/development/dune/dune.SlackBuild
index cf0cb3a6d1..753b06d084 100644
--- a/development/meson/meson.SlackBuild
+++ b/development/dune/dune.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for meson
+# Slackware build script for dune
-# Copyright 2017-2018 Jeremy Hansen <jebrhansen+SBo -at- gmail.com>
+# Copyright 2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=meson
-VERSION=${VERSION:-0.51.0}
+PRGNAM=dune
+VERSION=${VERSION:-1.11.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,28 +60,27 @@ 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 \
+ -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 {} \;
-python3 setup.py install --root=$PKG
+make release
+make DESTDIR=$PKG INSTALL_ARGS="--prefix=/usr --libdir='$(ocamlfind printconf destdir)'" 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
-mv $PKG/usr/share/man $PKG/usr/
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 -fR $PKG/usr/doc
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- COPYING README.md PKG-INFO \
- $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/development/dune/dune.info b/development/dune/dune.info
new file mode 100644
index 0000000000..87e20a4d06
--- /dev/null
+++ b/development/dune/dune.info
@@ -0,0 +1,10 @@
+PRGNAM="dune"
+VERSION="1.11.3"
+HOMEPAGE="http://caml.inria.fr"
+DOWNLOAD="https://github.com/ocaml/dune/archive/1.11.3/dune-1.11.3.tar.gz"
+MD5SUM="483164bdca4d0f568f4c95987737899b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="ocaml-findlib"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/development/lmdb/slack-desc b/development/dune/slack-desc
index 22a92101a3..4e035d51d4 100644
--- a/development/lmdb/slack-desc
+++ b/development/dune/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-lmdb: lmdb (embedded data store)
-lmdb:
-lmdb: LMDB is an ultra-fast, ultra-compact key-value embedded data store
-lmdb: developed by Symas for the OpenLDAP Project.
-lmdb:
-lmdb: Online documentation available at:
-lmdb: http://symas.com/mdb/
-lmdb:
-lmdb:
-lmdb:
-lmdb:
+dune: dune (ocaml build system - formerly jbuilder)
+dune:
+dune: Dune is a build system designed for OCaml/Reason projects only.
+dune: It focuses on providing the user with a consistent experience and
+dune: takes care of most of the low-level details of OCaml compilation.
+dune: All you have to do is provide a description of your project and
+dune: dune will do the rest.
+dune:
+dune: homepage: https://github.com/ocaml/dune
+dune:
+dune:
diff --git a/development/freetds/freetds.SlackBuild b/development/freetds/freetds.SlackBuild
index 826125272e..64317e53d1 100644
--- a/development/freetds/freetds.SlackBuild
+++ b/development/freetds/freetds.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=freetds
-VERSION=${VERSION:-1.00.9}
+VERSION=${VERSION:-1.00.99}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/development/freetds/freetds.info b/development/freetds/freetds.info
index 530fdb3b51..81e2313fd5 100644
--- a/development/freetds/freetds.info
+++ b/development/freetds/freetds.info
@@ -1,8 +1,8 @@
PRGNAM="freetds"
-VERSION="1.00.9"
+VERSION="1.00.99"
HOMEPAGE="http://www.freetds.org/"
-DOWNLOAD="ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.9.tar.gz"
-MD5SUM="9f3518c9763f195eca119e4ee504be8d"
+DOWNLOAD="ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.99.tar.gz"
+MD5SUM="32777effeb8e45daa5890ef5ad636230"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/gcc5/README b/development/gcc5/README
new file mode 100644
index 0000000000..043d62efcf
--- /dev/null
+++ b/development/gcc5/README
@@ -0,0 +1,46 @@
+This gcc5 package can be installed alongside Slackware's gcc-7 packages.
+These version 7 compilers can sometimes be quite a bit more strict about
+what they accept as valid code. As a consequence, you will regularly run
+into compilation issues with software. Not just the software made with
+the scripts on slackbuilds.org, but also some of the software in
+the Slackware core distribution requires patches in order to get them
+to compile.
+
+Still having the gcc version 5 compilers can sometimes be a lifesaver.
+Particulars of the gcc5 package:
+- The gcc5 binaries were given a suffix '-5' to make them stand apart
+ from Slackware's default compilers.
+- The gcc5 package only contains the C, C++ and Java language compilers.
+- One all-encompassing package is built by the SlackBuild script.
+- Profile scripts are added to /etc/profile.d/. You can 'source'
+ the profile script to prefer the gcc-5 compilers over gcc-7.
+- On 64bit Slackware, the gcc5.SlackBuild will detect an existing gcc
+ multilib compiler and will then build a multilib capable gcc5.
+ If you run pure 64bit Slackware, then a pure 64bit gcc5 package is built.
+
+How to use these gcc5 compilers instead of Slackware's default C and C++?
+Simple:
+In your console or terminal, you 'source' the provided profile script,
+like this (a c-shell compatible script is available as well):
+
+ source /etc/profile.d/gcc5.sh
+
+The command 'source' is equivalent to the dot command ' . '.
+The profile script will (re-)define the common variables that are used
+by make and other programs to determine which binary to run as the compiler:
+
+export CC=gcc-5
+export CPP=cpp-5
+export CXX=g++-5
+export AR=gcc-ar-5
+export NM=gcc-nm-5
+export RANLIB=gcc-ranlib-5
+
+Nothing else needs to be done after sourcing the profile script.
+All you do next is run your compile job as usual in that same console.
+Your program will be compiled with the binaries provided by the gcc5 package.
+
+** WARNING:
+** The temporary build location used by the script (defaulting here to /tmp/SBo)
+** should *NOT* be a directory path a non-root user could create later...
+
diff --git a/development/gcc5/c89.sh b/development/gcc5/c89.sh
new file mode 100644
index 0000000000..424b1e1669
--- /dev/null
+++ b/development/gcc5/c89.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+fl="-std=c89"
+CC=${CC:-"gcc"}
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec $CC $fl ${1+"$@"}
diff --git a/development/gcc5/c99.sh b/development/gcc5/c99.sh
new file mode 100644
index 0000000000..c33636937c
--- /dev/null
+++ b/development/gcc5/c99.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+fl="-std=c99"
+CC=${CC:-"gcc"}
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec $CC $fl ${1+"$@"}
diff --git a/development/gcc5/ecj.sh b/development/gcc5/ecj.sh
new file mode 100644
index 0000000000..1d8b797931
--- /dev/null
+++ b/development/gcc5/ecj.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+CLASSPATH=@JAVADIR@/ecj.jar${CLASSPATH:+:}$CLASSPATH \
+ java org.eclipse.jdt.internal.compiler.batch.Main "$@"
+
diff --git a/development/gcc5/fastjar-patches/1000-fastjar-0.97-segfault.patch b/development/gcc5/fastjar-patches/1000-fastjar-0.97-segfault.patch
new file mode 100644
index 0000000000..ab6262407a
--- /dev/null
+++ b/development/gcc5/fastjar-patches/1000-fastjar-0.97-segfault.patch
@@ -0,0 +1,29 @@
+2009-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ * jartool.c (make_manifest): Initialize current_time before
+ calling unix2dostime on it.
+
+--- fastjar-0.97/jartool.c.jj 2008-10-15 18:35:37.000000000 +0200
++++ fastjar-0.97/jartool.c 2009-01-14 15:40:50.000000000 +0100
+@@ -820,6 +820,10 @@ int make_manifest(int jfd, const char *m
+ int mod_time; /* file modification time */
+ struct zipentry *ze;
+
++ current_time = time(NULL);
++ if(current_time == (time_t)-1)
++ exit_on_error("time");
++
+ mod_time = unix2dostime(&current_time);
+
+ /* If we are creating a new manifest, create a META-INF directory entry */
+@@ -828,10 +832,6 @@ int make_manifest(int jfd, const char *m
+
+ memset((file_header + 12), '\0', 16); /*clear mod time, crc, size fields*/
+
+- current_time = time(NULL);
+- if(current_time == (time_t)-1)
+- exit_on_error("time");
+-
+ PACK_UB2(file_header, LOC_EXTRA, 0);
+ PACK_UB2(file_header, LOC_COMP, 0);
+ PACK_UB2(file_header, LOC_FNLEN, nlen);
diff --git a/development/gcc5/fastjar-patches/1001-fastjar-0.97-len1.patch b/development/gcc5/fastjar-patches/1001-fastjar-0.97-len1.patch
new file mode 100644
index 0000000000..722351d334
--- /dev/null
+++ b/development/gcc5/fastjar-patches/1001-fastjar-0.97-len1.patch
@@ -0,0 +1,16 @@
+2009-12-21 Chris Ball <cjb@laptop.org>
+
+ * jartool.c (add_file_to_jar): Test write return value against -1
+ instead of 1.
+
+--- fastjar-0.97/jartool.c.jj 2008-10-15 12:35:37.000000000 -0400
++++ fastjar-0.97/jartool.c 2009-12-22 06:48:09.309530000 -0500
+@@ -1257,7 +1257,7 @@ int add_file_to_jar(int jfd, int ffd, co
+ exit_on_error("write");
+
+ /* write the file name to the zip file */
+- if (1 == write(jfd, fname, file_name_length))
++ if (-1 == write(jfd, fname, file_name_length))
+ exit_on_error("write");
+
+ if(verbose){
diff --git a/development/gcc5/fastjar-patches/1002-fastjar-0.97-filename0.patch b/development/gcc5/fastjar-patches/1002-fastjar-0.97-filename0.patch
new file mode 100644
index 0000000000..34a02a74f3
--- /dev/null
+++ b/development/gcc5/fastjar-patches/1002-fastjar-0.97-filename0.patch
@@ -0,0 +1,14 @@
+2010-03-01 Richard Guenther <rguenther@suse.de>
+
+ * jartool.c (read_entries): Properly zero-terminate filename.
+
+--- fastjar-0.97/jartool.c 6 Sep 2009 22:16:00 -0000 1.59
++++ fastjar-0.97/jartool.c 1 Mar 2010 15:38:43 -0000 1.60
+@@ -790,6 +790,7 @@ int read_entries (int fd)
+ progname, jarfile);
+ return 1;
+ }
++ ze->filename[len] = '\0';
+ len = UNPACK_UB4(header, CEN_EFLEN);
+ len += UNPACK_UB4(header, CEN_COMLEN);
+ if (lseek (fd, len, SEEK_CUR) == -1)
diff --git a/development/gcc5/fastjar-patches/1003-fastjar-CVE-2010-0831.patch b/development/gcc5/fastjar-patches/1003-fastjar-CVE-2010-0831.patch
new file mode 100644
index 0000000000..2c6e23c76c
--- /dev/null
+++ b/development/gcc5/fastjar-patches/1003-fastjar-CVE-2010-0831.patch
@@ -0,0 +1,102 @@
+2010-06-10 Jakub Jelinek <jakub@redhat.com>
+ Dan Rosenberg <dan.j.rosenberg@gmail.com>
+
+ * jartool.c (extract_jar): Fix up checks for traversal to parent
+ directories, disallow absolute paths, make the code slightly more
+ efficient.
+
+--- fastjar-0.97/jartool.c.jj 2009-09-07 00:10:47.000000000 +0200
++++ fastjar-0.97/jartool.c 2010-06-08 20:00:29.000000000 +0200
+@@ -1730,7 +1730,17 @@ int extract_jar(int fd, const char **fil
+ struct stat sbuf;
+ int depth = 0;
+
+- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename));
++ if(*filename == '/'){
++ fprintf(stderr, "Absolute path names are not allowed.\n");
++ exit(EXIT_FAILURE);
++ }
++
++ tmp_buff = malloc(strlen((const char *)filename));
++
++ if(tmp_buff == NULL) {
++ fprintf(stderr, "Out of memory.\n");
++ exit(EXIT_FAILURE);
++ }
+
+ for(;;){
+ const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/');
+@@ -1738,25 +1748,28 @@ int extract_jar(int fd, const char **fil
+ if(idx == NULL)
+ break;
+ else if(idx == start){
++ tmp_buff[idx - filename] = '/';
+ start++;
+ continue;
+ }
+- start = idx + 1;
+
+- strncpy(tmp_buff, (const char *)filename, (idx - filename));
+- tmp_buff[(idx - filename)] = '\0';
++ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start));
++ tmp_buff[idx - filename] = '\0';
+
+ #ifdef DEBUG
+ printf("checking the existance of %s\n", tmp_buff);
+ #endif
+- if(strcmp(tmp_buff, "..") == 0){
++ if(idx - start == 2 && memcmp(start, "..", 2) == 0){
+ --depth;
+ if (depth < 0){
+ fprintf(stderr, "Traversal to parent directories during unpacking!\n");
+ exit(EXIT_FAILURE);
+ }
+- } else if (strcmp(tmp_buff, ".") != 0)
++ } else if (idx - start != 1 || *start != '.')
+ ++depth;
++
++ start = idx + 1;
++
+ if(stat(tmp_buff, &sbuf) < 0){
+ if(errno != ENOENT)
+ exit_on_error("stat");
+@@ -1765,6 +1778,7 @@ int extract_jar(int fd, const char **fil
+ #ifdef DEBUG
+ printf("Directory exists\n");
+ #endif
++ tmp_buff[idx - filename] = '/';
+ continue;
+ }else {
+ fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n",
+@@ -1781,10 +1795,11 @@ int extract_jar(int fd, const char **fil
+ if(verbose && handle)
+ printf("%10s: %s/\n", "created", tmp_buff);
+
++ tmp_buff[idx - filename] = '/';
+ }
+
+ /* only a directory */
+- if(strlen((const char *)start) == 0)
++ if(*start == '\0')
+ dir = TRUE;
+
+ #ifdef DEBUG
+@@ -1792,7 +1807,7 @@ int extract_jar(int fd, const char **fil
+ #endif
+
+ /* If the entry was just a directory, don't write to file, etc */
+- if(strlen((const char *)start) == 0)
++ if(*start == '\0')
+ f_fd = -1;
+
+ free(tmp_buff);
+@@ -1876,7 +1891,8 @@ int extract_jar(int fd, const char **fil
+ exit(EXIT_FAILURE);
+ }
+
+- close(f_fd);
++ if (f_fd != -1)
++ close(f_fd);
+
+ if(verbose && dir == FALSE && handle)
+ printf("%10s: %s\n",
diff --git a/development/gcc5/fastjar-patches/1004-fastjar-man.patch b/development/gcc5/fastjar-patches/1004-fastjar-man.patch
new file mode 100644
index 0000000000..34bf704dbb
--- /dev/null
+++ b/development/gcc5/fastjar-patches/1004-fastjar-man.patch
@@ -0,0 +1,27 @@
+2010-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * Makefile.am (POD2MAN): Provide --date from ChangeLog.
+ * Makefile.in: Regenerate.
+
+--- fastjar-0.97/Makefile.am.jj 2008-10-16 04:24:55.000000000 -0400
++++ fastjar-0.97/Makefile.am 2010-06-21 09:29:41.021398000 -0400
+@@ -39,7 +39,7 @@ EXTRA_DIST = \
+ texi2pod.pl
+
+ TEXI2POD = perl $(srcdir)/texi2pod.pl
+-POD2MAN = pod2man --center="GNU" --release=@VERSION@
++POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog)
+
+ .pod.1:
+ -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
+--- fastjar-0.97/Makefile.in.jj 2008-10-16 04:15:16.000000000 -0400
++++ fastjar-0.97/Makefile.in 2010-06-21 09:30:15.882810000 -0400
+@@ -515,7 +515,7 @@ EXTRA_DIST = \
+ texi2pod.pl
+
+ TEXI2POD = perl $(srcdir)/texi2pod.pl
+-POD2MAN = pod2man --center="GNU" --release=@VERSION@
++POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog)
+
+ #SPLINT_FLAGS=-I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H +posixlib +weak
+ SPLINT_FLAGS = -I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H -DPRIx32= -warnposix +weak
diff --git a/development/gcc5/gcc5.SlackBuild b/development/gcc5/gcc5.SlackBuild
new file mode 100644
index 0000000000..f9a03116c5
--- /dev/null
+++ b/development/gcc5/gcc5.SlackBuild
@@ -0,0 +1,568 @@
+#!/bin/sh
+# GCC package build script (written by volkerdi@slackware.com)
+#
+# Copyright 2003, 2004 Slackware Linux, Inc., Concord, California, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, 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.
+#
+
+# Modified 2011 by Eric Hameleers <alien at slackware.com> for OpenJDK.
+# Modified 2017, 2018 by Eric Hameleers <alien at slackware.com> for gcc5.
+
+# Some notes, Fri May 16 12:31:32 PDT 2003:
+#
+# Why i486 and not i386? Because the shared C++ libraries in gcc-3.2.x will
+# require 486 opcodes even when a 386 target is used (so we already weren't
+# compatible with the i386 for Slackware 9.0, didn't notice, and nobody
+# complained :-). gcc-3.3 fixes this issue and allows you to build a 386
+# compiler, but the fix is done in a way that produces binaries that are not
+# compatible with gcc-3.2.x compiled binaries. To retain compatibility with
+# Slackware 9.0, we'll have to use i486 (or better) as the compiler target
+# for gcc-3.3.
+#
+# It's time to say goodbye to i386 support in Slackware. I've surveyed 386
+# usage online, and the most common thing I see people say when someone asks
+# about running Linux on a 386 is to "run Slackware", but then they also
+# usually go on to say "be sure to get an OLD version, like 4.0, before glibc,
+# because it'll be more efficient." Now, if that's the general advice, then
+# I see no reason to continue 386 support in the latest Slackware (and indeed
+# it's no longer easily possible).
+
+# Some more notes, Mon Aug 3 19:49:51 UTC 2015:
+#
+# Changing to -march=i586 for 32-bit x86 as several things (Mesa being one of
+# them) no longer work if constrained to -march=i486. We're not going to use
+# -march=i686 since the only additional opcode is CMOV, which is actually less
+# efficient on modern CPUs running in 32-bit mode than the alternate i586
+# instructions. No need to throw i586 CPUs under the bus (yet).
+
+PRGNAM=gcc5
+VERSION=${VERSION:-5.5.0}
+MAJVER=$(echo ${VERSION} |cut -d. -f1)
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+# Automatically determine the architecture we're building on:
+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 ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=i386
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=s390
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"
+ LIBDIRSUFFIX="64"
+ LIB_ARCH=amd64
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=armv7hl
+else
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+ LIB_ARCH=$ARCH
+fi
+
+# What do we want to build
+LANGS=${LANGS:-'c,c++,java'}
+
+echo "Building these compilers: $LANGS"
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+if [ "$ARCH" = "x86_64" ]; then
+ if [ -f /usr/lib/libc.a ]; then
+ # If we find a 32bit C library on 64bit Slackware, assume multilib:
+ GCC_ARCHOPTS="--enable-multilib"
+ MULTILIB="YES"
+ else
+ GCC_ARCHOPTS="--disable-multilib"
+ MULTILIB="NO"
+ fi
+else
+ GCC_ARCHOPTS="--with-arch=$ARCH"
+ MULTILIB="NO"
+fi
+
+# Clear the build locations:
+rm -fr $TMP/fastjar-* $TMP/gcc-$VERSION $TMP/gcc.build.lnx $TMP/gcc.build.log $TMP/package-$PRGNAM
+
+mkdir -p $PKG/usr/doc/gcc-$VERSION
+
+# Insert package description:
+mkdir -p $PKG/install
+if [ ${MULTILIB} = "YES" ]; then
+ SLDESC=" The compilers support multilib."
+else
+ SLDESC=""
+fi
+cat $CWD/slack-desc.gcc5 | sed -e "s/@MULTILIB@/${SLDESC}/" \
+ > $PKG/install/slack-desc
+
+# Unpack the gcc sources:
+cd $TMP
+tar xvf $CWD/gcc-$VERSION.tar.?z || exit 1
+
+# Patches based inside the gcc directory go here:
+#( cd gcc-$VERSION/gcc
+# #cat $CWD/patches/gcc.66782.diff | patch -p0 --verbose || exit 1
+#) || exit 1
+
+# Copy ecj.jar into the TLD of the source. Needed for java compiler.
+# This can be retrieved from ftp://sourceware.org/pub/java
+cp $CWD/ecj-4.9.jar gcc-$VERSION/ecj.jar
+
+# Use an antlr runtime to compile javadoc.
+# The runtime can be obtained from:
+#https://oss.sonatype.org/content/repositories/releases/org/antlr/antlr-runtime/
+ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
+
+# install docs
+( cd gcc-$VERSION
+ # Smite the fixincludes:
+ cat $CWD/patches/gcc-no_fixincludes.diff | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+ # Add retpoline support:
+ cat $CWD/patches/0001-i386-Move-struct-ix86_frame-to-machine_function.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0005-x86-Add-mindirect-branch-doc.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0005-x86-Add-mindirect-branch.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0006-x86-Add-mfunction-return-doc.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0006-x86-Add-mfunction-return.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0007-x86-Add-mindirect-branch-register-doc.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0007-x86-Add-mindirect-branch-register.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0008-x86-Add-V-register-operand-modifier-doc.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0008-x86-Add-V-register-operand-modifier.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff | patch -p2 --verbose || exit 1
+ cat $CWD/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff | patch -p2 --verbose || exit 1
+
+ # Fix build with glibc 2.28, which no longer makes available header file <sys/ustat.h>
+ cat $CWD/patches/glibc2.28-ustat.diff | patch -p0 --verbose || exit 1
+
+ # Fix perms/owners
+ chown -R root:root .
+ find . -perm 777 -exec chmod 755 {} \;
+ find . -perm 775 -exec chmod 755 {} \;
+ find . -perm 754 -exec chmod 755 {} \;
+ find . -perm 664 -exec chmod 644 {} \;
+ mkdir -p $PKG/usr/doc/gcc-$VERSION
+ cp -a \
+ COPYING* ChangeLog* FAQ INSTALL \
+ LAST_UPDATED MAINTAINERS NEWS \
+ README* *.html \
+ $PKG/usr/doc/gcc-$VERSION
+
+ # We will keep part of these, but they are really big...
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/gcc-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+ if [ -r NEWS ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/gcc-$VERSION)
+ cat NEWS | head -n 1000 > $DOCSDIR/NEWS
+ touch -r NEWS $DOCSDIR/NEWS
+ fi
+
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/gcc
+ ( cd gcc
+ cp -a \
+ ABOUT* COPYING* DATESTAMP DEV-PHASE LANG* ONEWS README* SERVICE \
+ $PKG/usr/doc/gcc-$VERSION/gcc
+
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/gcc/java
+ ( cd java
+ cp -a \
+ ChangeLog.tree-ssa \
+ $PKG/usr/doc/gcc-${VERSION}/gcc/java
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/gcc-${VERSION}/gcc/java/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/gcc-${VERSION}/gcc/java/ChangeLog
+ fi
+ )
+
+ ) || exit 1
+
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/libffi
+ ( cd libffi
+ cp -a \
+ ChangeLog.libgcj ChangeLog.v1 \
+ LICENSE* README* \
+ $PKG/usr/doc/gcc-${VERSION}/libffi
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/gcc-${VERSION}/libffi/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/gcc-${VERSION}/libffi/ChangeLog
+ fi
+ )
+
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/libjava
+ ( cd libjava
+ cp -a \
+ COPYING* HACKING LIBGCJ_LICENSE \
+ NEWS README* THANKS \
+ $PKG/usr/doc/gcc-${VERSION}/libjava
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/gcc-${VERSION}/libjava/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/gcc-${VERSION}/libjava/ChangeLog
+ fi
+ )
+
+ if [ -d libmudflap ]; then
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/libmudflap
+ ( cd libmudflap
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/gcc-${VERSION}/libmudflap/ChangeLog
+ fi
+ )
+ fi
+
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/libgomp
+ ( cd libgomp
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/gcc-${VERSION}/libgomp/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/gcc-${VERSION}/libgomp/ChangeLog
+ fi
+ )
+
+ mkdir -p $PKG/usr/doc/gcc-${VERSION}/libstdc++-v3
+ ( cd libstdc++-v3
+ cp -a \
+ README* \
+ doc/html/faq.html \
+ $PKG/usr/doc/gcc-${VERSION}/libstdc++-v3
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog
+ fi
+ )
+)
+
+# Add fastjar to the gcc5 package:
+( cd $TMP
+ FASTJARVER=$(echo $CWD/fastjar-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+ echo
+ echo "Building fastjar-$FASTJARVER first"
+ echo
+ rm -rf fastjar-$FASTJARVER
+ tar xvf $CWD/fastjar-$FASTJARVER.tar.?z* || exit 1
+ cd fastjar-$FASTJARVER || exit 1
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -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 {} \;
+ for patch in $CWD/fastjar-patches/* ; do
+ cat $patch | patch -p1 --verbose || exit 1
+ done
+ LDFLAGS="$SLKLDFLAGS" \
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$TARGET
+ make || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/fastjar-$FASTJARVER
+ cp -a \
+ AUTHORS CHANGES COPYING* INSTALL NEWS README* TODO \
+ $PKG/usr/doc/fastjar-$FASTJARVER
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/fastjar-$FASTJARVER)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ # Compress and if needed symlink the man pages:
+ if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+ fi
+ # Compress info files, if any:
+ if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+ echo
+) || exit 1
+
+# build gcc
+( mkdir gcc.build.lnx;
+ cd gcc.build.lnx;
+
+ # I think it's incorrect to include this option (as it'll end up set
+ # to i586 on x86 platforms), and we want to tune the binary structure
+ # for i686, as that's where almost all of the optimization speedups
+ # are to be found.
+ # Correct me if my take on this is wrong.
+ # --with-cpu=$ARCH
+
+ # NOTE: For Slackware 15.0, look into removing --with-default-libstdcxx-abi=gcc4-compatible,
+ # which will then require rebuilding all C++ libraries. That is, if there's any benefit.
+
+ LDFLAGS="$SLKLDFLAGS" \
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ ../gcc-$VERSION/configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --enable-shared \
+ --enable-bootstrap \
+ --enable-languages=${LANGS} \
+ --enable-threads=posix \
+ --enable-checking=release \
+ --enable-objc-gc \
+ --with-system-zlib \
+ --with-python-dir=/lib$LIBDIRSUFFIX/python2.7/site-packages \
+ --enable-libstdcxx-dual-abi \
+ --with-default-libstdcxx-abi=gcc4-compatible \
+ --disable-libunwind-exceptions \
+ --enable-__cxa_atexit \
+ --enable-libssp \
+ --enable-lto \
+ --disable-install-libiberty \
+ --with-gnu-ld \
+ --verbose \
+ --enable-java-home \
+ --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \
+ --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \
+ --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \
+ --with-arch-directory=$LIB_ARCH \
+ --with-antlr-jar=$ANTLJAR \
+ --program-suffix=-${MAJVER} \
+ --enable-version-specific-runtime-libs \
+ $GCC_ARCHOPTS \
+ --target=${TARGET} \
+ --build=${TARGET} \
+ --host=${TARGET} || exit 1
+ #--enable-java-awt=gtk \
+ #--disable-gtktest \
+
+ # Start the build:
+
+ # Include all debugging info (for now):
+ make bootstrap
+ make info
+ make install DESTDIR=$PKG
+
+# KLUDGE ALERT
+# These *gdb.py files are causing ldconfig to complain, so they are going
+# to be REMOVED for now... at some point, they might be moved somewhere
+# else, in which case things should Just Work(tm). Keep an eye on it.
+rm -f $PKG/usr/lib*/*gdb.py
+
+# Be sure the "specs" file is installed.
+if [ ! -r $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs ]; then
+ cat stage1-gcc/specs > $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs
+fi
+
+if [ ${MULTILIB} = "NO" ]; then
+ # Make our 64bit gcc look for 32bit gcc binaries in ./32 subdirectory:
+ # (only needed if gcc was compiled with disable-multilib)
+ if [ "$ARCH" = "x86_64" ]; then
+ sed -i 's#;.\(:../lib !m64 m32;\)$#;32\1#' \
+ $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs
+ fi
+fi
+
+make -i install-info DESTDIR=$PKG
+
+# Move potentially conflicting stuff to version specific subdirectory:
+if [ -d $PKG/usr/lib${LIBDIRSUFFIX} ]; then
+ mv $PKG/usr/lib${LIBDIRSUFFIX}/lib* $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/
+fi
+if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/lib${LIBDIRSUFFIX}/ ]; then
+ mv $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/lib${LIBDIRSUFFIX}/lib* $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/
+fi
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/libgcc_s.so.1
+if [ ${MULTILIB} = "YES" ]; then
+ if [ -d $PKG/usr/lib ]; then
+ mv $PKG/usr/lib/lib* $PKG/usr/lib/gcc/${TARGET}/${VERSION}/
+ fi
+ if [ -d $PKG/usr/lib/gcc/${TARGET}/lib/ ]; then
+ mv $PKG/usr/lib/gcc/${TARGET}/lib/lib* $PKG/usr/lib/gcc/${TARGET}/${VERSION}/
+ fi
+ chmod 755 $PKG/usr/lib/gcc/${TARGET}/${VERSION}/libgcc_s.so.1
+fi
+
+# The (huge) static GNU java libraries are not packaged. In nearly all
+# cases one or more dependencies will not be available as static anyway.
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libgcj.a
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libgcj-tools.a
+rm -f $PKG/usr/lib/libgcj.a
+rm -f $PKG/usr/lib/libgcj-tools.a
+
+# Fix stuff up:
+( cd $PKG/usr/info
+ rm dir
+ for eachinfo in *.info ; do
+ mv $eachinfo $(basename $eachinfo .info)-${MAJVER}.info
+ done
+ gzip -9 *
+)
+
+( cd $PKG/usr/bin
+ ln -sf g++-${MAJVER} c++-${MAJVER}
+ ln -sf gcc-${MAJVER} cc-${MAJVER}
+ # Improved versions of the Slackware c?9 scripts,
+ # it is safe to overwrite the originals:
+ cat $CWD/c89.sh > c89
+ cat $CWD/c99.sh > c99
+ chmod 755 c89 c99
+)
+
+( cd $PKG/usr/man
+ rm -r man7 # Part of the system gcc package
+ gzip -9 */*
+ cd man1
+ ln -sf g++-${MAJVER}.1.gz c++-${MAJVER}.1.gz
+ ln -sf gcc-${MAJVER}.1.gz cc-${MAJVER}.1.gz
+)
+
+# keep a log
+) 2>&1 | tee $TMP/gcc.build.log
+
+# Add profile scripts (non-executable by default) to make it easier
+# to set the environment for compiling with gcc5:
+mkdir -p $PKG/etc/profile.d
+cat $CWD/profile.d/gcc5.sh > $PKG/etc/profile.d/gcc5.sh
+cat $CWD/profile.d/gcc5.csh > $PKG/etc/profile.d/gcc5.csh
+chmod 644 $PKG/etc/profile.d/*
+
+# The ecj wrapper script:
+cat $CWD/ecj.sh | sed -e "s,@JAVADIR@,/usr/share/java," > $PKG/usr/bin/ecj
+chmod 755 $PKG/usr/bin/ecj
+# Some compatibility links.
+for JAVAPROG in gcj gcjh gcj-dbtool gjar gjarsigner gjavah ; do
+ ln -s ${JAVAPROG}-${MAJVER} $PKG/usr/bin/${JAVAPROG}
+done
+( cd $PKG
+ for JAVALIB in usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/libgcj* ; do
+ ln -s /${JAVALIB} $PKG/usr/lib${LIBDIRSUFFIX}/
+ done
+)
+# And add the missing javac symlink:
+ln -s ../../../bin/ecj $PKG/usr/lib$LIBDIRSUFFIX/jvm/bin/javac
+# Don't package libffi stuff anymore. GCC will link the internal version
+# statically, and we'll need a newer one elsewhere.
+find . -name "ffi*.h" | xargs rm -f
+find . -name "libffi*" | xargs rm -f
+rm -f usr/man/man3/ffi*
+rm -f usr/info/libffi*
+# Install a proper pkgconfig file for libgcj:
+rm $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/pkgconfig/libgcj*pc
+rm $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/32/pkgconfig/libgcj*pc
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+cat $CWD/libgcj-5.pc \
+ | sed -e "s,@LIBDIRSUFFIX@,${LIBDIRSUFFIX}," \
+ | sed -e "s,@TARGET@,${TARGET}," \
+ | sed -e "s,@VERSION@,${VERSION}," \
+ > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/libgcj-5.pc
+
+# Filter all .la files (thanks much to Mark Post for the sed script):
+( cd $PKG
+ for file in $(find . -type f -name "*.la") ; do
+ cat $file | sed -e 's%-L'${TMP}'[[:graph:]]* % %g' > $TMP/tmp-la-file
+ cat $TMP/tmp-la-file > $file
+ done
+ rm $TMP/tmp-la-file
+)
+
+## Strip bloated binaries and libraries:
+( cd $PKG
+ find . -name "lib*so*" -exec strip --strip-unneeded "{}" \;
+ find . -name "lib*a" -exec strip -g "{}" \;
+ strip --strip-unneeded usr/bin/* 2> /dev/null
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Remove localizations overlapping with Slackware's gcc
+rm -rf $PKG/usr/share/locale
+
+( cd $PKG
+ if [ ${MULTILIB} = "YES" ]; then
+ /sbin/makepkg -l y -c n $OUTPUT/${PRGNAM}-${VERSION}_multilib-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+ else
+ /sbin/makepkg -l y -c n $OUTPUT/${PRGNAM}-${VERSION}-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+ fi
+)
diff --git a/development/gcc5/gcc5.info b/development/gcc5/gcc5.info
new file mode 100644
index 0000000000..cb7d761a98
--- /dev/null
+++ b/development/gcc5/gcc5.info
@@ -0,0 +1,17 @@
+PRGNAM="gcc5"
+VERSION="5.5.0"
+HOMEPAGE="https://gcc.gnu.org/"
+DOWNLOAD="https://ftp.gnu.org/gnu/gcc/gcc-5.5.0/gcc-5.5.0.tar.xz \
+ http://www.antlr3.org/download/antlr-runtime-3.4.jar \
+ https://sourceware.org/pub/java/ecj-4.9.jar \
+ https://download.savannah.gnu.org/releases/fastjar/fastjar-0.97.tar.gz"
+MD5SUM="0f70424213b4a1113c04ba66ddda0c1f \
+ 0e0318be407e51fdf7ba6777eabfdf73 \
+ 7339f199ba11c941890031fd9981d7be \
+ 2659f09c2e43ef8b7d4406321753f1b2"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Eric Hameleers"
+EMAIL="alien@slackware.com"
+
diff --git a/development/gcc5/libgcj-5.pc b/development/gcc5/libgcj-5.pc
new file mode 100644
index 0000000000..e2eb293209
--- /dev/null
+++ b/development/gcc5/libgcj-5.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib@LIBDIRSUFFIX@/gcc/@TARGET@/@VERSION@
+includedir=$(libdir)/include/
+
+Name: libgcj
+Description: libgcj
+Version: @VERSION@
+Libs: -L${libdir} -lgcj
+Cflags: -I${includedir}
diff --git a/development/gcc5/patches/0001-i386-Move-struct-ix86_frame-to-machine_function.diff b/development/gcc5/patches/0001-i386-Move-struct-ix86_frame-to-machine_function.diff
new file mode 100644
index 0000000000..413d75697f
--- /dev/null
+++ b/development/gcc5/patches/0001-i386-Move-struct-ix86_frame-to-machine_function.diff
@@ -0,0 +1,239 @@
+From 11a3b9034935080b9996caf07fca6353309006f1 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 15 Jan 2018 11:27:24 +0000
+Subject: [PATCH 1/9] i386: Move struct ix86_frame to machine_function
+
+Make ix86_frame available to i386 code generation. This is needed to
+backport the patch set of -mindirect-branch= to mitigate variant #2 of
+the speculative execution vulnerabilities on x86 processors identified
+by CVE-2017-5715, aka Spectre.
+
+ Backport from mainline
+ * config/i386/i386.c (ix86_frame): Moved to ...
+ * config/i386/i386.h (ix86_frame): Here.
+ (machine_function): Add frame.
+ * config/i386/i386.c (ix86_compute_frame_layout): Repace the
+ frame argument with &cfun->machine->frame.
+ (ix86_can_use_return_insn_p): Don't pass &frame to
+ ix86_compute_frame_layout. Copy frame from cfun->machine->frame.
+ (ix86_can_eliminate): Likewise.
+ (ix86_expand_prologue): Likewise.
+ (ix86_expand_epilogue): Likewise.
+ (ix86_expand_split_stack_prologue): Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256691 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ src/gcc/config/i386/i386.c | 68 ++++++++-------------------------------------
+ src/gcc/config/i386/i386.h | 53 ++++++++++++++++++++++++++++++++++-
+ 2 files changed, 65 insertions(+), 56 deletions(-)
+
+Index: b/src/gcc/config/i386/i386.c
+===================================================================
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -2306,53 +2306,6 @@ struct GTY(()) stack_local_entry {
+ struct stack_local_entry *next;
+ };
+
+-/* Structure describing stack frame layout.
+- Stack grows downward:
+-
+- [arguments]
+- <- ARG_POINTER
+- saved pc
+-
+- saved static chain if ix86_static_chain_on_stack
+-
+- saved frame pointer if frame_pointer_needed
+- <- HARD_FRAME_POINTER
+- [saved regs]
+- <- regs_save_offset
+- [padding0]
+-
+- [saved SSE regs]
+- <- sse_regs_save_offset
+- [padding1] |
+- | <- FRAME_POINTER
+- [va_arg registers] |
+- |
+- [frame] |
+- |
+- [padding2] | = to_allocate
+- <- STACK_POINTER
+- */
+-struct ix86_frame
+-{
+- int nsseregs;
+- int nregs;
+- int va_arg_size;
+- int red_zone_size;
+- int outgoing_arguments_size;
+-
+- /* The offsets relative to ARG_POINTER. */
+- HOST_WIDE_INT frame_pointer_offset;
+- HOST_WIDE_INT hard_frame_pointer_offset;
+- HOST_WIDE_INT stack_pointer_offset;
+- HOST_WIDE_INT hfp_save_offset;
+- HOST_WIDE_INT reg_save_offset;
+- HOST_WIDE_INT sse_reg_save_offset;
+-
+- /* When save_regs_using_mov is set, emit prologue using
+- move instead of push instructions. */
+- bool save_regs_using_mov;
+-};
+-
+ /* Which cpu are we scheduling for. */
+ enum attr_cpu ix86_schedule;
+
+@@ -2443,7 +2396,7 @@ static unsigned int ix86_function_arg_bo
+ const_tree);
+ static rtx ix86_static_chain (const_tree, bool);
+ static int ix86_function_regparm (const_tree, const_tree);
+-static void ix86_compute_frame_layout (struct ix86_frame *);
++static void ix86_compute_frame_layout (void);
+ static bool ix86_expand_vector_init_one_nonzero (bool, machine_mode,
+ rtx, rtx, int);
+ static void ix86_add_new_builtins (HOST_WIDE_INT);
+@@ -9664,7 +9617,8 @@ ix86_can_use_return_insn_p (void)
+ if (crtl->args.pops_args && crtl->args.size >= 32768)
+ return 0;
+
+- ix86_compute_frame_layout (&frame);
++ ix86_compute_frame_layout ();
++ frame = cfun->machine->frame;
+ return (frame.stack_pointer_offset == UNITS_PER_WORD
+ && (frame.nregs + frame.nsseregs) == 0);
+ }
+@@ -10073,8 +10027,8 @@ ix86_can_eliminate (const int from, cons
+ HOST_WIDE_INT
+ ix86_initial_elimination_offset (int from, int to)
+ {
+- struct ix86_frame frame;
+- ix86_compute_frame_layout (&frame);
++ ix86_compute_frame_layout ();
++ struct ix86_frame frame = cfun->machine->frame;
+
+ if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM)
+ return frame.hard_frame_pointer_offset;
+@@ -10113,8 +10067,9 @@ ix86_builtin_setjmp_frame_value (void)
+ /* Fill structure ix86_frame about frame of currently computed function. */
+
+ static void
+-ix86_compute_frame_layout (struct ix86_frame *frame)
++ix86_compute_frame_layout (void)
+ {
++ struct ix86_frame *frame = &cfun->machine->frame;
+ unsigned HOST_WIDE_INT stack_alignment_needed;
+ HOST_WIDE_INT offset;
+ unsigned HOST_WIDE_INT preferred_alignment;
+@@ -11417,7 +11372,8 @@ ix86_expand_prologue (void)
+ m->fs.sp_offset = INCOMING_FRAME_SP_OFFSET;
+ m->fs.sp_valid = true;
+
+- ix86_compute_frame_layout (&frame);
++ ix86_compute_frame_layout ();
++ frame = m->frame;
+
+ if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl))
+ {
+@@ -12083,7 +12039,8 @@ ix86_expand_epilogue (int style)
+ bool using_drap;
+
+ ix86_finalize_stack_realign_flags ();
+- ix86_compute_frame_layout (&frame);
++ ix86_compute_frame_layout ();
++ frame = m->frame;
+
+ m->fs.sp_valid = (!frame_pointer_needed
+ || (crtl->sp_is_unchanging
+@@ -12546,7 +12503,8 @@ ix86_expand_split_stack_prologue (void)
+ gcc_assert (flag_split_stack && reload_completed);
+
+ ix86_finalize_stack_realign_flags ();
+- ix86_compute_frame_layout (&frame);
++ ix86_compute_frame_layout ();
++ frame = cfun->machine->frame;
+ allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET;
+
+ /* This is the label we will branch to if we have enough stack
+Index: b/src/gcc/config/i386/i386.h
+===================================================================
+--- a/src/gcc/config/i386/i386.h
++++ b/src/gcc/config/i386/i386.h
+@@ -2409,9 +2409,56 @@ enum avx_u128_state
+
+ #define FASTCALL_PREFIX '@'
+
++#ifndef USED_FOR_TARGET
++/* Structure describing stack frame layout.
++ Stack grows downward:
++
++ [arguments]
++ <- ARG_POINTER
++ saved pc
++
++ saved static chain if ix86_static_chain_on_stack
++
++ saved frame pointer if frame_pointer_needed
++ <- HARD_FRAME_POINTER
++ [saved regs]
++ <- regs_save_offset
++ [padding0]
++
++ [saved SSE regs]
++ <- sse_regs_save_offset
++ [padding1] |
++ | <- FRAME_POINTER
++ [va_arg registers] |
++ |
++ [frame] |
++ |
++ [padding2] | = to_allocate
++ <- STACK_POINTER
++ */
++struct GTY(()) ix86_frame
++{
++ int nsseregs;
++ int nregs;
++ int va_arg_size;
++ int red_zone_size;
++ int outgoing_arguments_size;
++
++ /* The offsets relative to ARG_POINTER. */
++ HOST_WIDE_INT frame_pointer_offset;
++ HOST_WIDE_INT hard_frame_pointer_offset;
++ HOST_WIDE_INT stack_pointer_offset;
++ HOST_WIDE_INT hfp_save_offset;
++ HOST_WIDE_INT reg_save_offset;
++ HOST_WIDE_INT sse_reg_save_offset;
++
++ /* When save_regs_using_mov is set, emit prologue using
++ move instead of push instructions. */
++ bool save_regs_using_mov;
++};
++
+ /* Machine specific frame tracking during prologue/epilogue generation. */
+
+-#ifndef USED_FOR_TARGET
+ struct GTY(()) machine_frame_state
+ {
+ /* This pair tracks the currently active CFA as reg+offset. When reg
+@@ -2457,6 +2504,9 @@ struct GTY(()) machine_function {
+ int varargs_fpr_size;
+ int optimize_mode_switching[MAX_386_ENTITIES];
+
++ /* Cached initial frame layout for the current function. */
++ struct ix86_frame frame;
++
+ /* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE
+ has been computed for. */
+ int use_fast_prologue_epilogue_nregs;
+@@ -2524,6 +2574,7 @@ struct GTY(()) machine_function {
+ #define ix86_current_function_calls_tls_descriptor \
+ (ix86_tls_descriptor_calls_expanded_in_cfun && df_regs_ever_live_p (SP_REG))
+ #define ix86_static_chain_on_stack (cfun->machine->static_chain_on_stack)
++#define ix86_red_zone_size (cfun->machine->frame.red_zone_size)
+
+ /* Control behavior of x86_file_start. */
+ #define X86_FILE_START_VERSION_DIRECTIVE false
diff --git a/development/gcc5/patches/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff b/development/gcc5/patches/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff
new file mode 100644
index 0000000000..7b928df765
--- /dev/null
+++ b/development/gcc5/patches/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff
@@ -0,0 +1,72 @@
+From 18202ba32cb8de22fc43a5839235a751d0f5c4d9 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 15 Jan 2018 11:28:44 +0000
+Subject: [PATCH 2/9] i386: Use reference of struct ix86_frame to avoid copy
+
+When there is no need to make a copy of ix86_frame, we can use reference
+of struct ix86_frame to avoid copy.
+
+ Backport from mainline
+ * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
+ of struct ix86_frame.
+ (ix86_initial_elimination_offset): Likewise.
+ (ix86_expand_split_stack_prologue): Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256692 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/config/i386/i386.c | 9 +++------
+ gcc/testsuite/ChangeLog | 8 ++++++++
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 8133372..397ef7c 100644
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -11843,8 +11843,6 @@ symbolic_reference_mentioned_p (rtx op)
+ bool
+ ix86_can_use_return_insn_p (void)
+ {
+- struct ix86_frame frame;
+-
+ if (! reload_completed || frame_pointer_needed)
+ return 0;
+
+@@ -11857,7 +11855,7 @@ ix86_can_use_return_insn_p (void)
+ return 0;
+
+ ix86_compute_frame_layout ();
+- frame = cfun->machine->frame;
++ struct ix86_frame &frame = cfun->machine->frame;
+ return (frame.stack_pointer_offset == UNITS_PER_WORD
+ && (frame.nregs + frame.nsseregs) == 0);
+ }
+@@ -12344,7 +12342,7 @@ HOST_WIDE_INT
+ ix86_initial_elimination_offset (int from, int to)
+ {
+ ix86_compute_frame_layout ();
+- struct ix86_frame frame = cfun->machine->frame;
++ struct ix86_frame &frame = cfun->machine->frame;
+
+ if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM)
+ return frame.hard_frame_pointer_offset;
+@@ -14860,7 +14858,6 @@ static GTY(()) rtx split_stack_fn_large;
+ void
+ ix86_expand_split_stack_prologue (void)
+ {
+- struct ix86_frame frame;
+ HOST_WIDE_INT allocate;
+ unsigned HOST_WIDE_INT args_size;
+ rtx_code_label *label;
+@@ -14873,7 +14870,7 @@ ix86_expand_split_stack_prologue (void)
+
+ ix86_finalize_stack_realign_flags ();
+ ix86_compute_frame_layout ();
+- frame = cfun->machine->frame;
++ struct ix86_frame &frame = cfun->machine->frame;
+ allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET;
+
+ /* This is the label we will branch to if we have enough stack
+--
+2.7.4
+
diff --git a/development/gcc5/patches/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff b/development/gcc5/patches/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff
new file mode 100644
index 0000000000..f6f30d1d22
--- /dev/null
+++ b/development/gcc5/patches/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff
@@ -0,0 +1,59 @@
+From 839ca2d69157ef03c8df0ab912dacdb991738694 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 15 Jan 2018 11:33:42 +0000
+Subject: [PATCH 3/9] i386: More use reference of struct ix86_frame to avoid copy
+
+When there is no need to make a copy of ix86_frame, we can use reference
+of struct ix86_frame to avoid copy.
+
+ Backport from mainline
+ * config/i386/i386.c (ix86_expand_prologue): Use reference of
+ struct ix86_frame.
+ (ix86_expand_epilogue): Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256695 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 7 +++++++
+ gcc/config/i386/i386.c | 6 ++----
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 397ef7c..986e6d7 100644
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -13667,7 +13667,6 @@ ix86_expand_prologue (void)
+ {
+ struct machine_function *m = cfun->machine;
+ rtx insn, t;
+- struct ix86_frame frame;
+ HOST_WIDE_INT allocate;
+ bool int_registers_saved;
+ bool sse_registers_saved;
+@@ -13691,7 +13690,7 @@ ix86_expand_prologue (void)
+ m->fs.sp_valid = true;
+
+ ix86_compute_frame_layout ();
+- frame = m->frame;
++ struct ix86_frame &frame = cfun->machine->frame;
+
+ if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl))
+ {
+@@ -14354,13 +14353,12 @@ ix86_expand_epilogue (int style)
+ {
+ struct machine_function *m = cfun->machine;
+ struct machine_frame_state frame_state_save = m->fs;
+- struct ix86_frame frame;
+ bool restore_regs_via_mov;
+ bool using_drap;
+
+ ix86_finalize_stack_realign_flags ();
+ ix86_compute_frame_layout ();
+- frame = m->frame;
++ struct ix86_frame &frame = cfun->machine->frame;
+
+ m->fs.sp_valid = (!frame_pointer_needed
+ || (crtl->sp_is_unchanging
+--
+2.7.4
+
diff --git a/development/gcc5/patches/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff b/development/gcc5/patches/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff
new file mode 100644
index 0000000000..7678444cd7
--- /dev/null
+++ b/development/gcc5/patches/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff
@@ -0,0 +1,63 @@
+From c25b81ba01fa9ac0c1baa3aabd64190c47928f03 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 12:49:29 +0000
+Subject: [PATCH 4/9] i386: Don't use reference of struct ix86_frame
+
+Use reference of struct ix86_frame in ix86_expand_prologue and
+ix86_expand_epilogue caused:
+
+raised STORAGE_ERROR : stack overflow or erroneous memory access
+make[5]: *** [/export/gnu/import/git/sources/gcc/gcc/ada/Make-generated.in:45: ada/sinfo.h] Error 1
+
+on trunk when bootstrapping GCC with ada on x86-64.
+
+ * config/i386/i386.c (ix86_expand_prologue): Don't use reference
+ of struct ix86_frame.
+ (ix86_expand_epilogue): Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256742 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 10 ++++++++++
+ gcc/config/i386/i386.c | 6 ++++--
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index e758387..ba2abc5 100644
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -14061,6 +14061,7 @@ ix86_expand_prologue (void)
+ {
+ struct machine_function *m = cfun->machine;
+ rtx insn, t;
++ struct ix86_frame frame;
+ HOST_WIDE_INT allocate;
+ bool int_registers_saved;
+ bool sse_registers_saved;
+@@ -14084,7 +14085,7 @@ ix86_expand_prologue (void)
+ m->fs.sp_valid = true;
+
+ ix86_compute_frame_layout ();
+- struct ix86_frame &frame = cfun->machine->frame;
++ frame = m->frame;
+
+ if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl))
+ {
+@@ -14747,12 +14748,13 @@ ix86_expand_epilogue (int style)
+ {
+ struct machine_function *m = cfun->machine;
+ struct machine_frame_state frame_state_save = m->fs;
++ struct ix86_frame frame;
+ bool restore_regs_via_mov;
+ bool using_drap;
+
+ ix86_finalize_stack_realign_flags ();
+ ix86_compute_frame_layout ();
+- struct ix86_frame &frame = cfun->machine->frame;
++ frame = m->frame;
+
+ m->fs.sp_valid = (!frame_pointer_needed
+ || (crtl->sp_is_unchanging
+--
+2.7.4
+
diff --git a/development/gcc5/patches/0005-x86-Add-mindirect-branch-doc.diff b/development/gcc5/patches/0005-x86-Add-mindirect-branch-doc.diff
new file mode 100644
index 0000000000..bcaf572b1e
--- /dev/null
+++ b/development/gcc5/patches/0005-x86-Add-mindirect-branch-doc.diff
@@ -0,0 +1,279 @@
+From c6b72be421ded17e0c156070ba6e90aa6c335ed6 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 10:59:42 +0000
+Subject: [PATCH 5/9] x86: Add -mindirect-branch= (documentation)
+
+Add -mindirect-branch= option to convert indirect call and jump to call
+and return thunks. The default is 'keep', which keeps indirect call and
+jump unmodified. 'thunk' converts indirect call and jump to call and
+return thunk. 'thunk-inline' converts indirect call and jump to inlined
+call and return thunk. 'thunk-extern' converts indirect call and jump to
+external call and return thunk provided in a separate object file. You
+can control this behavior for a specific function by using the function
+attribute indirect_branch.
+
+2 kinds of thunks are geneated. Memory thunk where the function address
+is at the top of the stack:
+
+__x86_indirect_thunk:
+ call L2
+L1:
+ pause
+ lfence
+ jmp L1
+L2:
+ lea 8(%rsp), %rsp|lea 4(%esp), %esp
+ ret
+
+Indirect jmp via memory, "jmp mem", is converted to
+
+ push memory
+ jmp __x86_indirect_thunk
+
+Indirect call via memory, "call mem", is converted to
+
+ jmp L2
+L1:
+ push [mem]
+ jmp __x86_indirect_thunk
+L2:
+ call L1
+
+Register thunk where the function address is in a register, reg:
+
+__x86_indirect_thunk_reg:
+ call L2
+L1:
+ pause
+ lfence
+ jmp L1
+L2:
+ movq %reg, (%rsp)|movl %reg, (%esp)
+ ret
+
+where reg is one of (r|e)ax, (r|e)dx, (r|e)cx, (r|e)bx, (r|e)si, (r|e)di,
+(r|e)bp, r8, r9, r10, r11, r12, r13, r14 and r15.
+
+Indirect jmp via register, "jmp reg", is converted to
+
+ jmp __x86_indirect_thunk_reg
+
+Indirect call via register, "call reg", is converted to
+
+ call __x86_indirect_thunk_reg
+
+gcc/
+
+ Backport from mainline
+ * config/i386/i386-opts.h (indirect_branch): New.
+ * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise.
+ * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone
+ with local indirect jump when converting indirect call and jump.
+ (ix86_set_indirect_branch_type): New.
+ (ix86_set_current_function): Call ix86_set_indirect_branch_type.
+ (indirectlabelno): New.
+ (indirect_thunk_needed): Likewise.
+ (indirect_thunk_bnd_needed): Likewise.
+ (indirect_thunks_used): Likewise.
+ (indirect_thunks_bnd_used): Likewise.
+ (INDIRECT_LABEL): Likewise.
+ (indirect_thunk_name): Likewise.
+ (output_indirect_thunk): Likewise.
+ (output_indirect_thunk_function): Likewise.
+ (ix86_output_indirect_branch_via_reg): Likewise.
+ (ix86_output_indirect_branch_via_push): Likewise.
+ (ix86_output_indirect_branch): Likewise.
+ (ix86_output_indirect_jmp): Likewise.
+ (ix86_code_end): Call output_indirect_thunk_function if needed.
+ (ix86_output_call_insn): Call ix86_output_indirect_branch if
+ needed.
+ (ix86_handle_fndecl_attribute): Handle indirect_branch.
+ (ix86_attribute_table): Add indirect_branch.
+ * config/i386/i386.h (machine_function): Add indirect_branch_type
+ and has_local_indirect_jump.
+ * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump
+ to true.
+ (tablejump): Likewise.
+ (*indirect_jump): Use ix86_output_indirect_jmp.
+ (*tablejump_1): Likewise.
+ (simple_return_indirect_internal): Likewise.
+ * config/i386/i386.opt (mindirect-branch=): New option.
+ (indirect_branch): New.
+ (keep): Likewise.
+ (thunk): Likewise.
+ (thunk-inline): Likewise.
+ (thunk-extern): Likewise.
+ * doc/extend.texi: Document indirect_branch function attribute.
+ * doc/invoke.texi: Document -mindirect-branch= option.
+
+gcc/testsuite/
+
+ Backport from mainline
+ * gcc.target/i386/indirect-thunk-1.c: New test.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-8.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256732 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[UBUNTU NOTES: Updated for gcc-5.4 to include defines for
+ FIRST_INT_REG, LAST_INT_REG, and LEGACY_INT_REGNO_P as defined in
+ https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=222269.
+ Dropped indirect-thunk-5.c, indirect-thunk-6.c,
+ indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c,
+ indirect-thunk-extern-5.c, indirect-thunk-extern-6.c,
+ indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due
+ to gcc 5.4 and earlier not supporting the -fno-plt option.
+ --sbeattie, tyhicks]
+---
+ src/gcc/config/i386/i386-opts.h | 13
+ src/gcc/config/i386/i386-protos.h | 1
+ src/gcc/config/i386/i386.c | 621 +++++++++++-
+ src/gcc/config/i386/i386.h | 12
+ src/gcc/config/i386/i386.md | 26
+ src/gcc/config/i386/i386.opt | 20
+ src/gcc/doc/extend.texi | 10
+ src/gcc/doc/invoke.texi | 14
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 44
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 23
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 23
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 22
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 22
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 44
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 42
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 19
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 19
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 43
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 44
+ 33 files changed, 1334 insertions(+), 15 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+
+Index: b/src/gcc/doc/extend.texi
+===================================================================
+--- a/src/gcc/doc/extend.texi
++++ b/src/gcc/doc/extend.texi
+@@ -4119,6 +4119,16 @@ Specify which floating-point unit to use
+ @code{target("fpmath=sse,387")} option must be specified as
+ @code{target("fpmath=sse+387")} because the comma would separate
+ different options.
++
++@item indirect_branch("@var{choice}")
++@cindex @code{indirect_branch} function attribute, x86
++On x86 targets, the @code{indirect_branch} attribute causes the compiler
++to convert indirect call and jump with @var{choice}. @samp{keep}
++keeps indirect call and jump unmodified. @samp{thunk} converts indirect
++call and jump to call and return thunk. @samp{thunk-inline} converts
++indirect call and jump to inlined call and return thunk.
++@samp{thunk-extern} converts indirect call and jump to external call
++and return thunk provided in a separate object file.
+ @end table
+
+ On the PowerPC, the following options are allowed:
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -1090,7 +1090,8 @@ See RS/6000 and PowerPC Options.
+ -m32 -m64 -mx32 -m16 -mlarge-data-threshold=@var{num} @gol
+ -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol
+ -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol
+--malign-data=@var{type} -mstack-protector-guard=@var{guard}}
++-malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol
++-mindirect-branch=@var{choice}}
+
+ @emph{x86 Windows Options}
+ @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol
+@@ -24017,6 +24018,17 @@ The default value of this option is enab
+ of the option is @option{-fno-sync-libcalls}. This option is used in
+ the implementation of the @file{libatomic} runtime library.
+
++@item -mindirect-branch=@var{choice}
++@opindex -mindirect-branch
++Convert indirect call and jump with @var{choice}. The default is
++@samp{keep}, which keeps indirect call and jump unmodified.
++@samp{thunk} converts indirect call and jump to call and return thunk.
++@samp{thunk-inline} converts indirect call and jump to inlined call
++and return thunk. @samp{thunk-extern} converts indirect call and jump
++to external call and return thunk provided in a separate object file.
++You can control this behavior for a specific function by using the
++function attribute @code{indirect_branch}. @xref{Function Attributes}.
++
+ @end table
+
+ @c man end
diff --git a/development/gcc5/patches/0005-x86-Add-mindirect-branch.diff b/development/gcc5/patches/0005-x86-Add-mindirect-branch.diff
new file mode 100644
index 0000000000..db9690ccc1
--- /dev/null
+++ b/development/gcc5/patches/0005-x86-Add-mindirect-branch.diff
@@ -0,0 +1,1870 @@
+From c6b72be421ded17e0c156070ba6e90aa6c335ed6 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 10:59:42 +0000
+Subject: [PATCH 5/9] x86: Add -mindirect-branch=
+
+Add -mindirect-branch= option to convert indirect call and jump to call
+and return thunks. The default is 'keep', which keeps indirect call and
+jump unmodified. 'thunk' converts indirect call and jump to call and
+return thunk. 'thunk-inline' converts indirect call and jump to inlined
+call and return thunk. 'thunk-extern' converts indirect call and jump to
+external call and return thunk provided in a separate object file. You
+can control this behavior for a specific function by using the function
+attribute indirect_branch.
+
+2 kinds of thunks are geneated. Memory thunk where the function address
+is at the top of the stack:
+
+__x86_indirect_thunk:
+ call L2
+L1:
+ pause
+ lfence
+ jmp L1
+L2:
+ lea 8(%rsp), %rsp|lea 4(%esp), %esp
+ ret
+
+Indirect jmp via memory, "jmp mem", is converted to
+
+ push memory
+ jmp __x86_indirect_thunk
+
+Indirect call via memory, "call mem", is converted to
+
+ jmp L2
+L1:
+ push [mem]
+ jmp __x86_indirect_thunk
+L2:
+ call L1
+
+Register thunk where the function address is in a register, reg:
+
+__x86_indirect_thunk_reg:
+ call L2
+L1:
+ pause
+ lfence
+ jmp L1
+L2:
+ movq %reg, (%rsp)|movl %reg, (%esp)
+ ret
+
+where reg is one of (r|e)ax, (r|e)dx, (r|e)cx, (r|e)bx, (r|e)si, (r|e)di,
+(r|e)bp, r8, r9, r10, r11, r12, r13, r14 and r15.
+
+Indirect jmp via register, "jmp reg", is converted to
+
+ jmp __x86_indirect_thunk_reg
+
+Indirect call via register, "call reg", is converted to
+
+ call __x86_indirect_thunk_reg
+
+gcc/
+
+ Backport from mainline
+ * config/i386/i386-opts.h (indirect_branch): New.
+ * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise.
+ * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone
+ with local indirect jump when converting indirect call and jump.
+ (ix86_set_indirect_branch_type): New.
+ (ix86_set_current_function): Call ix86_set_indirect_branch_type.
+ (indirectlabelno): New.
+ (indirect_thunk_needed): Likewise.
+ (indirect_thunk_bnd_needed): Likewise.
+ (indirect_thunks_used): Likewise.
+ (indirect_thunks_bnd_used): Likewise.
+ (INDIRECT_LABEL): Likewise.
+ (indirect_thunk_name): Likewise.
+ (output_indirect_thunk): Likewise.
+ (output_indirect_thunk_function): Likewise.
+ (ix86_output_indirect_branch_via_reg): Likewise.
+ (ix86_output_indirect_branch_via_push): Likewise.
+ (ix86_output_indirect_branch): Likewise.
+ (ix86_output_indirect_jmp): Likewise.
+ (ix86_code_end): Call output_indirect_thunk_function if needed.
+ (ix86_output_call_insn): Call ix86_output_indirect_branch if
+ needed.
+ (ix86_handle_fndecl_attribute): Handle indirect_branch.
+ (ix86_attribute_table): Add indirect_branch.
+ * config/i386/i386.h (machine_function): Add indirect_branch_type
+ and has_local_indirect_jump.
+ * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump
+ to true.
+ (tablejump): Likewise.
+ (*indirect_jump): Use ix86_output_indirect_jmp.
+ (*tablejump_1): Likewise.
+ (simple_return_indirect_internal): Likewise.
+ * config/i386/i386.opt (mindirect-branch=): New option.
+ (indirect_branch): New.
+ (keep): Likewise.
+ (thunk): Likewise.
+ (thunk-inline): Likewise.
+ (thunk-extern): Likewise.
+ * doc/extend.texi: Document indirect_branch function attribute.
+ * doc/invoke.texi: Document -mindirect-branch= option.
+
+gcc/testsuite/
+
+ Backport from mainline
+ * gcc.target/i386/indirect-thunk-1.c: New test.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-8.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256732 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[UBUNTU NOTES: Updated for gcc-5.4 to include defines for
+ FIRST_INT_REG, LAST_INT_REG, and LEGACY_INT_REGNO_P as defined in
+ https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=222269.
+ Dropped indirect-thunk-5.c, indirect-thunk-6.c,
+ indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c,
+ indirect-thunk-extern-5.c, indirect-thunk-extern-6.c,
+ indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due
+ to gcc 5.4 and earlier not supporting the -fno-plt option.
+ --sbeattie, tyhicks]
+---
+ src/gcc/config/i386/i386-opts.h | 13
+ src/gcc/config/i386/i386-protos.h | 1
+ src/gcc/config/i386/i386.c | 621 +++++++++++-
+ src/gcc/config/i386/i386.h | 12
+ src/gcc/config/i386/i386.md | 26
+ src/gcc/config/i386/i386.opt | 20
+ src/gcc/doc/extend.texi | 10
+ src/gcc/doc/invoke.texi | 14
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 44
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 23
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 23
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 22
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 22
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 44
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 42
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 19
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 19
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 43
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 20
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 21
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 44
+ 33 files changed, 1334 insertions(+), 15 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+
+Index: b/src/gcc/config/i386/i386-opts.h
+===================================================================
+--- a/src/gcc/config/i386/i386-opts.h
++++ b/src/gcc/config/i386/i386-opts.h
+@@ -99,4 +99,17 @@ enum stack_protector_guard {
+ SSP_GLOBAL /* global canary */
+ };
+
++/* This is used to mitigate variant #2 of the speculative execution
++ vulnerabilities on x86 processors identified by CVE-2017-5715, aka
++ Spectre. They convert indirect branches and function returns to
++ call and return thunks to avoid speculative execution via indirect
++ call, jmp and ret. */
++enum indirect_branch {
++ indirect_branch_unset = 0,
++ indirect_branch_keep,
++ indirect_branch_thunk,
++ indirect_branch_thunk_inline,
++ indirect_branch_thunk_extern
++};
++
+ #endif
+Index: b/src/gcc/config/i386/i386-protos.h
+===================================================================
+--- a/src/gcc/config/i386/i386-protos.h
++++ b/src/gcc/config/i386/i386-protos.h
+@@ -306,6 +306,7 @@ extern enum attr_cpu ix86_schedule;
+ #endif
+
+ extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op);
++extern const char * ix86_output_indirect_jmp (rtx call_op, bool ret_p);
+
+ #ifdef RTX_CODE
+ /* Target data for multipass lookahead scheduling.
+Index: b/src/gcc/config/i386/i386.c
+===================================================================
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -2554,12 +2554,23 @@ make_pass_insert_vzeroupper (gcc::contex
+ return new pass_insert_vzeroupper (ctxt);
+ }
+
+-/* Return true if a red-zone is in use. */
++/* Return true if a red-zone is in use. We can't use red-zone when
++ there are local indirect jumps, like "indirect_jump" or "tablejump",
++ which jumps to another place in the function, since "call" in the
++ indirect thunk pushes the return address onto stack, destroying
++ red-zone.
++
++ TODO: If we can reserve the first 2 WORDs, for PUSH and, another
++ for CALL, in red-zone, we can allow local indirect jumps with
++ indirect thunk. */
+
+ static inline bool
+ ix86_using_red_zone (void)
+ {
+- return TARGET_RED_ZONE && !TARGET_64BIT_MS_ABI;
++ return (TARGET_RED_ZONE
++ && !TARGET_64BIT_MS_ABI
++ && (!cfun->machine->has_local_indirect_jump
++ || cfun->machine->indirect_branch_type == indirect_branch_keep));
+ }
+
+ /* Return a string that documents the current -m options. The caller is
+@@ -5126,6 +5137,37 @@ ix86_reset_previous_fndecl (void)
+ ix86_previous_fndecl = NULL_TREE;
+ }
+
++/* Set the indirect_branch_type field from the function FNDECL. */
++
++static void
++ix86_set_indirect_branch_type (tree fndecl)
++{
++ if (cfun->machine->indirect_branch_type == indirect_branch_unset)
++ {
++ tree attr = lookup_attribute ("indirect_branch",
++ DECL_ATTRIBUTES (fndecl));
++ if (attr != NULL)
++ {
++ tree args = TREE_VALUE (attr);
++ if (args == NULL)
++ gcc_unreachable ();
++ tree cst = TREE_VALUE (args);
++ if (strcmp (TREE_STRING_POINTER (cst), "keep") == 0)
++ cfun->machine->indirect_branch_type = indirect_branch_keep;
++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk") == 0)
++ cfun->machine->indirect_branch_type = indirect_branch_thunk;
++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-inline") == 0)
++ cfun->machine->indirect_branch_type = indirect_branch_thunk_inline;
++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-extern") == 0)
++ cfun->machine->indirect_branch_type = indirect_branch_thunk_extern;
++ else
++ gcc_unreachable ();
++ }
++ else
++ cfun->machine->indirect_branch_type = ix86_indirect_branch;
++ }
++}
++
+ /* Establish appropriate back-end context for processing the function
+ FNDECL. The argument might be NULL to indicate processing at top
+ level, outside of any function scope. */
+@@ -5136,7 +5178,11 @@ ix86_set_current_function (tree fndecl)
+ several times in the course of compiling a function, and we don't want to
+ slow things down too much or call target_reinit when it isn't safe. */
+ if (fndecl == ix86_previous_fndecl)
+- return;
++ {
++ if (fndecl != NULL_TREE)
++ ix86_set_indirect_branch_type (fndecl);
++ return;
++ }
+
+ tree old_tree;
+ if (ix86_previous_fndecl == NULL_TREE)
+@@ -5153,6 +5199,8 @@ ix86_set_current_function (tree fndecl)
+ return;
+ }
+
++ ix86_set_indirect_branch_type (fndecl);
++
+ tree new_tree = DECL_FUNCTION_SPECIFIC_TARGET (fndecl);
+ if (new_tree == NULL_TREE)
+ new_tree = target_option_default_node;
+@@ -9681,6 +9729,220 @@ ix86_setup_frame_addresses (void)
+ # endif
+ #endif
+
++/* Label count for call and return thunks. It is used to make unique
++ labels in call and return thunks. */
++static int indirectlabelno;
++
++/* True if call and return thunk functions are needed. */
++static bool indirect_thunk_needed = false;
++/* True if call and return thunk functions with the BND prefix are
++ needed. */
++static bool indirect_thunk_bnd_needed = false;
++
++/* Bit masks of integer registers, which contain branch target, used
++ by call and return thunks functions. */
++static int indirect_thunks_used;
++/* Bit masks of integer registers, which contain branch target, used
++ by call and return thunks functions with the BND prefix. */
++static int indirect_thunks_bnd_used;
++
++#ifndef INDIRECT_LABEL
++# define INDIRECT_LABEL "LIND"
++#endif
++
++/* Fills in the label name that should be used for the indirect thunk. */
++
++static void
++indirect_thunk_name (char name[32], int regno, bool need_bnd_p)
++{
++ if (USE_HIDDEN_LINKONCE)
++ {
++ const char *bnd = need_bnd_p ? "_bnd" : "";
++ if (regno >= 0)
++ {
++ const char *reg_prefix;
++ if (LEGACY_INT_REGNO_P (regno))
++ reg_prefix = TARGET_64BIT ? "r" : "e";
++ else
++ reg_prefix = "";
++ sprintf (name, "__x86_indirect_thunk%s_%s%s",
++ bnd, reg_prefix, reg_names[regno]);
++ }
++ else
++ sprintf (name, "__x86_indirect_thunk%s", bnd);
++ }
++ else
++ {
++ if (regno >= 0)
++ {
++ if (need_bnd_p)
++ ASM_GENERATE_INTERNAL_LABEL (name, "LITBR", regno);
++ else
++ ASM_GENERATE_INTERNAL_LABEL (name, "LITR", regno);
++ }
++ else
++ {
++ if (need_bnd_p)
++ ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0);
++ else
++ ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0);
++ }
++ }
++}
++
++/* Output a call and return thunk for indirect branch. If BND_P is
++ true, the BND prefix is needed. If REGNO != -1, the function
++ address is in REGNO and the call and return thunk looks like:
++
++ call L2
++ L1:
++ pause
++ jmp L1
++ L2:
++ mov %REG, (%sp)
++ ret
++
++ Otherwise, the function address is on the top of stack and the
++ call and return thunk looks like:
++
++ call L2
++ L1:
++ pause
++ jmp L1
++ L2:
++ lea WORD_SIZE(%sp), %sp
++ ret
++ */
++
++static void
++output_indirect_thunk (bool need_bnd_p, int regno)
++{
++ char indirectlabel1[32];
++ char indirectlabel2[32];
++
++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, INDIRECT_LABEL,
++ indirectlabelno++);
++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, INDIRECT_LABEL,
++ indirectlabelno++);
++
++ /* Call */
++ if (need_bnd_p)
++ fputs ("\tbnd call\t", asm_out_file);
++ else
++ fputs ("\tcall\t", asm_out_file);
++ assemble_name_raw (asm_out_file, indirectlabel2);
++ fputc ('\n', asm_out_file);
++
++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1);
++
++ /* Pause + lfence. */
++ fprintf (asm_out_file, "\tpause\n\tlfence\n");
++
++ /* Jump. */
++ fputs ("\tjmp\t", asm_out_file);
++ assemble_name_raw (asm_out_file, indirectlabel1);
++ fputc ('\n', asm_out_file);
++
++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2);
++
++ if (regno >= 0)
++ {
++ /* MOV. */
++ rtx xops[2];
++ xops[0] = gen_rtx_MEM (word_mode, stack_pointer_rtx);
++ xops[1] = gen_rtx_REG (word_mode, regno);
++ output_asm_insn ("mov\t{%1, %0|%0, %1}", xops);
++ }
++ else
++ {
++ /* LEA. */
++ rtx xops[2];
++ xops[0] = stack_pointer_rtx;
++ xops[1] = plus_constant (Pmode, stack_pointer_rtx, UNITS_PER_WORD);
++ output_asm_insn ("lea\t{%E1, %0|%0, %E1}", xops);
++ }
++
++ if (need_bnd_p)
++ fputs ("\tbnd ret\n", asm_out_file);
++ else
++ fputs ("\tret\n", asm_out_file);
++}
++
++/* Output a funtion with a call and return thunk for indirect branch.
++ If BND_P is true, the BND prefix is needed. If REGNO != -1, the
++ function address is in REGNO. Otherwise, the function address is
++ on the top of stack. */
++
++static void
++output_indirect_thunk_function (bool need_bnd_p, int regno)
++{
++ char name[32];
++ tree decl;
++
++ /* Create __x86_indirect_thunk/__x86_indirect_thunk_bnd. */
++ indirect_thunk_name (name, regno, need_bnd_p);
++ decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
++ get_identifier (name),
++ build_function_type_list (void_type_node, NULL_TREE));
++ DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL,
++ NULL_TREE, void_type_node);
++ TREE_PUBLIC (decl) = 1;
++ TREE_STATIC (decl) = 1;
++ DECL_IGNORED_P (decl) = 1;
++
++#if TARGET_MACHO
++ if (TARGET_MACHO)
++ {
++ switch_to_section (darwin_sections[picbase_thunk_section]);
++ fputs ("\t.weak_definition\t", asm_out_file);
++ assemble_name (asm_out_file, name);
++ fputs ("\n\t.private_extern\t", asm_out_file);
++ assemble_name (asm_out_file, name);
++ putc ('\n', asm_out_file);
++ ASM_OUTPUT_LABEL (asm_out_file, name);
++ DECL_WEAK (decl) = 1;
++ }
++ else
++#endif
++ if (USE_HIDDEN_LINKONCE)
++ {
++ cgraph_node::create (decl)->set_comdat_group (DECL_ASSEMBLER_NAME (decl));
++
++ targetm.asm_out.unique_section (decl, 0);
++ switch_to_section (get_named_section (decl, NULL, 0));
++
++ targetm.asm_out.globalize_label (asm_out_file, name);
++ fputs ("\t.hidden\t", asm_out_file);
++ assemble_name (asm_out_file, name);
++ putc ('\n', asm_out_file);
++ ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl);
++ }
++ else
++ {
++ switch_to_section (text_section);
++ ASM_OUTPUT_LABEL (asm_out_file, name);
++ }
++
++ DECL_INITIAL (decl) = make_node (BLOCK);
++ current_function_decl = decl;
++ allocate_struct_function (decl, false);
++ init_function_start (decl);
++ /* We're about to hide the function body from callees of final_* by
++ emitting it directly; tell them we're a thunk, if they care. */
++ cfun->is_thunk = true;
++ first_function_block_is_cold = false;
++ /* Make sure unwind info is emitted for the thunk if needed. */
++ final_start_function (emit_barrier (), asm_out_file, 1);
++
++ output_indirect_thunk (need_bnd_p, regno);
++
++ final_end_function ();
++ init_insn_lengths ();
++ free_after_compilation (cfun);
++ set_cfun (NULL);
++ current_function_decl = NULL;
++}
++
+ static int pic_labels_used;
+
+ /* Fills in the label name that should be used for a pc thunk for
+@@ -9707,11 +9969,32 @@ ix86_code_end (void)
+ rtx xops[2];
+ int regno;
+
++ if (indirect_thunk_needed)
++ output_indirect_thunk_function (false, -1);
++ if (indirect_thunk_bnd_needed)
++ output_indirect_thunk_function (true, -1);
++
++ for (regno = FIRST_REX_INT_REG; regno <= LAST_REX_INT_REG; regno++)
++ {
++ int i = regno - FIRST_REX_INT_REG + LAST_INT_REG + 1;
++ if ((indirect_thunks_used & (1 << i)))
++ output_indirect_thunk_function (false, regno);
++
++ if ((indirect_thunks_bnd_used & (1 << i)))
++ output_indirect_thunk_function (true, regno);
++ }
++
+ for (regno = AX_REG; regno <= SP_REG; regno++)
+ {
+ char name[32];
+ tree decl;
+
++ if ((indirect_thunks_used & (1 << regno)))
++ output_indirect_thunk_function (false, regno);
++
++ if ((indirect_thunks_bnd_used & (1 << regno)))
++ output_indirect_thunk_function (true, regno);
++
+ if (!(pic_labels_used & (1 << regno)))
+ continue;
+
+@@ -25805,12 +26088,292 @@ ix86_expand_call (rtx retval, rtx fnaddr
+ return call;
+ }
+
++/* Output indirect branch via a call and return thunk. CALL_OP is a
++ register which contains the branch target. XASM is the assembly
++ template for CALL_OP. Branch is a tail call if SIBCALL_P is true.
++ A normal call is converted to:
++
++ call __x86_indirect_thunk_reg
++
++ and a tail call is converted to:
++
++ jmp __x86_indirect_thunk_reg
++ */
++
++static void
++ix86_output_indirect_branch_via_reg (rtx call_op, bool sibcall_p)
++{
++ char thunk_name_buf[32];
++ char *thunk_name;
++ bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn);
++ int regno = REGNO (call_op);
++
++ if (cfun->machine->indirect_branch_type
++ != indirect_branch_thunk_inline)
++ {
++ if (cfun->machine->indirect_branch_type == indirect_branch_thunk)
++ {
++ int i = regno;
++ if (i >= FIRST_REX_INT_REG)
++ i -= (FIRST_REX_INT_REG - LAST_INT_REG - 1);
++ if (need_bnd_p)
++ indirect_thunks_bnd_used |= 1 << i;
++ else
++ indirect_thunks_used |= 1 << i;
++ }
++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p);
++ thunk_name = thunk_name_buf;
++ }
++ else
++ thunk_name = NULL;
++
++ if (sibcall_p)
++ {
++ if (thunk_name != NULL)
++ {
++ if (need_bnd_p)
++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name);
++ else
++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name);
++ }
++ else
++ output_indirect_thunk (need_bnd_p, regno);
++ }
++ else
++ {
++ if (thunk_name != NULL)
++ {
++ if (need_bnd_p)
++ fprintf (asm_out_file, "\tbnd call\t%s\n", thunk_name);
++ else
++ fprintf (asm_out_file, "\tcall\t%s\n", thunk_name);
++ return;
++ }
++
++ char indirectlabel1[32];
++ char indirectlabel2[32];
++
++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel1,
++ INDIRECT_LABEL,
++ indirectlabelno++);
++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel2,
++ INDIRECT_LABEL,
++ indirectlabelno++);
++
++ /* Jump. */
++ if (need_bnd_p)
++ fputs ("\tbnd jmp\t", asm_out_file);
++ else
++ fputs ("\tjmp\t", asm_out_file);
++ assemble_name_raw (asm_out_file, indirectlabel2);
++ fputc ('\n', asm_out_file);
++
++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1);
++
++ if (thunk_name != NULL)
++ {
++ if (need_bnd_p)
++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name);
++ else
++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name);
++ }
++ else
++ output_indirect_thunk (need_bnd_p, regno);
++
++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2);
++
++ /* Call. */
++ if (need_bnd_p)
++ fputs ("\tbnd call\t", asm_out_file);
++ else
++ fputs ("\tcall\t", asm_out_file);
++ assemble_name_raw (asm_out_file, indirectlabel1);
++ fputc ('\n', asm_out_file);
++ }
++}
++
++/* Output indirect branch via a call and return thunk. CALL_OP is
++ the branch target. XASM is the assembly template for CALL_OP.
++ Branch is a tail call if SIBCALL_P is true. A normal call is
++ converted to:
++
++ jmp L2
++ L1:
++ push CALL_OP
++ jmp __x86_indirect_thunk
++ L2:
++ call L1
++
++ and a tail call is converted to:
++
++ push CALL_OP
++ jmp __x86_indirect_thunk
++ */
++
++static void
++ix86_output_indirect_branch_via_push (rtx call_op, const char *xasm,
++ bool sibcall_p)
++{
++ char thunk_name_buf[32];
++ char *thunk_name;
++ char push_buf[64];
++ bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn);
++ int regno = -1;
++
++ if (cfun->machine->indirect_branch_type
++ != indirect_branch_thunk_inline)
++ {
++ if (cfun->machine->indirect_branch_type == indirect_branch_thunk)
++ {
++ if (need_bnd_p)
++ indirect_thunk_bnd_needed = true;
++ else
++ indirect_thunk_needed = true;
++ }
++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p);
++ thunk_name = thunk_name_buf;
++ }
++ else
++ thunk_name = NULL;
++
++ snprintf (push_buf, sizeof (push_buf), "push{%c}\t%s",
++ TARGET_64BIT ? 'q' : 'l', xasm);
++
++ if (sibcall_p)
++ {
++ output_asm_insn (push_buf, &call_op);
++ if (thunk_name != NULL)
++ {
++ if (need_bnd_p)
++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name);
++ else
++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name);
++ }
++ else
++ output_indirect_thunk (need_bnd_p, regno);
++ }
++ else
++ {
++ char indirectlabel1[32];
++ char indirectlabel2[32];
++
++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel1,
++ INDIRECT_LABEL,
++ indirectlabelno++);
++ ASM_GENERATE_INTERNAL_LABEL (indirectlabel2,
++ INDIRECT_LABEL,
++ indirectlabelno++);
++
++ /* Jump. */
++ if (need_bnd_p)
++ fputs ("\tbnd jmp\t", asm_out_file);
++ else
++ fputs ("\tjmp\t", asm_out_file);
++ assemble_name_raw (asm_out_file, indirectlabel2);
++ fputc ('\n', asm_out_file);
++
++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1);
++
++ /* An external function may be called via GOT, instead of PLT. */
++ if (MEM_P (call_op))
++ {
++ struct ix86_address parts;
++ rtx addr = XEXP (call_op, 0);
++ if (ix86_decompose_address (addr, &parts)
++ && parts.base == stack_pointer_rtx)
++ {
++ /* Since call will adjust stack by -UNITS_PER_WORD,
++ we must convert "disp(stack, index, scale)" to
++ "disp+UNITS_PER_WORD(stack, index, scale)". */
++ if (parts.index)
++ {
++ addr = gen_rtx_MULT (Pmode, parts.index,
++ GEN_INT (parts.scale));
++ addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx,
++ addr);
++ }
++ else
++ addr = stack_pointer_rtx;
++
++ rtx disp;
++ if (parts.disp != NULL_RTX)
++ disp = plus_constant (Pmode, parts.disp,
++ UNITS_PER_WORD);
++ else
++ disp = GEN_INT (UNITS_PER_WORD);
++
++ addr = gen_rtx_PLUS (Pmode, addr, disp);
++ call_op = gen_rtx_MEM (GET_MODE (call_op), addr);
++ }
++ }
++
++ output_asm_insn (push_buf, &call_op);
++
++ if (thunk_name != NULL)
++ {
++ if (need_bnd_p)
++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name);
++ else
++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name);
++ }
++ else
++ output_indirect_thunk (need_bnd_p, regno);
++
++ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2);
++
++ /* Call. */
++ if (need_bnd_p)
++ fputs ("\tbnd call\t", asm_out_file);
++ else
++ fputs ("\tcall\t", asm_out_file);
++ assemble_name_raw (asm_out_file, indirectlabel1);
++ fputc ('\n', asm_out_file);
++ }
++}
++
++/* Output indirect branch via a call and return thunk. CALL_OP is
++ the branch target. XASM is the assembly template for CALL_OP.
++ Branch is a tail call if SIBCALL_P is true. */
++
++static void
++ix86_output_indirect_branch (rtx call_op, const char *xasm,
++ bool sibcall_p)
++{
++ if (REG_P (call_op))
++ ix86_output_indirect_branch_via_reg (call_op, sibcall_p);
++ else
++ ix86_output_indirect_branch_via_push (call_op, xasm, sibcall_p);
++}
++/* Output indirect jump. CALL_OP is the jump target. Jump is a
++ function return if RET_P is true. */
++
++const char *
++ix86_output_indirect_jmp (rtx call_op, bool ret_p)
++{
++ if (cfun->machine->indirect_branch_type != indirect_branch_keep)
++ {
++ /* We can't have red-zone if this isn't a function return since
++ "call" in the indirect thunk pushes the return address onto
++ stack, destroying red-zone. */
++ if (!ret_p && ix86_red_zone_size != 0)
++ gcc_unreachable ();
++
++ ix86_output_indirect_branch (call_op, "%0", true);
++ return "";
++ }
++ else
++ return "%!jmp\t%A0";
++}
++
+ /* Output the assembly for a call instruction. */
+
+ const char *
+ ix86_output_call_insn (rtx_insn *insn, rtx call_op)
+ {
+ bool direct_p = constant_call_address_operand (call_op, VOIDmode);
++ bool output_indirect_p
++ = (!TARGET_SEH
++ && cfun->machine->indirect_branch_type != indirect_branch_keep);
+ bool seh_nop_p = false;
+ const char *xasm;
+
+@@ -25823,9 +26386,17 @@ ix86_output_call_insn (rtx_insn *insn, r
+ else if (TARGET_SEH)
+ xasm = "%!rex.W jmp %A0";
+ else
+- xasm = "%!jmp\t%A0";
++ {
++ if (output_indirect_p)
++ xasm = "%0";
++ else
++ xasm = "%!jmp\t%A0";
++ }
+
+- output_asm_insn (xasm, &call_op);
++ if (output_indirect_p && !direct_p)
++ ix86_output_indirect_branch (call_op, xasm, true);
++ else
++ output_asm_insn (xasm, &call_op);
+ return "";
+ }
+
+@@ -25862,9 +26433,17 @@ ix86_output_call_insn (rtx_insn *insn, r
+ if (direct_p)
+ xasm = "%!call\t%P0";
+ else
+- xasm = "%!call\t%A0";
++ {
++ if (output_indirect_p)
++ xasm = "%0";
++ else
++ xasm = "%!call\t%A0";
++ }
+
+- output_asm_insn (xasm, &call_op);
++ if (output_indirect_p && !direct_p)
++ ix86_output_indirect_branch (call_op, xasm, false);
++ else
++ output_asm_insn (xasm, &call_op);
+
+ if (seh_nop_p)
+ return "nop";
+@@ -43014,7 +43593,7 @@ ix86_handle_struct_attribute (tree *node
+ }
+
+ static tree
+-ix86_handle_fndecl_attribute (tree *node, tree name, tree, int,
++ix86_handle_fndecl_attribute (tree *node, tree name, tree args, int,
+ bool *no_add_attrs)
+ {
+ if (TREE_CODE (*node) != FUNCTION_DECL)
+@@ -43023,6 +43602,29 @@ ix86_handle_fndecl_attribute (tree *node
+ name);
+ *no_add_attrs = true;
+ }
++
++ if (is_attribute_p ("indirect_branch", name))
++ {
++ tree cst = TREE_VALUE (args);
++ if (TREE_CODE (cst) != STRING_CST)
++ {
++ warning (OPT_Wattributes,
++ "%qE attribute requires a string constant argument",
++ name);
++ *no_add_attrs = true;
++ }
++ else if (strcmp (TREE_STRING_POINTER (cst), "keep") != 0
++ && strcmp (TREE_STRING_POINTER (cst), "thunk") != 0
++ && strcmp (TREE_STRING_POINTER (cst), "thunk-inline") != 0
++ && strcmp (TREE_STRING_POINTER (cst), "thunk-extern") != 0)
++ {
++ warning (OPT_Wattributes,
++ "argument to %qE attribute is not "
++ "(keep|thunk|thunk-inline|thunk-extern)", name);
++ *no_add_attrs = true;
++ }
++ }
++
+ return NULL_TREE;
+ }
+
+@@ -46915,6 +47517,9 @@ static const struct attribute_spec ix86_
+ false },
+ { "callee_pop_aggregate_return", 1, 1, false, true, true,
+ ix86_handle_callee_pop_aggregate_return, true },
++ { "indirect_branch", 1, 1, true, false, false,
++ ix86_handle_fndecl_attribute, false },
++
+ /* End element. */
+ { NULL, 0, 0, false, false, false, NULL, false }
+ };
+Index: b/src/gcc/config/i386/i386.h
+===================================================================
+--- a/src/gcc/config/i386/i386.h
++++ b/src/gcc/config/i386/i386.h
+@@ -1229,6 +1229,9 @@ extern const char *host_detect_local_cpu
+ /* Base register for access to local variables of the function. */
+ #define FRAME_POINTER_REGNUM 20
+
++#define FIRST_INT_REG AX_REG
++#define LAST_INT_REG SP_REG
++
+ /* First floating point reg */
+ #define FIRST_FLOAT_REG 8
+
+@@ -1465,6 +1468,8 @@ enum reg_class
+ registers. */
+ #define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true
+
++#define LEGACY_INT_REGNO_P(N) (IN_RANGE ((N), FIRST_INT_REG, LAST_INT_REG))
++
+ #define QI_REG_P(X) (REG_P (X) && QI_REGNO_P (REGNO (X)))
+ #define QI_REGNO_P(N) IN_RANGE ((N), AX_REG, BX_REG)
+
+@@ -2550,6 +2555,13 @@ struct GTY(()) machine_function {
+ /* If true, it is safe to not save/restore DRAP register. */
+ BOOL_BITFIELD no_drap_save_restore : 1;
+
++ /* How to generate indirec branch. */
++ ENUM_BITFIELD(indirect_branch) indirect_branch_type : 3;
++
++ /* If true, the current function has local indirect jumps, like
++ "indirect_jump" or "tablejump". */
++ BOOL_BITFIELD has_local_indirect_jump : 1;
++
+ /* During prologue/epilogue generation, the current frame state.
+ Otherwise, the frame state at the end of the prologue. */
+ struct machine_frame_state fs;
+Index: b/src/gcc/config/i386/i386.md
+===================================================================
+--- a/src/gcc/config/i386/i386.md
++++ b/src/gcc/config/i386/i386.md
+@@ -11556,13 +11556,18 @@
+ {
+ if (TARGET_X32)
+ operands[0] = convert_memory_address (word_mode, operands[0]);
++ cfun->machine->has_local_indirect_jump = true;
+ })
+
+ (define_insn "*indirect_jump"
+ [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))]
+ ""
+- "%!jmp\t%A0"
+- [(set_attr "type" "ibr")
++ "* return ix86_output_indirect_jmp (operands[0], false);"
++ [(set (attr "type")
++ (if_then_else (match_test "(cfun->machine->indirect_branch_type
++ != indirect_branch_keep)")
++ (const_string "multi")
++ (const_string "ibr")))
+ (set_attr "length_immediate" "0")])
+
+ (define_expand "tablejump"
+@@ -11604,14 +11609,19 @@
+
+ if (TARGET_X32)
+ operands[0] = convert_memory_address (word_mode, operands[0]);
++ cfun->machine->has_local_indirect_jump = true;
+ })
+
+ (define_insn "*tablejump_1"
+ [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))
+ (use (label_ref (match_operand 1)))]
+ ""
+- "%!jmp\t%A0"
+- [(set_attr "type" "ibr")
++ "* return ix86_output_indirect_jmp (operands[0], false);"
++ [(set (attr "type")
++ (if_then_else (match_test "(cfun->machine->indirect_branch_type
++ != indirect_branch_keep)")
++ (const_string "multi")
++ (const_string "ibr")))
+ (set_attr "length_immediate" "0")])
+
+ ;; Convert setcc + movzbl to xor + setcc if operands don't overlap.
+@@ -12198,8 +12208,12 @@
+ [(simple_return)
+ (use (match_operand:SI 0 "register_operand" "r"))]
+ "reload_completed"
+- "%!jmp\t%A0"
+- [(set_attr "type" "ibr")
++ "* return ix86_output_indirect_jmp (operands[0], true);"
++ [(set (attr "type")
++ (if_then_else (match_test "(cfun->machine->indirect_branch_type
++ != indirect_branch_keep)")
++ (const_string "multi")
++ (const_string "ibr")))
+ (set_attr "length_immediate" "0")])
+
+ (define_insn "nop"
+Index: b/src/gcc/config/i386/i386.opt
+===================================================================
+--- a/src/gcc/config/i386/i386.opt
++++ b/src/gcc/config/i386/i386.opt
+@@ -876,3 +876,23 @@ Enum(stack_protector_guard) String(tls)
+
+ EnumValue
+ Enum(stack_protector_guard) String(global) Value(SSP_GLOBAL)
++
++mindirect-branch=
++Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep)
++Convert indirect call and jump to call and return thunks.
++
++Enum
++Name(indirect_branch) Type(enum indirect_branch)
++Known indirect branch choices (for use with the -mindirect-branch= option):
++
++EnumValue
++Enum(indirect_branch) String(keep) Value(indirect_branch_keep)
++
++EnumValue
++Enum(indirect_branch) String(thunk) Value(indirect_branch_thunk)
++
++EnumValue
++Enum(indirect_branch) String(thunk-inline) Value(indirect_branch_thunk_inline)
++
++EnumValue
++Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern)
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+@@ -0,0 +1,44 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++
++void func0 (void);
++void func1 (void);
++void func2 (void);
++void func3 (void);
++void func4 (void);
++void func4 (void);
++void func5 (void);
++
++void
++bar (int i)
++{
++ switch (i)
++ {
++ default:
++ func0 ();
++ break;
++ case 1:
++ func1 ();
++ break;
++ case 2:
++ func2 ();
++ break;
++ case 3:
++ func3 ();
++ break;
++ case 4:
++ func4 ();
++ break;
++ case 5:
++ func5 ();
++ break;
++ }
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+@@ -0,0 +1,23 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++extern void male_indirect_jump (long)
++ __attribute__ ((indirect_branch("thunk")));
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++__attribute__ ((indirect_branch("thunk")))
++void
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+@@ -0,0 +1,23 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++extern int male_indirect_jump (long)
++ __attribute__ ((indirect_branch("thunk-inline")));
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++__attribute__ ((indirect_branch("thunk-inline")))
++int
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++extern int male_indirect_jump (long)
++ __attribute__ ((indirect_branch("thunk-extern")));
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++__attribute__ ((indirect_branch("thunk-extern")))
++int
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+@@ -0,0 +1,44 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fno-pic" } */
++
++void func0 (void);
++void func1 (void);
++void func2 (void);
++void func3 (void);
++void func4 (void);
++void func4 (void);
++void func5 (void);
++
++__attribute__ ((indirect_branch("thunk-extern")))
++void
++bar (int i)
++{
++ switch (i)
++ {
++ default:
++ func0 ();
++ break;
++ case 1:
++ func1 ();
++ break;
++ case 2:
++ func2 ();
++ break;
++ case 3:
++ func3 ();
++ break;
++ case 4:
++ func4 ();
++ break;
++ case 5:
++ func5 ();
++ break;
++ }
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
+@@ -0,0 +1,42 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++
++void func0 (void);
++void func1 (void);
++void func2 (void);
++void func3 (void);
++void func4 (void);
++void func4 (void);
++void func5 (void);
++
++__attribute__ ((indirect_branch("keep")))
++void
++bar (int i)
++{
++ switch (i)
++ {
++ default:
++ func0 ();
++ break;
++ case 1:
++ func1 ();
++ break;
++ case 2:
++ func2 ();
++ break;
++ case 3:
++ func3 ();
++ break;
++ case 4:
++ func4 ();
++ break;
++ case 5:
++ func5 ();
++ break;
++ }
++}
++
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile { target { ! x32 } } } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
++
++void (*dispatch) (char *);
++char buf[10];
++
++void
++foo (void)
++{
++ dispatch (buf);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */
++/* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "bnd ret" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile { target { ! x32 } } } */
++/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
++
++void (*dispatch) (char *);
++char buf[10];
++
++int
++foo (void)
++{
++ dispatch (buf);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */
++/* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */
++/* { dg-final { scan-assembler "bnd jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "bnd call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "bnd ret" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+@@ -0,0 +1,19 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+@@ -0,0 +1,19 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+@@ -0,0 +1,43 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++
++void func0 (void);
++void func1 (void);
++void func2 (void);
++void func3 (void);
++void func4 (void);
++void func4 (void);
++void func5 (void);
++
++void
++bar (int i)
++{
++ switch (i)
++ {
++ default:
++ func0 ();
++ break;
++ case 1:
++ func1 ();
++ break;
++ case 2:
++ func2 ();
++ break;
++ case 3:
++ func3 ();
++ break;
++ case 4:
++ func4 ();
++ break;
++ case 5:
++ func5 ();
++ break;
++ }
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler-times {\tpause} 1 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+@@ -0,0 +1,21 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch[256];
++
++int
++male_indirect_jump (long offset)
++{
++ dispatch[offset](offset);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
++/* { dg-final { scan-assembler-times {\tpause} 1 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+@@ -0,0 +1,44 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++
++void func0 (void);
++void func1 (void);
++void func2 (void);
++void func3 (void);
++void func4 (void);
++void func4 (void);
++void func5 (void);
++
++void
++bar (int i)
++{
++ switch (i)
++ {
++ default:
++ func0 ();
++ break;
++ case 1:
++ func1 ();
++ break;
++ case 2:
++ func2 ();
++ break;
++ case 3:
++ func3 ();
++ break;
++ case 4:
++ func4 ();
++ break;
++ case 5:
++ func5 ();
++ break;
++ }
++}
++
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
diff --git a/development/gcc5/patches/0006-x86-Add-mfunction-return-doc.diff b/development/gcc5/patches/0006-x86-Add-mfunction-return-doc.diff
new file mode 100644
index 0000000000..b40d524892
--- /dev/null
+++ b/development/gcc5/patches/0006-x86-Add-mfunction-return-doc.diff
@@ -0,0 +1,300 @@
+From 357311dd400f7f72d2132f2f94161ece39bf08c6 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:10:44 +0000
+Subject: [PATCH 6/9] x86: Add -mfunction-return=
+
+Add -mfunction-return= option to convert function return to call and
+return thunks. The default is 'keep', which keeps function return
+unmodified. 'thunk' converts function return to call and return thunk.
+'thunk-inline' converts function return to inlined call and return thunk.
+'thunk-extern' converts function return to external call and return
+thunk provided in a separate object file. You can control this behavior
+for a specific function by using the function attribute function_return.
+
+Function return thunk is the same as memory thunk for -mindirect-branch=
+where the return address is at the top of the stack:
+
+__x86_return_thunk:
+ call L2
+L1:
+ pause
+ lfence
+ jmp L1
+L2:
+ lea 8(%rsp), %rsp|lea 4(%esp), %esp
+ ret
+
+and function return becomes
+
+ jmp __x86_return_thunk
+
+-mindirect-branch= tests are updated with -mfunction-return=keep to
+avoid false test failures when -mfunction-return=thunk is added to
+RUNTESTFLAGS for "make check".
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_output_function_return): New.
+ * config/i386/i386.c (ix86_set_indirect_branch_type): Also
+ set function_return_type.
+ (indirect_thunk_name): Add ret_p to indicate thunk for function
+ return.
+ (output_indirect_thunk_function): Pass false to
+ indirect_thunk_name.
+ (ix86_output_indirect_branch_via_reg): Likewise.
+ (ix86_output_indirect_branch_via_push): Likewise.
+ (output_indirect_thunk_function): Create alias for function
+ return thunk if regno < 0.
+ (ix86_output_function_return): New function.
+ (ix86_handle_fndecl_attribute): Handle function_return.
+ (ix86_attribute_table): Add function_return.
+ * config/i386/i386.h (machine_function): Add
+ function_return_type.
+ * config/i386/i386.md (simple_return_internal): Use
+ ix86_output_function_return.
+ (simple_return_internal_long): Likewise.
+ * config/i386/i386.opt (mfunction-return=): New option.
+ (indirect_branch): Mention -mfunction-return=.
+ * doc/extend.texi: Document function_return function attribute.
+ * doc/invoke.texi: Document -mfunction-return= option.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-1.c (dg-options): Add
+ -mfunction-return=keep.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-8.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
+ * gcc.target/i386/ret-thunk-1.c: New test.
+ * gcc.target/i386/ret-thunk-10.c: Likewise.
+ * gcc.target/i386/ret-thunk-11.c: Likewise.
+ * gcc.target/i386/ret-thunk-12.c: Likewise.
+ * gcc.target/i386/ret-thunk-13.c: Likewise.
+ * gcc.target/i386/ret-thunk-14.c: Likewise.
+ * gcc.target/i386/ret-thunk-15.c: Likewise.
+ * gcc.target/i386/ret-thunk-16.c: Likewise.
+ * gcc.target/i386/ret-thunk-2.c: Likewise.
+ * gcc.target/i386/ret-thunk-3.c: Likewise.
+ * gcc.target/i386/ret-thunk-4.c: Likewise.
+ * gcc.target/i386/ret-thunk-5.c: Likewise.
+ * gcc.target/i386/ret-thunk-6.c: Likewise.
+ * gcc.target/i386/ret-thunk-7.c: Likewise.
+ * gcc.target/i386/ret-thunk-8.c: Likewise.
+ * gcc.target/i386/ret-thunk-9.c: Likewise.
+
+i386: Don't use ASM_OUTPUT_DEF for TARGET_MACHO
+
+ASM_OUTPUT_DEF isn't defined for TARGET_MACHO. Use ASM_OUTPUT_LABEL to
+generate the __x86_return_thunk label, instead of the set directive.
+Update testcase to remove the __x86_return_thunk label check. Since
+-fno-pic is ignored on Darwin, update testcases to sscan or "push"
+only on Linux.
+
+gcc/
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/83839
+ * config/i386/i386.c (output_indirect_thunk_function): Use
+ ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO
+ for __x86.return_thunk.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/83839
+ * gcc.target/i386/indirect-thunk-1.c: Scan for "push" only on
+ Linux.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-4.c: Likewise.
+ * gcc.target/i386/ret-thunk-10.c: Likewise.
+ * gcc.target/i386/ret-thunk-11.c: Likewise.
+ * gcc.target/i386/ret-thunk-12.c: Likewise.
+ * gcc.target/i386/ret-thunk-13.c: Likewise.
+ * gcc.target/i386/ret-thunk-14.c: Likewise.
+ * gcc.target/i386/ret-thunk-15.c: Likewise.
+ * gcc.target/i386/ret-thunk-9.c: Don't check the
+ __x86_return_thunk label.
+ Scan for "push" only for Linux.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256734 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c,
+ indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c,
+ indirect-thunk-extern-5.c, indirect-thunk-extern-6.c,
+ indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due
+ to gcc 5.4 and earlier not supporting the -fno-plt option.
+ --sbeattie,]
+
+---
+ src/gcc/config/i386/i386-protos.h | 1
+ src/gcc/config/i386/i386.c | 152 +++++++++++-
+ src/gcc/config/i386/i386.h | 3
+ src/gcc/config/i386/i386.md | 9
+ src/gcc/config/i386/i386.opt | 6
+ src/gcc/doc/extend.texi | 9
+ src/gcc/doc/invoke.texi | 13 -
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c | 13 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 23 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 23 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c | 18 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c | 13 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c | 12
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c | 12
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c | 15 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c | 14 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c | 13 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c | 14 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 24 +
+ 48 files changed, 507 insertions(+), 66 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-12.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-16.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-8.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+
+Index: b/src/gcc/doc/extend.texi
+===================================================================
+--- a/src/gcc/doc/extend.texi
++++ b/src/gcc/doc/extend.texi
+@@ -4129,6 +4129,15 @@ call and jump to call and return thunk.
+ indirect call and jump to inlined call and return thunk.
+ @samp{thunk-extern} converts indirect call and jump to external call
+ and return thunk provided in a separate object file.
++
++@item function_return("@var{choice}")
++@cindex @code{function_return} function attribute, x86
++On x86 targets, the @code{function_return} attribute causes the compiler
++to convert function return with @var{choice}. @samp{keep} keeps function
++return unmodified. @samp{thunk} converts function return to call and
++return thunk. @samp{thunk-inline} converts function return to inlined
++call and return thunk. @samp{thunk-extern} converts function return to
++external call and return thunk provided in a separate object file.
+ @end table
+
+ On the PowerPC, the following options are allowed:
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -1091,7 +1091,7 @@ See RS/6000 and PowerPC Options.
+ -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol
+ -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol
+ -malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol
+--mindirect-branch=@var{choice}}
++-mindirect-branch=@var{choice} -mfunction-return=@var{choice}}
+
+ @emph{x86 Windows Options}
+ @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol
+@@ -24029,6 +24029,17 @@ to external call and return thunk provid
+ You can control this behavior for a specific function by using the
+ function attribute @code{indirect_branch}. @xref{Function Attributes}.
+
++@item -mfunction-return=@var{choice}
++@opindex -mfunction-return
++Convert function return with @var{choice}. The default is @samp{keep},
++which keeps function return unmodified. @samp{thunk} converts function
++return to call and return thunk. @samp{thunk-inline} converts function
++return to inlined call and return thunk. @samp{thunk-extern} converts
++function return to external call and return thunk provided in a separate
++object file. You can control this behavior for a specific function by
++using the function attribute @code{function_return}.
++@xref{Function Attributes}.
++
+ @end table
+
+ @c man end
diff --git a/development/gcc5/patches/0006-x86-Add-mfunction-return.diff b/development/gcc5/patches/0006-x86-Add-mfunction-return.diff
new file mode 100644
index 0000000000..1883cc6a51
--- /dev/null
+++ b/development/gcc5/patches/0006-x86-Add-mfunction-return.diff
@@ -0,0 +1,1409 @@
+From 357311dd400f7f72d2132f2f94161ece39bf08c6 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:10:44 +0000
+Subject: [PATCH 6/9] x86: Add -mfunction-return=
+
+Add -mfunction-return= option to convert function return to call and
+return thunks. The default is 'keep', which keeps function return
+unmodified. 'thunk' converts function return to call and return thunk.
+'thunk-inline' converts function return to inlined call and return thunk.
+'thunk-extern' converts function return to external call and return
+thunk provided in a separate object file. You can control this behavior
+for a specific function by using the function attribute function_return.
+
+Function return thunk is the same as memory thunk for -mindirect-branch=
+where the return address is at the top of the stack:
+
+__x86_return_thunk:
+ call L2
+L1:
+ pause
+ lfence
+ jmp L1
+L2:
+ lea 8(%rsp), %rsp|lea 4(%esp), %esp
+ ret
+
+and function return becomes
+
+ jmp __x86_return_thunk
+
+-mindirect-branch= tests are updated with -mfunction-return=keep to
+avoid false test failures when -mfunction-return=thunk is added to
+RUNTESTFLAGS for "make check".
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_output_function_return): New.
+ * config/i386/i386.c (ix86_set_indirect_branch_type): Also
+ set function_return_type.
+ (indirect_thunk_name): Add ret_p to indicate thunk for function
+ return.
+ (output_indirect_thunk_function): Pass false to
+ indirect_thunk_name.
+ (ix86_output_indirect_branch_via_reg): Likewise.
+ (ix86_output_indirect_branch_via_push): Likewise.
+ (output_indirect_thunk_function): Create alias for function
+ return thunk if regno < 0.
+ (ix86_output_function_return): New function.
+ (ix86_handle_fndecl_attribute): Handle function_return.
+ (ix86_attribute_table): Add function_return.
+ * config/i386/i386.h (machine_function): Add
+ function_return_type.
+ * config/i386/i386.md (simple_return_internal): Use
+ ix86_output_function_return.
+ (simple_return_internal_long): Likewise.
+ * config/i386/i386.opt (mfunction-return=): New option.
+ (indirect_branch): Mention -mfunction-return=.
+ * doc/extend.texi: Document function_return function attribute.
+ * doc/invoke.texi: Document -mfunction-return= option.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-1.c (dg-options): Add
+ -mfunction-return=keep.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-8.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
+ * gcc.target/i386/ret-thunk-1.c: New test.
+ * gcc.target/i386/ret-thunk-10.c: Likewise.
+ * gcc.target/i386/ret-thunk-11.c: Likewise.
+ * gcc.target/i386/ret-thunk-12.c: Likewise.
+ * gcc.target/i386/ret-thunk-13.c: Likewise.
+ * gcc.target/i386/ret-thunk-14.c: Likewise.
+ * gcc.target/i386/ret-thunk-15.c: Likewise.
+ * gcc.target/i386/ret-thunk-16.c: Likewise.
+ * gcc.target/i386/ret-thunk-2.c: Likewise.
+ * gcc.target/i386/ret-thunk-3.c: Likewise.
+ * gcc.target/i386/ret-thunk-4.c: Likewise.
+ * gcc.target/i386/ret-thunk-5.c: Likewise.
+ * gcc.target/i386/ret-thunk-6.c: Likewise.
+ * gcc.target/i386/ret-thunk-7.c: Likewise.
+ * gcc.target/i386/ret-thunk-8.c: Likewise.
+ * gcc.target/i386/ret-thunk-9.c: Likewise.
+
+i386: Don't use ASM_OUTPUT_DEF for TARGET_MACHO
+
+ASM_OUTPUT_DEF isn't defined for TARGET_MACHO. Use ASM_OUTPUT_LABEL to
+generate the __x86_return_thunk label, instead of the set directive.
+Update testcase to remove the __x86_return_thunk label check. Since
+-fno-pic is ignored on Darwin, update testcases to sscan or "push"
+only on Linux.
+
+gcc/
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/83839
+ * config/i386/i386.c (output_indirect_thunk_function): Use
+ ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO
+ for __x86.return_thunk.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/83839
+ * gcc.target/i386/indirect-thunk-1.c: Scan for "push" only on
+ Linux.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-4.c: Likewise.
+ * gcc.target/i386/ret-thunk-10.c: Likewise.
+ * gcc.target/i386/ret-thunk-11.c: Likewise.
+ * gcc.target/i386/ret-thunk-12.c: Likewise.
+ * gcc.target/i386/ret-thunk-13.c: Likewise.
+ * gcc.target/i386/ret-thunk-14.c: Likewise.
+ * gcc.target/i386/ret-thunk-15.c: Likewise.
+ * gcc.target/i386/ret-thunk-9.c: Don't check the
+ __x86_return_thunk label.
+ Scan for "push" only for Linux.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256734 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c,
+ indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c,
+ indirect-thunk-extern-5.c, indirect-thunk-extern-6.c,
+ indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due
+ to gcc 5.4 and earlier not supporting the -fno-plt option.
+ --sbeattie,]
+
+---
+ src/gcc/config/i386/i386-protos.h | 1
+ src/gcc/config/i386/i386.c | 152 +++++++++++-
+ src/gcc/config/i386/i386.h | 3
+ src/gcc/config/i386/i386.md | 9
+ src/gcc/config/i386/i386.opt | 6
+ src/gcc/doc/extend.texi | 9
+ src/gcc/doc/invoke.texi | 13 -
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 4
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 4
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c | 13 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 23 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 23 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 22 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c | 18 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c | 13 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c | 12
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c | 12
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c | 15 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c | 14 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c | 13 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c | 14 +
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 24 +
+ 48 files changed, 507 insertions(+), 66 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-12.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-16.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-3.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-4.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-5.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-6.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-7.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-8.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+
+Index: b/src/gcc/config/i386/i386-protos.h
+===================================================================
+--- a/src/gcc/config/i386/i386-protos.h
++++ b/src/gcc/config/i386/i386-protos.h
+@@ -307,6 +307,7 @@ extern enum attr_cpu ix86_schedule;
+
+ extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op);
+ extern const char * ix86_output_indirect_jmp (rtx call_op, bool ret_p);
++extern const char * ix86_output_function_return (bool long_p);
+
+ #ifdef RTX_CODE
+ /* Target data for multipass lookahead scheduling.
+Index: b/src/gcc/config/i386/i386.c
+===================================================================
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -5166,6 +5166,31 @@ ix86_set_indirect_branch_type (tree fnde
+ else
+ cfun->machine->indirect_branch_type = ix86_indirect_branch;
+ }
++
++ if (cfun->machine->function_return_type == indirect_branch_unset)
++ {
++ tree attr = lookup_attribute ("function_return",
++ DECL_ATTRIBUTES (fndecl));
++ if (attr != NULL)
++ {
++ tree args = TREE_VALUE (attr);
++ if (args == NULL)
++ gcc_unreachable ();
++ tree cst = TREE_VALUE (args);
++ if (strcmp (TREE_STRING_POINTER (cst), "keep") == 0)
++ cfun->machine->function_return_type = indirect_branch_keep;
++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk") == 0)
++ cfun->machine->function_return_type = indirect_branch_thunk;
++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-inline") == 0)
++ cfun->machine->function_return_type = indirect_branch_thunk_inline;
++ else if (strcmp (TREE_STRING_POINTER (cst), "thunk-extern") == 0)
++ cfun->machine->function_return_type = indirect_branch_thunk_extern;
++ else
++ gcc_unreachable ();
++ }
++ else
++ cfun->machine->function_return_type = ix86_function_return;
++ }
+ }
+
+ /* Establish appropriate back-end context for processing the function
+@@ -9753,8 +9778,12 @@ static int indirect_thunks_bnd_used;
+ /* Fills in the label name that should be used for the indirect thunk. */
+
+ static void
+-indirect_thunk_name (char name[32], int regno, bool need_bnd_p)
++indirect_thunk_name (char name[32], int regno, bool need_bnd_p,
++ bool ret_p)
+ {
++ if (regno >= 0 && ret_p)
++ gcc_unreachable ();
++
+ if (USE_HIDDEN_LINKONCE)
+ {
+ const char *bnd = need_bnd_p ? "_bnd" : "";
+@@ -9769,7 +9798,10 @@ indirect_thunk_name (char name[32], int
+ bnd, reg_prefix, reg_names[regno]);
+ }
+ else
+- sprintf (name, "__x86_indirect_thunk%s", bnd);
++ {
++ const char *ret = ret_p ? "return" : "indirect";
++ sprintf (name, "__x86_%s_thunk%s", ret, bnd);
++ }
+ }
+ else
+ {
+@@ -9782,10 +9814,20 @@ indirect_thunk_name (char name[32], int
+ }
+ else
+ {
+- if (need_bnd_p)
+- ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0);
++ if (ret_p)
++ {
++ if (need_bnd_p)
++ ASM_GENERATE_INTERNAL_LABEL (name, "LRTB", 0);
++ else
++ ASM_GENERATE_INTERNAL_LABEL (name, "LRT", 0);
++ }
+ else
+- ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0);
++ {
++ if (need_bnd_p)
++ ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0);
++ else
++ ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0);
++ }
+ }
+ }
+ }
+@@ -9880,7 +9922,7 @@ output_indirect_thunk_function (bool nee
+ tree decl;
+
+ /* Create __x86_indirect_thunk/__x86_indirect_thunk_bnd. */
+- indirect_thunk_name (name, regno, need_bnd_p);
++ indirect_thunk_name (name, regno, need_bnd_p, false);
+ decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
+ get_identifier (name),
+ build_function_type_list (void_type_node, NULL_TREE));
+@@ -9923,6 +9965,36 @@ output_indirect_thunk_function (bool nee
+ ASM_OUTPUT_LABEL (asm_out_file, name);
+ }
+
++ if (regno < 0)
++ {
++ /* Create alias for __x86.return_thunk/__x86.return_thunk_bnd. */
++ char alias[32];
++
++ indirect_thunk_name (alias, regno, need_bnd_p, true);
++#if TARGET_MACHO
++ if (TARGET_MACHO)
++ {
++ fputs ("\t.weak_definition\t", asm_out_file);
++ assemble_name (asm_out_file, alias);
++ fputs ("\n\t.private_extern\t", asm_out_file);
++ assemble_name (asm_out_file, alias);
++ putc ('\n', asm_out_file);
++ ASM_OUTPUT_LABEL (asm_out_file, alias);
++ }
++#else
++ ASM_OUTPUT_DEF (asm_out_file, alias, name);
++ if (USE_HIDDEN_LINKONCE)
++ {
++ fputs ("\t.globl\t", asm_out_file);
++ assemble_name (asm_out_file, alias);
++ putc ('\n', asm_out_file);
++ fputs ("\t.hidden\t", asm_out_file);
++ assemble_name (asm_out_file, alias);
++ putc ('\n', asm_out_file);
++ }
++#endif
++ }
++
+ DECL_INITIAL (decl) = make_node (BLOCK);
+ current_function_decl = decl;
+ allocate_struct_function (decl, false);
+@@ -26121,7 +26193,7 @@ ix86_output_indirect_branch_via_reg (rtx
+ else
+ indirect_thunks_used |= 1 << i;
+ }
+- indirect_thunk_name (thunk_name_buf, regno, need_bnd_p);
++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p, false);
+ thunk_name = thunk_name_buf;
+ }
+ else
+@@ -26230,7 +26302,7 @@ ix86_output_indirect_branch_via_push (rt
+ else
+ indirect_thunk_needed = true;
+ }
+- indirect_thunk_name (thunk_name_buf, regno, need_bnd_p);
++ indirect_thunk_name (thunk_name_buf, regno, need_bnd_p, false);
+ thunk_name = thunk_name_buf;
+ }
+ else
+@@ -26365,6 +26437,46 @@ ix86_output_indirect_jmp (rtx call_op, b
+ return "%!jmp\t%A0";
+ }
+
++/* Output function return. CALL_OP is the jump target. Add a REP
++ prefix to RET if LONG_P is true and function return is kept. */
++
++const char *
++ix86_output_function_return (bool long_p)
++{
++ if (cfun->machine->function_return_type != indirect_branch_keep)
++ {
++ char thunk_name[32];
++ bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn);
++
++ if (cfun->machine->function_return_type
++ != indirect_branch_thunk_inline)
++ {
++ bool need_thunk = (cfun->machine->function_return_type
++ == indirect_branch_thunk);
++ indirect_thunk_name (thunk_name, -1, need_bnd_p, true);
++ if (need_bnd_p)
++ {
++ indirect_thunk_bnd_needed |= need_thunk;
++ fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name);
++ }
++ else
++ {
++ indirect_thunk_needed |= need_thunk;
++ fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name);
++ }
++ }
++ else
++ output_indirect_thunk (need_bnd_p, -1);
++
++ return "";
++ }
++
++ if (!long_p || ix86_bnd_prefixed_insn_p (current_output_insn))
++ return "%!ret";
++
++ return "rep%; ret";
++}
++
+ /* Output the assembly for a call instruction. */
+
+ const char *
+@@ -43625,6 +43737,28 @@ ix86_handle_fndecl_attribute (tree *node
+ }
+ }
+
++ if (is_attribute_p ("function_return", name))
++ {
++ tree cst = TREE_VALUE (args);
++ if (TREE_CODE (cst) != STRING_CST)
++ {
++ warning (OPT_Wattributes,
++ "%qE attribute requires a string constant argument",
++ name);
++ *no_add_attrs = true;
++ }
++ else if (strcmp (TREE_STRING_POINTER (cst), "keep") != 0
++ && strcmp (TREE_STRING_POINTER (cst), "thunk") != 0
++ && strcmp (TREE_STRING_POINTER (cst), "thunk-inline") != 0
++ && strcmp (TREE_STRING_POINTER (cst), "thunk-extern") != 0)
++ {
++ warning (OPT_Wattributes,
++ "argument to %qE attribute is not "
++ "(keep|thunk|thunk-inline|thunk-extern)", name);
++ *no_add_attrs = true;
++ }
++ }
++
+ return NULL_TREE;
+ }
+
+@@ -47519,6 +47653,8 @@ static const struct attribute_spec ix86_
+ ix86_handle_callee_pop_aggregate_return, true },
+ { "indirect_branch", 1, 1, true, false, false,
+ ix86_handle_fndecl_attribute, false },
++ { "function_return", 1, 1, true, false, false,
++ ix86_handle_fndecl_attribute, false },
+
+ /* End element. */
+ { NULL, 0, 0, false, false, false, NULL, false }
+Index: b/src/gcc/config/i386/i386.h
+===================================================================
+--- a/src/gcc/config/i386/i386.h
++++ b/src/gcc/config/i386/i386.h
+@@ -2562,6 +2562,9 @@ struct GTY(()) machine_function {
+ "indirect_jump" or "tablejump". */
+ BOOL_BITFIELD has_local_indirect_jump : 1;
+
++ /* How to generate function return. */
++ ENUM_BITFIELD(indirect_branch) function_return_type : 3;
++
+ /* During prologue/epilogue generation, the current frame state.
+ Otherwise, the frame state at the end of the prologue. */
+ struct machine_frame_state fs;
+Index: b/src/gcc/config/i386/i386.md
+===================================================================
+--- a/src/gcc/config/i386/i386.md
++++ b/src/gcc/config/i386/i386.md
+@@ -12169,7 +12169,7 @@
+ (define_insn "simple_return_internal"
+ [(simple_return)]
+ "reload_completed"
+- "%!ret"
++ "* return ix86_output_function_return (false);"
+ [(set_attr "length_nobnd" "1")
+ (set_attr "atom_unit" "jeu")
+ (set_attr "length_immediate" "0")
+@@ -12182,12 +12182,7 @@
+ [(simple_return)
+ (unspec [(const_int 0)] UNSPEC_REP)]
+ "reload_completed"
+-{
+- if (ix86_bnd_prefixed_insn_p (insn))
+- return "%!ret";
+-
+- return "rep%; ret";
+-}
++ "* return ix86_output_function_return (true);"
+ [(set_attr "length" "2")
+ (set_attr "atom_unit" "jeu")
+ (set_attr "length_immediate" "0")
+Index: b/src/gcc/config/i386/i386.opt
+===================================================================
+--- a/src/gcc/config/i386/i386.opt
++++ b/src/gcc/config/i386/i386.opt
+@@ -881,9 +881,13 @@ mindirect-branch=
+ Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep)
+ Convert indirect call and jump to call and return thunks.
+
++mfunction-return=
++Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_function_return) Init(indirect_branch_keep)
++Convert function return to call and return thunk.
++
+ Enum
+ Name(indirect_branch) Type(enum indirect_branch)
+-Known indirect branch choices (for use with the -mindirect-branch= option):
++Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):
+
+ EnumValue
+ Enum(indirect_branch) String(keep) Value(indirect_branch_keep)
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
+ dispatch(offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
+ dispatch[offset](offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+@@ -35,7 +35,7 @@ bar (int i)
+ }
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -14,7 +14,7 @@ male_indirect_jump (long offset)
+ dispatch(offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ dispatch[offset](offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -14,7 +14,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler {\tpause} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -13,7 +13,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler {\tpause} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -14,7 +14,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -13,7 +13,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+@@ -36,7 +36,7 @@ bar (int i)
+ }
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" } } */
+ /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! x32 } } } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+
+ void (*dispatch) (char *);
+ char buf[10];
+@@ -10,7 +10,7 @@ foo (void)
+ dispatch (buf);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */
+ /* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! x32 } } } */
+-/* { dg-options "-O2 -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+
+ void (*dispatch) (char *);
+ char buf[10];
+@@ -11,7 +11,7 @@ foo (void)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "pushq\[ \t\]%rax" { target x32 } } } */
+ /* { dg-final { scan-assembler "bnd jmp\[ \t\]*__x86_indirect_thunk_bnd" } } */
+ /* { dg-final { scan-assembler "bnd jmp\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
+ dispatch(offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
+ dispatch[offset](offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 1 { target { ! x32 } } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+@@ -35,7 +35,7 @@ bar (int i)
+ }
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
+ /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
+ dispatch(offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+ /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
+ /* { dg-final { scan-assembler {\tpause} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -11,7 +11,7 @@ male_indirect_jump (long offset)
+ dispatch[offset](offset);
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+ /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
+ /* { dg-final { scan-assembler {\tpause} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler-times {\tpause} 1 } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+@@ -12,7 +12,7 @@ male_indirect_jump (long offset)
+ return 0;
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?dispatch" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 2 } } */
+ /* { dg-final { scan-assembler-times {\tpause} 1 } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+@@ -35,7 +35,7 @@ bar (int i)
+ }
+ }
+
+-/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */
+ /* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+ /* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+ /* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-1.c
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk" } */
++
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+@@ -0,0 +1,23 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk-inline -mindirect-branch=thunk -fno-pic" } */
++
++extern void (*bar) (void);
++
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-times {\tpause} 2 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 2 } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk_(r|e)ax:" { target { x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+@@ -0,0 +1,23 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk-extern -mindirect-branch=thunk -fno-pic" } */
++
++extern void (*bar) (void);
++
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-times {\tpause} 1 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk_(r|e)ax:" { target { x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++
++extern void (*bar) (void);
++
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-times {\tpause} 1 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk:" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk_(r|e)ax:" { target { x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++
++extern void (*bar) (void);
++extern int foo (void) __attribute__ ((function_return("thunk")));
++
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-times {\tpause} 2 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 2 } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */
++/* { dg-final { scan-assembler-times "jmp\[ \t\]*\.LIND" 3 } } */
++/* { dg-final { scan-assembler-times "call\[ \t\]*\.LIND" 3 } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++
++extern void (*bar) (void);
++
++__attribute__ ((function_return("thunk-inline")))
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\tpause} 1 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -fno-pic" } */
++
++extern void (*bar) (void);
++
++__attribute__ ((function_return("thunk-extern"), indirect_branch("thunk")))
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-times {\tpause} 1 } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-16.c
+@@ -0,0 +1,18 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk-inline -mindirect-branch=thunk-extern -fno-pic" } */
++
++extern void (*bar) (void);
++
++__attribute__ ((function_return("keep"), indirect_branch("keep")))
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
++/* { dg-final { scan-assembler-not "__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-2.c
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk-inline" } */
++
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-3.c
+@@ -0,0 +1,12 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk-extern" } */
++
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-4.c
+@@ -0,0 +1,12 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep" } */
++
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-5.c
+@@ -0,0 +1,15 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep" } */
++
++extern void foo (void) __attribute__ ((function_return("thunk")));
++
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-6.c
+@@ -0,0 +1,14 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep" } */
++
++__attribute__ ((function_return("thunk-inline")))
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler {\tlfence} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-7.c
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=keep" } */
++
++__attribute__ ((function_return("thunk-extern")))
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-8.c
+@@ -0,0 +1,14 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk-inline" } */
++
++extern void foo (void) __attribute__ ((function_return("keep")));
++
++void
++foo (void)
++{
++}
++
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+@@ -0,0 +1,24 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mfunction-return=thunk -mindirect-branch=thunk -fno-pic" } */
++
++extern void (*bar) (void);
++
++int
++foo (void)
++{
++ bar ();
++ return 0;
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_return_thunk" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "__x86_indirect_thunk:" } } */
++/* { dg-final { scan-assembler-times {\tpause} 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times {\tlfence} 1 { target { ! x32 } } } } */
++/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*_?bar" { target { { ! x32 } && *-*-linux* } } } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */
++/* { dg-final { scan-assembler-times {\tpause} 2 { target { x32 } } } } */
++/* { dg-final { scan-assembler-times {\tlfence} 2 { target { x32 } } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target { x32 } } } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" { target x32 } } } */
diff --git a/development/gcc5/patches/0007-x86-Add-mindirect-branch-register-doc.diff b/development/gcc5/patches/0007-x86-Add-mindirect-branch-register-doc.diff
new file mode 100644
index 0000000000..9780bfc918
--- /dev/null
+++ b/development/gcc5/patches/0007-x86-Add-mindirect-branch-register-doc.diff
@@ -0,0 +1,231 @@
+From 86118fbdbafe6af54b2da467e1073c49e1742116 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:17:49 +0000
+Subject: [PATCH 7/9] x86: Add -mindirect-branch-register (documentation)
+
+Add -mindirect-branch-register to force indirect branch via register.
+This is implemented by disabling patterns of indirect branch via memory,
+similar to TARGET_X32.
+
+-mindirect-branch= and -mfunction-return= tests are updated with
+-mno-indirect-branch-register to avoid false test failures when
+-mindirect-branch-register is added to RUNTESTFLAGS for "make check".
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md (Bs): Disallow memory operand for
+ -mindirect-branch-register.
+ (Bw): Likewise.
+ * config/i386/predicates.md (indirect_branch_operand): Likewise.
+ (GOT_memory_operand): Likewise.
+ (call_insn_operand): Likewise.
+ (sibcall_insn_operand): Likewise.
+ (GOT32_symbol_operand): Likewise.
+ * config/i386/i386.md (indirect_jump): Call convert_memory_address
+ for -mindirect-branch-register.
+ (tablejump): Likewise.
+ (*sibcall_memory): Likewise.
+ (*sibcall_value_memory): Likewise.
+ Disallow peepholes of indirect call and jump via memory for
+ -mindirect-branch-register.
+ (*call_pop): Replace m with Bw.
+ (*call_value_pop): Likewise.
+ (*sibcall_pop_memory): Replace m with Bs.
+ * config/i386/i386.opt (mindirect-branch-register): New option.
+ * doc/invoke.texi: Document -mindirect-branch-register option.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-1.c (dg-options): Add
+ -mno-indirect-branch-register.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
+ * gcc.target/i386/ret-thunk-10.c: Likewise.
+ * gcc.target/i386/ret-thunk-11.c: Likewise.
+ * gcc.target/i386/ret-thunk-12.c: Likewise.
+ * gcc.target/i386/ret-thunk-13.c: Likewise.
+ * gcc.target/i386/ret-thunk-14.c: Likewise.
+ * gcc.target/i386/ret-thunk-15.c: Likewise.
+ * gcc.target/i386/ret-thunk-9.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-1.c: New test.
+ * gcc.target/i386/indirect-thunk-register-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-3.c: Likewise.
+
+i386: Rename to ix86_indirect_branch_register
+
+Rename the variable for -mindirect-branch-register to
+ix86_indirect_branch_register to match the command-line option name.
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md (Bs): Replace
+ ix86_indirect_branch_thunk_register with
+ ix86_indirect_branch_register.
+ (Bw): Likewise.
+ * config/i386/i386.md (indirect_jump): Likewise.
+ (tablejump): Likewise.
+ (*sibcall_memory): Likewise.
+ (*sibcall_value_memory): Likewise.
+ Peepholes of indirect call and jump via memory: Likewise.
+ * config/i386/i386.opt: Likewise.
+ * config/i386/predicates.md (indirect_branch_operand): Likewise.
+ (GOT_memory_operand): Likewise.
+ (call_insn_operand): Likewise.
+ (sibcall_insn_operand): Likewise.
+ (GOT32_symbol_operand): Likewise.
+
+x86: Rewrite ix86_indirect_branch_register logic
+
+Rewrite ix86_indirect_branch_register logic with
+
+(and (not (match_test "ix86_indirect_branch_register"))
+ (original condition before r256662))
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/predicates.md (constant_call_address_operand):
+ Rewrite ix86_indirect_branch_register logic.
+ (sibcall_insn_operand): Likewise.
+
+Don't check ix86_indirect_branch_register for GOT operand
+
+Since GOT_memory_operand and GOT32_symbol_operand are simple pattern
+matches, don't check ix86_indirect_branch_register here. If needed,
+-mindirect-branch= will convert indirect branch via GOT slot to a call
+and return thunk.
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md (Bs): Update
+ ix86_indirect_branch_register check. Don't check
+ ix86_indirect_branch_register with GOT_memory_operand.
+ (Bw): Likewise.
+ * config/i386/predicates.md (GOT_memory_operand): Don't check
+ ix86_indirect_branch_register here.
+ (GOT32_symbol_operand): Likewise.
+
+i386: Rewrite indirect_branch_operand logic
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/predicates.md (indirect_branch_operand): Rewrite
+ ix86_indirect_branch_register logic.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256735 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c,
+ indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c,
+ indirect-thunk-extern-5.c, indirect-thunk-extern-6.c,
+ indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due
+ to gcc 5.4 and earlier not supporting the -fno-plt option.
+ --sbeattie,]
+---
+ src/gcc/config/i386/constraints.md | 6 +
+ src/gcc/config/i386/i386.md | 34 ++++++----
+ src/gcc/config/i386/i386.opt | 4 +
+ src/gcc/config/i386/predicates.md | 9 +-
+ src/gcc/doc/invoke.texi | 7 +-
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c | 22 ++++++
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c | 20 +++++
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c | 19 +++++
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 2
+ 39 files changed, 134 insertions(+), 49 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c
+
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -1091,7 +1091,8 @@ See RS/6000 and PowerPC Options.
+ -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol
+ -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol
+ -malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol
+--mindirect-branch=@var{choice} -mfunction-return=@var{choice}}
++-mindirect-branch=@var{choice} -mfunction-return=@var{choice} @gol
++-mindirect-branch-register}
+
+ @emph{x86 Windows Options}
+ @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol
+@@ -24040,6 +24041,10 @@ object file. You can control this behav
+ using the function attribute @code{function_return}.
+ @xref{Function Attributes}.
+
++@item -mindirect-branch-register
++@opindex -mindirect-branch-register
++Force indirect call and jump via register.
++
+ @end table
+
+ @c man end
diff --git a/development/gcc5/patches/0007-x86-Add-mindirect-branch-register.diff b/development/gcc5/patches/0007-x86-Add-mindirect-branch-register.diff
new file mode 100644
index 0000000000..211368991f
--- /dev/null
+++ b/development/gcc5/patches/0007-x86-Add-mindirect-branch-register.diff
@@ -0,0 +1,812 @@
+From 86118fbdbafe6af54b2da467e1073c49e1742116 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:17:49 +0000
+Subject: [PATCH 7/9] x86: Add -mindirect-branch-register
+
+Add -mindirect-branch-register to force indirect branch via register.
+This is implemented by disabling patterns of indirect branch via memory,
+similar to TARGET_X32.
+
+-mindirect-branch= and -mfunction-return= tests are updated with
+-mno-indirect-branch-register to avoid false test failures when
+-mindirect-branch-register is added to RUNTESTFLAGS for "make check".
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md (Bs): Disallow memory operand for
+ -mindirect-branch-register.
+ (Bw): Likewise.
+ * config/i386/predicates.md (indirect_branch_operand): Likewise.
+ (GOT_memory_operand): Likewise.
+ (call_insn_operand): Likewise.
+ (sibcall_insn_operand): Likewise.
+ (GOT32_symbol_operand): Likewise.
+ * config/i386/i386.md (indirect_jump): Call convert_memory_address
+ for -mindirect-branch-register.
+ (tablejump): Likewise.
+ (*sibcall_memory): Likewise.
+ (*sibcall_value_memory): Likewise.
+ Disallow peepholes of indirect call and jump via memory for
+ -mindirect-branch-register.
+ (*call_pop): Replace m with Bw.
+ (*call_value_pop): Likewise.
+ (*sibcall_pop_memory): Replace m with Bs.
+ * config/i386/i386.opt (mindirect-branch-register): New option.
+ * doc/invoke.texi: Document -mindirect-branch-register option.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-1.c (dg-options): Add
+ -mno-indirect-branch-register.
+ * gcc.target/i386/indirect-thunk-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-5.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-6.c: Likewise.
+ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
+ * gcc.target/i386/ret-thunk-10.c: Likewise.
+ * gcc.target/i386/ret-thunk-11.c: Likewise.
+ * gcc.target/i386/ret-thunk-12.c: Likewise.
+ * gcc.target/i386/ret-thunk-13.c: Likewise.
+ * gcc.target/i386/ret-thunk-14.c: Likewise.
+ * gcc.target/i386/ret-thunk-15.c: Likewise.
+ * gcc.target/i386/ret-thunk-9.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-1.c: New test.
+ * gcc.target/i386/indirect-thunk-register-2.c: Likewise.
+ * gcc.target/i386/indirect-thunk-register-3.c: Likewise.
+
+i386: Rename to ix86_indirect_branch_register
+
+Rename the variable for -mindirect-branch-register to
+ix86_indirect_branch_register to match the command-line option name.
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md (Bs): Replace
+ ix86_indirect_branch_thunk_register with
+ ix86_indirect_branch_register.
+ (Bw): Likewise.
+ * config/i386/i386.md (indirect_jump): Likewise.
+ (tablejump): Likewise.
+ (*sibcall_memory): Likewise.
+ (*sibcall_value_memory): Likewise.
+ Peepholes of indirect call and jump via memory: Likewise.
+ * config/i386/i386.opt: Likewise.
+ * config/i386/predicates.md (indirect_branch_operand): Likewise.
+ (GOT_memory_operand): Likewise.
+ (call_insn_operand): Likewise.
+ (sibcall_insn_operand): Likewise.
+ (GOT32_symbol_operand): Likewise.
+
+x86: Rewrite ix86_indirect_branch_register logic
+
+Rewrite ix86_indirect_branch_register logic with
+
+(and (not (match_test "ix86_indirect_branch_register"))
+ (original condition before r256662))
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/predicates.md (constant_call_address_operand):
+ Rewrite ix86_indirect_branch_register logic.
+ (sibcall_insn_operand): Likewise.
+
+Don't check ix86_indirect_branch_register for GOT operand
+
+Since GOT_memory_operand and GOT32_symbol_operand are simple pattern
+matches, don't check ix86_indirect_branch_register here. If needed,
+-mindirect-branch= will convert indirect branch via GOT slot to a call
+and return thunk.
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/constraints.md (Bs): Update
+ ix86_indirect_branch_register check. Don't check
+ ix86_indirect_branch_register with GOT_memory_operand.
+ (Bw): Likewise.
+ * config/i386/predicates.md (GOT_memory_operand): Don't check
+ ix86_indirect_branch_register here.
+ (GOT32_symbol_operand): Likewise.
+
+i386: Rewrite indirect_branch_operand logic
+
+ Backport from mainline
+ 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/predicates.md (indirect_branch_operand): Rewrite
+ ix86_indirect_branch_register logic.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256735 138bc75d-0d04-0410-961f-82ee72b054a4
+
+[Ubuntu note: Dropped indirect-thunk-5.c, indirect-thunk-6.c,
+ indirect-thunk-bnd-3.c, indirect-thunk-bnd-4.c,
+ indirect-thunk-extern-5.c, indirect-thunk-extern-6.c,
+ indirect-thunk-inline-5.c, and indirect-thunk-inline-6.c tests due
+ to gcc 5.4 and earlier not supporting the -fno-plt option.
+ --sbeattie,]
+---
+ src/gcc/config/i386/constraints.md | 6 +
+ src/gcc/config/i386/i386.md | 34 ++++++----
+ src/gcc/config/i386/i386.opt | 4 +
+ src/gcc/config/i386/predicates.md | 9 +-
+ src/gcc/doc/invoke.texi | 7 +-
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c | 2
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c | 22 ++++++
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c | 20 +++++
+ src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c | 19 +++++
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c | 2
+ src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c | 2
+ 39 files changed, 134 insertions(+), 49 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c
+
+Index: b/src/gcc/config/i386/constraints.md
+===================================================================
+--- a/src/gcc/config/i386/constraints.md
++++ b/src/gcc/config/i386/constraints.md
+@@ -157,12 +157,14 @@
+
+ (define_constraint "Bs"
+ "@internal Sibcall memory operand."
+- (and (not (match_test "TARGET_X32"))
++ (and (not (match_test "ix86_indirect_branch_register"))
++ (not (match_test "TARGET_X32"))
+ (match_operand 0 "sibcall_memory_operand")))
+
+ (define_constraint "Bw"
+ "@internal Call memory operand."
+- (and (not (match_test "TARGET_X32"))
++ (and (not (match_test "ix86_indirect_branch_register"))
++ (not (match_test "TARGET_X32"))
+ (match_operand 0 "memory_operand")))
+
+ (define_constraint "Bz"
+Index: b/src/gcc/config/i386/i386.md
+===================================================================
+--- a/src/gcc/config/i386/i386.md
++++ b/src/gcc/config/i386/i386.md
+@@ -11554,7 +11554,7 @@
+ [(set (pc) (match_operand 0 "indirect_branch_operand"))]
+ ""
+ {
+- if (TARGET_X32)
++ if (TARGET_X32 || ix86_indirect_branch_register)
+ operands[0] = convert_memory_address (word_mode, operands[0]);
+ cfun->machine->has_local_indirect_jump = true;
+ })
+@@ -11607,7 +11607,7 @@
+ OPTAB_DIRECT);
+ }
+
+- if (TARGET_X32)
++ if (TARGET_X32 || ix86_indirect_branch_register)
+ operands[0] = convert_memory_address (word_mode, operands[0]);
+ cfun->machine->has_local_indirect_jump = true;
+ })
+@@ -11764,7 +11764,7 @@
+ [(call (mem:QI (match_operand:W 0 "memory_operand" "m"))
+ (match_operand 1))
+ (unspec [(const_int 0)] UNSPEC_PEEPSIB)]
+- "!TARGET_X32"
++ "!TARGET_X32 && !ix86_indirect_branch_register"
+ "* return ix86_output_call_insn (insn, operands[0]);"
+ [(set_attr "type" "call")])
+
+@@ -11773,7 +11773,9 @@
+ (match_operand:W 1 "memory_operand"))
+ (call (mem:QI (match_dup 0))
+ (match_operand 3))]
+- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (1))
++ "!TARGET_X32
++ && !ix86_indirect_branch_register
++ && SIBLING_CALL_P (peep2_next_insn (1))
+ && peep2_reg_dead_p (2, operands[0])"
+ [(parallel [(call (mem:QI (match_dup 1))
+ (match_dup 3))
+@@ -11785,7 +11787,9 @@
+ (unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE)
+ (call (mem:QI (match_dup 0))
+ (match_operand 3))]
+- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (2))
++ "!TARGET_X32
++ && !ix86_indirect_branch_register
++ && SIBLING_CALL_P (peep2_next_insn (2))
+ && peep2_reg_dead_p (3, operands[0])"
+ [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE)
+ (parallel [(call (mem:QI (match_dup 1))
+@@ -11806,7 +11810,7 @@
+ })
+
+ (define_insn "*call_pop"
+- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lmBz"))
++ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lBwBz"))
+ (match_operand 1))
+ (set (reg:SI SP_REG)
+ (plus:SI (reg:SI SP_REG)
+@@ -11826,7 +11830,7 @@
+ [(set_attr "type" "call")])
+
+ (define_insn "*sibcall_pop_memory"
+- [(call (mem:QI (match_operand:SI 0 "memory_operand" "m"))
++ [(call (mem:QI (match_operand:SI 0 "memory_operand" "Bs"))
+ (match_operand 1))
+ (set (reg:SI SP_REG)
+ (plus:SI (reg:SI SP_REG)
+@@ -11878,7 +11882,9 @@
+ [(set (match_operand:W 0 "register_operand")
+ (match_operand:W 1 "memory_operand"))
+ (set (pc) (match_dup 0))]
+- "!TARGET_X32 && peep2_reg_dead_p (2, operands[0])"
++ "!TARGET_X32
++ && !ix86_indirect_branch_register
++ && peep2_reg_dead_p (2, operands[0])"
+ [(set (pc) (match_dup 1))])
+
+ ;; Call subroutine, returning value in operand 0
+@@ -11928,7 +11934,7 @@
+ (call (mem:QI (match_operand:W 1 "memory_operand" "m"))
+ (match_operand 2)))
+ (unspec [(const_int 0)] UNSPEC_PEEPSIB)]
+- "!TARGET_X32"
++ "!TARGET_X32 && !ix86_indirect_branch_register"
+ "* return ix86_output_call_insn (insn, operands[1]);"
+ [(set_attr "type" "callv")])
+
+@@ -11938,7 +11944,9 @@
+ (set (match_operand 2)
+ (call (mem:QI (match_dup 0))
+ (match_operand 3)))]
+- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (1))
++ "!TARGET_X32
++ && !ix86_indirect_branch_register
++ && SIBLING_CALL_P (peep2_next_insn (1))
+ && peep2_reg_dead_p (2, operands[0])"
+ [(parallel [(set (match_dup 2)
+ (call (mem:QI (match_dup 1))
+@@ -11952,7 +11960,9 @@
+ (set (match_operand 2)
+ (call (mem:QI (match_dup 0))
+ (match_operand 3)))]
+- "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (2))
++ "!TARGET_X32
++ && !ix86_indirect_branch_register
++ && SIBLING_CALL_P (peep2_next_insn (2))
+ && peep2_reg_dead_p (3, operands[0])"
+ [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE)
+ (parallel [(set (match_dup 2)
+@@ -11976,7 +11986,7 @@
+
+ (define_insn "*call_value_pop"
+ [(set (match_operand 0)
+- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lmBz"))
++ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lBwBz"))
+ (match_operand 2)))
+ (set (reg:SI SP_REG)
+ (plus:SI (reg:SI SP_REG)
+Index: b/src/gcc/config/i386/i386.opt
+===================================================================
+--- a/src/gcc/config/i386/i386.opt
++++ b/src/gcc/config/i386/i386.opt
+@@ -900,3 +900,7 @@ Enum(indirect_branch) String(thunk-inlin
+
+ EnumValue
+ Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern)
++
++mindirect-branch-register
++Target Report Var(ix86_indirect_branch_register) Init(0)
++Force indirect call and jump via register.
+Index: b/src/gcc/config/i386/predicates.md
+===================================================================
+--- a/src/gcc/config/i386/predicates.md
++++ b/src/gcc/config/i386/predicates.md
+@@ -607,7 +607,8 @@
+ ;; Test for a valid operand for indirect branch.
+ (define_predicate "indirect_branch_operand"
+ (ior (match_operand 0 "register_operand")
+- (and (not (match_test "TARGET_X32"))
++ (and (not (match_test "ix86_indirect_branch_register"))
++ (not (match_test "TARGET_X32"))
+ (match_operand 0 "memory_operand"))))
+
+ ;; Test for a valid operand for a call instruction.
+@@ -616,7 +617,8 @@
+ (ior (match_test "constant_call_address_operand
+ (op, mode == VOIDmode ? mode : Pmode)")
+ (match_operand 0 "call_register_no_elim_operand")
+- (and (not (match_test "TARGET_X32"))
++ (and (not (match_test "ix86_indirect_branch_register"))
++ (not (match_test "TARGET_X32"))
+ (match_operand 0 "memory_operand"))))
+
+ ;; Similarly, but for tail calls, in which we cannot allow memory references.
+@@ -624,7 +626,8 @@
+ (ior (match_test "constant_call_address_operand
+ (op, mode == VOIDmode ? mode : Pmode)")
+ (match_operand 0 "register_no_elim_operand")
+- (and (not (match_test "TARGET_X32"))
++ (and (not (match_test "ix86_indirect_branch_register"))
++ (not (match_test "TARGET_X32"))
+ (match_operand 0 "sibcall_memory_operand"))))
+
+ ;; Match exactly zero.
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! x32 } } } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+
+ void (*dispatch) (char *);
+ char buf[10];
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! x32 } } } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fcheck-pointer-bounds -mmpx -fno-pic" } */
+
+ void (*dispatch) (char *);
+ char buf[10];
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ typedef void (*dispatch_t)(long offset);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk -mindirect-branch-register -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" } } */
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "mov\[ \t\](%eax|%rax), \\((%esp|%rsp)\\)" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk\n" } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk_bnd\n" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -mindirect-branch-register -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler "mov\[ \t\](%eax|%rax), \\((%esp|%rsp)\\)" } } */
++/* { dg-final { scan-assembler {\tpause} } } */
++/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */
++/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c
+@@ -0,0 +1,19 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -mindirect-branch-register -fno-pic" } */
++
++typedef void (*dispatch_t)(long offset);
++
++dispatch_t dispatch;
++
++void
++male_indirect_jump (long offset)
++{
++ dispatch(offset);
++}
++
++/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" } } */
++/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */
++/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */
++/* { dg-final { scan-assembler-not {\t(pause|pause|nop)} } } */
++/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */
++/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=thunk-inline -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=thunk-inline -mindirect-branch=thunk -fno-pic" } */
+
+ extern void (*bar) (void);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=thunk-extern -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=thunk-extern -mindirect-branch=thunk -fno-pic" } */
+
+ extern void (*bar) (void);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-12.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
+
+ extern void (*bar) (void);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
+
+ extern void (*bar) (void);
+ extern int foo (void) __attribute__ ((function_return("thunk")));
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
+
+ extern void (*bar) (void);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=keep -fno-pic" } */
+
+ extern void (*bar) (void);
+
+Index: b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-9.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mfunction-return=thunk -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mno-indirect-branch-register -mfunction-return=thunk -mindirect-branch=thunk -fno-pic" } */
+
+ extern void (*bar) (void);
+
diff --git a/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff b/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff
new file mode 100644
index 0000000000..b3bd93a218
--- /dev/null
+++ b/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff
@@ -0,0 +1,65 @@
+From 8a47615dd04a02fdae9691f5ad73fd5a5530c156 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:19:51 +0000
+Subject: [PATCH 8/9] x86: Add 'V' register operand modifier (documentation)
+
+Add 'V', a special modifier which prints the name of the full integer
+register without '%'. For
+
+extern void (*func_p) (void);
+
+void
+foo (void)
+{
+ asm ("call __x86_indirect_thunk_%V0" : : "a" (func_p));
+}
+
+it generates:
+
+foo:
+ movq func_p(%rip), %rax
+ call __x86_indirect_thunk_rax
+ ret
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (print_reg): Print the name of the full
+ integer register without '%'.
+ (ix86_print_operand): Handle 'V'.
+ * doc/extend.texi: Document 'V' modifier.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-register-4.c: New test.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256736 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 10 ++++++++++
+ gcc/config/i386/i386.c | 13 ++++++++++++-
+ gcc/doc/extend.texi | 3 +++
+ gcc/testsuite/ChangeLog | 7 +++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c | 13 +++++++++++++
+ 5 files changed, 45 insertions(+), 1 deletion(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c
+
+diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
+index 46e0a36..9db9e0e 100644
+--- a/src/gcc/doc/extend.texi
++++ b/src/gcc/doc/extend.texi
+@@ -8778,6 +8778,9 @@ The table below shows the list of supported modifiers and their effects.
+ @tab @code{2}
+ @end multitable
+
++@code{V} is a special modifier which prints the name of the full integer
++register without @code{%}.
++
+ @anchor{x86floatingpointasmoperands}
+ @subsubsection x86 Floating-Point @code{asm} Operands
+
diff --git a/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier.diff b/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier.diff
new file mode 100644
index 0000000000..fb1ccd9883
--- /dev/null
+++ b/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier.diff
@@ -0,0 +1,125 @@
+From 8a47615dd04a02fdae9691f5ad73fd5a5530c156 Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:19:51 +0000
+Subject: [PATCH 8/9] x86: Add 'V' register operand modifier
+
+Add 'V', a special modifier which prints the name of the full integer
+register without '%'. For
+
+extern void (*func_p) (void);
+
+void
+foo (void)
+{
+ asm ("call __x86_indirect_thunk_%V0" : : "a" (func_p));
+}
+
+it generates:
+
+foo:
+ movq func_p(%rip), %rax
+ call __x86_indirect_thunk_rax
+ ret
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (print_reg): Print the name of the full
+ integer register without '%'.
+ (ix86_print_operand): Handle 'V'.
+ * doc/extend.texi: Document 'V' modifier.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-register-4.c: New test.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256736 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 10 ++++++++++
+ gcc/config/i386/i386.c | 13 ++++++++++++-
+ gcc/doc/extend.texi | 3 +++
+ gcc/testsuite/ChangeLog | 7 +++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c | 13 +++++++++++++
+ 5 files changed, 45 insertions(+), 1 deletion(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 8fb8902..1bbdd0c 100644
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -17941,6 +17941,7 @@ put_condition_code (enum rtx_code code, machine_mode mode, bool reverse,
+ If CODE is 'h', pretend the reg is the 'high' byte register.
+ If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op.
+ If CODE is 'd', duplicate the operand for AVX instruction.
++ If CODE is 'V', print naked full integer register name without %.
+ */
+
+ void
+@@ -17951,7 +17952,7 @@ print_reg (rtx x, int code, FILE *file)
+ unsigned int regno;
+ bool duplicated = code == 'd' && TARGET_AVX;
+
+- if (ASSEMBLER_DIALECT == ASM_ATT)
++ if (ASSEMBLER_DIALECT == ASM_ATT && code != 'V')
+ putc ('%', file);
+
+ if (x == pc_rtx)
+@@ -17999,6 +18000,14 @@ print_reg (rtx x, int code, FILE *file)
+ else
+ code = GET_MODE_SIZE (GET_MODE (x));
+
++ if (code == 'V')
++ {
++ if (GENERAL_REGNO_P (regno))
++ code = GET_MODE_SIZE (word_mode);
++ else
++ error ("'V' modifier on non-integer register");
++ }
++
+ /* Irritatingly, AMD extended registers use different naming convention
+ from the normal registers: "r%d[bwd]" */
+ if (REX_INT_REGNO_P (regno))
+@@ -18118,6 +18127,7 @@ print_reg (rtx x, int code, FILE *file)
+ & -- print some in-use local-dynamic symbol name.
+ H -- print a memory address offset by 8; used for sse high-parts
+ Y -- print condition for XOP pcom* instruction.
++ V -- print naked full integer register name without %.
+ + -- print a branch hint as 'cs' or 'ds' prefix
+ ; -- print a semicolon (after prefixes due to bug in older gas).
+ ~ -- print "i" if TARGET_AVX2, "f" otherwise.
+@@ -18342,6 +18352,7 @@ ix86_print_operand (FILE *file, rtx x, int code)
+ case 'X':
+ case 'P':
+ case 'p':
++ case 'V':
+ break;
+
+ case 's':
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c
+new file mode 100644
+index 0000000..f0cd9b7
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mindirect-branch=keep -fno-pic" } */
++
++extern void (*func_p) (void);
++
++void
++foo (void)
++{
++ asm("call __x86_indirect_thunk_%V0" : : "a" (func_p));
++}
++
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_eax" { target ia32 } } } */
++/* { dg-final { scan-assembler "call\[ \t\]*__x86_indirect_thunk_rax" { target { ! ia32 } } } } */
+--
+2.7.4
+
diff --git a/development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff b/development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff
new file mode 100644
index 0000000000..fdaab625ab
--- /dev/null
+++ b/development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff
@@ -0,0 +1,275 @@
+From 5d1c53c6fd593de2360c1a2ae44ebf5fa3c5263b Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:22:01 +0000
+Subject: [PATCH 9/9] x86: Disallow -mindirect-branch=/-mfunction-return= with
+ -mcmodel=large
+
+Since the thunk function may not be reachable in large code model,
+-mcmodel=large is incompatible with -mindirect-branch=thunk,
+-mindirect-branch=thunk-extern, -mfunction-return=thunk and
+-mfunction-return=thunk-extern. Issue an error when they are used with
+-mcmodel=large.
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow
+ -mcmodel=large with -mindirect-branch=thunk,
+ -mindirect-branch=thunk-extern, -mfunction-return=thunk and
+ -mfunction-return=thunk-extern.
+ * doc/invoke.texi: Document -mcmodel=large is incompatible with
+ -mindirect-branch=thunk, -mindirect-branch=thunk-extern,
+ -mfunction-return=thunk and -mfunction-return=thunk-extern.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-10.c: New test.
+ * gcc.target/i386/indirect-thunk-8.c: Likewise.
+ * gcc.target/i386/indirect-thunk-9.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-10.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-11.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-9.c: Likewise.
+ * gcc.target/i386/ret-thunk-17.c: Likewise.
+ * gcc.target/i386/ret-thunk-18.c: Likewise.
+ * gcc.target/i386/ret-thunk-19.c: Likewise.
+ * gcc.target/i386/ret-thunk-20.c: Likewise.
+ * gcc.target/i386/ret-thunk-21.c: Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256737 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 13 +++++++++++
+ gcc/config/i386/i386.c | 26 ++++++++++++++++++++++
+ gcc/doc/invoke.texi | 11 +++++++++
+ gcc/testsuite/ChangeLog | 17 ++++++++++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-10.c | 7 ++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-8.c | 7 ++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-9.c | 7 ++++++
+ .../gcc.target/i386/indirect-thunk-attr-10.c | 9 ++++++++
+ .../gcc.target/i386/indirect-thunk-attr-11.c | 9 ++++++++
+ .../gcc.target/i386/indirect-thunk-attr-9.c | 9 ++++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-17.c | 7 ++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-18.c | 8 +++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-19.c | 8 +++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-20.c | 9 ++++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-21.c | 9 ++++++++
+ 15 files changed, 156 insertions(+)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-17.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-18.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-19.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-20.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-21.c
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 1bbdd0c..e758387 100644
+--- a/src/gcc/config/i386/i386.c
++++ b/src/gcc/config/i386/i386.c
+@@ -7187,6 +7187,19 @@ ix86_set_indirect_branch_type (tree fndecl)
+ }
+ else
+ cfun->machine->indirect_branch_type = ix86_indirect_branch;
++
++ /* -mcmodel=large is not compatible with -mindirect-branch=thunk
++ nor -mindirect-branch=thunk-extern. */
++ if ((ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
++ && ((cfun->machine->indirect_branch_type
++ == indirect_branch_thunk_extern)
++ || (cfun->machine->indirect_branch_type
++ == indirect_branch_thunk)))
++ error ("%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not "
++ "compatible",
++ ((cfun->machine->indirect_branch_type
++ == indirect_branch_thunk_extern)
++ ? "thunk-extern" : "thunk"));
+ }
+
+ if (cfun->machine->function_return_type == indirect_branch_unset)
+@@ -7212,6 +7225,19 @@ ix86_set_indirect_branch_type (tree fndecl)
+ }
+ else
+ cfun->machine->function_return_type = ix86_function_return;
++
++ /* -mcmodel=large is not compatible with -mfunction-return=thunk
++ nor -mfunction-return=thunk-extern. */
++ if ((ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
++ && ((cfun->machine->function_return_type
++ == indirect_branch_thunk_extern)
++ || (cfun->machine->function_return_type
++ == indirect_branch_thunk)))
++ error ("%<-mfunction-return=%s%> and %<-mcmodel=large%> are not "
++ "compatible",
++ ((cfun->machine->function_return_type
++ == indirect_branch_thunk_extern)
++ ? "thunk-extern" : "thunk"));
+ }
+ }
+
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-10.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-10.c
+new file mode 100644
+index 0000000..a0674bd
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-10.c
+@@ -0,0 +1,7 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mindirect-branch=thunk-inline -mfunction-return=keep -mcmodel=large" } */
++
++void
++bar (void)
++{
++}
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-8.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-8.c
+new file mode 100644
+index 0000000..7a80a89
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-8.c
+@@ -0,0 +1,7 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mindirect-branch=thunk -mfunction-return=keep -mcmodel=large" } */
++
++void
++bar (void)
++{ /* { dg-error "'-mindirect-branch=thunk' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-9.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-9.c
+new file mode 100644
+index 0000000..d4d45c5
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-9.c
+@@ -0,0 +1,7 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mindirect-branch=thunk-extern -mfunction-return=keep -mcmodel=large" } */
++
++void
++bar (void)
++{ /* { dg-error "'-mindirect-branch=thunk-extern' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c
+new file mode 100644
+index 0000000..3a2aead
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c
+@@ -0,0 +1,9 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mindirect-branch=keep -mfunction-return=keep -mcmodel=large" } */
++/* { dg-additional-options "-fPIC" { target fpic } } */
++
++__attribute__ ((indirect_branch("thunk-extern")))
++void
++bar (void)
++{ /* { dg-error "'-mindirect-branch=thunk-extern' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c
+new file mode 100644
+index 0000000..8e52f03
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c
+@@ -0,0 +1,9 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mindirect-branch=keep -mfunction-return=keep -mcmodel=large" } */
++/* { dg-additional-options "-fPIC" { target fpic } } */
++
++__attribute__ ((indirect_branch("thunk-inline")))
++void
++bar (void)
++{
++}
+diff --git a/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c b/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c
+new file mode 100644
+index 0000000..bdaa4f6
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c
+@@ -0,0 +1,9 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mindirect-branch=keep -mfunction-return=keep -mcmodel=large" } */
++/* { dg-additional-options "-fPIC" { target fpic } } */
++
++__attribute__ ((indirect_branch("thunk")))
++void
++bar (void)
++{ /* { dg-error "'-mindirect-branch=thunk' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-17.c b/gcc/testsuite/gcc.target/i386/ret-thunk-17.c
+new file mode 100644
+index 0000000..0605e2c
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-17.c
+@@ -0,0 +1,7 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mfunction-return=thunk -mindirect-branch=keep -mcmodel=large" } */
++
++void
++bar (void)
++{ /* { dg-error "'-mfunction-return=thunk' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-18.c b/gcc/testsuite/gcc.target/i386/ret-thunk-18.c
+new file mode 100644
+index 0000000..307019d
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-18.c
+@@ -0,0 +1,8 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mfunction-return=thunk-extern -mindirect-branch=keep -mcmodel=large" } */
++/* { dg-additional-options "-fPIC" { target fpic } } */
++
++void
++bar (void)
++{ /* { dg-error "'-mfunction-return=thunk-extern' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-19.c b/gcc/testsuite/gcc.target/i386/ret-thunk-19.c
+new file mode 100644
+index 0000000..772617f
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-19.c
+@@ -0,0 +1,8 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -mcmodel=large" } */
++
++__attribute__ ((function_return("thunk")))
++void
++bar (void)
++{ /* { dg-error "'-mfunction-return=thunk' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-20.c b/gcc/testsuite/gcc.target/i386/ret-thunk-20.c
+new file mode 100644
+index 0000000..1e9f9bd
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-20.c
+@@ -0,0 +1,9 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -mcmodel=large" } */
++/* { dg-additional-options "-fPIC" { target fpic } } */
++
++__attribute__ ((function_return("thunk-extern")))
++void
++bar (void)
++{ /* { dg-error "'-mfunction-return=thunk-extern' and '-mcmodel=large' are not compatible" } */
++}
+diff --git a/gcc/testsuite/gcc.target/i386/ret-thunk-21.c b/gcc/testsuite/gcc.target/i386/ret-thunk-21.c
+new file mode 100644
+index 0000000..eea07f7
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.target/i386/ret-thunk-21.c
+@@ -0,0 +1,9 @@
++/* { dg-do compile { target { lp64 } } } */
++/* { dg-options "-O2 -mfunction-return=keep -mindirect-branch=keep -mcmodel=large" } */
++/* { dg-additional-options "-fPIC" { target fpic } } */
++
++__attribute__ ((function_return("thunk-inline")))
++void
++bar (void)
++{
++}
+--
+2.7.4
+
diff --git a/development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff b/development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff
new file mode 100644
index 0000000000..c107900552
--- /dev/null
+++ b/development/gcc5/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff
@@ -0,0 +1,102 @@
+From 5d1c53c6fd593de2360c1a2ae44ebf5fa3c5263b Mon Sep 17 00:00:00 2001
+From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 16 Jan 2018 11:22:01 +0000
+Subject: [PATCH 9/9] x86: Disallow -mindirect-branch=/-mfunction-return= with
+ -mcmodel=large
+
+Since the thunk function may not be reachable in large code model,
+-mcmodel=large is incompatible with -mindirect-branch=thunk,
+-mindirect-branch=thunk-extern, -mfunction-return=thunk and
+-mfunction-return=thunk-extern. Issue an error when they are used with
+-mcmodel=large.
+
+gcc/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow
+ -mcmodel=large with -mindirect-branch=thunk,
+ -mindirect-branch=thunk-extern, -mfunction-return=thunk and
+ -mfunction-return=thunk-extern.
+ * doc/invoke.texi: Document -mcmodel=large is incompatible with
+ -mindirect-branch=thunk, -mindirect-branch=thunk-extern,
+ -mfunction-return=thunk and -mfunction-return=thunk-extern.
+
+gcc/testsuite/
+
+ Backport from mainline
+ 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/indirect-thunk-10.c: New test.
+ * gcc.target/i386/indirect-thunk-8.c: Likewise.
+ * gcc.target/i386/indirect-thunk-9.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-10.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-11.c: Likewise.
+ * gcc.target/i386/indirect-thunk-attr-9.c: Likewise.
+ * gcc.target/i386/ret-thunk-17.c: Likewise.
+ * gcc.target/i386/ret-thunk-18.c: Likewise.
+ * gcc.target/i386/ret-thunk-19.c: Likewise.
+ * gcc.target/i386/ret-thunk-20.c: Likewise.
+ * gcc.target/i386/ret-thunk-21.c: Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256737 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 13 +++++++++++
+ gcc/config/i386/i386.c | 26 ++++++++++++++++++++++
+ gcc/doc/invoke.texi | 11 +++++++++
+ gcc/testsuite/ChangeLog | 17 ++++++++++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-10.c | 7 ++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-8.c | 7 ++++++
+ gcc/testsuite/gcc.target/i386/indirect-thunk-9.c | 7 ++++++
+ .../gcc.target/i386/indirect-thunk-attr-10.c | 9 ++++++++
+ .../gcc.target/i386/indirect-thunk-attr-11.c | 9 ++++++++
+ .../gcc.target/i386/indirect-thunk-attr-9.c | 9 ++++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-17.c | 7 ++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-18.c | 8 +++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-19.c | 8 +++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-20.c | 9 ++++++++
+ gcc/testsuite/gcc.target/i386/ret-thunk-21.c | 9 ++++++++
+ 15 files changed, 156 insertions(+)
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-17.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-18.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-19.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-20.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/ret-thunk-21.c
+
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 1e572b1..6f3c344 100644
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -25699,6 +25699,11 @@ to external call and return thunk provided in a separate object file.
+ You can control this behavior for a specific function by using the
+ function attribute @code{indirect_branch}. @xref{Function Attributes}.
+
++Note that @option{-mcmodel=large} is incompatible with
++@option{-mindirect-branch=thunk} nor
++@option{-mindirect-branch=thunk-extern} since the thunk function may
++not be reachable in large code model.
++
+ @item -mfunction-return=@var{choice}
+ @opindex -mfunction-return
+ Convert function return with @var{choice}. The default is @samp{keep},
+@@ -25710,6 +25715,12 @@ object file. You can control this behavior for a specific function by
+ using the function attribute @code{function_return}.
+ @xref{Function Attributes}.
+
++Note that @option{-mcmodel=large} is incompatible with
++@option{-mfunction-return=thunk} nor
++@option{-mfunction-return=thunk-extern} since the thunk function may
++not be reachable in large code model.
++
++
+ @item -mindirect-branch-register
+ @opindex -mindirect-branch-register
+ Force indirect call and jump via register.
diff --git a/development/gcc5/patches/gcc-no_fixincludes.diff b/development/gcc5/patches/gcc-no_fixincludes.diff
new file mode 100644
index 0000000000..52b661613d
--- /dev/null
+++ b/development/gcc5/patches/gcc-no_fixincludes.diff
@@ -0,0 +1,27 @@
+--- ./gcc/Makefile.in.orig 2010-04-02 02:49:06.000000000 -0500
++++ ./gcc/Makefile.in 2010-08-01 16:55:30.088318841 -0500
+@@ -3864,9 +3864,9 @@
+ chmod a+r $${fix_dir}/limits.h; \
+ done
+ # Install the README
+- rm -f include-fixed/README
+- cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README
+- chmod a+r include-fixed/README
++# rm -f include-fixed/README
++# cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README
++# chmod a+r include-fixed/README
+ $(STAMP) $@
+
+ .PHONY: install-gcc-tooldir
+@@ -3947,10 +3947,7 @@
+ (TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
+ SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
+ gcc_dir=`${PWD_COMMAND}` ; \
+- export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
+- cd $(build_objdir)/fixincludes && \
+- $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \
+- $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
++ export TARGET_MACHINE srcdir SHELL MACRO_LIST ); \
+ rm -f $${fix_dir}/syslimits.h; \
+ if [ -f $${fix_dir}/limits.h ]; then \
+ mv $${fix_dir}/limits.h $${fix_dir}/syslimits.h; \
diff --git a/development/gcc5/patches/gcc.66782.diff b/development/gcc5/patches/gcc.66782.diff
new file mode 100644
index 0000000000..0743f8853b
--- /dev/null
+++ b/development/gcc5/patches/gcc.66782.diff
@@ -0,0 +1,124 @@
+Index: config/i386/i386.md
+===================================================================
+--- config/i386/i386.md (revision 225539)
++++ config/i386/i386.md (working copy)
+@@ -108,6 +108,7 @@
+ UNSPEC_LD_MPIC ; load_macho_picbase
+ UNSPEC_TRUNC_NOOP
+ UNSPEC_DIV_ALREADY_SPLIT
++ UNSPEC_MS_TO_SYSV_CALL
+ UNSPEC_PAUSE
+ UNSPEC_LEA_ADDR
+ UNSPEC_XBEGIN_ABORT
+@@ -11584,6 +11585,15 @@
+ "* return ix86_output_call_insn (insn, operands[0]);"
+ [(set_attr "type" "call")])
+
++(define_insn "*call_rex64_ms_sysv"
++ [(match_parallel 2 "call_rex64_ms_sysv_operation"
++ [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rBwBz"))
++ (match_operand 1))
++ (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])]
++ "TARGET_64BIT && !SIBLING_CALL_P (insn)"
++ "* return ix86_output_call_insn (insn, operands[0]);"
++ [(set_attr "type" "call")])
++
+ (define_insn "*sibcall"
+ [(call (mem:QI (match_operand:W 0 "sibcall_insn_operand" "UBsBz"))
+ (match_operand 1))]
+@@ -11808,6 +11818,16 @@
+ (match_dup 3)))
+ (unspec [(const_int 0)] UNSPEC_PEEPSIB)])])
+
++(define_insn "*call_value_rex64_ms_sysv"
++ [(match_parallel 3 "call_rex64_ms_sysv_operation"
++ [(set (match_operand 0)
++ (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rBwBz"))
++ (match_operand 2)))
++ (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)])]
++ "TARGET_64BIT && !SIBLING_CALL_P (insn)"
++ "* return ix86_output_call_insn (insn, operands[1]);"
++ [(set_attr "type" "callv")])
++
+ (define_expand "call_value_pop"
+ [(parallel [(set (match_operand 0)
+ (call (match_operand:QI 1)
+Index: config/i386/predicates.md
+===================================================================
+--- config/i386/predicates.md (revision 225533)
++++ config/i386/predicates.md (working copy)
+@@ -616,6 +616,36 @@
+ && XINT (XEXP (op, 0), 1) == UNSPEC_GOTPCREL);
+ })
+
++;; Return true if OP is a call from MS ABI to SYSV ABI function.
++(define_predicate "call_rex64_ms_sysv_operation"
++ (match_code "parallel")
++{
++ unsigned creg_size = ARRAY_SIZE (x86_64_ms_sysv_extra_clobbered_registers);
++ unsigned i;
++
++ if ((unsigned) XVECLEN (op, 0) != creg_size + 2)
++ return false;
++
++ for (i = 0; i < creg_size; i++)
++ {
++ rtx elt = XVECEXP (op, 0, i+2);
++ enum machine_mode mode;
++ unsigned regno;
++
++ if (GET_CODE (elt) != CLOBBER
++ || GET_CODE (SET_DEST (elt)) != REG)
++ return false;
++
++ regno = x86_64_ms_sysv_extra_clobbered_registers[i];
++ mode = SSE_REGNO_P (regno) ? TImode : DImode;
++
++ if (GET_MODE (SET_DEST (elt)) != mode
++ || REGNO (SET_DEST (elt)) != regno)
++ return false;
++ }
++ return true;
++})
++
+ ;; Match exactly zero.
+ (define_predicate "const0_operand"
+ (match_code "const_int,const_wide_int,const_double,const_vector")
+Index: config/i386/i386.c
+===================================================================
+--- config/i386/i386.c (revision 225533)
++++ config/i386/i386.c (working copy)
+@@ -25639,7 +25639,9 @@
+ rtx callarg2,
+ rtx pop, bool sibcall)
+ {
+- rtx vec[3];
++ unsigned int const cregs_size
++ = ARRAY_SIZE (x86_64_ms_sysv_extra_clobbered_registers);
++ rtx vec[3 + cregs_size];
+ rtx use = NULL, call;
+ unsigned int vec_len = 0;
+
+@@ -25742,16 +25744,18 @@
+ if (TARGET_64BIT_MS_ABI
+ && (!callarg2 || INTVAL (callarg2) != -2))
+ {
+- int const cregs_size
+- = ARRAY_SIZE (x86_64_ms_sysv_extra_clobbered_registers);
+- int i;
++ unsigned i;
+
++ vec[vec_len++] = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, const0_rtx),
++ UNSPEC_MS_TO_SYSV_CALL);
++
+ for (i = 0; i < cregs_size; i++)
+ {
+ int regno = x86_64_ms_sysv_extra_clobbered_registers[i];
+ machine_mode mode = SSE_REGNO_P (regno) ? TImode : DImode;
+
+- clobber_reg (&use, gen_rtx_REG (mode, regno));
++ vec[vec_len++]
++ = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (mode, regno));
+ }
+ }
+
diff --git a/development/gcc5/patches/gcc.69140.diff b/development/gcc5/patches/gcc.69140.diff
new file mode 100644
index 0000000000..ace60ebdd0
--- /dev/null
+++ b/development/gcc5/patches/gcc.69140.diff
@@ -0,0 +1,13 @@
+--- ./gcc/config/i386/i386.c.orig 2015-11-18 09:45:26.000000000 -0600
++++ ./gcc/config/i386/i386.c 2016-02-05 13:50:07.202981920 -0600
+@@ -9677,6 +9677,10 @@
+ if (TARGET_64BIT_MS_ABI && get_frame_size () > SEH_MAX_FRAME_SIZE)
+ return true;
+
++ /* SSE saves require frame-pointer when stack is misaligned. */
++ if (TARGET_64BIT_MS_ABI && ix86_incoming_stack_boundary < 128)
++ return true;
++
+ /* In ix86_option_override_internal, TARGET_OMIT_LEAF_FRAME_POINTER
+ turns off the frame pointer by default. Turn it back on now if
+ we've not got a leaf function. */
diff --git a/development/gcc5/patches/glibc2.28-ustat.diff b/development/gcc5/patches/glibc2.28-ustat.diff
new file mode 100644
index 0000000000..c7d71d0677
--- /dev/null
+++ b/development/gcc5/patches/glibc2.28-ustat.diff
@@ -0,0 +1,31 @@
+--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2018/04/25 07:39:32 259630
++++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2018/05/24 20:07:25 260687
+@@ -138,7 +138,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -231,7 +230,19 @@
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+- unsigned struct_ustat_sz = sizeof(struct ustat);
++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++ // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++ || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++ || defined(__powerpc__) || defined(__s390__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+ unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+ unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+ #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
diff --git a/development/gcc5/profile.d/gcc5.csh b/development/gcc5/profile.d/gcc5.csh
new file mode 100644
index 0000000000..25f9dc1342
--- /dev/null
+++ b/development/gcc5/profile.d/gcc5.csh
@@ -0,0 +1,7 @@
+setenv CC gcc-5
+setenv CPP cpp-5
+setenv CXX g++-5
+setenv AR gcc-ar-5
+setenv NM gcc-nm-5
+setenv RANLIB gcc-ranlib-5
+
diff --git a/development/gcc5/profile.d/gcc5.sh b/development/gcc5/profile.d/gcc5.sh
new file mode 100644
index 0000000000..7143b5d0e9
--- /dev/null
+++ b/development/gcc5/profile.d/gcc5.sh
@@ -0,0 +1,7 @@
+export CC=gcc-5
+export CPP=cpp-5
+export CXX=g++-5
+export AR=gcc-ar-5
+export NM=gcc-nm-5
+export RANLIB=gcc-ranlib-5
+
diff --git a/development/gcc5/slack-desc.gcc5 b/development/gcc5/slack-desc.gcc5
new file mode 100644
index 0000000000..d9d965846b
--- /dev/null
+++ b/development/gcc5/slack-desc.gcc5
@@ -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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gcc5: gcc5 (Co-installable GCC-5 package with C, C++ and Java support)
+gcc5:
+gcc5: GCC is the GNU Compiler Collection.
+gcc5:
+gcc5: This package contains those parts of the compiler collection needed to
+gcc5: compile C and C++ code and programs written in the Java programming
+gcc5: language.@MULTILIB@
+gcc5:
+gcc5: This gcc5 package must be co-installed with Slackware's gcc7 compiler.
+gcc5:
+gcc5:
diff --git a/development/geany/geany.info b/development/geany/geany.info
index ec46e04d62..09c4851438 100644
--- a/development/geany/geany.info
+++ b/development/geany/geany.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/geany/geany/archive/1.34.1/geany-1.34.1.tar.gz"
MD5SUM="d36ad44844c8721f2ef9b5398260de3b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="vte2"
MAINTAINER="Ryan S. Northrup"
EMAIL="northrup@yellowapple.us"
diff --git a/development/gedit/gedit.SlackBuild b/development/gedit/gedit.SlackBuild
index 9ed2ab95c6..264611aaa0 100644
--- a/development/gedit/gedit.SlackBuild
+++ b/development/gedit/gedit.SlackBuild
@@ -70,6 +70,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+export LDFLAGS="-lgmodule-2.0 -lICE"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/development/glade/glade.SlackBuild b/development/glade/glade.SlackBuild
index 1741b2a9cb..5c24535173 100644
--- a/development/glade/glade.SlackBuild
+++ b/development/glade/glade.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=glade
-VERSION=${VERSION:-3.18.3}
+VERSION=${VERSION:-3.22.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/development/glade/glade.info b/development/glade/glade.info
index fff72106e7..d6132c1dfc 100644
--- a/development/glade/glade.info
+++ b/development/glade/glade.info
@@ -1,8 +1,8 @@
PRGNAM="glade"
-VERSION="3.18.3"
+VERSION="3.22.1"
HOMEPAGE="https://glade.gnome.org"
-DOWNLOAD="https://ftp.gnome.org/pub/GNOME/sources/glade/3.18/glade-3.18.3.tar.xz"
-MD5SUM="6852d6286683728e0ea40ca9b5d2416f"
+DOWNLOAD="https://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-3.22.1.tar.xz"
+MD5SUM="226802cf3b06861240524805aa6fe6ff"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/gnats/gnats.SlackBuild b/development/gnats/gnats.SlackBuild
index da9575aaa1..18ca2b30d7 100644
--- a/development/gnats/gnats.SlackBuild
+++ b/development/gnats/gnats.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=pointer-compare -Wno-error=implicit-fallthrough=" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/development/gnuradio/boost-1.70.0.patch b/development/gnuradio/boost-1.70.0.patch
new file mode 100644
index 0000000000..6d46598525
--- /dev/null
+++ b/development/gnuradio/boost-1.70.0.patch
@@ -0,0 +1,36 @@
+From c01473bf00b73ba1dd72813fbc4c4c5d0f66d339 Mon Sep 17 00:00:00 2001
+From: Michael Dickens <michael.dickens@ettus.com>
+Date: Thu, 23 May 2019 10:26:00 -0400
+Subject: [PATCH] blocks: simple fix for Boost 1.70.0 in socket_pdu
+
+NOTE: There have been multiple fixes proposed, such as
+https://github.com/gnuradio/gnuradio/pull/2451 .
+This one is the simplest and most compatible.
+---
+ gr-blocks/lib/socket_pdu_impl.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gr-blocks/lib/socket_pdu_impl.cc b/gr-blocks/lib/socket_pdu_impl.cc
+index e20f1478f0..168d74ebb2 100644
+--- a/gr-blocks/lib/socket_pdu_impl.cc
++++ b/gr-blocks/lib/socket_pdu_impl.cc
+@@ -1,6 +1,6 @@
+ /* -*- c++ -*- */
+ /*
+- * Copyright 2013 Free Software Foundation, Inc.
++ * Copyright 2013,2019 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+@@ -165,7 +165,11 @@ namespace gr {
+ void
+ socket_pdu_impl::start_tcp_accept()
+ {
++#if (BOOST_VERSION >= 107000)
++ tcp_connection::sptr new_connection = tcp_connection::make(d_io_service, d_rxbuf.size(), d_tcp_no_delay);
++#else
+ tcp_connection::sptr new_connection = tcp_connection::make(d_acceptor_tcp->get_io_service(), d_rxbuf.size(), d_tcp_no_delay);
++#endif
+
+ d_acceptor_tcp->async_accept(new_connection->socket(),
+ boost::bind(&socket_pdu_impl::handle_tcp_accept, this,
diff --git a/development/gnuradio/gnuradio.SlackBuild b/development/gnuradio/gnuradio.SlackBuild
index 0c395d8a07..8b42897f6f 100644
--- a/development/gnuradio/gnuradio.SlackBuild
+++ b/development/gnuradio/gnuradio.SlackBuild
@@ -73,6 +73,8 @@ find -L . \
# install docs in the right place
sed -i "s|\${GR_DATA_DIR}/doc|doc|" CMakeLists.txt
+patch -p1 < $CWD/boost-1.70.0.patch
+
mkdir -p build
cd build
cmake \
diff --git a/development/gpsim/gpsim.SlackBuild b/development/gpsim/gpsim.SlackBuild
index 787ddc0e29..25822ab265 100644
--- a/development/gpsim/gpsim.SlackBuild
+++ b/development/gpsim/gpsim.SlackBuild
@@ -70,7 +70,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/development/gr-osmosdr/gr-osmosdr.SlackBuild b/development/gr-osmosdr/gr-osmosdr.SlackBuild
index 8ec9fc13df..4643d36347 100644
--- a/development/gr-osmosdr/gr-osmosdr.SlackBuild
+++ b/development/gr-osmosdr/gr-osmosdr.SlackBuild
@@ -70,6 +70,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|gr_osmosdr_libs}|gr_osmosdr_libs} -lboost_chrono|" lib/CMakeLists.txt
+
mkdir -p build
cd build
cmake \
diff --git a/development/gsoap/gsoap-libtool.patch b/development/gsoap/gsoap-libtool.patch
index 87a9fcefdf..d87defacb8 100644
--- a/development/gsoap/gsoap-libtool.patch
+++ b/development/gsoap/gsoap-libtool.patch
@@ -1,6 +1,6 @@
diff -ur gsoap-2.8.orig/configure.ac gsoap-2.8/configure.ac
---- gsoap-2.8.orig/configure.ac 2015-11-10 18:52:20.000000000 +0100
-+++ gsoap-2.8/configure.ac 2015-11-22 09:28:38.711054796 +0100
+--- gsoap-2.8.orig/configure.ac 2017-10-26 14:01:08.000000000 +0200
++++ gsoap-2.8/configure.ac 2017-12-03 15:29:52.878661826 +0100
@@ -16,8 +16,7 @@
AM_PROG_LEX
AC_PROG_YACC
@@ -11,7 +11,7 @@ diff -ur gsoap-2.8.orig/configure.ac gsoap-2.8/configure.ac
AC_PROG_LN_S
AC_PROG_AWK
AC_PROG_INSTALL
-@@ -236,16 +235,16 @@
+@@ -259,15 +258,15 @@
WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lgnutls -lgcrypt -lgpg-error -lz"
SAMPLE_INCLUDES=
SAMPLE_SSL_LIBS="-lgnutls -lgcrypt -lgpg-error -lz"
@@ -20,76 +20,75 @@ diff -ur gsoap-2.8.orig/configure.ac gsoap-2.8/configure.ac
else
AC_MSG_RESULT(no)
WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
- # an ugly hack to get httpda and smdevp plugins to conditionally
# compile with wsdl2h when OPENSSL is available
-- WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/smdevp.c ../plugin/threads.c -lssl -lcrypto -lz"
-+ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/smdevp.c ../plugin/threads.c -lcrypto"
+- WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lssl -lcrypto -lz"
++ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lcrypto"
SAMPLE_INCLUDES=
SAMPLE_SSL_LIBS="-lssl -lcrypto -lz"
- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
+ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
fi
- if test -n "$OPENSSL"; then
- WSDL2H_EXTRA_FLAGS="-I${OPENSSL}/include ${WSDL2H_EXTRA_FLAGS}"
-@@ -258,7 +257,7 @@
+ if test -n "$ZLIB"; then
+ WSDL2H_EXTRA_FLAGS="-I${ZLIB}/include ${WSDL2H_EXTRA_FLAGS}"
+@@ -286,7 +285,7 @@
WSDL2H_EXTRA_FLAGS=
SAMPLE_SSL_LIBS=
SAMPLE_INCLUDES=
- WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
+ WSDL2H_SOAP_CPP_LIB="libgsoap++.la"
fi
- AC_SUBST(WSDL2H_EXTRA_FLAGS)
- AC_SUBST(WSDL2H_EXTRA_LIBS)
+ AM_CONDITIONAL(WITH_OPENSSL, test "x$with_openssl" = "xyes" -a "x$with_gnutls" != "xyes")
+ AC_SUBST(WITH_OPENSSL)
diff -ur gsoap-2.8.orig/gsoap/Makefile.am gsoap-2.8/gsoap/Makefile.am
---- gsoap-2.8.orig/gsoap/Makefile.am 2015-11-10 18:52:22.000000000 +0100
-+++ gsoap-2.8/gsoap/Makefile.am 2015-11-22 09:24:43.198046409 +0100
+--- gsoap-2.8.orig/gsoap/Makefile.am 2017-10-26 14:01:08.000000000 +0200
++++ gsoap-2.8/gsoap/Makefile.am 2017-12-03 15:34:29.556641119 +0100
@@ -34,20 +34,30 @@
dom_cpp.cpp: dom.cpp
- $(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
+ $(LN_S) -f $(top_srcdir)/gsoap/dom.cpp dom_cpp.cpp
-lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+lib_LTLIBRARIES = libgsoap.la libgsoap++.la libgsoapck.la libgsoapck++.la libgsoapssl.la libgsoapssl++.la
-libgsoap_a_SOURCES = stdsoap2.c dom.c
--libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+-libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform)
-libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
--libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+-libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform)
-libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
--libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+-libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
-libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
--libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+-libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
-libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
--libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
+-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
--libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
+-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
+SOVERSION = 0
+
+libgsoap_la_SOURCES = stdsoap2.c dom.c
-+libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
++libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap_la_LDFLAGS = -version-info $(SOVERSION)
+libgsoap___la_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
-+libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
++libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap___la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapck_la_SOURCES = stdsoap2_ck.c dom.c
-+libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
++libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck_la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
-+libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
++libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck___la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapssl_la_SOURCES = stdsoap2_ssl.c dom.c
-+libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
++libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
+libgsoapssl_la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapssl_la_LIBADD = -lssl -lcrypto -lz
+libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
-+libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
++libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
+libgsoapssl___la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapssl___la_LIBADD = -lssl -lcrypto -lz
- BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp $(lib_LIBRARIES)
+ BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp
diff -ur gsoap-2.8.orig/gsoap/samples/Makefile.defines gsoap-2.8/gsoap/samples/Makefile.defines
---- gsoap-2.8.orig/gsoap/samples/Makefile.defines 2015-11-10 18:52:26.000000000 +0100
-+++ gsoap-2.8/gsoap/samples/Makefile.defines 2015-11-22 09:22:54.369042534 +0100
+--- gsoap-2.8.orig/gsoap/samples/Makefile.defines 2017-10-26 14:01:10.000000000 +0200
++++ gsoap-2.8/gsoap/samples/Makefile.defines 2017-12-03 15:35:07.477638281 +0100
@@ -13,13 +13,13 @@
SOAP_C_CORE=soapC.c
SOAP_C_CLIENT=soapClient.c $(SOAP_C_CORE)
@@ -111,11 +110,11 @@ diff -ur gsoap-2.8.orig/gsoap/samples/Makefile.defines gsoap-2.8/gsoap/samples/M
+SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.la
+SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.la
diff -ur gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8/gsoap/samples/autotest/Makefile.am
---- gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am 2015-11-10 18:52:26.000000000 +0100
-+++ gsoap-2.8/gsoap/samples/autotest/Makefile.am 2015-11-22 09:22:54.368042534 +0100
+--- gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am 2017-10-26 14:01:10.000000000 +0200
++++ gsoap-2.8/gsoap/samples/autotest/Makefile.am 2017-12-03 15:35:30.202636580 +0100
@@ -14,7 +14,7 @@
- WSDLINPUT=$(srcdir)/examples.wsdl
- SOAPHEADER=$(srcdir)/examples.h
+ WSDLINPUT=$(top_srcdir)/gsoap/samples/autotest/examples.wsdl
+ SOAPHEADER=$(top_srcdir)/gsoap/samples/autotest/examples.h
SOAP_CPP_SRC=soapC.cpp soapServer.cpp
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
@@ -123,11 +122,11 @@ diff -ur gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8/gsoap/sampl
$(SOAP_CPP_SRC) : $(WSDLINPUT)
$(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
diff -ur gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8/gsoap/samples/databinding/Makefile.am
---- gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am 2015-11-10 18:52:26.000000000 +0100
-+++ gsoap-2.8/gsoap/samples/databinding/Makefile.am 2015-11-22 09:22:54.368042534 +0100
+--- gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am 2017-10-26 14:01:10.000000000 +0200
++++ gsoap-2.8/gsoap/samples/databinding/Makefile.am 2017-12-03 15:35:50.071635093 +0100
@@ -14,7 +14,7 @@
- WSDLINPUT=$(srcdir)/address.xsd
- SOAPHEADER=$(srcdir)/address.h
+ WSDLINPUT=$(top_srcdir)/gsoap/samples/databinding/address.xsd
+ SOAPHEADER=$(top_srcdir)/gsoap/samples/databinding/address.h
SOAP_CPP_SRC=addressC.cpp
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
diff --git a/development/gsoap/gsoap.SlackBuild b/development/gsoap/gsoap.SlackBuild
index a92cd16d6a..58e9a2532b 100644
--- a/development/gsoap/gsoap.SlackBuild
+++ b/development/gsoap/gsoap.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for gsoap
-# Copyright 2009-2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2009-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# 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=gsoap
-VERSION=${VERSION:-2.8.46}
+VERSION=${VERSION:-2.8.59}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/development/gsoap/gsoap.info b/development/gsoap/gsoap.info
index 1f3e52d4cd..8e3c8ca5d4 100644
--- a/development/gsoap/gsoap.info
+++ b/development/gsoap/gsoap.info
@@ -1,8 +1,8 @@
PRGNAM="gsoap"
-VERSION="2.8.46"
+VERSION="2.8.59"
HOMEPAGE="http://gsoap2.sourceforge.net/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/gsoap_2.8.46.zip"
-MD5SUM="e7ff6c940730371dcb90079ca56a8551"
+DOWNLOAD="http://downloads.sourceforge.net/gsoap2/gsoap_2.8.59.zip"
+MD5SUM="af00304f7c9345ce83b32d45e7e601b1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/hte/hte.SlackBuild b/development/hte/hte.SlackBuild
index 97058415df..519c03db13 100644
--- a/development/hte/hte.SlackBuild
+++ b/development/hte/hte.SlackBuild
@@ -24,13 +24,13 @@
SRCNAM=ht
PRGNAM=hte
-VERSION=${VERSION:-2.0.18}
+VERSION=${VERSION:-2.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
@@ -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"
@@ -61,14 +61,20 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.*z?
+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 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 {} \;
+
+# Thanks gentoo!
+patch -p1 < $CWD/hteditor-2.1.0-gcc-7.patch
+
+# Respect our CFLAGS
+sed -i "s|-O3 -fomit-frame-pointer -Wall -fsigned-char|$SLKCFLAGS|" configure
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/development/hte/hte.info b/development/hte/hte.info
index e12fb4f8eb..1a2a2cd461 100644
--- a/development/hte/hte.info
+++ b/development/hte/hte.info
@@ -1,8 +1,8 @@
PRGNAM="hte"
-VERSION="2.0.18"
+VERSION="2.1.0"
HOMEPAGE="http://hte.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/hte/ht-2.0.18.tar.bz2"
-MD5SUM="9cd5c52bb3fbae5c631875cd0de3318c"
+DOWNLOAD="https://downloads.sf.net/hte/ht-2.1.0.tar.bz2"
+MD5SUM="09b2a4461d75e9cd03af1cd67fadc1ec"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/hte/hteditor-2.1.0-gcc-7.patch b/development/hte/hteditor-2.1.0-gcc-7.patch
new file mode 100644
index 0000000000..ebcc3c0aa4
--- /dev/null
+++ b/development/hte/hteditor-2.1.0-gcc-7.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/show_bug.cgi?id=620732
+
+Fixes build failure on gcc-7:
+
+ htapp.cc: In function 'uint isqr(uint)':
+ htapp.cc:3026:18: error: call of overloaded 'abs(uint)' is ambiguous
+ while (abs(a - b) > 1) {
+ ^
+
+Picked upstream patch that fixes it:
+
+commit 3b62f2f7e49e024ec9d3c5ffc8ff9cd87a107af6
+Author: Sebastian Biallas <sb@biallas.net>
+Date: Sun Nov 13 15:25:26 2016 +0100
+
+ use unsigned variables
+
+diff --git a/htapp.cc b/htapp.cc
+index 53d8725..03236e2 100644
+--- a/htapp.cc
++++ b/htapp.cc
+@@ -3021,8 +3021,8 @@ void do_modal_resize()
+
+ static uint isqr(uint u)
+ {
+- uint a = 2;
+- uint b = u/a;
++ int a = 2;
++ int b = u/a;
+ while (abs(a - b) > 1) {
+ a = (a+b)/2;
+ b = u/a;
diff --git a/development/icecream/README b/development/icecream/README
deleted file mode 100644
index 50daacb2d4..0000000000
--- a/development/icecream/README
+++ /dev/null
@@ -1,12 +0,0 @@
-Icecream is a distributed compile system. It allows parallel compiling by
-distributing the compile jobs to several nodes of a compile network running the
-icecc daemon. The icecc scheduler routes the jobs and provides status and
-statistics information to the icecc monitor. Each compile node can accept one
-or more compile jobs depending on the number of processors and the settings of
-the daemon. Link jobs and other jobs which cannot be distributed are executed
-locally on the node where the compilation is started.
-Note that upon installation of the resulting package, all your software
-will be compiled by icecream by default.
-
-For information on how to use icecream in combination with ccache see
-https://github.com/icecc/icecream#how-to-combine-icecream-with-ccache
diff --git a/development/icecream/doinst.sh b/development/icecream/doinst.sh
deleted file mode 100644
index 9685b60dea..0000000000
--- a/development/icecream/doinst.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-# Keep same perms on rc.iceccd.new:
-if [ -e etc/rc.d/rc.iceccd ]; then
- cp -a etc/rc.d/rc.iceccd etc/rc.d/rc.iceccd.new.incoming
- cat etc/rc.d/rc.iceccd.new > etc/rc.d/rc.iceccd.new.incoming
- mv etc/rc.d/rc.iceccd.new.incoming etc/rc.d/rc.iceccd.new
-fi
-
-# Keep same perms on rc.icecc-scheduler.new:
-if [ -e etc/rc.d/rc.icecc-scheduler ]; then
- cp -a etc/rc.d/rc.icecc-scheduler etc/rc.d/rc.icecc-scheduler.new.incoming
- cat etc/rc.d/rc.icecc-scheduler.new > etc/rc.d/rc.icecc-scheduler.new.incoming
- mv etc/rc.d/rc.icecc-scheduler.new.incoming etc/rc.d/rc.icecc-scheduler.new
-fi
-
-config etc/rc.d/rc.iceccd.new
-config etc/rc.d/rc.icecream.conf.new
-config etc/rc.d/rc.icecc-scheduler.new
-
diff --git a/development/icecream/icecream.SlackBuild b/development/icecream/icecream.SlackBuild
deleted file mode 100644
index 4afe8dabd3..0000000000
--- a/development/icecream/icecream.SlackBuild
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for icecream
-
-# Copyright 2009-2018 Heinz Wiesinger, Amsterdam, The Netherlands
-# 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=icecream
-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 ! grep ^icecream: /etc/group 2>&1 > /dev/null; then
- echo " Must have a icecream group to run this script."
- echo " # groupadd -g 283 icecream"
- echo " Or something similar."
- exit 1
-elif ! grep ^icecream: /etc/passwd 2>&1 > /dev/null; then
- echo " Must have a icecream user to run this script."
- echo " # useradd -u 283 -g icecream -d /var/cache/icecream icecream"
- echo " Or something similar."
- exit 1
-fi
-
-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 {} \;
-
-./autogen.sh
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib$LIBDIRSUFFIX \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --enable-clang-rewrite-includes \
- --enable-clang-wrappers \
- --enable-shared \
- --disable-static \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-mkdir -p $PKG/etc/profile.d/
-cp $CWD/profile.d/* $PKG/etc/profile.d/
-chmod 0755 $PKG/etc/profile.d/*
-
-# Install init script
-mkdir -p $PKG/etc/rc.d
-install -m 0755 $CWD/rc.iceccd $PKG/etc/rc.d/rc.iceccd.new
-install -m 0755 $CWD/rc.icecc-scheduler $PKG/etc/rc.d/rc.icecc-scheduler.new
-install -m 0644 $CWD/rc.icecream.conf $PKG/etc/rc.d/rc.icecream.conf.new
-
-for i in $ARCH-slackware-linux-c++ $ARCH-slackware-linux-g++ \
- $ARCH-slackware-linux-gcc $ARCH-slackware-linux-clang \
- $ARCH-slackware-linux-clang++; do
- ln -s /usr/bin/icecc $PKG/usr/libexec/icecc/bin/$i
-done
-
-mkdir -p $PKG/var/{cache,log}/icecream
-chown icecream:icecream $PKG/var/{cache,log}/icecream
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYING NEWS README 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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/development/icecream/icecream.info b/development/icecream/icecream.info
deleted file mode 100644
index 430743d46a..0000000000
--- a/development/icecream/icecream.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="icecream"
-VERSION="1.1"
-HOMEPAGE="https://github.com/icecc/icecream"
-DOWNLOAD="https://github.com/icecc/icecream/archive/1.1/icecream-1.1.tar.gz"
-MD5SUM="bd33e21fa25ccedeb5c94be9c6f034e1"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Heinz Wiesinger"
-EMAIL="pprkut@liwjatan.at"
diff --git a/development/icecream/profile.d/icecream.csh b/development/icecream/profile.d/icecream.csh
deleted file mode 100644
index 386d9242a8..0000000000
--- a/development/icecream/profile.d/icecream.csh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/csh
-setenv PATH /usr/libexec/icecc/bin:${PATH}
diff --git a/development/icecream/profile.d/icecream.sh b/development/icecream/profile.d/icecream.sh
deleted file mode 100644
index c0c3d179ee..0000000000
--- a/development/icecream/profile.d/icecream.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-export PATH=/usr/libexec/icecc/bin:$PATH
diff --git a/development/icecream/rc.icecc-scheduler b/development/icecream/rc.icecc-scheduler
deleted file mode 100644
index 633661bebe..0000000000
--- a/development/icecream/rc.icecc-scheduler
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-# Start/stop/restart scheduler.
-# $Id: rc.scheduler,v 1.0 2009/04/18
-# Author: Heinz Wiesinger <pprkut@liwjatan.at>
-# ---------------------------------------------------------------------------
-
-PID=$(/sbin/pidof -o %PPID icecc-scheduler)
-
-# Get the configuration information from /etc/rc.d/rc.icecream.conf:
-. /etc/rc.d/rc.icecream.conf
-
-# Start scheduler:
-scheduler_start() {
- if [ -n "$PID" ]; then
- echo "Distributed compiler scheduler already running"
- exit
- fi
- if [ -x /usr/sbin/icecc-scheduler ]; then
- echo "Starting distributed compiler scheduler: /usr/sbin/icecc-scheduler "
- /usr/sbin/icecc-scheduler -n $NETWORK -d -u icecream \
- -l /var/log/icecream/icecc-scheduler.log
- fi
-}
-
-# Stop scheduler:
-scheduler_stop() {
- echo "Stopping distributed compiler scheduler"
- killall icecc-scheduler 1> /dev/null 2> /dev/null
-}
-
-# Restart scheduler:
-scheduler_restart() {
- scheduler_stop
- sleep 1
- scheduler_start
-}
-
-case "$1" in
-'start')
- scheduler_start
- ;;
-'stop')
- scheduler_stop
- ;;
-'restart')
- scheduler_restart
- ;;
-*)
- echo "usage $0 start|stop|restart"
-esac
diff --git a/development/icecream/rc.iceccd b/development/icecream/rc.iceccd
deleted file mode 100644
index 776de18a15..0000000000
--- a/development/icecream/rc.iceccd
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-# Start/stop/restart iceccd.
-# $Id: rc.iceccd,v 1.0 2009/04/18
-# Author: Heinz Wiesinger <pprkut@liwjatan.at>
-# ---------------------------------------------------------------------------
-
-PID=$(/sbin/pidof -o %PPID iceccd)
-
-# Get the configuration information from /etc/rc.d/rc.icecream.conf:
-. /etc/rc.d/rc.icecream.conf
-
-# Start iceccd:
-iceccd_start() {
- if [ -n "$PID" ]; then
- echo "Distributed compiler daemon already running"
- exit
- fi
- if [ -x /usr/sbin/iceccd ]; then
- echo "Starting distributed compiler daemon: /usr/sbin/iceccd "
- /usr/sbin/iceccd -n $NETWORK -d -u icecream \
- -l /var/log/icecream/iceccd.log
- fi
-}
-
-# Stop iceccd:
-iceccd_stop() {
- echo "Stopping distributed compiler daemon"
- killall iceccd 1> /dev/null 2> /dev/null
-}
-
-# Restart iceccd:
-iceccd_restart() {
- iceccd_stop
- sleep 1
- iceccd_start
-}
-
-case "$1" in
-'start')
- iceccd_start
- ;;
-'stop')
- iceccd_stop
- ;;
-'restart')
- iceccd_restart
- ;;
-*)
- echo "usage $0 start|stop|restart"
-esac
diff --git a/development/icecream/rc.icecream.conf b/development/icecream/rc.icecream.conf
deleted file mode 100644
index f422fde174..0000000000
--- a/development/icecream/rc.icecream.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/rc.d/rc.icecream.conf
-#
-# This file contains the configuration settings for both iceccd and scheduler
-
-# Defines the network name used to determine which nodes can be used for
-# the compile processes. That way you can have several icecream clusters
-# in the same network
-NETWORK=$(hostname -d)
diff --git a/development/icecream/slack-desc b/development/icecream/slack-desc
deleted file mode 100644
index a435b5c2cd..0000000000
--- a/development/icecream/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------------------------------------------------------|
-icecream: icecream (network-distributed compilation)
-icecream:
-icecream: Icecream is a distributed compile system. It allows parallel
-icecream: compiling by distributing the compile jobs to several nodes of a
-icecream: compile network running the statistics information to the icecc
-icecream: monitor. Each compile node can accept one or more compile jobs
-icecream: depending on the number of processors and the settings of icecc
-icecream: daemon. The icecc scheduler routes the jobs and provides status
-icecream: and the daemon. Link jobs and other jobs which cannot be
-icecream: distributed are executed locally on the node where the compilation
-icecream: is started.
diff --git a/development/jdk/profile.d/jdk.csh b/development/jdk/profile.d/jdk.csh
index 3a1ec7be8b..24580311a3 100644
--- a/development/jdk/profile.d/jdk.csh
+++ b/development/jdk/profile.d/jdk.csh
@@ -1,4 +1,3 @@
#!/bin/csh
setenv JAVA_HOME /usr/lib/java
-setenv MANPATH ${MANPATH}:${JAVA_HOME}/man
setenv PATH ${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
diff --git a/development/jdk/profile.d/jdk.sh b/development/jdk/profile.d/jdk.sh
index ed0bc73d4d..66815e299f 100644
--- a/development/jdk/profile.d/jdk.sh
+++ b/development/jdk/profile.d/jdk.sh
@@ -1,4 +1,3 @@
#!/bin/sh
export JAVA_HOME=/usr/lib/java
-export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
diff --git a/development/latrace/fix-scanner-config-for-flex-2.6.x.patch b/development/latrace/fix-scanner-config-for-flex-2.6.x.patch
new file mode 100644
index 0000000000..301f4c5a96
--- /dev/null
+++ b/development/latrace/fix-scanner-config-for-flex-2.6.x.patch
@@ -0,0 +1,23 @@
+--- src/config-flex.l.orig 2011-07-25 07:18:18.000000000 -0400
++++ src/config-flex.l 2017-07-02 13:52:20.048382500 -0400
+@@ -106,19 +106,17 @@ OPTIONS { BEGIN(options); return OPTI
+ <options>"\n" { NEW_LINE(); }
+ <options>. { ; }
+
+ %%
+
+-#ifndef yywrap
+-int yywrap()
++int lt_config_wrap()
+ {
+ return 1;
+ /* XXX not to get the compiler 'not used' warning */
+ yyunput(0, NULL);
+ input();
+ }
+-#endif
+
+ void lt_config_error(const char *m)
+ {
+ printf("conf file [%s] line %d: %s\n",
+ lt_inc_stack(lt_config_sinc)->file,
diff --git a/development/latrace/latrace.SlackBuild b/development/latrace/latrace.SlackBuild
index 899601c4e5..bf2208d214 100644
--- a/development/latrace/latrace.SlackBuild
+++ b/development/latrace/latrace.SlackBuild
@@ -54,6 +54,9 @@ find -L . \
-type d -exec chmod 0755 {} \; -o \
-type f -exec chmod u+rw,go+r-w,a-s {} \;
+# Thanks archlinux!
+patch -p0 < $CWD/fix-scanner-config-for-flex-2.6.x.patch
+
autoconf
CFLAGS="$SLKCFLAGS" \
diff --git a/development/lmdb/README b/development/lmdb/README
deleted file mode 100644
index 9e2c8df0ff..0000000000
--- a/development/lmdb/README
+++ /dev/null
@@ -1,2 +0,0 @@
-LMDB is an ultra-fast, ultra-compact key-value embedded data store
-developed by Symas for the OpenLDAP Project.
diff --git a/development/lmdb/lmdb.SlackBuild b/development/lmdb/lmdb.SlackBuild
deleted file mode 100644
index b7c2e3e2fb..0000000000
--- a/development/lmdb/lmdb.SlackBuild
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for LMDB
-
-# Copyright 2015 Jack Hunt, United Kingdom
-# 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=lmdb
-VERSION=${VERSION:-0.9.14}
-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
-tar xvzf $CWD/$PRGNAM-$VERSION.tar.gz
-cd liblmdb
-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 {} \;
-
-#Manually create dest dir's as there is no configure script.
-mkdir $PKG/usr
-mkdir $PKG/usr/man
-mkdir $PKG/usr/lib
-mkdir $PKG/usr/include
-
-sed -i '/^prefix/d' Makefile
-make prefix=/usr DESTDIR=$PKG
-make install prefix=/usr 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 CHANGES LICENSE $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/development/lmdb/lmdb.info b/development/lmdb/lmdb.info
deleted file mode 100644
index f27e78bd6e..0000000000
--- a/development/lmdb/lmdb.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="lmdb"
-VERSION="0.9.14"
-HOMEPAGE="http://symas.com/mdb/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/lmdb-0.9.14.tar.gz"
-MD5SUM="5808c3822595960f8e965754f84ee99e"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Jack Hunt"
-EMAIL="jackmileshunt[at]gmail.com"
diff --git a/development/menhir/menhir.SlackBuild b/development/menhir/menhir.SlackBuild
index 094a29eba9..62336c4021 100644
--- a/development/menhir/menhir.SlackBuild
+++ b/development/menhir/menhir.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=menhir
-VERSION=${VERSION:-20170101}
+VERSION=${VERSION:-20190924}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -93,7 +93,9 @@ 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 AUTHORS CHANGES INSTALLATION LICENSE manual.pdf $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/usr/doc/$PRGNAM/* $PKG/usr/doc/$PRGNAM-$VERSION/
+rm -fR $PKG/usr/doc/$PRGNAM
+cp -a *.md LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/development/menhir/menhir.info b/development/menhir/menhir.info
index 1926acc370..5ce37a9367 100644
--- a/development/menhir/menhir.info
+++ b/development/menhir/menhir.info
@@ -1,8 +1,8 @@
PRGNAM="menhir"
-VERSION="20170101"
+VERSION="20190924"
HOMEPAGE="http://cristal.inria.fr/~fpottier/menhir/"
-DOWNLOAD="http://cristal.inria.fr/~fpottier/menhir/menhir-20170101.tar.gz"
-MD5SUM="78128bc6935d7c40d5da919c502678c0"
+DOWNLOAD="https://gitlab.inria.fr/fpottier/menhir/-/archive/20190924/menhir-20190924.tar.gz"
+MD5SUM="69b2cbcfb12ca0ca09ad0096c8716265"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ocamlbuild ocaml-findlib"
diff --git a/development/meson/README b/development/meson/README
deleted file mode 100644
index 6ead00c876..0000000000
--- a/development/meson/README
+++ /dev/null
@@ -1,9 +0,0 @@
-meson (The Meson Build System)
-
-Meson is an open source build system meant to be both extremely fast,
-and, even more importantly, as user friendly as possible.
-
-The main design point of Meson is that every moment a developer spends
-writing or debugging build definitions is a second wasted. So is every
-second spent waiting for the build system to actually start compiling
-code.
diff --git a/development/meson/meson.info b/development/meson/meson.info
deleted file mode 100644
index f0f16dd7e8..0000000000
--- a/development/meson/meson.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="meson"
-VERSION="0.51.0"
-HOMEPAGE="http://mesonbuild.com"
-DOWNLOAD="https://github.com/mesonbuild/meson/releases/download/0.51.0/meson-0.51.0.tar.gz"
-MD5SUM="a091995861e0bc23e3c856b0c8d1ef90"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3 ninja"
-MAINTAINER="Jeremy Hansen"
-EMAIL="jebrhansen+SBo@gmail.com"
diff --git a/development/meson/slack-desc b/development/meson/slack-desc
deleted file mode 100644
index e3e1d45d83..0000000000
--- a/development/meson/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------------------------------------------------------|
-meson: meson (The Meson Build System)
-meson:
-meson: Meson is an open source build system meant to be both extremely fast,
-meson: and, even more importantly, as user friendly as possible.
-meson:
-meson: The main design point of Meson is that every moment a developer spends
-meson: writing or debugging build definitions is a second wasted. So is every
-meson: second spent waiting for the build system to actually start compiling
-meson: code.
-meson:
-meson: HOMEPAGE: http://mesonbuild.com
diff --git a/development/mozjs/README b/development/mozjs/README
deleted file mode 100644
index bd78678034..0000000000
--- a/development/mozjs/README
+++ /dev/null
@@ -1,3 +0,0 @@
-SpiderMonkey is Mozilla's JavaScript engine written in C and C++. It
-is used in various Mozilla products, including Firefox, and is
-available under the MPL2.
diff --git a/development/mozjs/mozjs.SlackBuild b/development/mozjs/mozjs.SlackBuild
deleted file mode 100644
index 2a9a440991..0000000000
--- a/development/mozjs/mozjs.SlackBuild
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for mozjs
-# Copyright 2018 David Woodfall <dave@dawoodfall.net>
-# 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=mozjs
-VERSION=${VERSION:-45.0.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-$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 {} \;
-
-patch -p1 --verbose <$CWD/patches/moz38-dont-hardcode-libc-soname.patch
-
-cd js/src
-
-# Going with the gentoo ebuild options. They completely disable all
-# optimisation so we'll see how that works out.
-# --enable-optimize="-O2" \
-# They have also enabled thread safety.
-
-MOZ_MAKE_FLAGS="$SLKCFLAGS" \
-MOZ_OPTIMIZE_FLAGS="" \
-MOZ_DEBUG_FLAGS="" \
-HOST_OPTIMIZE_FLAGS="" \
-MODULE_OPTIMIZE_FLAGS="" \
-MOZ_PGO_OPTIMIZE_FLAGS="" \
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --enable-jemalloc \
- --enable-threadsafe \
- --with-system-nspr \
- --enable-system-ffi \
- --enable-readline \
- --disable-optimize \
- --with-intl-api \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
-
-# Get rid of any static libs
-find $PKG -iname '*.a' -o -iname '*.ajs' -delete
-
-# We don't want to clobber the stock js185 so we'll rename 'js' to 'mozjs' etc.
-(
- cd $PKG/usr/bin
- for bin in *
- do
- mv -v $bin moz$bin
- done
-)
-
-# Thanks to Arch
-# Resolve symlinks so they donʼt point to $srcdir
-for l in $(find "$PKG/usr/include/" -type l); do
- cp --remove-destination $(readlink $l) $l
-done
-
-# Fix to get elinks to build against it. Disabled for now.
-#sed -i "s%<cmath>%<cmath.h>%" $PKG/usr/include/mozjs-45/mozilla/MathAlgorithms.h
-#sed -i "s%<limits>%<limits.h>%" $PKG/usr/include/mozjs-45/js/Value.h
-#sed -i "/#include <new>/d" $PKG/usr/include/mozjs-45/js/Utility.h
-#sed -i "/#include <new>/d" $PKG/usr/include/mozjs-45/mozilla/Vector.h
-
-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
-
-cd ../..
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- INSTALL LICENSE 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/development/mozjs/mozjs.info b/development/mozjs/mozjs.info
deleted file mode 100644
index 5e487beb0e..0000000000
--- a/development/mozjs/mozjs.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="mozjs"
-VERSION="45.0.2"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-DOWNLOAD="https://ftp.mozilla.org/pub/spidermonkey/releases/45.0.2/mozjs-45.0.2.tar.bz2"
-MD5SUM="2ca34f998d8b5ea79d8616dd26b5fbab"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
diff --git a/development/mozjs/patches/moz38-dont-hardcode-libc-soname.patch b/development/mozjs/patches/moz38-dont-hardcode-libc-soname.patch
deleted file mode 100644
index 708c749697..0000000000
--- a/development/mozjs/patches/moz38-dont-hardcode-libc-soname.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:21:16.764318254 -0500
-+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:22:23.392069398 -0500
-@@ -93,10 +93,11 @@
-
- if info['os'] == 'linux':
- import ctypes
-+ import ctypes.util
- import errno
- PR_SET_SECCOMP = 22
- SECCOMP_MODE_FILTER = 2
-- ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
-+ ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
- info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
- else:
- info['has_sandbox'] = True
diff --git a/development/mozjs/slack-desc b/development/mozjs/slack-desc
deleted file mode 100644
index 0f9f7248d2..0000000000
--- a/development/mozjs/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 ':'.
-
- |-----handy-ruler------------------------------------------------------|
-mozjs: mozjs (Mozilla's JavaScript engine)
-mozjs:
-mozjs: SpiderMonkey is Mozilla's JavaScript engine written in C and C++. It
-mozjs: is used in various Mozilla products, including Firefox, and is
-mozjs: available under the MPL2.
-mozjs:
-mozjs:
-mozjs:
-mozjs:
-mozjs:
-mozjs:
diff --git a/development/mysql-pinba/mysql-pinba.SlackBuild b/development/mysql-pinba/mysql-pinba.SlackBuild
index cdf19f5036..e6f3bf0ebd 100644
--- a/development/mysql-pinba/mysql-pinba.SlackBuild
+++ b/development/mysql-pinba/mysql-pinba.SlackBuild
@@ -95,7 +95,7 @@ sed -i "s|sql/structs.h|structs.h|" src/ha_pinba.cc
sed -i "s|sql/handler.h|handler.h|" src/ha_pinba.cc
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
LIBS="$malloc_lib" \
./configure \
--prefix=/usr \
diff --git a/development/mysql-workbench/mysql-workbench.SlackBuild b/development/mysql-workbench/mysql-workbench.SlackBuild
index b2344f4ef3..b0d607b78f 100644
--- a/development/mysql-workbench/mysql-workbench.SlackBuild
+++ b/development/mysql-workbench/mysql-workbench.SlackBuild
@@ -74,6 +74,11 @@ 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 Archlinux: GCC 7.x complains about an unsupported flag; it also
+# introduced some new warnings, remove '-Werror' for the build to complete
+sed -i 's|-Wno-deprecated-register||' ext/scintilla/gtk/CMakeLists.txt
+sed -i '/^set/s|-Werror -Wall|-Wall|' CMakeLists.txt
+
# Patch from Ponce
patch -p1 < $CWD/config_and_ifconfig_paths.patch
diff --git a/development/ninja/README b/development/ninja/README
deleted file mode 100644
index 4881393f6e..0000000000
--- a/development/ninja/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Ninja is a small build system with a focus on speed. It differs from other
-build systems in two major respects: it is designed to have its input files
-generated by a higher-level build system, and it is designed to run builds as
-fast as possible.
diff --git a/development/ninja/ninja.SlackBuild b/development/ninja/ninja.SlackBuild
deleted file mode 100644
index 88e5d32ab2..0000000000
--- a/development/ninja/ninja.SlackBuild
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for ninja
-
-# Copyright 2015 Markus Rinne Finland
-# 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=ninja
-VERSION=${VERSION:-1.9.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.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 {} \;
-
-CXXFLAGS="$SLKCFLAGS" \
-CFLAGS="$SLKCFLAGS" \
- python configure.py --bootstrap
-
-install -D -m0755 ninja $PKG/usr/bin/ninja
-install -D -m0644 misc/bash-completion $PKG/usr/share/bash-completion/completions/ninja
-install -D -m0644 misc/zsh-completion $PKG/usr/share/zsh/site-functions/_ninja
-install -D -m0644 misc/ninja.vim $PKG/usr/share/vim/vimfiles/syntax/ninja.vim
-install -D -m0644 misc/ninja-mode.el $PKG/usr/share/emacs/site-lisp/ninja-mode.el
-
-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* HACKING* README* RELEASING \
- $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/development/ninja/ninja.info b/development/ninja/ninja.info
deleted file mode 100644
index 7931d0a752..0000000000
--- a/development/ninja/ninja.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="ninja"
-VERSION="1.9.0"
-HOMEPAGE="https://ninja-build.org/"
-DOWNLOAD="https://github.com/ninja-build/ninja/archive/v1.9.0/ninja-1.9.0.tar.gz"
-MD5SUM="f340be768a76724b83e6daab69009902"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Markus Rinne"
-EMAIL="markus.ka.rinne@gmail.com"
diff --git a/development/ninja/slack-desc b/development/ninja/slack-desc
deleted file mode 100644
index 35a65f0947..0000000000
--- a/development/ninja/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------------------------------------------------------|
-ninja: ninja (build system with a focus on speed)
-ninja:
-ninja: Ninja is a small build system with a focus on speed. It differs from
-ninja: other build systems in two major respects: it is designed to have its
-ninja: input files generated by a higher-level build system, and it is
-ninja: designed to run builds as fast as possible.
-ninja:
-ninja:
-ninja:
-ninja:
-ninja:
diff --git a/development/ocaml/configure.patch b/development/ocaml/configure.patch
index a57b19fb56..31309d3511 100644
--- a/development/ocaml/configure.patch
+++ b/development/ocaml/configure.patch
@@ -1,13 +1,12 @@
---- configure_old 2014-05-23 22:45:22.000000000 +0200
-+++ configure 2014-05-23 22:45:31.000000000 +0200
-@@ -1612,6 +1612,10 @@
- nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
- esac
-
-+# Add additional flags from the environment
-+bytecccompopts="$bytecccompopts $CFLAGS"
-+nativecccompopts="$nativecccompopts $CFLAGS"
-+
- # Finish generated files
-
- cclibs="$cclibs $mathlib"
+diff -Naur ocaml-4.08.1.orig/configure ocaml-4.08.1/configure
+--- ocaml-4.08.1.orig/configure 2019-08-05 19:32:44.000000000 +0200
++++ ocaml-4.08.1/configure 2019-09-06 10:35:25.454923040 +0200
+@@ -12424,7 +12424,7 @@
+ -fno-builtin-memcmp";
+ internal_cflags="$gcc_warnings" ;; #(
+ gcc-*) :
+- common_cflags="-O2 -fno-strict-aliasing -fwrapv";
++ common_cflags="@CFLAGS@ -fno-strict-aliasing -fwrapv";
+ internal_cflags="$gcc_warnings" ;; #(
+ msvc-*) :
+ common_cflags="-nologo -O2 -Gy- -MD"
diff --git a/development/ocaml/ocaml.SlackBuild b/development/ocaml/ocaml.SlackBuild
index 1f0ea4e709..6b081b9a08 100644
--- a/development/ocaml/ocaml.SlackBuild
+++ b/development/ocaml/ocaml.SlackBuild
@@ -24,7 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ocaml
-VERSION=${VERSION:-4.03.0}
+VERSION=${VERSION:-4.08.1}
+MANVER=${MANVER:-4.08}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,17 +71,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 {} \;
-patch < $CWD/configure.patch
+sed "s|@CFLAGS@|$SLKCFLAGS|" $CWD/configure.patch | patch -p1
-CFLAGS="$SLKCFLAGS" ./configure \
+./configure \
--prefix /usr \
--libdir /usr/lib${LIBDIRSUFFIX}/ocaml \
- --host $ARCH-slackware-linux
+ --mandir /usr/man
make -j1 world.opt
-make -j1 install \
- PREFIX=$PKG/usr \
- LIBDIR=$PKG/usr/lib${LIBDIRSUFFIX}/ocaml
+make -j1 DESTDIR=$PKG install
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -90,7 +89,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a Changes INSTALL* LICENSE README* VERSION \
$PKG/usr/doc/$PRGNAM-$VERSION
-tar -xvf $CWD/ocaml-4.03-refman-html.tar.gz --no-same-owner -C $PKG/usr/doc/$PRGNAM-$VERSION/
+tar -xvf $CWD/ocaml-$MANVER-refman-html.tar.gz --no-same-owner -C $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/development/ocaml/ocaml.info b/development/ocaml/ocaml.info
index 620db74149..0747f3b19c 100644
--- a/development/ocaml/ocaml.info
+++ b/development/ocaml/ocaml.info
@@ -1,12 +1,12 @@
PRGNAM="ocaml"
-VERSION="4.03.0"
+VERSION="4.08.1"
HOMEPAGE="http://caml.inria.fr"
-DOWNLOAD="http://caml.inria.fr/pub/distrib/ocaml-4.03/ocaml-4.03.0.tar.xz \
- http://caml.inria.fr/pub/distrib/ocaml-4.03/ocaml-4.03-refman-html.tar.gz"
-MD5SUM="89f62881e03dfad0cf04991fbc03f955 \
- d3e44d3984d029d2e88ba219ad8e24c2"
+DOWNLOAD="http://caml.inria.fr/pub/distrib/ocaml-4.08/ocaml-4.08.1.tar.xz \
+ http://caml.inria.fr/pub/distrib/ocaml-4.08/ocaml-4.08-refman-html.tar.gz"
+MD5SUM="519f095a563323cdaa68301d58bf099d \
+ 20cbe4bd141f175d723f58cb9e89b215"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Markus Hutmacher"
-EMAIL="mailing@markhu.de"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/development/ocamlbuild/ocamlbuild.SlackBuild b/development/ocamlbuild/ocamlbuild.SlackBuild
index e28405a292..b9b187aefa 100644
--- a/development/ocamlbuild/ocamlbuild.SlackBuild
+++ b/development/ocamlbuild/ocamlbuild.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ocamlbuild
-# Copyright 2016-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2016-2019 Matteo Bernardini <ponce@slackbuilds.org>, 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=ocamlbuild
-VERSION=${VERSION:-0.12.0}
+VERSION=${VERSION:-0.14.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/development/ocamlbuild/ocamlbuild.info b/development/ocamlbuild/ocamlbuild.info
index 62fb240875..4012566025 100644
--- a/development/ocamlbuild/ocamlbuild.info
+++ b/development/ocamlbuild/ocamlbuild.info
@@ -1,8 +1,8 @@
PRGNAM="ocamlbuild"
-VERSION="0.12.0"
+VERSION="0.14.0"
HOMEPAGE="http://caml.inria.fr"
-DOWNLOAD="https://github.com/ocaml/ocamlbuild/archive/0.12.0/ocamlbuild-0.12.0.tar.gz"
-MD5SUM="442baa19470bd49150f153122e22907b"
+DOWNLOAD="https://github.com/ocaml/ocamlbuild/archive/0.14.0/ocamlbuild-0.14.0.tar.gz"
+MD5SUM="a7bf2fe594cd16907807c756b14d501f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ocaml"
diff --git a/development/odb/odb.SlackBuild b/development/odb/odb.SlackBuild
index ae2edf5919..a51dea0e5e 100644
--- a/development/odb/odb.SlackBuild
+++ b/development/odb/odb.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 {} \;
+# Thanks archlinux!
+patch -p1 < $CWD/odb_gcc6.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/development/odb/odb_gcc6.patch b/development/odb/odb_gcc6.patch
new file mode 100644
index 0000000000..6f7c9005c4
--- /dev/null
+++ b/development/odb/odb_gcc6.patch
@@ -0,0 +1,355 @@
+From 511dcf67322ad87fb32f97d1cf7725c129e83898 Mon Sep 17 00:00:00 2001
+From: Boris Kolpackov <boris@codesynthesis.com>
+Date: Fri, 5 Feb 2016 16:01:42 +0200
+Subject: [PATCH] Initial work to make ODB compatible with GCC 6
+
+---
+ odb/cxx-lexer.cxx | 4 ++++
+ odb/gcc-fwd.hxx | 23 ++++++++++++++++++++++-
+ odb/gcc.hxx | 10 ++++++++++
+ odb/include.cxx | 31 +++++++++++++++++++++----------
+ odb/parser.cxx | 8 ++++----
+ odb/plugin.cxx | 29 +++++++++++++++++++++++++++--
+ odb/semantics/elements.cxx | 4 ++--
+ 7 files changed, 90 insertions(+), 19 deletions(-)
+
+diff --git a/odb/cxx-lexer.cxx b/odb/cxx-lexer.cxx
+index 7029c7e..64df296 100644
+--- a/odb/cxx-lexer.cxx
++++ b/odb/cxx-lexer.cxx
+@@ -135,8 +135,12 @@ cpp_error_callback (
+ #if BUILDING_GCC_MAJOR > 4 || BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR > 5
+ int /*reason*/, // Added in GCC 4.6.0.
+ #endif
++#if BUILDING_GCC_MAJOR <= 5
+ location_t,
+ unsigned int,
++#else
++ rich_location*,
++#endif
+ char const* msg,
+ va_list *ap)
+ {
+diff --git a/odb/gcc-fwd.hxx b/odb/gcc-fwd.hxx
+index a120f05..618b106 100644
+--- a/odb/gcc-fwd.hxx
++++ b/odb/gcc-fwd.hxx
+@@ -7,6 +7,24 @@
+
+ #include <bversion.h>
+
++#if BUILDING_GCC_MAJOR >= 6
++
++// If we include <system.h> here, it pulls in all kinds of GCC trouble that
++// "poisons" standard C/C++ declarations; see safe-ctype.h. So instead we
++// are going to "exclude" safe-ctype.h. To compensate, however, we will
++// include it first thing in gcc.hxx.
++//
++# include <config.h>
++# define SAFE_CTYPE_H
++# include <system.h>
++# undef SAFE_CTYPE_H
++# include <coretypes.h>
++
++typedef unsigned int source_location; // <line-map.h>
++typedef source_location location_t; // <input.h>
++
++#else // GCC < 6
++
+ #if BUILDING_GCC_MAJOR > 4 || BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR > 8
+ # include <limits.h> // CHAR_BIT
+ # include <config.h>
+@@ -33,6 +51,9 @@ extern "C"
+
+ typedef unsigned int source_location; // <line-map.h>
+ typedef source_location location_t; // <input.h>
+-}
++
++} // extern "C"
++
++#endif
+
+ #endif // ODB_GCC_FWD_HXX
+diff --git a/odb/gcc.hxx b/odb/gcc.hxx
+index c953047..858d685 100644
+--- a/odb/gcc.hxx
++++ b/odb/gcc.hxx
+@@ -7,6 +7,10 @@
+
+ #include <odb/gcc-fwd.hxx>
+
++#if BUILDING_GCC_MAJOR >= 6
++# include <safe-ctype.h> // See gcc-fwd.hxx.
++#endif
++
+ // GCC header includes to get the plugin and parse tree declarations.
+ // The order is important and doesn't follow any kind of logic.
+ //
+@@ -145,4 +149,10 @@ gcc_tree_code_name (gcc_tree_code_type tc) {return tree_code_name[tc];}
+ #define DECL_CHAIN(x) TREE_CHAIN(x)
+ #endif
+
++// In GCC 6, ANON_AGGRNAME_P became anon_aggrname_p().
++//
++#if BUILDING_GCC_MAJOR < 6
++# define anon_aggrname_p(X) ANON_AGGRNAME_P(X)
++#endif
++
+ #endif // ODB_GCC_HXX
+diff --git a/odb/include.cxx b/odb/include.cxx
+index 9c03f99..32d50a6 100644
+--- a/odb/include.cxx
++++ b/odb/include.cxx
+@@ -30,9 +30,18 @@ namespace
+ path path_;
+ };
+
++#if BUILDING_GCC_MAJOR >= 6
++ typedef line_map_ordinary line_map_type;
++#else
++ typedef line_map line_map_type;
++# ifndef linemap_check_ordinary
++# define linemap_check_ordinary(X) (X)
++# endif
++#endif
++
+ struct includes
+ {
+- typedef std::map<line_map const*, include_directive> map_type;
++ typedef std::map<line_map_type const*, include_directive> map_type;
+ bool trailing; // Included at the beginning or at the end of the main file.
+ map_type map;
+ };
+@@ -146,7 +155,9 @@ namespace
+ //
+ if (l > BUILTINS_LOCATION)
+ {
+- line_map const* lm (linemap_lookup (line_table, l));
++ line_map_type const* lm (
++ linemap_check_ordinary (
++ linemap_lookup (line_table, l)));
+
+ if (lm != 0 && !MAIN_FILE_P (lm))
+ {
+@@ -539,20 +550,20 @@ namespace
+ //
+ #if BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR <= 6
+ size_t used (line_table->used);
+- line_map const* maps (line_table->maps);
++ line_map_type const* maps (line_table->maps);
+ #else
+ size_t used (line_table->info_ordinary.used);
+- line_map const* maps (line_table->info_ordinary.maps);
++ line_map_type const* maps (line_table->info_ordinary.maps);
+ #endif
+
+ for (size_t i (0); i < used; ++i)
+ {
+- line_map const* m (maps + i);
++ line_map_type const* m (maps + i);
+
+ if (MAIN_FILE_P (m) || m->reason != LC_ENTER)
+ continue;
+
+- line_map const* ifm (INCLUDED_FROM (line_table, m));
++ line_map_type const* ifm (INCLUDED_FROM (line_table, m));
+
+ #if BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR <= 6
+ path f (m->to_file);
+@@ -582,7 +593,7 @@ namespace
+ for (includes::iterator j (i->second.begin ());
+ j != i->second.end (); ++j)
+ {
+- line_map const* lm (j->first);
++ line_map_type const* lm (j->first);
+ cerr << '\t' << lm->to_file << ":" << LAST_SOURCE_LINE (lm) << endl;
+ }
+ */
+@@ -591,13 +602,13 @@ namespace
+ // it is preferred over all others. Use the first one if there are
+ // several.
+ //
+- line_map const* main_lm (0);
++ line_map_type const* main_lm (0);
+ include_directive* main_inc (0);
+
+ for (includes::map_type::iterator j (i->second.map.begin ());
+ j != i->second.map.end (); ++j)
+ {
+- line_map const* lm (j->first);
++ line_map_type const* lm (j->first);
+
+ if (MAIN_FILE_P (lm))
+ {
+@@ -638,7 +649,7 @@ namespace
+ for (includes::map_type::iterator j (i->second.map.begin ());
+ j != i->second.map.end (); ++j)
+ {
+- line_map const* lm (j->first);
++ line_map_type const* lm (j->first);
+
+ #if BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR <= 6
+ string f (lm->to_file);
+diff --git a/odb/parser.cxx b/odb/parser.cxx
+index 275da33..842611f 100644
+--- a/odb/parser.cxx
++++ b/odb/parser.cxx
+@@ -1070,14 +1070,14 @@ emit_type_decl (tree decl)
+ // says that in typedef struct {} S; S becomes struct's
+ // name.
+ //
+- if (ANON_AGGRNAME_P (decl_name))
++ if (anon_aggrname_p (decl_name))
+ {
+ tree d (TYPE_NAME (t));
+
+ if (d != NULL_TREE &&
+ !DECL_ARTIFICIAL (d) &&
+ DECL_NAME (d) != NULL_TREE &&
+- !ANON_AGGRNAME_P (DECL_NAME (d)))
++ !anon_aggrname_p (DECL_NAME (d)))
+ {
+ decl = d;
+ decl_name = DECL_NAME (decl);
+@@ -1694,7 +1694,7 @@ create_type (tree t,
+ ts << "start anon/stub " << gcc_tree_code_name(tc) << " at "
+ << file << ":" << line << endl;
+
+- if (d == NULL_TREE || ANON_AGGRNAME_P (DECL_NAME (d)))
++ if (d == NULL_TREE || anon_aggrname_p (DECL_NAME (d)))
+ {
+ if (tc == RECORD_TYPE)
+ r = &emit_class<class_> (t, file, line, clmn);
+@@ -1791,7 +1791,7 @@ create_type (tree t,
+ ts << "start anon/stub " << gcc_tree_code_name(tc) << " at "
+ << file << ":" << line << endl;
+
+- if (d == NULL_TREE || ANON_AGGRNAME_P (DECL_NAME (d)))
++ if (d == NULL_TREE || anon_aggrname_p (DECL_NAME (d)))
+ {
+ r = &emit_enum (t, access, file, line, clmn);
+ }
+diff --git a/odb/plugin.cxx b/odb/plugin.cxx
+index fbbfe46..bc98f3e 100644
+--- a/odb/plugin.cxx
++++ b/odb/plugin.cxx
+@@ -45,14 +45,28 @@ path file_; // File being compiled.
+ paths inputs_; // List of input files in at-once mode or just file_.
+
+ bool (*cpp_error_prev) (
+- cpp_reader*, int, int, location_t, unsigned int, const char*, va_list*);
++ cpp_reader*,
++ int,
++ int,
++#if BUILDING_GCC_MAJOR >= 6
++ rich_location*,
++#else
++ location_t,
++ unsigned int,
++#endif
++ const char*,
++ va_list*);
+
+ static bool
+ cpp_error_filter (cpp_reader* r,
+ int level,
+ int reason,
++#if BUILDING_GCC_MAJOR >= 6
++ rich_location* l,
++#else
+ location_t l,
+ unsigned int column_override,
++#endif
+ const char* msg,
+ va_list* ap)
+ {
+@@ -66,7 +80,18 @@ cpp_error_filter (cpp_reader* r,
+ if (strstr (msg, "#pragma once") != 0)
+ return true;
+
+- return cpp_error_prev (r, level, reason, l, column_override, msg, ap);
++ return cpp_error_prev (
++ r,
++ level,
++ reason,
++#if BUILDING_GCC_MAJOR >= 6
++ l,
++#else
++ l,
++ column_override,
++#endif
++ msg,
++ ap);
+ }
+
+ // A prefix of the _cpp_file struct. This struct is not part of the
+diff --git a/odb/semantics/elements.cxx b/odb/semantics/elements.cxx
+index 43fb379..ae9e906 100644
+--- a/odb/semantics/elements.cxx
++++ b/odb/semantics/elements.cxx
+@@ -76,7 +76,7 @@ namespace semantics
+ if (tree decl = TYPE_NAME (n))
+ name = DECL_NAME (decl);
+
+- return name != 0 && ANON_AGGRNAME_P (name);
++ return name != 0 && anon_aggrname_p (name);
+ }
+
+ return true;
+@@ -125,7 +125,7 @@ namespace semantics
+ if (tree decl = TYPE_NAME (type))
+ {
+ name = DECL_NAME (decl);
+- if (name != 0 && ANON_AGGRNAME_P (name))
++ if (name != 0 && anon_aggrname_p (name))
+ return true;
+
+ tree s (CP_DECL_CONTEXT (decl));
+--
+1.7.10.4
+
+m 61d13eb53ade9f30a64892a901401bda5e42c335 Mon Sep 17 00:00:00 2001
+From: Boris Kolpackov <boris@codesynthesis.com>
+Date: Mon, 8 Feb 2016 18:39:21 +0200
+Subject: [PATCH] Make compilable with GCC 6 in C++14 mode
+
+---
+ odb/gcc.hxx | 9 ++++++---
+ odb/parser.cxx | 2 ++
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/odb/gcc.hxx b/odb/gcc.hxx
+index 858d685..a22357d 100644
+--- a/odb/gcc.hxx
++++ b/odb/gcc.hxx
+@@ -7,9 +7,12 @@
+
+ #include <odb/gcc-fwd.hxx>
+
+-#if BUILDING_GCC_MAJOR >= 6
+-# include <safe-ctype.h> // See gcc-fwd.hxx.
+-#endif
++// Actually, let's keep it out. With it included we can compile in C++98
++// but not in C++14 (GCC 6 default).
++//
++// #if BUILDING_GCC_MAJOR >= 6
++// # include <safe-ctype.h> // See gcc-fwd.hxx.
++// #endif
+
+ // GCC header includes to get the plugin and parse tree declarations.
+ // The order is important and doesn't follow any kind of logic.
+diff --git a/odb/parser.cxx b/odb/parser.cxx
+index 842611f..6dfff6f 100644
+--- a/odb/parser.cxx
++++ b/odb/parser.cxx
+@@ -1857,6 +1857,8 @@ create_type (tree t,
+ // the array type. In other words, we view it as "constant array"
+ // rather than "array of constant elements".
+ //
++ using semantics::array; // vs std::array.
++
+ tree bt (TREE_TYPE (t));
+ tree bt_mv (TYPE_MAIN_VARIANT (bt));
+ type& bt_node (emit_type (bt_mv, access::public_, file, line, clmn));
+--
+1.7.10.4
diff --git a/development/omake/omake-warn-error.diff b/development/omake/omake-warn-error.diff
deleted file mode 100644
index 3392c8f311..0000000000
--- a/development/omake/omake-warn-error.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- orig/lib/build/OCaml.om 2010-03-30 10:18:37 +0000
-+++ work/lib/build/OCaml.om 2010-03-30 12:41:33 +0000
-@@ -170,7 +170,7 @@
- #
- declare OCAMLDEPFLAGS
- public.OCAMLPPFLAGS =
--public.OCAMLFLAGS = -warn-error A
-+public.OCAMLFLAGS =
- public.OCAMLCFLAGS = -g
- public.OCAMLOPTFLAGS =
- public.OCAMLCPPFLAGS =
diff --git a/development/omake/omake.SlackBuild b/development/omake/omake.SlackBuild
index 32931e5db7..7bcea6cfbd 100644
--- a/development/omake/omake.SlackBuild
+++ b/development/omake/omake.SlackBuild
@@ -23,15 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=omake
-VERSION=${VERSION:-0.9.8.6}
+VERSION=${VERSION:-0.10.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-SRCVER=${VERSION}-0.rc1
-
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 +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"
@@ -61,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -71,22 +69,16 @@ 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 things for newer OCaml
-patch -p1 <$CWD/omake-warn-error.diff
-
-# No configure, manual it is..
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-PREFIX=/usr \
-LIBDIR=/usr/lib${LIBDIRSUFFIX} \
-INSTALL_ROOT=$PKG \
-make install
+# the newer omake doesn't want to respect our LIBDIRSUFFIX
+./configure --prefix /usr
+make -j1 all
+make -j1 install 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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGELOG.txt COMMENTS INSTALL LICENSE LICENSE.OMake doc/* \
+cp -a ChangeLog COMMENTS INSTALL LICENSE LICENSE.OMake doc/* \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/development/omake/omake.info b/development/omake/omake.info
index b33d0a1ce2..1721b9dd8f 100644
--- a/development/omake/omake.info
+++ b/development/omake/omake.info
@@ -1,8 +1,8 @@
PRGNAM="omake"
-VERSION="0.9.8.6"
-HOMEPAGE="http://omake.metaprl.org/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/omake-0.9.8.6-0.rc1.tar.gz"
-MD5SUM="fe39a476ef4e33b7ba2ca77a6bcaded2"
+VERSION="0.10.3"
+HOMEPAGE="http://projects.camlcity.org/projects/omake.html"
+DOWNLOAD="https://github.com/ocaml-omake/omake/archive/omake-0.10.3/omake-0.10.3.tar.gz"
+MD5SUM="134b1ea51a5cd90d32fec7ad27e82aa5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ocaml-findlib"
diff --git a/development/opencl-headers/README b/development/opencl-headers/README
deleted file mode 100644
index 4e432b6b4d..0000000000
--- a/development/opencl-headers/README
+++ /dev/null
@@ -1,3 +0,0 @@
-opencl-headers (headers file for OpenCL)
-
-This is a repackaging of the header files from khronos.org.
diff --git a/development/opencl-headers/opencl-headers.SlackBuild b/development/opencl-headers/opencl-headers.SlackBuild
deleted file mode 100644
index 930d45982e..0000000000
--- a/development/opencl-headers/opencl-headers.SlackBuild
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for opencl-headers
-# simply a repack of the original headers from khronos.org
-# tarballed by me for easy maintenance.
-# Copyright Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy, 2012
-# 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=opencl-headers
-VERSION=${VERSION:-1.1}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-ARCH=noarch
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-set -e
-
-rm -rf $PKG
-mkdir -p $TMP $PKG/usr/include/CL $OUTPUT
-tar xvf $CWD/$PRGNAM-$VERSION.tar.xz -C $PKG/usr/include/CL/
-chown -R root.root $PKG/usr/include/CL/*
-find $PKG/usr/include/CL \
- \( -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 {} \;
-
-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/development/opencl-headers/opencl-headers.info b/development/opencl-headers/opencl-headers.info
deleted file mode 100644
index 067b5f9261..0000000000
--- a/development/opencl-headers/opencl-headers.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="opencl-headers"
-VERSION="1.1"
-HOMEPAGE="https://www.khronos.org/opencl/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/opencl-headers-1.1.tar.xz"
-MD5SUM="3b9b4c49b3ddf37e275c5c22f94aa80a"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Matteo Bernardini"
-EMAIL="ponce@slackbuilds.org"
diff --git a/development/opencl-headers/slack-desc b/development/opencl-headers/slack-desc
deleted file mode 100644
index 456cf19c4f..0000000000
--- a/development/opencl-headers/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------------------------------------------------------|
-opencl-headers: opencl-headers (headers file for OpenCL)
-opencl-headers:
-opencl-headers: This is a repackaging of the header files from khronos.org.
-opencl-headers:
-opencl-headers: homepage: https://www.khronos.org/opencl/
-opencl-headers:
-opencl-headers:
-opencl-headers:
-opencl-headers:
-opencl-headers:
-opencl-headers:
diff --git a/development/openocd/openocd.SlackBuild b/development/openocd/openocd.SlackBuild
index c75a62622a..e34954da41 100644
--- a/development/openocd/openocd.SlackBuild
+++ b/development/openocd/openocd.SlackBuild
@@ -5,13 +5,13 @@
# Written by thorsten johannvorderbrueggen <thorsten.johannvorderbrueggen@t-online.de>
PRGNAM=openocd
-VERSION=${VERSION:-0.8.0}
+VERSION=${VERSION:-0.10.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"
@@ -51,7 +51,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= -Wno-error=format-truncation= -Wno-error=format-overflow=" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/development/openocd/openocd.info b/development/openocd/openocd.info
index 95d6cade91..a1d7add762 100644
--- a/development/openocd/openocd.info
+++ b/development/openocd/openocd.info
@@ -1,8 +1,8 @@
PRGNAM="openocd"
-VERSION="0.8.0"
+VERSION="0.10.0"
HOMEPAGE="http://openocd.sourceforge.net/"
-DOWNLOAD="http://sourceforge.net/projects/openocd/files/openocd/0.8.0/openocd-0.8.0.tar.gz"
-MD5SUM="271086c0efe0c454db7ddb0f55ace218"
+DOWNLOAD="http://downloads.sourceforge.net/openocd/openocd-0.10.0.tar.gz"
+MD5SUM="8971d16aee5c2642b33ee55fc6c86239"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/perf/perf.SlackBuild b/development/perf/perf.SlackBuild
index ea6dc3c3dc..ad19318fdd 100644
--- a/development/perf/perf.SlackBuild
+++ b/development/perf/perf.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=perf
-VERSION=${VERSION:-4.4.190}
+VERSION=${VERSION:-4.19.72}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/development/perf/perf.info b/development/perf/perf.info
index c5ce02f80d..34f8b652a0 100644
--- a/development/perf/perf.info
+++ b/development/perf/perf.info
@@ -1,5 +1,5 @@
PRGNAM="perf"
-VERSION="4.4.190"
+VERSION="4.19.72"
HOMEPAGE="https://perf.wiki.kernel.org/index.php/Main_Page"
DOWNLOAD="http://www.pastemobile.org/static/perf.dummy"
MD5SUM="9cba6c70fb57a22a155073d54748b614"
diff --git a/development/php-apcu/php-apcu.SlackBuild b/development/php-apcu/php-apcu.SlackBuild
index 62019f9258..99cd064bb3 100644
--- a/development/php-apcu/php-apcu.SlackBuild
+++ b/development/php-apcu/php-apcu.SlackBuild
@@ -26,7 +26,7 @@
PRGNAM=php-apcu
SRCNAM=apcu
-VERSION=${VERSION:-4.0.11}
+VERSION=${VERSION:-5.1.17}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -99,7 +99,7 @@ mkdir -p $PKG/etc/php.d
cp $CWD/apcu.ini $PKG/etc/php.d/apcu.ini.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE README.md NOTICE TECHNOTES.txt TODO $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE README.md NOTICE TECHNOTES.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/development/php-apcu/php-apcu.info b/development/php-apcu/php-apcu.info
index a2c510b6cc..85ef5cd464 100644
--- a/development/php-apcu/php-apcu.info
+++ b/development/php-apcu/php-apcu.info
@@ -1,8 +1,8 @@
PRGNAM="php-apcu"
-VERSION="4.0.11"
+VERSION="5.1.17"
HOMEPAGE="http://pecl.php.net/package/APCu/"
-DOWNLOAD="https://pecl.php.net/get/apcu-4.0.11.tgz"
-MD5SUM="13c0c0dd676e5a7905d54fa985d0ee62"
+DOWNLOAD="https://pecl.php.net/get/apcu-5.1.17.tgz"
+MD5SUM="8d60ffd6dcec221f8bce957a09511f87"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/poedit/poedit.SlackBuild b/development/poedit/poedit.SlackBuild
index 2319aba3bb..36f2fae14e 100644
--- a/development/poedit/poedit.SlackBuild
+++ b/development/poedit/poedit.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=poedit
-VERSION=${VERSION:-1.8.12}
+VERSION=${VERSION:-2.0.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,8 +70,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 --verbose -p1 < $CWD/setvalue.diff
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -80,7 +78,7 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--build=$ARCH-slackware-linux \
-make
+make CPPFLAGS+=' -DUCHAR_TYPE=uint16_t'
make install-strip DESTDIR=$PKG
find $PKG/usr/man -type f -exec gzip -9 {} \;
diff --git a/development/poedit/poedit.info b/development/poedit/poedit.info
index b8391a4535..58048d5895 100644
--- a/development/poedit/poedit.info
+++ b/development/poedit/poedit.info
@@ -1,8 +1,8 @@
PRGNAM="poedit"
-VERSION="1.8.12"
+VERSION="2.0.6"
HOMEPAGE="https://www.poedit.net"
-DOWNLOAD="https://github.com/vslavik/poedit/releases/download/v1.8.12-oss/poedit-1.8.12.tar.gz"
-MD5SUM="7c16257fc8757fe658295b0e3a677670"
+DOWNLOAD="https://github.com/vslavik/poedit/releases/download/v2.0.6-oss/poedit-2.0.6.tar.gz"
+MD5SUM="1134fef2997884291083875506a922ed"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="wxGTK3 LucenePlusPlus gtkspell3"
diff --git a/development/poedit/setvalue.diff b/development/poedit/setvalue.diff
deleted file mode 100644
index 1c66943cea..0000000000
--- a/development/poedit/setvalue.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/fileviewer.cpp 2013-11-10 17:38:50.161359501 +0400
-+++ b/src/fileviewer.cpp 2013-11-10 17:37:59.958987117 +0400
-@@ -286,7 +286,7 @@
- linenum = 0;
-
- m_text->SetReadOnly(false);
-- m_text->SetValue(data);
-+ m_text->SetText(data);
- m_text->SetReadOnly(true);
-
- m_text->MarkerDeleteAll(1);
diff --git a/development/portaudio/portaudio.SlackBuild b/development/portaudio/portaudio.SlackBuild
index 3800cb46da..12f02c7254 100644
--- a/development/portaudio/portaudio.SlackBuild
+++ b/development/portaudio/portaudio.SlackBuild
@@ -84,7 +84,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-cxx \
--build=$ARCH-slackware-linux
-make
+make -j1
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/development/re2c/README b/development/re2c/README
deleted file mode 100644
index 227f25951c..0000000000
--- a/development/re2c/README
+++ /dev/null
@@ -1,6 +0,0 @@
-re2c is a tool for writing very fast and very flexible scanners. Unlike
-any other such tool, re2c focuses on generating high efficient code for
-regular expression matching. As a result this allows a much broader
-range of use than any traditional lexer offers. And last but not least
-re2c generates warning free code that is equal to hand-written code in
-terms of size, speed and quality.
diff --git a/development/re2c/re2c.SlackBuild b/development/re2c/re2c.SlackBuild
deleted file mode 100644
index 74c6bc6ada..0000000000
--- a/development/re2c/re2c.SlackBuild
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for re2c
-
-# Copyright 2008-2015 LukenShiro, 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=re2c
-VERSION=${VERSION:-0.16}
-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}
-
-# .html file needs to be manually installed
-DOCFILES="README CHANGELOG doc/loplas.ps"
-
-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 {} \;
-
-# --htmldir= is ignored
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --mandir=/usr/man \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --docdir=/usr/doc/$PRGNAM-$VERSION
-
-make
-# in order to regenerate scanner.cc file
-rm -f scanner.cc
-
-make install-strip DESTDIR=$PKG
-
-# compress man pages
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
-# remove windows-only files
-rm -rf lessons/001_upn_calculator/windows/
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a $DOCFILES $PKG/usr/doc/$PRGNAM-$VERSION
-
-# copy other doc files
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples
-cp -R examples/* /$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/development/re2c/re2c.info b/development/re2c/re2c.info
deleted file mode 100644
index 7a2cabcbfe..0000000000
--- a/development/re2c/re2c.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="re2c"
-VERSION="0.16"
-HOMEPAGE="http://re2c.org/"
-DOWNLOAD="https://github.com/skvadrik/re2c/releases/download/0.16/re2c-0.16.tar.gz"
-MD5SUM="3bf508fabd52ed7334647d0ccb956e8d"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="LukenShiro"
-EMAIL="lukenshiro@ngi.it"
diff --git a/development/re2c/slack-desc b/development/re2c/slack-desc
deleted file mode 100644
index 3c90f77767..0000000000
--- a/development/re2c/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------------------------------------------------------|
-re2c: re2c (regular expressions to C/C++ conversion tool)
-re2c:
-re2c: It is a tool for writing very fast and very flexible scanners. Unlike
-re2c: any other such tool, re2c focuses on generating high efficient code
-re2c: for regular expression matching. As a result this allows a much
-re2c: broader range of use than any traditional lexer offers. And last but
-re2c: not least re2c generates warning free code that is equal to
-re2c: hand-written code in terms of size, speed and quality
-re2c:
-re2c: Homepage: http://re2c.org
-re2c:
diff --git a/development/sbcl/glibc-2.26.patch b/development/sbcl/glibc-2.26.patch
new file mode 100644
index 0000000000..3df2b03958
--- /dev/null
+++ b/development/sbcl/glibc-2.26.patch
@@ -0,0 +1,13 @@
+--- a/src/runtime/x86-64-linux-os.h.ORIG 2017-08-31 11:40:51.000000000 +0200
++++ b/src/runtime/x86-64-linux-os.h 2017-08-31 18:56:10.447100144 +0200
+@@ -1,7 +1,9 @@
+ #ifndef _X86_64_LINUX_OS_H
+ #define _X86_64_LINUX_OS_H
+
+-typedef struct ucontext os_context_t;
++#include <sys/ucontext.h>
++
++typedef struct ucontext_t os_context_t;
+ typedef long os_context_register_t;
+
+ static inline os_context_t *arch_os_get_context(void **void_context)
diff --git a/development/sbcl/sbcl.SlackBuild b/development/sbcl/sbcl.SlackBuild
index 114ce67ee4..2e9f4823d4 100644
--- a/development/sbcl/sbcl.SlackBuild
+++ b/development/sbcl/sbcl.SlackBuild
@@ -71,6 +71,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/glibc-2.26.patch
+
sh make.sh clisp --prefix=/usr --fancy
make -C doc/manual info
diff --git a/development/spice-protocol/spice-protocol.SlackBuild b/development/spice-protocol/spice-protocol.SlackBuild
index 1f7aa817c5..db12ac575f 100644
--- a/development/spice-protocol/spice-protocol.SlackBuild
+++ b/development/spice-protocol/spice-protocol.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
# Slackware build script for spice-protocol
+
# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
@@ -22,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=spice-protocol
-VERSION=${VERSION:-0.12.15}
+VERSION=${VERSION:-0.14.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -33,7 +34,7 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README"
+DOCS="AUTHORS COPYING CHANGELOG.md README.md"
set -e
diff --git a/development/spice-protocol/spice-protocol.info b/development/spice-protocol/spice-protocol.info
index 5dcc44acff..9bec7adafc 100644
--- a/development/spice-protocol/spice-protocol.info
+++ b/development/spice-protocol/spice-protocol.info
@@ -1,8 +1,8 @@
PRGNAM="spice-protocol"
-VERSION="0.12.15"
+VERSION="0.14.0"
HOMEPAGE="https://www.spice-space.org"
-DOWNLOAD="https://www.spice-space.org/download/releases/spice-protocol-0.12.15.tar.bz2"
-MD5SUM="e1db63e3ff0cb1f1c98277283356dc51"
+DOWNLOAD="https://www.spice-space.org/download/releases/spice-protocol-0.14.0.tar.bz2"
+MD5SUM="773a6b31df105a6b3c470eba201bed34"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/swfmill/swfmill.SlackBuild b/development/swfmill/swfmill.SlackBuild
index 5881f08825..910f31fa33 100644
--- a/development/swfmill/swfmill.SlackBuild
+++ b/development/swfmill/swfmill.SlackBuild
@@ -54,7 +54,7 @@ find -L . \
export CFLAGS=""
-export CXXFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS -Wno-error=narrowing"
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/development/tora/README b/development/tora/README
index e1c08a248a..b109aec98a 100644
--- a/development/tora/README
+++ b/development/tora/README
@@ -5,3 +5,5 @@ through Qt's ODBC support.
For Oracle DBMS support, run the script like this,
ORACLE_HOME=/path/to/oracle/home ./tora.Slackbuild
+
+postgresql is an autodetected dependency.
diff --git a/development/tora/tora.SlackBuild b/development/tora/tora.SlackBuild
index 9245687cbb..e0150dab62 100644
--- a/development/tora/tora.SlackBuild
+++ b/development/tora/tora.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=tora
-VERSION=${VERSION:-2.1.3}
+VERSION=${VERSION:-20170725_d9fddb8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,11 +60,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
-
-patch -Np1 -i "${CWD}/include_unistd.patch"
-
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -79,12 +76,13 @@ cd build
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DWANT_INTERNAL_QSCINTILLA=0 \
+ -DWANT_INTERNAL_QSCINTILLA=1 \
+ -DWANT_INTERNAL_LOKI=1 \
-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
@@ -94,7 +92,7 @@ mkdir -p $PKG/usr/share/icons/hicolor/{32x32,16x16}/apps
mkdir -p $PKG/usr/share/applications
( cd $TMP/$PRGNAM-$VERSION
- cp -a AUTHORS BUGS ChangeLog COPYING* README* TODO NEWS $PKG/usr/doc/$PRGNAM-$VERSION
+ cp -a AUTHORS ChangeLog COPYING* README* TODO NEWS $PKG/usr/doc/$PRGNAM-$VERSION
cp -a src/help/*.html $PKG/usr/doc/$PRGNAM-$VERSION/help
cp -a src/help/images/*.png $PKG/usr/doc/$PRGNAM-$VERSION/help/images
cp -a src/icons/tora.xpm $PKG/usr/share/icons/hicolor/32x32/apps
diff --git a/development/tora/tora.info b/development/tora/tora.info
index a03ef294b4..c90540fffe 100644
--- a/development/tora/tora.info
+++ b/development/tora/tora.info
@@ -1,10 +1,10 @@
PRGNAM="tora"
-VERSION="2.1.3"
+VERSION="3.2"
HOMEPAGE="http://torasql.com"
-DOWNLOAD="http://sourceforge.net/projects/tora/files/tora/2.1.3/tora-2.1.3.tar.bz2"
-MD5SUM="b3a4b5c827c300e75eea53874634e8a2"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/tora-20170725_d9fddb8.tar.xz"
+MD5SUM="0ebe7f9420b719d3062cf6598c9b8fc6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="qt5"
MAINTAINER="Giuseppe Di Terlizzi"
EMAIL="giuseppe.diterlizzi@gmail.com"
diff --git a/development/vala/README b/development/vala/README
deleted file mode 100644
index 8c6d4c8a21..0000000000
--- a/development/vala/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Vala is a new programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional
-runtime requirements and without using a different ABI compared to
-applications and libraries written in C.
diff --git a/development/vala/patch_support-gtk318.diff b/development/vala/patch_support-gtk318.diff
deleted file mode 100644
index cace5971c7..0000000000
--- a/development/vala/patch_support-gtk318.diff
+++ /dev/null
@@ -1,50 +0,0 @@
---- vala-0.34.2/vapi/gtk+-3.0.vapi.orig 2016-09-27 22:44:37.000000000 +1000
-+++ vala-0.34.2/vapi/gtk+-3.0.vapi 2016-11-14 16:24:16.635334244 +1000
-@@ -840,6 +840,7 @@
- [CCode (has_construct_function = false, type = "GtkWidget*")]
- public Button.with_mnemonic (string label);
- public bool always_show_image { get; set construct; }
-+ public bool focus_on_click { get; set; }
- public Gtk.Widget image { get; set; }
- public Gtk.PositionType image_position { get; set; }
- public string label { get; set construct; }
-@@ -1573,6 +1574,7 @@
- public Gtk.CellArea cell_area { owned get; construct; }
- public int column_span_column { get; set; }
- public int entry_text_column { get; set; }
-+ public bool focus_on_click { get; set; }
- public bool has_entry { get; construct; }
- [NoAccessorMethod]
- public bool has_frame { get; set; }
-@@ -2080,6 +2082,7 @@
- [CCode (has_construct_function = false, type = "GtkWidget*")]
- public FileChooserButton.with_dialog (Gtk.Dialog dialog);
- public Gtk.FileChooser dialog { construct; }
-+ public bool focus_on_click { get; set; }
- public string title { get; set; }
- public int width_chars { get; set; }
- public virtual signal void file_set ();
-@@ -6692,7 +6695,6 @@
- public unowned Gdk.Display get_display ();
- public bool get_double_buffered ();
- public int get_events ();
-- public bool get_focus_on_click ();
- public unowned Pango.FontMap? get_font_map ();
- public unowned Cairo.FontOptions? get_font_options ();
- public unowned Gdk.FrameClock? get_frame_clock ();
-@@ -6859,7 +6861,6 @@
- public void set_direction (Gtk.TextDirection dir);
- public void set_double_buffered (bool double_buffered);
- public void set_events (int events);
-- public void set_focus_on_click (bool focus_on_click);
- public void set_font_map (Pango.FontMap? font_map);
- public void set_font_options (Cairo.FontOptions? options);
- public void set_halign (Gtk.Align align);
-@@ -6927,7 +6928,6 @@
- public Gdk.EventMask events { get; set; }
- [NoAccessorMethod]
- public bool expand { get; set; }
-- public bool focus_on_click { get; set; }
- public Gtk.Align halign { get; set; }
- [NoAccessorMethod]
- public bool has_default { get; set; }
diff --git a/development/vala/slack-desc b/development/vala/slack-desc
deleted file mode 100644
index 77e7b20230..0000000000
--- a/development/vala/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------------------------------------------------------|
-vala: vala (Compiler for the GObject type system)
-vala:
-vala: Vala is a new programming language that aims to bring modern
-vala: programming language features to GNOME developers without imposing
-vala: any additional runtime requirements and without using a different
-vala: ABI compared to applications and libraries written in C.
-vala:
-vala:
-vala:
-vala:
-vala:
diff --git a/development/vala/vala.SlackBuild b/development/vala/vala.SlackBuild
deleted file mode 100644
index b1a58fde29..0000000000
--- a/development/vala/vala.SlackBuild
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for Vala
-
-# Copyright 2009-2016 Erik W. Hanson, Minneapolis, MN, USA
-# Copyright 2016 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-# 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=vala
-VERSION=${VERSION:-0.34.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 -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 {} \;
-
-# Patch to support older GTK+3
-patch -p1 < $CWD/patch_support-gtk318.diff
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --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 AUTHORS COPYING ChangeLog INSTALL MAINTAINERS 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/development/vala/vala.info b/development/vala/vala.info
deleted file mode 100644
index a3db035038..0000000000
--- a/development/vala/vala.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="vala"
-VERSION="0.34.9"
-HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
-DOWNLOAD="https://download.gnome.org/sources/vala/0.34/vala-0.34.9.tar.xz"
-MD5SUM="f8bb81971065d7208447ad2437883a0d"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Willy Sudiarto Raharjo"
-EMAIL="willysr@slackbuilds.org"
diff --git a/games/0ad-data/0ad-data.SlackBuild b/games/0ad-data/0ad-data.SlackBuild
index 4d84bd6605..259cdbd2db 100644
--- a/games/0ad-data/0ad-data.SlackBuild
+++ b/games/0ad-data/0ad-data.SlackBuild
@@ -25,7 +25,7 @@
PRGNAM=0ad-data
DATANAM=0ad
-VERSION=${VERSION:-0.0.21}
+VERSION=${VERSION:-0.0.23}
RELEASE=${RELEASE:-alpha}
ARCH=noarch
BUILD=${BUILD:-1}
diff --git a/games/0ad-data/0ad-data.info b/games/0ad-data/0ad-data.info
index 375d4d178f..cdb378d06a 100644
--- a/games/0ad-data/0ad-data.info
+++ b/games/0ad-data/0ad-data.info
@@ -1,8 +1,8 @@
PRGNAM="0ad-data"
-VERSION="0.0.21"
+VERSION="0.0.23"
HOMEPAGE="https://play0ad.com/"
-DOWNLOAD="http://releases.wildfiregames.com/0ad-0.0.21-alpha-unix-data.tar.xz"
-MD5SUM="d42b04e1f65d45b5a4bbf8fcea6076f8"
+DOWNLOAD="http://releases.wildfiregames.com/0ad-0.0.23-alpha-unix-data.tar.xz"
+MD5SUM="84dbb0e2fc24e7a972ea6f374fdf308d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/0ad/0ad.SlackBuild b/games/0ad/0ad.SlackBuild
index 524b16e406..18b7983b5d 100644
--- a/games/0ad/0ad.SlackBuild
+++ b/games/0ad/0ad.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=0ad
-VERSION=${VERSION:-0.0.21}
+VERSION=${VERSION:-0.0.23}
RELEASE=${RELEASE:-alpha}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -71,26 +71,32 @@ 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 {} \;
+unset CPPFLAGS
+
export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS -fpermissive"
-# and yes, it's really necessary to set CPPFLAGS like this :(
-export CPPFLAGS="$SLKCFLAGS -fpermissive"
+export CXXFLAGS="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1"
export LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}"
+export SDL2_CONFIG="/usr/bin/sdl2-config"
-# Fix boost names
-sed -i 's/-mt//g' build/premake/extern_libs4.lua
+# Fix boost names, include paths and remove isystem
+sed -i 's|-mt||g' build/premake/extern_libs5.lua
+sed -i 's|/usr/local/include|/usr/include|' build/premake/{extern_libs5.lua,premake5.lua}
+sed -i 's|-isystem |-I|' build/premake/premake5/{src/tools/gcc.lua,tests/tools/test_gcc.lua}
# build/workspaces/update-workspaces.sh
# have a root check, let's disable it.
patch -p1 < $CWD/disable-root-check.patch
build/workspaces/update-workspaces.sh \
+ --without-pch \
--bindir=/usr/games \
--datadir=/usr/share/games/0ad \
--libdir=/usr/lib${LIBDIRSUFFIX}/0ad \
--${ATLAS:-disable}-atlas
-make CONFIG=Release -C build/workspaces/gcc
+sed -i 's|-isystem |-I|g' build/workspaces/gcc/*.make
+
+verbose=1 make CONFIG=Release -C build/workspaces/gcc
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/0ad
cp binaries/system/*.so* $PKG/usr/lib${LIBDIRSUFFIX}/0ad
diff --git a/games/0ad/0ad.info b/games/0ad/0ad.info
index 97bc6ce2ac..6acd4190da 100644
--- a/games/0ad/0ad.info
+++ b/games/0ad/0ad.info
@@ -1,10 +1,10 @@
PRGNAM="0ad"
-VERSION="0.0.21"
+VERSION="0.0.23"
HOMEPAGE="https://play0ad.com/"
-DOWNLOAD="http://releases.wildfiregames.com/0ad-0.0.21-alpha-unix-build.tar.xz"
-MD5SUM="095eade8c9b3deaf25d0d7fa423ff860"
+DOWNLOAD="http://releases.wildfiregames.com/0ad-0.0.23-alpha-unix-build.tar.xz"
+MD5SUM="062efa3857b9ad08243487968adafb7b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="0ad-data OpenAL enet gloox miniupnpc SDL2"
+REQUIRES="0ad-data OpenAL enet gloox libsodium miniupnpc SDL2"
MAINTAINER="Reedych"
EMAIL="reedych@ya.ru"
diff --git a/games/RetroArch/RetroArch.SlackBuild b/games/RetroArch/RetroArch.SlackBuild
index b1514889e4..f97f0051da 100644
--- a/games/RetroArch/RetroArch.SlackBuild
+++ b/games/RetroArch/RetroArch.SlackBuild
@@ -140,6 +140,9 @@ patch -p1 < $CWD/gles.patch
# Set $lib to a portable array
eval "set -- $lib"
+export CC=clang
+export CXX=clang++
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/games/alienarena/alienarena-7.66-no-qglBlitFramebufferEXT.patch b/games/alienarena/alienarena-7.66-no-qglBlitFramebufferEXT.patch
new file mode 100644
index 0000000000..1f07e24f46
--- /dev/null
+++ b/games/alienarena/alienarena-7.66-no-qglBlitFramebufferEXT.patch
@@ -0,0 +1,22 @@
+diff -up alienarena-7.66/source/ref_gl/r_shadowmaps.c.no-qglBlitFramebufferEXT alienarena-7.66/source/ref_gl/r_shadowmaps.c
+--- alienarena-7.66/source/ref_gl/r_shadowmaps.c.no-qglBlitFramebufferEXT 2013-11-05 14:46:37.611487279 -0500
++++ alienarena-7.66/source/ref_gl/r_shadowmaps.c 2013-11-05 15:00:47.510933729 -0500
+@@ -95,12 +95,12 @@ void R_CheckFBOExtensions (void)
+
+ //must check for ability to blit(Many old ATI drivers do not support)
+ //TODO: redundant with previous check?
+- if(gl_state.hasFBOblit) {
+- if(!qglBlitFramebufferEXT) {
+- Com_Printf("glBlitFramebufferEXT not found...\n");
+- gl_state.hasFBOblit = false;
+- }
+- }
++ // if(gl_state.hasFBOblit) {
++ // if(!qglBlitFramebufferEXT) {
++ // Com_Printf("glBlitFramebufferEXT not found...\n");
++ // gl_state.hasFBOblit = false;
++ // }
++ //}
+ }
+
+
diff --git a/games/alienarena/alienarena.SlackBuild b/games/alienarena/alienarena.SlackBuild
index 3241f2f1c9..1d3d42b012 100644
--- a/games/alienarena/alienarena.SlackBuild
+++ b/games/alienarena/alienarena.SlackBuild
@@ -29,7 +29,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
@@ -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"
@@ -59,15 +59,19 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar -xvf $CWD/$PRGNAM-$VERSION-linux20130827.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$VERSION-svn4307
+tar -xvf $CWD/$PRGNAM-$VERSION-svn4307.tar.xz
+cd $PRGNAM-$VERSION-svn4307
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 {} \;
+
+patch -p1 < $CWD/alienarena-7.66-no-qglBlitFramebufferEXT.patch
+
+rm -rf source/unix/ode
sed -i -e "s|crx|$PRGNAM|g" -e "s|\.codred|\.${PRGNAM}|g" Tools/LinuxScripts/*
@@ -83,7 +87,7 @@ CXXFLAGS="$SLKCFLAGS" \
--with-zlib \
--enable-ansi-color \
--with-system-libode \
- --with-xf86dga \
+ --without-xf86dga \
--with-icondir=/usr/share/pixmaps \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
@@ -91,13 +95,13 @@ CXXFLAGS="$SLKCFLAGS" \
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/share/applications
install -m 0644 $CWD/$PRGNAM.desktop $PKG/usr/share/applications
-cp -a COPYING Tools/* $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a Tools/* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/doc -type f -exec chmod 0644 '{}' \;
diff --git a/games/alienarena/alienarena.info b/games/alienarena/alienarena.info
index a1fff59833..30878e5abc 100644
--- a/games/alienarena/alienarena.info
+++ b/games/alienarena/alienarena.info
@@ -1,8 +1,8 @@
PRGNAM="alienarena"
VERSION="7.66"
HOMEPAGE="http://icculus.org/alienarena/rpa/"
-DOWNLOAD="http://red.planetarena.org/files/alienarena-7.66-linux20130827.tar.gz"
-MD5SUM="50928622f614ccd9938943de5fd37c1a"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/alienarena-7.66-svn4307.tar.xz"
+MD5SUM="bdaa12739a196df9fc1abc18a9ccfbbe"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="OpenAL ode"
diff --git a/games/alienarena/checkout_code.sh b/games/alienarena/checkout_code.sh
new file mode 100644
index 0000000000..d78a5c0e1a
--- /dev/null
+++ b/games/alienarena/checkout_code.sh
@@ -0,0 +1,6 @@
+svn co svn://svn.icculus.org/alienarena/trunk
+cd trunk
+svn update -r 4307
+cd ..
+mv trunk alienarena-7.66-svn4307
+tar --exclude-vcs -cJf alienarena-7.66-svn4307.tar.xz alienarena-7.66-svn4307
diff --git a/games/assaultcube/assaultcube-gcc6.patch b/games/assaultcube/assaultcube-gcc6.patch
new file mode 100644
index 0000000000..521372ee9d
--- /dev/null
+++ b/games/assaultcube/assaultcube-gcc6.patch
@@ -0,0 +1,301 @@
+From 752950989b4e286459ca9aee3d61a868d7b20fa4 Mon Sep 17 00:00:00 2001
+From: ac-stef <ac_stef@users.sf.net>
+Date: Sat, 27 Feb 2016 21:28:23 +0100
+Subject: [PATCH] fix some errors and warnings for GCC 6
+
+* do not use std::abs() because math.h includes one, that converts ints
+ to double. Use own iabs(), which directly uses labs() instead.
+* don't use the word "gamma" as name for variables
+* don't use a homebrew round() function
+---
+ source/src/bot/bot_waypoint.cpp | 12 ++++++------
+ source/src/command.cpp | 2 +-
+ source/src/command.h | 1 +
+ source/src/crypto.cpp | 2 +-
+ source/src/editing.cpp | 6 +++---
+ source/src/entity.h | 2 +-
+ source/src/main.cpp | 8 ++++----
+ source/src/platform.h | 9 +--------
+ source/src/protos.h | 3 ++-
+ source/src/rendercubes.cpp | 8 ++++----
+ source/src/rendertext.cpp | 4 ++--
+ source/src/tools.h | 3 +--
+ source/src/world.cpp | 6 +++---
+ source/src/worldocull.cpp | 2 +-
+ source/src/worldrender.cpp | 4 ++--
+ 15 files changed, 33 insertions(+), 39 deletions(-)
+
+diff --git a/source/src/bot/bot_waypoint.cpp b/source/src/bot/bot_waypoint.cpp
+index 520c686..7b265ef 100644
+--- a/source/src/bot/bot_waypoint.cpp
++++ b/source/src/bot/bot_waypoint.cpp
+@@ -1221,7 +1221,7 @@ void CWaypointClass::CalcCost(node_s *pNode)
+ flCost += (1.0f-flFraction)*0.5f;
+ }
+
+- if ((abs(a) > 4) || (abs(b) > 4)) continue;
++ if ((iabs(a) > 4) || (iabs(b) > 4)) continue;
+
+ vec from = to;
+ to.z -= (JUMP_HEIGHT - 1.0f);
+@@ -1249,7 +1249,7 @@ void CWaypointClass::CalcCost(node_s *pNode)
+ flCost += (1.0f-flFraction)*0.5f;
+ }
+
+- if ((abs(a) > 4) || (abs(b) > 4)) continue;
++ if ((iabs(a) > 4) || (iabs(b) > 4)) continue;
+
+ vec from = to;
+ to.z -= (JUMP_HEIGHT - 1.0f);
+@@ -1671,12 +1671,12 @@ node_s *CWaypointClass::GetNearestTriggerFloodWP(vec v_origin, float flRange)
+ void CWaypointClass::GetNodeIndexes(const vec &v_origin, short *i, short *j)
+ {
+ // Function code by cheesy and PMB
+- //*i = abs((int)((int)(v_origin.x + (2*ssize)) / SECTOR_SIZE));
+- //*j = abs((int)((int)(v_origin.y + (2*ssize)) / SECTOR_SIZE));
++ //*i = iabs((int)((int)(v_origin.x + (2*ssize)) / SECTOR_SIZE));
++ //*j = iabs((int)((int)(v_origin.y + (2*ssize)) / SECTOR_SIZE));
+ //*i = (int)((v_origin.x) / ssize * MAX_MAP_GRIDS);
+ //*j = (int)((v_origin.y) / ssize * MAX_MAP_GRIDS);
+- *i = abs((int)((v_origin.x) / MAX_MAP_GRIDS));
+- *j = abs((int)((v_origin.y) / MAX_MAP_GRIDS));
++ *i = iabs((int)((v_origin.x) / MAX_MAP_GRIDS));
++ *j = iabs((int)((v_origin.y) / MAX_MAP_GRIDS));
+
+ if (*i > MAX_MAP_GRIDS - 1)
+ *i = MAX_MAP_GRIDS - 1;
+diff --git a/source/src/command.cpp b/source/src/command.cpp
+index 668f3bf..2a5c90d 100644
+--- a/source/src/command.cpp
++++ b/source/src/command.cpp
+@@ -499,7 +499,7 @@ char *executeret(const char *p) // all evaluation hap
+ if(lc<=seer_t1.length())
+ {
+ int dt = seer_t1[seer_index] - seer_t1[lc];
+- if(abs(dt)<2)
++ if(iabs(dt)<2)
+ {
+ conoutf("SCRIPT EXECUTION warning [%d:%s]", &p, p);
+ seer_t2.add(seer_t1[seer_index]);
+diff --git a/source/src/command.h b/source/src/command.h
+index a3ca68a..2a3de0c 100644
+--- a/source/src/command.h
++++ b/source/src/command.h
+@@ -86,6 +86,7 @@ enum { IEXC_CORE = 0, IEXC_CFG, IEXC_PROMPT, IEXC_MAPCFG, IEXC_MDLCFG, IEXC_NUM
+ #define VARNP(name, global, min, cur, max) int global = variable(#name, min, cur, max, &global, NULL, true)
+ #define VARF(name, min, cur, max, body) extern int name; void var_##name() { body; } int name = variable(#name, min, cur, max, &name, var_##name, false)
+ #define VARFP(name, min, cur, max, body) extern int name; void var_##name() { body; } int name = variable(#name, min, cur, max, &name, var_##name, true)
++#define VARNFP(name, global, min, cur, max, body) extern int global; void var_##name() { body; } int global = variable(#name, min, cur, max, &global, var_##name, true)
+
+ #define FVARP(name, min, cur, max) float name = fvariable(#name, min, cur, max, &name, NULL, true)
+ #define FVAR(name, min, cur, max) float name = fvariable(#name, min, cur, max, &name, NULL, false)
+diff --git a/source/src/crypto.cpp b/source/src/crypto.cpp
+index 44041be..0684750 100644
+--- a/source/src/crypto.cpp
++++ b/source/src/crypto.cpp
+@@ -778,7 +778,7 @@ static const char *hashchunktoa(tiger::chunk h) // portable solution instead o
+ const char *genpwdhash(const char *name, const char *pwd, int salt)
+ {
+ static string temp;
+- formatstring(temp)("%s %d %s %s %d", pwd, salt, name, pwd, abs(PROTOCOL_VERSION));
++ formatstring(temp)("%s %d %s %s %d", pwd, salt, name, pwd, iabs(PROTOCOL_VERSION));
+ tiger::hashval hash;
+ tiger::hash((uchar *)temp, (int)strlen(temp), hash);
+ formatstring(temp)("%s %s %s", hashchunktoa(hash.chunks[0]), hashchunktoa(hash.chunks[1]), hashchunktoa(hash.chunks[2]));
+diff --git a/source/src/editing.cpp b/source/src/editing.cpp
+index 8d5e1ff..745aa98 100644
+--- a/source/src/editing.cpp
++++ b/source/src/editing.cpp
+@@ -137,11 +137,11 @@ void checkselections()
+ void makesel(bool isnew)
+ {
+ block &cursel = sels.last(); //RR 10/12/12 - FIXEME, error checking should happen with "isnew", not here checking if it really is new.
+- if(isnew || sels.length() == 0) addselection(min(lastx, cx), min(lasty, cy), abs(lastx-cx)+1, abs(lasty-cy)+1, max(lasth, ch));
++ if(isnew || sels.length() == 0) addselection(min(lastx, cx), min(lasty, cy), iabs(lastx-cx)+1, iabs(lasty-cy)+1, max(lasth, ch));
+ else
+ {
+ cursel.x = min(lastx, cx); cursel.y = min(lasty, cy);
+- cursel.xs = abs(lastx-cx)+1; cursel.ys = abs(lasty-cy)+1;
++ cursel.xs = iabs(lastx-cx)+1; cursel.ys = iabs(lasty-cy)+1;
+ cursel.h = max(lasth, ch);
+ correctsel(cursel);
+ }
+@@ -849,7 +849,7 @@ void movemap(int xo, int yo, int zo) // move whole map
+ }
+ if(xo || yo)
+ {
+- block b = { max(-xo, 0), max(-yo, 0), ssize - abs(xo), ssize - abs(yo) }, *cp = blockcopy(b);
++ block b = { max(-xo, 0), max(-yo, 0), ssize - iabs(xo), ssize - iabs(yo) }, *cp = blockcopy(b);
+ cp->x = max(xo, 0);
+ cp->y = max(yo, 0);
+ blockpaste(*cp);
+diff --git a/source/src/entity.h b/source/src/entity.h
+index e2ad32d..84ac385 100644
+--- a/source/src/entity.h
++++ b/source/src/entity.h
+@@ -538,7 +538,7 @@ class playerent : public dynent, public playerstate
+ {
+ const int maxskin[2] = { 4, 6 };
+ t = team_base(t < 0 ? team : t);
+- nextskin[t] = abs(s) % maxskin[t];
++ nextskin[t] = iabs(s) % maxskin[t];
+ }
+ };
+
+diff --git a/source/src/main.cpp b/source/src/main.cpp
+index 0d57c0c..c51cd74 100644
+--- a/source/src/main.cpp
++++ b/source/src/main.cpp
+@@ -519,11 +519,11 @@ void setresdata(char *s, enet_uint32 c)
+ COMMANDF(screenres, "ii", (int *w, int *h) { screenres(*w, *h); });
+
+ static int curgamma = 100;
+-VARFP(gamma, 30, 100, 300,
++VARNFP(gamma, vgamma, 30, 100, 300,
+ {
+- if(gamma == curgamma) return;
+- curgamma = gamma;
+- float f = gamma/100.0f;
++ if(vgamma == curgamma) return;
++ curgamma = vgamma;
++ float f = vgamma/100.0f;
+ if(SDL_SetGamma(f,f,f)==-1) conoutf("Could not set gamma: %s", SDL_GetError());
+ });
+
+diff --git a/source/src/platform.h b/source/src/platform.h
+index aece7e2..fd2eef1 100644
+--- a/source/src/platform.h
++++ b/source/src/platform.h
+@@ -2,14 +2,6 @@
+ #ifdef _FORTIFY_SOURCE
+ #undef _FORTIFY_SOURCE
+ #endif
+-
+- #define gamma __gamma
+-#endif
+-
+-#include <math.h>
+-
+-#ifdef __GNUC__
+- #undef gamma
+ #endif
+
+ #include <string.h>
+@@ -19,6 +11,7 @@
+ #include <ctype.h>
+ #include <time.h>
+ #include <limits.h>
++#include <math.h>
+ #ifdef __GNUC__
+ #include <new>
+ #include <signal.h>
+diff --git a/source/src/protos.h b/source/src/protos.h
+index 1c07fad..97b0ee0 100644
+--- a/source/src/protos.h
++++ b/source/src/protos.h
+@@ -1053,7 +1053,8 @@ struct servercommandline
+ {
+ demo_interm = true;
+ }
+- else if(ai > 0) maxdemos = ai; break;
++ else if(ai > 0) maxdemos = ai;
++ break;
+ }
+ case 'W': demopath = a; break;
+ case 'r': maprot = a; break;
+diff --git a/source/src/rendercubes.cpp b/source/src/rendercubes.cpp
+index 1940da8..2be7fb0 100644
+--- a/source/src/rendercubes.cpp
++++ b/source/src/rendercubes.cpp
+@@ -216,9 +216,9 @@ void render_flat(int wtex, int x, int y, int size, int h, sqr *l1, sqr *l4, sqr
+ else // continue strip
+ {
+ int lighterr = lighterror*2;
+- if((abs(ol1r-l3->r)<lighterr && abs(ol2r-l4->r)<lighterr // skip vertices if light values are close enough
+- && abs(ol1g-l3->g)<lighterr && abs(ol2g-l4->g)<lighterr
+- && abs(ol1b-l3->b)<lighterr && abs(ol2b-l4->b)<lighterr) || !wtex)
++ if((iabs(ol1r-l3->r)<lighterr && iabs(ol2r-l4->r)<lighterr // skip vertices if light values are close enough
++ && iabs(ol1g-l3->g)<lighterr && iabs(ol2g-l4->g)<lighterr
++ && iabs(ol1b-l3->b)<lighterr && iabs(ol2b-l4->b)<lighterr) || !wtex)
+ {
+ verts.setsize(verts.length()-2);
+ nquads--;
+@@ -375,7 +375,7 @@ void render_square(int wtex, float floor1, float floor2, float ceil1, float ceil
+ {
+ int lighterr = lighterror*2;
+ if((!hf && !ohf)
+- && ((abs(ol1r-l2->r)<lighterr && abs(ol1g-l2->g)<lighterr && abs(ol1b-l2->b)<lighterr) || !wtex)) // skip vertices if light values are close enough
++ && ((iabs(ol1r-l2->r)<lighterr && iabs(ol1g-l2->g)<lighterr && iabs(ol1b-l2->b)<lighterr) || !wtex)) // skip vertices if light values are close enough
+ {
+ verts.setsize(verts.length()-2);
+ nquads--;
+diff --git a/source/src/rendertext.cpp b/source/src/rendertext.cpp
+index 0ed23af..b55da4f 100644
+--- a/source/src/rendertext.cpp
++++ b/source/src/rendertext.cpp
+@@ -330,7 +330,7 @@ static void text_color(char c, char *stack, int size, int &sp, bvec color, int a
+ if(c=='r') c = stack[(sp > 0) ? --sp : sp]; // restore color
+ else if(c == 'b') { if(allowblinkingtext && !ignoreblinkingbit) stack[sp] *= -1; } // blinking text - only if allowed
+ else stack[sp] = c;
+- switch(abs(stack[sp]))
++ switch(iabs(stack[sp]))
+ {
+ case '0': color = bvec( 2, 255, 128 ); break; // green: player talk
+ case '1': color = bvec( 96, 160, 255 ); break; // blue: team chat
+@@ -380,7 +380,7 @@ static void text_color(char c, char *stack, int size, int &sp, bvec color, int a
+ //default: color = bvec( 255, 255, 255 ); break;
+ }
+ int b = (int) (sinf(lastmillis / 200.0f) * 115.0f);
+- b = stack[sp] > 0 ? 100 : min(abs(b), 100);
++ b = stack[sp] > 0 ? 100 : min(iabs(b), 100);
+ glColor4ub(color.x, color.y, color.z, (a * b) / 100);
+ }
+ }
+diff --git a/source/src/tools.h b/source/src/tools.h
+index 0aeacff..9eb5a38 100644
+--- a/source/src/tools.h
++++ b/source/src/tools.h
+@@ -54,8 +54,7 @@ static inline T min(T a, T b)
+ {
+ return a < b ? a : b;
+ }
+-
+-static inline float round(float x) { return floor(x + 0.5f); }
++inline int iabs(int n) { return labs(n); }
+
+ #define clamp(a,b,c) (max(b, min(a, c)))
+ #define rnd(x) ((int)(randomMT()&0xFFFFFF)%(x))
+diff --git a/source/src/world.cpp b/source/src/world.cpp
+index 6a1c7bb..99a70eb 100644
+--- a/source/src/world.cpp
++++ b/source/src/world.cpp
+@@ -79,9 +79,9 @@ void remip(const block &b, int level)
+ || o[i]->ceil!=o[3]->ceil
+ || o[i]->ftex!=o[3]->ftex
+ || o[i]->ctex!=o[3]->ctex
+- || abs(o[i+1]->r-o[0]->r)>lighterr // perfect mip even if light is not exactly equal
+- || abs(o[i+1]->g-o[0]->g)>lighterr
+- || abs(o[i+1]->b-o[0]->b)>lighterr
++ || iabs(o[i+1]->r-o[0]->r)>lighterr // perfect mip even if light is not exactly equal
++ || iabs(o[i+1]->g-o[0]->g)>lighterr
++ || iabs(o[i+1]->b-o[0]->b)>lighterr
+ || o[i]->utex!=o[3]->utex
+ || o[i]->wtex!=o[3]->wtex) goto c;
+ }
+diff --git a/source/src/worldrender.cpp b/source/src/worldrender.cpp
+index 8fd3104..45aa606 100644
+--- a/source/src/worldrender.cpp
++++ b/source/src/worldrender.cpp
+@@ -297,10 +297,10 @@ void distlod(int &low, int &high, int angle, float widef)
+ void render_world(float vx, float vy, float vh, float changelod, int yaw, int pitch, float fov, float fovy, int w, int h)
+ {
+ loopi(LARGEST_FACTOR) stats[i] = 0;
+- min_lod = minimap || (player1->isspectating() && player1->spectatemode == SM_OVERVIEW) ? MAX_LOD : MIN_LOD+abs(pitch)/12;
++ min_lod = minimap || (player1->isspectating() && player1->spectatemode == SM_OVERVIEW) ? MAX_LOD : MIN_LOD+iabs(pitch)/12;
+ yaw = 360-yaw;
+ float widef = fov/75.0f;
+- int cdist = abs(yaw%90-45);
++ int cdist = iabs(yaw%90-45);
+ if(cdist<7) // hack to avoid popup at high fovs at 45 yaw
+ {
+ min_lod = max(min_lod, (int)(MIN_LOD+(10-cdist)/1.0f*widef)); // less if lod worked better
diff --git a/games/assaultcube/assaultcube.SlackBuild b/games/assaultcube/assaultcube.SlackBuild
index 0f5f023de6..21563e48f1 100644
--- a/games/assaultcube/assaultcube.SlackBuild
+++ b/games/assaultcube/assaultcube.SlackBuild
@@ -67,6 +67,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/assaultcube-gcc6.patch
+
# Use custom SLKCFLAGS, remove end-of-line encoding and remove precompiled binaries.
patch -p1 < $CWD/Makefile.patch
sed -i 's/\r//g' changelog.txt
diff --git a/games/berusky2/berusky2.SlackBuild b/games/berusky2/berusky2.SlackBuild
index c6021d1496..eee4fade35 100644
--- a/games/berusky2/berusky2.SlackBuild
+++ b/games/berusky2/berusky2.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=berusky2
-VERSION=${VERSION:-0.10}
+VERSION=${VERSION:-20170630_974e2e5}
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 . \
@@ -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 {} \;
+autoreconf -fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/games/berusky2/berusky2.info b/games/berusky2/berusky2.info
index 58aeeb1346..7db48900d1 100644
--- a/games/berusky2/berusky2.info
+++ b/games/berusky2/berusky2.info
@@ -1,8 +1,8 @@
PRGNAM="berusky2"
-VERSION="0.10"
+VERSION="20170630_974e2e5"
HOMEPAGE="http://anakreon.cz/?q=node/2"
-DOWNLOAD="http://downloads.sourceforge.net/project/berusky2/berusky2-0.10/berusky2-0.10.tar.gz"
-MD5SUM="3c2d5217f7a61a6fbc13d689b88ec4e4"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/berusky2-20170630_974e2e5.tar.xz"
+MD5SUM="f4a1306eeff8a38591898cafa6d1934d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="freealut berusky2-data"
diff --git a/games/blobwars/blobwars.SlackBuild b/games/blobwars/blobwars.SlackBuild
index 1808f6e6e5..14df961364 100644
--- a/games/blobwars/blobwars.SlackBuild
+++ b/games/blobwars/blobwars.SlackBuild
@@ -63,7 +63,7 @@ sed -i "s_blobwars/man_blobwars-$VERSION/man_" data/titleWidgets
#doc dir fixed for slackware and help display bug.
#note. the trailing / on the first make command is intentional.
-make USEPAK=1 CFLAGS="$SLKCFLAGS" DOCDIR="/usr/doc/$PRGNAM-$VERSION/"
+make USEPAK=1 CFLAGS="$SLKCFLAGS -Wno-error=format-truncation=" DOCDIR="/usr/doc/$PRGNAM-$VERSION/"
make install USEPAK=1 DESTDIR=$PKG DOCDIR="/usr/doc/$PRGNAM-$VERSION"
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/games/bloodfrontier/bloodfrontier.SlackBuild b/games/bloodfrontier/bloodfrontier.SlackBuild
index 0f85e8fca2..2470383f75 100644
--- a/games/bloodfrontier/bloodfrontier.SlackBuild
+++ b/games/bloodfrontier/bloodfrontier.SlackBuild
@@ -64,7 +64,7 @@ sed -i "s|X11R6/lib|lib${LIBDIRSUFFIX} -lX11|" src/Makefile
make -C src \
CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS -Wno-narrowing" \
LDFLAGS="$SLKLDFLAGS"
mkdir -p $PKG/usr/bin $PKG/usr/lib${LIBDIRSUFFIX}/bloodfrontier/bin
diff --git a/games/brainparty/brainparty.SlackBuild b/games/brainparty/brainparty.SlackBuild
index 71770366d2..8536a94331 100644
--- a/games/brainparty/brainparty.SlackBuild
+++ b/games/brainparty/brainparty.SlackBuild
@@ -51,6 +51,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Thanks debian
+patch -p1 < $CWD/patches/gcc-6.patch
+
# Save directory patch. Data directory patch. Use custom SLKCFLAGS.
patch -p1 < $CWD/patches/brainparty-0.5-savegame.patch
patch -p1 < $CWD/patches/brainparty-0.5-data-directory.patch
diff --git a/games/brainparty/patches/gcc-6.patch b/games/brainparty/patches/gcc-6.patch
new file mode 100644
index 0000000000..67dfadd540
--- /dev/null
+++ b/games/brainparty/patches/gcc-6.patch
@@ -0,0 +1,47 @@
+Description: Fix FTBFS on GCC 6 by removing use of hash_set class
+Author: James Cowgill <jcowgill@debian.org>
+Bug-Debian: https://bugs.debian.org/811885
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/WordList.h
++++ b/WordList.h
+@@ -18,24 +18,11 @@
+ #ifndef __WORDLIST_H__
+ #define __WORDLIST_H__
+
++#include <string>
+ #include <vector>
+-#include <ext/hash_set>
++#include <unordered_set>
+
+-using namespace std;
+-using namespace __gnu_cxx;
+-
+-namespace __gnu_cxx
+-{
+- template<> struct hash< std::string >
+- {
+- size_t operator()( const std::string& x ) const
+- {
+- return hash< const char* >()( x.c_str() );
+- }
+- };
+-}
+-
+-typedef hash_set<string, hash<string> > string_hash_set;
++typedef std::unordered_set<std::string> string_hash_set;
+
+ class WordList {
+ private:
+--- a/Makefile
++++ b/Makefile
+@@ -17,6 +17,9 @@ else
+ OSXCOMPAT =
+ endif
+
++# enable c++11
++CXXFLAGS += -std=c++11
++
+ # object files have corresponding source files
+ CXX = g++
+
diff --git a/games/chroma/chroma.SlackBuild b/games/chroma/chroma.SlackBuild
index f46788b147..420528367e 100644
--- a/games/chroma/chroma.SlackBuild
+++ b/games/chroma/chroma.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"
@@ -46,10 +46,13 @@ 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 {} \;
+ \( -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 {} \;
+
+# Removed some inline declarations (incompatible with newer versions of gcc)
+patch -p1 < $CWD/gcc.patch
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -61,7 +64,7 @@ CFLAGS="$SLKCFLAGS" \
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/share/{applications,pixmaps}
diff --git a/games/chroma/gcc.patch b/games/chroma/gcc.patch
new file mode 100644
index 0000000000..22ef1b2ea7
--- /dev/null
+++ b/games/chroma/gcc.patch
@@ -0,0 +1,30 @@
+diff -Naur chroma-1.15.orig/sdlshadowdisplay.c chroma-1.15/sdlshadowdisplay.c
+--- chroma-1.15.orig/sdlshadowdisplay.c 2013-04-20 08:07:00.000000000 +0200
++++ chroma-1.15/sdlshadowdisplay.c 2017-08-02 12:07:56.327010753 +0200
+@@ -88,7 +88,7 @@
+ void displayshadowed_level(struct level* plevel);
+ void displayshadowed_movers(struct level* plevel, int redraw);
+
+-inline void displayshadowed_piece(struct level* plevel, int p, int x, int y, int d)
++void displayshadowed_piece(struct level* plevel, int p, int x, int y, int d)
+ {
+ SDL_Surface *pimage;
+
+@@ -255,7 +255,7 @@
+ }
+ }
+
+-inline void displayshadowed_pieceshadow(struct level* plevel, int p, int x, int y, int d)
++void displayshadowed_pieceshadow(struct level* plevel, int p, int x, int y, int d)
+ {
+ SDL_Surface *pimage;
+
+@@ -310,7 +310,7 @@
+ SDL_BlitSurface(pimage, &srect, screen_surface, &drect);
+ }
+
+-inline void displayshadowed_piecebase(struct level* plevel, int x, int y)
++void displayshadowed_piecebase(struct level* plevel, int x, int y)
+ {
+ int p;
+ SDL_Surface *pimage;
diff --git a/games/desmume/desmume.SlackBuild b/games/desmume/desmume.SlackBuild
index 4e5fec368b..c410fec43c 100644
--- a/games/desmume/desmume.SlackBuild
+++ b/games/desmume/desmume.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=desmume
-VERSION=${VERSION:-0.9.11}
+VERSION=${VERSION:-20190129_3e73a55}
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,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 . \
@@ -69,16 +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 end-of-line encoding.
-for i in AUTHORS; do
- cp -a $i ${i}.new
- sed -i 's/\r//' ${i}.new
- touch -r $i ${i}.new
- mv ${i}.new $i
-done
+# https://github.com/TASVideos/desmume
-# Fix missing header.
-patch -p1 < $CWD/osmesa-header-fix.patch
+cd $PRGNAM/src/frontend/posix
+./autogen.sh
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -88,7 +82,6 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--enable-osmesa \
--enable-hud \
- --enable-gdb-stub \
--enable-wifi \
--enable-openal \
--enable-glade \
@@ -99,6 +92,8 @@ CXXFLAGS="$SLKCFLAGS" \
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
@@ -106,7 +101,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- AUTHORS ChangeLog COPYING INSTALL README README.LIN ds*.txt \
+ AUTHORS ChangeLog COPYING README README.LIN doc/ds*.txt \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/games/desmume/desmume.info b/games/desmume/desmume.info
index b06dd8381e..3cbebdfbd0 100644
--- a/games/desmume/desmume.info
+++ b/games/desmume/desmume.info
@@ -1,8 +1,8 @@
PRGNAM="desmume"
-VERSION="0.9.11"
+VERSION="20190129_3e73a55"
HOMEPAGE="http://desmume.org/"
-DOWNLOAD="http://downloads.sourceforge.net/desmume/desmume-0.9.11.tar.gz"
-MD5SUM="269b5d4ddc5715720469a9d0efc53044"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/desmume-20190129_3e73a55.tar.xz"
+MD5SUM="d198b000834ed0e13a73051caa91ec7c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="OpenAL agg gtkglext soundtouch zziplib"
diff --git a/games/desmume/osmesa-header-fix.patch b/games/desmume/osmesa-header-fix.patch
deleted file mode 100644
index 7ba5bd070f..0000000000
--- a/games/desmume/osmesa-header-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur desmume-0.9.11.orig/src/gtk/osmesa_3Demu.cpp desmume-0.9.11/src/gtk/osmesa_3Demu.cpp
---- desmume-0.9.11.orig/src/gtk/osmesa_3Demu.cpp 2015-02-14 15:05:26.000000000 +0000
-+++ desmume-0.9.11/src/gtk/osmesa_3Demu.cpp 2015-05-09 02:00:11.279367208 +0000
-@@ -20,6 +20,7 @@
-
- #ifdef HAVE_LIBOSMESA
- #include <stdlib.h>
-+#include <stdio.h>
- #include <GL/osmesa.h>
- #include "../OGLRender.h"
- #include "osmesa_3Demu.h"
diff --git a/games/dolphin-emu/dolphin-emu.SlackBuild b/games/dolphin-emu/dolphin-emu.SlackBuild
index a254bf93aa..8d72963747 100644
--- a/games/dolphin-emu/dolphin-emu.SlackBuild
+++ b/games/dolphin-emu/dolphin-emu.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=dolphin-emu
-VERSION=${VERSION:-5.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-20181020_9c9d598}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
diff --git a/games/dolphin-emu/dolphin-emu.info b/games/dolphin-emu/dolphin-emu.info
index 657b8e5cf0..43c7412c5e 100644
--- a/games/dolphin-emu/dolphin-emu.info
+++ b/games/dolphin-emu/dolphin-emu.info
@@ -1,10 +1,10 @@
PRGNAM="dolphin-emu"
-VERSION="5.0"
+VERSION="20181020_9c9d598"
HOMEPAGE="https://dolphin-emu.org/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/dolphin-emu/dolphin/archive/5.0/dolphin-5.0.tar.gz"
-MD5SUM_x86_64="ed94272956adbec690808f6e4d8ff065"
+DOWNLOAD_x86_64="http://ponce.cc/slackware/sources/repo/dolphin-20181020_9c9d598.tar.xz"
+MD5SUM_x86_64="1d8b06556e7622fd404049fbb90849db"
REQUIRES=""
MAINTAINER="Larry Hajali"
EMAIL="larryhaja[at]gmail[dot]com"
diff --git a/games/etlegacy-from-source/README b/games/etlegacy-from-source/README
new file mode 100644
index 0000000000..4d6185212f
--- /dev/null
+++ b/games/etlegacy-from-source/README
@@ -0,0 +1,25 @@
+Wolfenstein Enemy Territory: Legacy is a project that aims to create
+a fully compatible client and server for the popular online FPS game
+Wolfenstein: Enemy Territory.
+
+It's based on its source code released under the GPLv3 license.
+
+The main goal of this project is to fix bugs, remove old dependencies
+and make it playable on all major operating systems while still
+remaining compatible with the ET 2.60b version and as many of its mods
+as possible.
+
+This script builds the server with omni-bot support (x86 32bit only).
+(http://www.omni-bot.com/)
+
+To play you *need* also the data files from the original game
+(etlegacy-data).
+
+* WARNING *
+
+To have a client/server compatible with the existing ones (to play
+on the existing online servers), build it on/for a 32bit platform.
+
+This version of the game is built from source: the resulting package
+conflicts with the etlegacy SlackBuild you can find on SBo so install
+only one of the two.
diff --git a/office/juffed/doinst.sh b/games/etlegacy-from-source/doinst.sh
index 5fb28930db..5fb28930db 100644
--- a/office/juffed/doinst.sh
+++ b/games/etlegacy-from-source/doinst.sh
diff --git a/games/etlegacy-from-source/etlegacy-from-source.SlackBuild b/games/etlegacy-from-source/etlegacy-from-source.SlackBuild
new file mode 100644
index 0000000000..ef7b9625c1
--- /dev/null
+++ b/games/etlegacy-from-source/etlegacy-from-source.SlackBuild
@@ -0,0 +1,186 @@
+#!/bin/sh
+
+# Slackware build script for etlegacy-from-source
+# Copyright 2013-2016 Matteo Bernardini <ponce@slackbuilds.org>, 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=etlegacy-from-source
+SRCNAM=etlegacy
+VERSION=${VERSION:-20170622_ae5f9ef}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i*86) ARCH=i686 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+w_omnibot=1
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=core2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ w_omnibot=0
+else
+ SLKCFLAGS="-O2"
+ w_omnibot=0
+fi
+
+set -e # Exit on most errors
+
+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 {} \;
+
+# Fix location of the omnibot.zip, man install path
+# and leave the relative path to binaries off
+sed -i "s|share/man|man|" CMakeLists.txt
+sed -i "s|^\.\/etl|etl|" misc/etl_bot.sh misc/etlded_bot.sh
+
+mkdir -p build/legacy
+cd build
+ ln -s $CWD/omnibot-linux-latest.tar.gz legacy/
+ ln -s $CWD/wolfadmin.tar.gz legacy/
+ # We have to use bundled lua and sdl
+ cmake \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DINSTALL_DEFAULT_BINDIR="bin" \
+ -DINSTALL_DEFAULT_MODDIR="share/$SRCNAM" \
+ -DINSTALL_DEFAULT_BASEDIR="/usr/share/$SRCNAM" \
+ -DBUILD_CLIENT=1 \
+ -DBUILD_SERVER=1 \
+ -DBUILD_MOD=1 \
+ -DBUILD_MOD_PK3=1 \
+ -DBUILD_PAK3_PK3=1 \
+ -DFEATURE_CURL=1 \
+ -DFEATURE_OGG_VORBIS=1 \
+ -DFEATURE_THEORA=1 \
+ -DFEATURE_OPENAL=1 \
+ -DFEATURE_FREETYPE=1 \
+ -DFEATURE_TRACKER=0 \
+ -DFEATURE_GETTEXT=1 \
+ -DFEATURE_JANSSON=0 \
+ -DFEATURE_DBMS=1 \
+ -DFEATURE_LUA=1 \
+ -DFEATURE_MULTIVIEW=1 \
+ -DFEATURE_EDV=1 \
+ -DFEATURE_ANTICHEAT=1 \
+ -DFEATURE_RATING=1 \
+ -DFEATURE_AUTOUPDATE=0 \
+ -DFEATURE_LUASQL=1 \
+ -DFEATURE_OMNIBOT=$w_omnibot \
+ -DINSTALL_EXTRA=1 \
+ -DINSTALL_OMNIBOT=$w_omnibot \
+ -DINSTALL_GEOIP=1 \
+ -DINSTALL_WOLFADMIN=1 \
+ -DCROSS_COMPILE32=0 \
+ -DFEATURE_OGG_VORBIS=1 \
+ -DFEATURE_FREETYPE=1 \
+ -DFEATURE_AUTOUPDATE=0 \
+ -DFEATURE_IPV6=0 \
+ -DFEATURE_GETTEXT=1 \
+ -DFEATURE_RENDERER2=1 \
+ -DFEATURE_RENDERER_GLES=0 \
+ -DRENDERER_DYNAMIC=1 \
+ -DBUNDLED_LIBS=1 \
+ -DBUNDLED_SDL=1 \
+ -DBUNDLED_LUA=1 \
+ -DBUNDLED_OGG_VORBIS=1 \
+ -DBUNDLED_THEORA=1 \
+ -DBUNDLED_SQLITE3=1 \
+ -DBUNDLED_JANSSON=0 \
+ -DBUNDLED_ZLIB=1 \
+ -DBUNDLED_MINIZIP=1 \
+ -DBUNDLED_CURL=1 \
+ -DBUNDLED_OPENAL=1 \
+ -DBUNDLED_JPEG=1 \
+ -DBUNDLED_GLEW=0 \
+ -DBUNDLED_FREETYPE=1 \
+ -DCMAKE_BUILD_TYPE=Release ..
+
+ # JIC, sanitize the just-uncompressed stuff
+ chown -R root:root legacy
+ find -L legacy \
+ \( -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 {} \;
+ make
+ make install DESTDIR=$PKG
+cd ..
+
+# Move man pages in the proper place
+mv $PKG/usr/share/man $PKG/usr/man
+
+# Install a script to open urls, and move two scripts to launch the client and
+# the dedicated server with omnibot support in the binaries folder
+install -m 0755 $CWD/files/openurl.sh $PKG/usr/bin/openurl.sh
+mv $PKG/usr/share/$SRCNAM/etl*.sh $PKG/usr/bin/
+chmod 755 $PKG/usr/bin/etl*.sh
+
+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
+
+# Install an icon, a desktop file and man pages
+install -m 0644 -D $CWD/files/$SRCNAM.svg \
+ $PKG/usr/share/pixmaps/$SRCNAM.svg
+install -m 0644 -D $CWD/files/$SRCNAM.desktop \
+ $PKG/usr/share/applications/$SRCNAM.desktop
+mkdir -p $PKG/usr/man/man6
+gzip -9 -c docs/linux/man/man6/etl.6 > $PKG/usr/man/man6/etl.6.gz
+gzip -9 -c docs/linux/man/man6/etlded.6 > $PKG/usr/man/man6/etlded.6.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mv \
+ $PKG/usr/share/$SRCNAM/*.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cp 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
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/games/etlegacy-from-source/etlegacy-from-source.info b/games/etlegacy-from-source/etlegacy-from-source.info
new file mode 100644
index 0000000000..34a4acd1e3
--- /dev/null
+++ b/games/etlegacy-from-source/etlegacy-from-source.info
@@ -0,0 +1,16 @@
+PRGNAM="etlegacy"
+VERSION="20170622_ae5f9ef"
+HOMEPAGE="http://www.etlegacy.com"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/etlegacy-20170622_ae5f9ef.tar.xz \
+ http://ponce.cc/slackware/sources/repo/omnibot-linux-latest.tar.gz \
+ http://ponce.cc/slackware/sources/repo/wolfadmin.tar.gz \
+ http://ponce.cc/slackware/sources/repo/GeoIP.dat.gz"
+MD5SUM="3932c07ac68fac86d2d15679029028a3 \
+ 714a5c98406e455377e6cea1fdfdd16b \
+ a322a5b8bf478643785362f35143847c \
+ 5ac81d5de50c557be104e4c43f851c36"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="%README% etlegacy-data zenity"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/games/etlegacy-from-source/files/etlegacy.desktop b/games/etlegacy-from-source/files/etlegacy.desktop
new file mode 100644
index 0000000000..2618c0c13e
--- /dev/null
+++ b/games/etlegacy-from-source/files/etlegacy.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=ETLegacy
+Comment=ET: Legacy (Collaborative online FPS)
+Exec=etl
+Icon=etl
+Terminal=false
+Type=Application
+Categories=Game;
+StartupNotify=false
diff --git a/games/etlegacy-from-source/files/etlegacy.svg b/games/etlegacy-from-source/files/etlegacy.svg
new file mode 100644
index 0000000000..51754d1889
--- /dev/null
+++ b/games/etlegacy-from-source/files/etlegacy.svg
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="273.6875"
+ height="173.40625"
+ viewBox="0 0 218.95 138.72526"
+ id="svg2">
+ <metadata
+ id="metadata16">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs14">
+ <linearGradient
+ id="linearGradient5430">
+ <stop
+ id="stop5432"
+ style="stop-color:#df3323;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5434"
+ style="stop-color:#3d0000;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="134.5764"
+ y1="2.2628517"
+ x2="134.5764"
+ y2="150.06567"
+ id="linearGradient5438"
+ xlink:href="#linearGradient5430"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.80000151,0,0,0.80000151,1.4747917,2.0250038)"
+ spreadMethod="pad" />
+ </defs>
+ <path
+ d="m 141.47506,0 -2.025,0.025 -2.20001,0.025 -0.025,0 -0.05,0 c -0.56094,0.029611 -1.70494,0.1655976 -3.625,0.4000007 -1.92006,0.2344032 -4.43694,0.566477 -7.10002,1.0000019 -2.76457,0.4500476 -5.64229,1.0096873 -8.15001,1.6750032 -2.39466,0.6353177 -4.73741,1.1624015 -6.65002,3.0750058 -1.11785,1.1178567 -1.76614,2.3933294 -2.175,3.6250069 C 109.06614,8.5933348 108.41785,7.3178683 107.3,6.2000117 105.38739,4.2874074 103.04464,3.7603236 100.64998,3.1250059 98.142257,2.45969 95.264537,1.9000503 92.499964,1.4500027 89.859095,1.0200941 87.367626,0.683809 85.474951,0.4500008 83.582275,0.2161926 82.445337,0.0816673 81.924944,0.0500001 c -0.002,2.358e-4 -0.0219,2.018e-4 -0.025,0 -0.05436,-0.00354 -0.104368,0.00167 -0.15,0 -0.09126,-0.00334 -0.182568,0.00226 -0.300001,0 -0.234863,-0.00451 -0.536171,-0.022255 -0.825001,-0.025 -0.577661,-0.00549 -1.150002,0 -1.150002,0 l -2.000004,0 0,2.0000038 0,13.0000251 -72.650138,0 -4.82500917679,0 0,8.000015 L 3.3997953,26.45005 42.39987,65.450124 l 0.600001,0.575001 0.825001,0 35.650068,0 0,58.850115 0,4.85001 3.425006,-3.45001 13.575026,-13.62503 0,21.22504 0,4.85001 3.425005,-3.45 14.575033,-14.62503 0,4.22501 0,4.82501 3.42501,-3.40001 21.00004,-21.00004 0.575,-0.60001 0,-0.825 0,-37.850065 35.65006,0 0.825,0 0.6,-0.575001 39.00008,-39.000074 3.4,-3.425006 0,-8.000015 -4.82501,0 -72.65013,0 0,-13.0000251 z m -59.875116,4.0500076 0.075,0 c 0.01691,0.00103 1.091842,0.132738 1.725003,0.2000004 z m 55.700106,0 0.075,0 0.1,0 0,0.2250004 -2,0 c 0.72505,-0.076119 1.78584,-0.2215776 1.825,-0.2250004 z M 83.824948,4.3000081 c 0.505641,0.055705 0.521361,0.044253 1.175002,0.1250002 1.655203,0.2044728 3.853399,0.5170549 6.125012,0.8750017 C 88.120084,4.8294493 85.543799,4.4927178 83.824948,4.3000081 z m 50.925102,0.05 c -1.61252,0.1827352 -3.91957,0.4916419 -6.57501,0.9000017 2.14817,-0.332921 4.26472,-0.6314689 5.85001,-0.8250016 0.40573,-0.049532 0.36769,-0.034762 0.725,-0.075 z m -34.950073,2.675005 c 1.462323,0.389813 2.501633,0.7939944 3.350013,1.2250023 -0.15979,-0.072953 -0.27743,-0.1411677 -0.475,-0.2250004 -0.73852,-0.313363 -1.74502,-0.6878195 -2.875013,-1.0000019 z m 19.350043,0 c -1.12999,0.3121818 -2.13649,0.686639 -2.87501,1.0000019 -0.19757,0.083833 -0.31521,0.1520469 -0.475,0.2250004 0.84838,-0.4310079 1.88769,-0.8351893 3.35001,-1.2250023 z m -33.675069,1.550003 c 1.673843,0.2029118 3.290574,0.3746285 5.750011,0.7750014 2.615437,0.4257684 5.275002,0.9244885 7.350015,1.4750025 0.97355,0.25829 1.877973,0.600456 2.525003,0.875002 0.2086,0.08851 0.35117,0.155736 0.50001,0.225 0.0575,0.137843 0.13205,0.275764 0.2,0.475002 0.0976,0.286085 0.1654,0.634726 0.25,0.975001 -0.97037,0.241444 -2.243943,0.668929 -3.400013,1.825004 -1.3422,1.342202 -1.77999,2.924928 -1.975005,3.900007 -0.207144,1.03545 -0.201016,1.881533 -0.2,1.925004 2.4e-5,0.0011 0,0.05 0,0.05 l 0,16.950032 -65.325124,0 -3.000005,-3.000006 27.325051,0 0.825002,0 0.600001,-0.575001 4.000008,-4.000007 3.400006,-3.425007 -4.825009,0 -39.325074,0 -4.000008,-4.000007 58.47511,0 -5.57501,5.57501 -3.400007,3.425007 4.82501,0 13.000024,0 2.000004,0 0,-2.000004 z m 48.000099,0 0,21.4500409 0,2.000004 2,0 13.00002,0 4.82501,0 -3.4,-3.425007 -5.57501,-5.57501 58.47511,0 -4.00001,4.000007 -39.32508,0 -4.825,0 3.4,3.425007 4.00001,4.000007 0.6,0.575001 0.825,0 27.32505,0 -3,3.000006 -65.32513,0 0,-16.950032 c 0,0 -2e-5,-0.04888 0,-0.05 0.001,-0.04347 0.007,-0.889474 -0.2,-1.925004 -0.19501,-0.975067 -0.63279,-2.557801 -1.975,-3.900007 -1.15607,-1.156066 -2.42964,-1.583559 -3.40001,-1.825004 0.0846,-0.340275 0.15244,-0.688916 0.25,-0.975001 0.0679,-0.199238 0.14251,-0.337159 0.20001,-0.475002 0.14882,-0.06926 0.2914,-0.136491 0.5,-0.225 0.64703,-0.274545 1.55145,-0.616712 2.525,-0.875002 2.07501,-0.550514 4.73458,-1.0492341 7.35001,-1.4750025 2.45944,-0.4003729 4.07617,-0.5720896 5.75002,-0.7750014 z M 105.44999,10.75002 c 0.36286,0.911786 0.61428,1.899778 0.775,3.025006 0.11508,0.806639 0.13951,1.402629 0.2,1.950004 l 0.025,1.300002 -1.975,0 1.725,-0.025 0.1,-1.875003 c 0,0 0.031,-0.608393 -0.075,-1.350003 -0.13725,-0.96083 -0.38475,-1.897196 -0.65,-2.675005 -0.0439,-0.128608 -0.0802,-0.229896 -0.125,-0.350001 z m 8.05002,0 c -0.0448,0.120105 -0.0811,0.221393 -0.125,0.350001 -0.26525,0.777809 -0.51275,1.714175 -0.65,2.675005 0.16075,-1.125247 0.41213,-2.113214 0.775,-3.025006 z m -0.875,4.125008 -0.1,1.575003 0,-0.725001 c 0.0264,-0.239123 0.0753,-0.570767 0.1,-0.850002 z m -0.125,2.125004 1.975,0.025 -1,0 -0.975,0 z m -8.17502,0.025 c -0.041,0.0024 -0.4443,0.04387 -0.975,0.150001 -0.36337,0.07267 -0.66015,0.160047 -0.9,0.25 -0.0624,0.02341 -0.11939,0.02704 -0.175,0.05 0.33272,-0.161248 0.70162,-0.275325 1.075,-0.35 0.48654,-0.09731 0.975,-0.100001 0.975,-0.100001 z m 10.27502,0 c 0.17915,0.0019 0.4303,-0.01394 1,0.100001 0.37338,0.07468 0.74228,0.188751 1.075,0.35 -0.0556,-0.02295 -0.11256,-0.02659 -0.175,-0.05 -0.23984,-0.08995 -0.53662,-0.177325 -0.9,-0.25 -0.54393,-0.108764 -0.97882,-0.148809 -1,-0.150001 z m -13.67503,1.800004 c -0.0229,0.0556 -0.0266,0.112574 -0.05,0.175 -0.0899,0.239816 -0.17732,0.536711 -0.25,0.900002 -0.10298,0.515223 -0.12122,0.888151 -0.125,0.950002 2.7e-4,-0.09844 -0.0292,-0.429085 0.075,-0.950002 0.0747,-0.373381 0.18875,-0.742282 0.35,-1.075002 z m 17.10004,0 c 0.16124,0.332717 0.27532,0.701615 0.35,1.075002 0.1042,0.520844 0.0747,0.851573 0.075,0.950002 -0.004,-0.06189 -0.0219,-0.434562 -0.125,-0.950002 -0.0727,-0.36332 -0.16004,-0.660121 -0.25,-0.900002 -0.0234,-0.06244 -0.027,-0.119368 -0.05,-0.175 z m -13.55003,10.200019 c 0.0155,-0.0012 0.1,0 0.1,0 l 1.9,0 1.97501,0 0.025,0 2,0 0.025,0 2.97501,0 0.9,0 c 0,0 0.0845,-0.0012 0.1,0 l 0,0.1 0,8.900017 -10.00002,0 0,-8.900017 z m -23.000047,-7.150014 0,6.150012 -6.150011,0 5.57501,-5.57501 z m 56.000107,0 0.575,0.575002 5.57501,5.57501 -6.15001,0 z m -98.325187,24.150046 57.325109,0 0,38.000072 0,4.825009 3.425005,-3.400007 4.000013,-4.000007 0.575,-0.600001 0,-0.825002 0,-34.000064 10.00002,0 0,38.000072 0,4.825009 3.42501,-3.400007 4,-4.000007 0.575,-0.600001 0,-0.825002 0,-34.000064 57.32511,0 -4,4.000008 -42.32508,0 -2.00001,0 0,2.000003 0,41.325078 -9.00002,9.000014 0,-12.32502 0,-4.825009 -3.425,3.400006 -4.00001,4.000008 -0.575,0.600001 0,0.825002 0,7.325012 -10.00002,10.00002 0,-21.17504 0,-4.825009 -3.42501,3.400007 -13.575025,13.600022 0,-50.325092 0,-2.000003 -2.000004,0 -42.32508,0 z"
+ id="path3892"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ d="m 80.899942,3.4500065 0,13.5750255 c 0.0057,0.747658 -0.677344,1.430652 -1.425003,1.425003 l -74.4251406,0 36.1500686,36.150068 40.275076,0 c 0.747658,-0.0057 1.430651,0.677345 1.425003,1.425003 l 0,57.425104 14.575031,-14.625023 c 0.39153,-0.399953 1.03245,-0.531513 1.54988,-0.318145 0.51742,0.213376 0.87931,0.758473 0.87512,1.318146 l 0,22.625042 15.575033,-15.62503 c 0.39153,-0.39995 1.03246,-0.53151 1.54988,-0.31814 0.51743,0.21337 0.87932,0.75847 0.87512,1.31814 l 0,5.62501 18.15004,-18.15003 0,-39.275074 c -0.006,-0.747658 0.67734,-1.430652 1.425,-1.425003 l 40.27508,0 36.15007,-36.150068 -74.42514,0 c -0.74766,0.0057 -1.43066,-0.677345 -1.42501,-1.425003 l 0,-13.5500255 -0.75,0 0,-0.025 c -0.12117,0.00807 -1.49587,0.1472265 -3.35,0.3750007 -1.88147,0.2311324 -4.34424,0.5758045 -6.95002,1.0000019 -2.69691,0.4390327 -5.46733,0.9811276 -7.80001,1.600003 -2.41264,0.6400874 -3.98999,1.0649805 -5.12501,2.2000042 -1.33333,1.3333278 -1.65391,3.1773877 -1.92501,5.0750097 -0.12252,0.857658 -0.14082,1.502959 -0.2,2.025004 l -0.025,1.875003 1.55001,0 1,0 c 0.0252,0.0076 0.0502,0.01597 0.075,0.025 0,0 0.40683,0.02138 0.925,0.125 0.31902,0.0638 0.5829,0.143578 0.8,0.225001 0.10855,0.04071 0.21314,0.08552 0.3,0.125 0.0434,0.01974 0.0715,0.02167 0.125,0.05 0.0535,0.02833 0.0276,-0.07243 0.375,0.275001 0.34819,0.347604 0.24662,0.321414 0.275,0.375 0.0284,0.05358 0.0302,0.08154 0.05,0.125001 0.0395,0.08692 0.0843,0.191437 0.125,0.3 0.0814,0.217128 0.16121,0.481024 0.225,0.800002 0.10364,0.518223 0.125,0.925002 0.125,0.925002 0.009,0.02476 0.0174,0.04978 0.025,0.075 l 0,19.000036 c 0.006,0.747644 -0.67732,1.430629 -1.42496,1.425002 l -14.00002,0 c -0.74766,0.0057 -1.43065,-0.677344 -1.42501,-1.425002 l 0,-19.000036 c 0.008,-0.02522 0.016,-0.05024 0.025,-0.075 0,0 0.0214,-0.406945 0.125,-0.925002 0.0638,-0.318958 0.1436,-0.582921 0.225,-0.800002 0.0407,-0.10854 0.0855,-0.213147 0.125,-0.3 0.0198,-0.04342 0.0217,-0.0715 0.05,-0.125001 0.0283,-0.0535 -0.0723,-0.02764 0.275,-0.375 0.34793,-0.348311 0.32148,-0.246652 0.37501,-0.275001 0.0535,-0.02835 0.0816,-0.03026 0.125,-0.05 0.0869,-0.03949 0.19144,-0.08429 0.3,-0.125 0.21711,-0.08142 0.48099,-0.161197 0.8,-0.225001 0.51824,-0.103637 0.925,-0.125 0.925,-0.125 0.0247,-0.009 0.0498,-0.01737 0.075,-0.025 l 2,0 0.55,0 -0.025,-1.875003 c -0.0591,-0.521651 -0.0776,-1.167032 -0.2,-2.025004 -0.271,-1.897581 -0.59162,-3.7416741 -1.92496,-5.0750097 C 103.73996,7.4899926 102.16262,7.0650995 99.749977,6.4250121 97.417297,5.8061367 94.64688,5.2640418 91.949963,4.8250091 89.364134,4.4040604 86.933122,4.0566076 85.07495,3.8250072 83.216778,3.5934068 81.821792,3.4558999 81.724944,3.4500065 c -0.01664,2.946e-4 -0.03336,2.946e-4 -0.05,0 -5.04e-4,-3.11e-5 -0.05432,-0.00264 -0.05,0 -0.0108,-3.603e-4 -0.03648,3.705e-4 -0.05,0 -0.05408,-0.00148 -0.114734,0.00133 -0.2,0 -0.130649,-0.00204 -0.307376,0.00137 -0.475001,0 z"
+ id="path3885"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:url(#linearGradient5438);fill-opacity:1;stroke:none;stroke-width:4.00000763;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ d="m 79.474939,2.0250038 0,15.0000282 -77.850147,0 39.000074,39.000074 40.850077,0 0,60.850114 17.000034,-17.050032 c 0,8.683352 0,17.366702 0,26.050052 l 18.000033,-18.05004 0,9.05002 21.00004,-21.000039 0,-39.850075 40.85008,0 39.00007,-39.000074 -77.85014,0 0,-15.0000282 -2.19342,0.030005 c -0.56842,0.030005 -5.24819,0.5139758 -10.50661,1.3699977 -2.72494,0.4435953 -5.54482,0.9868914 -7.95001,1.6250031 -2.40519,0.6381117 -4.29291,1.1178968 -5.75001,2.5750049 -1.70711,1.7071081 -2.05238,3.9666185 -2.32501,5.8750105 -0.14279,0.999532 -0.19036,1.874272 -0.23268,2.199639 l -0.0423,3.325372 3.00001,0 1,0 c 0,0 0.30115,0.01525 0.725,0.1 0.42385,0.08477 0.84641,0.271405 0.875,0.300001 0.0286,0.02859 0.21523,0.451146 0.3,0.875001 0.0848,0.423855 0.1,0.725002 0.1,0.725002 l 0,19.000036 -14.00002,0 0,-19.000036 c 0,0 0.0153,-0.301147 0.1,-0.725002 0.0848,-0.423855 0.2714,-0.846406 0.3,-0.875001 0.0286,-0.02859 0.45115,-0.21523 0.875,-0.300001 0.4239,-0.08477 0.725,-0.1 0.725,-0.1 l 2,0 2.00001,0 -0.0424,-3.325372 c -0.0423,-0.325367 -0.0901,-1.200107 -0.23264,-2.199639 -0.27262,-1.908392 -0.61788,-4.1679025 -2.32499,-5.8750106 -1.4571,-1.4571081 -3.34482,-1.9368932 -5.75001,-2.5750049 C 97.719787,4.4118978 94.899905,3.8686017 92.174963,3.4250064 86.958546,2.5758217 82.355913,2.0923049 81.802928,2.0586543 81.714408,2.034763 79.474939,2.0250038 79.474939,2.0250038 z m 4.000008,4.250008 c 1.883196,0.2104537 4.619937,0.537548 8.075015,1.1000021 2.650061,0.4314048 5.361455,0.9443646 7.550015,1.5250029 2.188563,0.5806383 3.932123,1.4821112 3.975013,1.5250032 0.29289,0.292891 0.94763,2.033399 1.175,3.625006 0.0742,0.519018 0.05,0.975002 0.05,0.975002 0,0 -0.64839,0.0097 -1.34996,0.150001 -0.82616,0.165229 -1.90361,0.478597 -2.87501,1.450002 -0.971403,0.971405 -1.284773,2.048861 -1.450003,2.875006 -0.16527,0.826145 -0.15004,1.525003 -0.15004,1.525003 l 0,19.000036 -68.17513,0 -7.000014,-7.000014 32.175061,0 4.000008,-4.000007 -40.175076,0 -8.000015,-8.000015 68.175128,0 -9.000017,9.000017 13.000025,0 z m 52.000103,0 0,23.7500452 13.00002,0 -9.00001,-9.000017 68.17512,0 -8.00001,8.000015 -40.17508,0 4.00001,4.000007 32.17506,0 -7.00001,7.000014 -68.17513,0 0,-19.000036 c 0,0 0.0153,-0.698858 -0.15,-1.525003 -0.16523,-0.826145 -0.47859,-1.903601 -1.45,-2.875006 -0.97141,-0.971405 -2.04886,-1.284773 -2.87501,-1.450002 -0.74271,-0.148543 -1.25461,-0.148713 -1.375,-0.150001 0.034,-0.432859 8e-4,-0.455984 0.075,-0.975002 0.22737,-1.591607 0.88211,-3.332115 1.175,-3.625006 0.0429,-0.0429 1.78645,-0.9443649 3.97501,-1.5250032 2.18855,-0.5806383 4.89995,-1.0935981 7.55001,-1.5250029 3.45508,-0.5624541 6.19182,-0.8895484 8.07502,-1.1000021 z M 34.299854,44.025083 l 64.175123,0 0,40.000076 4.000013,-4.000008 0,-36.000068 14.00002,0 0,40.000076 4.00001,-4.000008 0,-36.000068 64.17512,0 -8.00001,8.000015 -43.17509,0 0,42.17508 -13.00002,13.000022 0,-17.17503 -4.00001,4.000007 0,8.175013 -14.00002,14.00003 0,-26.02505 -17.000039,17.02503 0,-55.175102 -43.175082,0 z"
+ id="stroke_curved_top_left"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <g
+ transform="translate(1.4749954,152.42528)"
+ id="g3771">
+ <path
+ d="m 103,15 c 0,0 -2,0 -3,1 -1,1 -1,3 -1,3 M 80,2 c 0,0 20,2 23,5 2,2 2,8 2,8"
+ id="path3773"
+ style="fill:none;stroke:#000000;stroke-width:4.00000763;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ d="m 113,15 c 0,0 2,0 3,1 1,1 1,3 1,3 M 136,2 c 0,0 -20,2 -23,5 -2,2 -2,8 -2,8"
+ id="path3775"
+ style="fill:none;stroke:#000000;stroke-width:4.00000763;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ d="m 99,19 c 0,0 0,58 0,58 M 82,93 c 0,0 0,-41 0,-41 0,0 -42,0 -42,0 0,0 -35,-35 -35,-35 0,0 75,0 75,0 m 25,-2 c 0,0 -2,0 -2,0 M 80,2 c 0,0 0,24 0,24 m -27,3 c 0,0 -36,0 -36,0 m 91,11 c 0,0 -80,0 -80,0"
+ id="path3777"
+ style="fill:none;stroke:#000000;stroke-width:4.00000763;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ d="m 117,19 c 0,0 0,58 0,58 m 17,16 c 0,0 0,-41 0,-41 0,0 42,0 42,0 0,0 35,-35 35,-35 0,0 -75,0 -75,0 m -25,-2 c 0,0 2,0 2,0 M 136,2 c 0,0 0,24 0,24 m 27,3 c 0,0 36,0 36,0 m -91,11 c 0,0 80,0 80,0"
+ id="path3779"
+ style="fill:none;stroke:#000000;stroke-width:4.00000763;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ d="m 134,89 c 0,0 0,4 0,4 0,0 -17,17 -17,17 0,0 0,-9 0,-9 0,0 -18,18 -18,18 0,0 0,-26 0,-26 0,0 -17,17 -17,17 0,0 0,-17 0,-17 m 35,0 c 0,0 0,8 0,8"
+ id="path3781"
+ style="fill:none;stroke:#000000;stroke-width:4.00000763;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ d="m 138,2 c 0,0 0,-2 0,-2 0,0 -2,0 -2,0 0,0 0,2 0,2 0,0 2,0 2,0 z m -4,24 c 0,0 0,2 0,2 0,0 13,0 13,0 0,0 -9,-9 -9,-9 0,0 -4,0 -4,0 0,0 0,7 0,7 z m 30,5 c 0,0 -2,0 -2,0 0,0 -4,-4 -4,-4 0,0 6,0 6,0 0,0 0,4 0,4 z M 112,17 c 0,0 -3,0 -3,0 0,0 0,-3 0,-3 0,0 3,0 3,0 0,0 0,3 0,3 z"
+ id="path3783"
+ style="fill:#000000;fill-opacity:1;stroke:none" />
+ <path
+ d="m 78,2 c 0,0 0,-2 0,-2 0,0 2,0 2,0 0,0 0,2 0,2 0,0 -2,0 -2,0 z m 4,24 c 0,0 0,2 0,2 0,0 -13,0 -13,0 0,0 9,-9 9,-9 0,0 4,0 4,0 0,0 0,7 0,7 z m -30,5 c 0,0 2,0 2,0 0,0 4,-4 4,-4 0,0 -6,0 -6,0 0,0 0,4 0,4 z m 52,-14 c 0,0 3,0 3,0 0,0 0,-3 0,-3 0,0 -3,0 -3,0 0,0 0,3 0,3 z"
+ id="path3785"
+ style="fill:#000000;fill-opacity:1;stroke:none" />
+ <path
+ d="m 97,82 c 0,0 4,-4 4,-4 0,0 0,-1 0,-1 0,0 -4,0 -4,0 0,0 0,5 0,5 z m 18,0 c 0,0 4,-4 4,-4 0,0 0,-1 0,-1 0,0 -4,0 -4,0 0,0 0,5 0,5 z m 0,11 c 0,0 4,0 4,0 0,0 0,-5 0,-5 0,0 -4,4 -4,4 0,0 0,1 0,1 z"
+ id="path3787"
+ style="fill:#000000;fill-opacity:1;stroke:none" />
+ </g>
+</svg>
diff --git a/games/etlegacy-from-source/files/get_tarball_from_git.sh b/games/etlegacy-from-source/files/get_tarball_from_git.sh
new file mode 100644
index 0000000000..42aaa1626d
--- /dev/null
+++ b/games/etlegacy-from-source/files/get_tarball_from_git.sh
@@ -0,0 +1,31 @@
+rm -fR /tmp/tmp-etlegacy
+mkdir -p /tmp/tmp-etlegacy
+cd /tmp/tmp-etlegacy
+git clone git://github.com/etlegacy/etlegacy.git
+cd etlegacy
+git submodule init
+git submodule update
+cd libs
+git archive master > ../../libs.tar
+cd ..
+cd scripts
+git archive master > ../../scripts.tar
+cd ..
+COMMIT=$( git log -1 | head -1 | cut -c 8-14 )
+COMMDATE=$( git log -1 --date=short | grep ^Date | awk '{print $2}' | sed 's/-//g' )
+rm -f /tmp/etlegacy-${COMMDATE}_${COMMIT}.tar.xz
+git archive master > ../src.tar
+cd ..
+mkdir etlegacy-${COMMDATE}_${COMMIT}
+cd etlegacy-${COMMDATE}_${COMMIT}
+tar xf ../src.tar
+cd libs
+tar xf ../../libs.tar
+cd ..
+cd scripts
+tar xf ../../scripts.tar
+cd ..
+cd ..
+rm -f src.tar libs.tar scripts.tar
+tar Jcf /tmp/etlegacy-${COMMDATE}_${COMMIT}.tar.xz etlegacy-${COMMDATE}_${COMMIT}
+echo "/tmp/etlegacy-${COMMDATE}_${COMMIT}.tar.xz done."
diff --git a/games/etlegacy-from-source/files/openurl.sh b/games/etlegacy-from-source/files/openurl.sh
new file mode 100644
index 0000000000..274f12d08d
--- /dev/null
+++ b/games/etlegacy-from-source/files/openurl.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+# use this script to customize the way the engine should open URLs
+
+for test_browser in firefox seamonkey opera
+do
+ browser=`which $test_browser`
+ if [ "x$browser" != "x" ]
+ then
+ $browser -remote "openURL($1,new-window)" || $browser "$1"
+ exit
+ fi
+done
+# xterm -e lynx "$1"
+
+exit 0
diff --git a/games/etlegacy-from-source/slack-desc b/games/etlegacy-from-source/slack-desc
new file mode 100644
index 0000000000..e6866b09b8
--- /dev/null
+++ b/games/etlegacy-from-source/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------------------------------------------------------|
+etlegacy-from-source: etlegacy-from-source (collaborative FPS)
+etlegacy-from-source:
+etlegacy-from-source: Wolfenstein Enemy Territory : Legacy is a project that aims to create
+etlegacy-from-source: a fully compatible client and server for the popular online FPS game
+etlegacy-from-source: Wolfenstein: Enemy Territory.
+etlegacy-from-source: It's based on its source code released under the GPLv3 license.
+etlegacy-from-source: The main goal of this project is to fix bugs, remove old dependencies
+etlegacy-from-source: and make it playable on all major operating systems while still
+etlegacy-from-source: remaining compatible with the ET 2.60b version and as many of its mods
+etlegacy-from-source: as possible. This version is built from source.
+etlegacy-from-source: homepage: http://www.etlegacy.com/
diff --git a/games/f1spirit/03_gcc6.patch b/games/f1spirit/03_gcc6.patch
new file mode 100644
index 0000000000..fbae3bd832
--- /dev/null
+++ b/games/f1spirit/03_gcc6.patch
@@ -0,0 +1,12 @@
+diff -Naur f1spirit-0.rc9.1615.orig/sources/auxiliar.cpp f1spirit-0.rc9.1615/sources/auxiliar.cpp
+--- f1spirit-0.rc9.1615.orig/sources/auxiliar.cpp 2009-02-06 10:54:49.000000000 +0100
++++ f1spirit-0.rc9.1615/sources/auxiliar.cpp 2017-06-23 11:57:14.145689872 +0200
+@@ -93,7 +93,7 @@
+
+ if (tmp == 0 ||
+ mask == 0)
+- return false;
++ return 0;
+
+ res = SDL_DisplayFormatAlpha(tmp);
+
diff --git a/games/f1spirit/f1spirit.SlackBuild b/games/f1spirit/f1spirit.SlackBuild
index 8109ea68a7..4b9206d624 100644
--- a/games/f1spirit/f1spirit.SlackBuild
+++ b/games/f1spirit/f1spirit.SlackBuild
@@ -53,6 +53,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 {} \;
+# Fix for the newer gccs
+patch -p1 < $CWD/03_gcc6.patch
+
make install PREFIX=$PKG/usr
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/games/frogatto/frogatto.SlackBuild b/games/frogatto/frogatto.SlackBuild
index c292542f79..ab84386732 100644
--- a/games/frogatto/frogatto.SlackBuild
+++ b/games/frogatto/frogatto.SlackBuild
@@ -69,13 +69,13 @@ 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 linking with boost libs
-sed -i 's,-mt,,g' Makefile
+# Fix linking with boost libs and remove -Werror
+sed -i -e 's,-mt,,g' -e 's, -Werror,,' Makefile
make \
OPTIMIZE=no \
USE_CCACHE=no \
- CXX=g++ \
+ CXX=clang++ \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}"
diff --git a/games/gargoyle/gargoyle.SlackBuild b/games/gargoyle/gargoyle.SlackBuild
index b4ad39018c..b95ef6d399 100644
--- a/games/gargoyle/gargoyle.SlackBuild
+++ b/games/gargoyle/gargoyle.SlackBuild
@@ -59,7 +59,7 @@ jam -s DESTDIR=$PKG \
-s _BINDIR=/usr/libexec/gargoyle \
-s _APPDIR=/usr/libexec/gargoyle \
-s _LIBDIR=/usr/lib$LIBDIRSUFFIX/gargoyle \
- -s CCFLAGS="$SLKCFLAGS -fgnu89-inline" \
+ -s CCFLAGS="$SLKCFLAGS -fgnu89-inline -fpermissive" \
-dx \
install
diff --git a/games/glob2/c++14.patch b/games/glob2/c++14.patch
new file mode 100644
index 0000000000..6465f659af
--- /dev/null
+++ b/games/glob2/c++14.patch
@@ -0,0 +1,46 @@
+# HG changeset patch
+# User Jonathan Wakely <jwakely@redhat.com>
+# Date 1485875296 0
+# Node ID c9dc715624318e4fea4abb24e04f0ebdd9cd8d2a
+# Parent c4da01699846179d8bf21e8dae2b973158ec0775
+Fix last argument to ChooseMapScreen constructor
+
+Since C++14 'false' is not a valid null pointer constant, so cannot be passed
+to functions expecting pointer arguments.
+
+diff --git a/src/EditorMainMenu.cpp b/src/EditorMainMenu.cpp
+--- a/src/EditorMainMenu.cpp
++++ b/src/EditorMainMenu.cpp
+@@ -90,7 +90,7 @@
+ }
+ else if (par1==LOADMAP)
+ {
+- ChooseMapScreen chooseMapScreen("maps", "map", false, "games", "game", false);
++ ChooseMapScreen chooseMapScreen("maps", "map", false, "games", "game", NULL);
+ int rc=chooseMapScreen.execute(globalContainer->gfx, 40);
+ if (rc==ChooseMapScreen::OK)
+ {
+diff --git a/src/LANMenuScreen.cpp b/src/LANMenuScreen.cpp
+--- a/src/LANMenuScreen.cpp
++++ b/src/LANMenuScreen.cpp
+@@ -62,7 +62,7 @@
+ }
+ else if(par1 == HOST)
+ {
+- ChooseMapScreen cms("maps", "map", false, "games", "game", false);
++ ChooseMapScreen cms("maps", "map", false, "games", "game", NULL);
+ int rc = cms.execute(globalContainer->gfx, 40);
+ if(rc == ChooseMapScreen::OK)
+ {
+diff --git a/src/YOGClientLobbyScreen.cpp b/src/YOGClientLobbyScreen.cpp
+--- a/src/YOGClientLobbyScreen.cpp
++++ b/src/YOGClientLobbyScreen.cpp
+@@ -326,7 +326,7 @@
+
+ void YOGClientLobbyScreen::hostGame()
+ {
+- ChooseMapScreen cms("maps", "map", false, "games", "game", false);
++ ChooseMapScreen cms("maps", "map", false, "games", "game", NULL);
+ int rc = cms.execute(globalContainer->gfx, 40);
+ if(rc == ChooseMapScreen::OK)
+ {
diff --git a/games/glob2/glob2.SlackBuild b/games/glob2/glob2.SlackBuild
index 6bb719cd26..435af508ff 100644
--- a/games/glob2/glob2.SlackBuild
+++ b/games/glob2/glob2.SlackBuild
@@ -71,6 +71,9 @@ find -L . \
patch -p1 < $CWD/fixes.patch
+# From upstream
+patch -p1 < $CWD/c++14.patch
+
mkdir -p $PKG/usr/bin \
$PKG/usr/share/games/$PRGNAM
diff --git a/games/gnubg/gnubg.SlackBuild b/games/gnubg/gnubg.SlackBuild
index 2e987b8125..6ba3010227 100644
--- a/games/gnubg/gnubg.SlackBuild
+++ b/games/gnubg/gnubg.SlackBuild
@@ -69,8 +69,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 {} \;
-./autogen.sh
-
LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/games/goonies/gcc6.patch b/games/goonies/gcc6.patch
new file mode 100644
index 0000000000..f586243cf1
--- /dev/null
+++ b/games/goonies/gcc6.patch
@@ -0,0 +1,12 @@
+diff -Naur goonies-1.4.1528.orig/src/auxiliar.cpp goonies-1.4.1528/src/auxiliar.cpp
+--- goonies-1.4.1528.orig/src/auxiliar.cpp 2009-03-12 09:43:32.000000000 +0100
++++ goonies-1.4.1528/src/auxiliar.cpp 2017-06-23 10:24:12.765749591 +0200
+@@ -94,7 +94,7 @@
+
+ if (tmp == 0 ||
+ mask == 0)
+- return false;
++ return 0;
+
+ res = SDL_DisplayFormatAlpha(tmp);
+
diff --git a/games/goonies/goonies.SlackBuild b/games/goonies/goonies.SlackBuild
index 760f39ef37..236b445e1c 100644
--- a/games/goonies/goonies.SlackBuild
+++ b/games/goonies/goonies.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 {} \;
+# Fix for the newer compilers
+patch -p1 < $CWD/gcc6.patch
+
# fix linker and installation paths
patch -p1 < $CWD/makefile.patch
diff --git a/games/higan-libretro/higan-libretro.SlackBuild b/games/higan-libretro/higan-libretro.SlackBuild
index 38b0128ded..525ad5a332 100644
--- a/games/higan-libretro/higan-libretro.SlackBuild
+++ b/games/higan-libretro/higan-libretro.SlackBuild
@@ -74,10 +74,6 @@ find -L . \
[ "${DEBUG:=optimize}" != optimize ] && DEBUG=debug
-# Use the gcc OpenMP implementation since clang in Slackware-14.2 does
-# not include OpenMP.
-zcat $CWD/openmp.patch.gz | patch -p1
-
# clang++ avoids crashes when loading content for the second time
make -C higan \
binary=library \
diff --git a/games/higan-libretro/openmp.patch.gz b/games/higan-libretro/openmp.patch.gz
deleted file mode 100644
index 8b988733e2..0000000000
--- a/games/higan-libretro/openmp.patch.gz
+++ /dev/null
Binary files differ
diff --git a/games/innoextract/innoextract.SlackBuild b/games/innoextract/innoextract.SlackBuild
index 115e82dc41..86e4032ac1 100644
--- a/games/innoextract/innoextract.SlackBuild
+++ b/games/innoextract/innoextract.SlackBuild
@@ -76,6 +76,7 @@ cd build
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release .. \
+ -DBoost_NO_BOOST_CMAKE=ON \
-DCMAKE_INSTALL_MANDIR=man
make
make install DESTDIR=$PKG
diff --git a/games/m64py/m64py.SlackBuild b/games/m64py/m64py.SlackBuild
index 6fcd6922c2..3191767063 100644
--- a/games/m64py/m64py.SlackBuild
+++ b/games/m64py/m64py.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=m64py
-VERSION=${VERSION:-0.2.2}
+VERSION=${VERSION:-0.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/games/m64py/m64py.info b/games/m64py/m64py.info
index a94a536ce8..788a1f5ecc 100644
--- a/games/m64py/m64py.info
+++ b/games/m64py/m64py.info
@@ -1,10 +1,10 @@
PRGNAM="m64py"
-VERSION="0.2.2"
+VERSION="0.2.4"
HOMEPAGE="http://m64py.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/project/m64py/m64py-0.2.2/m64py-0.2.2.tar.gz"
-MD5SUM="78e8144e5f598f5a2b9fd926dd8788a8"
+DOWNLOAD="http://downloads.sourceforge.net/m64py/m64py-0.2.4.tar.gz"
+MD5SUM="5710db43f238ec4527634d69d9bacf0b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="mupen64plus"
+REQUIRES="PyQt5 PySDL2 mupen64plus"
MAINTAINER="M.Dinslage"
EMAIL="daedra1980@gmail.com"
diff --git a/games/micropolis/micropolis.SlackBuild b/games/micropolis/micropolis.SlackBuild
index 2f74efd4ae..b9617b5e6c 100644
--- a/games/micropolis/micropolis.SlackBuild
+++ b/games/micropolis/micropolis.SlackBuild
@@ -78,7 +78,7 @@ find . -iname \*makefile\* -o -iname \*.mk \
# comment out the next line to disable the airplane crash disaster
sed -i -e 's/-DNO_AIRCRASH//' src/sim/makefile
-make -j1 PREFIX=/usr DOCDIR=/usr/doc/$PRGNAM-$VERSION SLKCFLAGS="$SLKCFLAGS"
+make -j1 PREFIX=/usr DOCDIR=/usr/doc/$PRGNAM-$VERSION SLKCFLAGS="$SLKCFLAGS -DTCL_IEEE_FP_MATH"
make -j1 install PREFIX=/usr DOCDIR=/usr/doc/$PRGNAM-$VERSION DESTDIR=$PKG
# Make .desktop file pass desktop-file-validate
diff --git a/games/nlarn/nlarn.SlackBuild b/games/nlarn/nlarn.SlackBuild
index d182511647..fef6664c4e 100644
--- a/games/nlarn/nlarn.SlackBuild
+++ b/games/nlarn/nlarn.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 {} \;
+# set our CFLAGS, disable -Werror and use ncurses6-config
+sed -i -e "s|-Werror ||" -e "s|-O2|$SLKCFLAGS|" -e "s|ncurses5|ncurses6|" Makefile
+
make
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/games/noteye/noteye.SlackBuild b/games/noteye/noteye.SlackBuild
index 828e65f220..4ae54029b8 100644
--- a/games/noteye/noteye.SlackBuild
+++ b/games/noteye/noteye.SlackBuild
@@ -74,6 +74,9 @@ sed -i 's,-llua5.1,-llua,g' src/Makefile
# store the writable high score file in /var, not /usr/share.
sed -i 's,"hydrascores.sav","/var/games/hydrascores.sav",' hydra/hydra.cpp
+# use clang++ as the code won't build with gcc >= 5.x
+sed -i 's|g++ |clang++ |' src/Makefile
+
make -C src CFLAGS="$SLKCFLAGS"
# The 'make install' target is bad and wrong. Don't use.
diff --git a/games/openlierox/http_curl.patch b/games/openlierox/http_curl.patch
deleted file mode 100644
index c74fcd3d22..0000000000
--- a/games/openlierox/http_curl.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- openlierox-0.58_rc3/include/HTTP.original.h 2014-04-19 19:58:09.213990582 +0300
-+++ openlierox-0.58_rc3/include/HTTP.h 2014-04-21 13:45:11.485876525 +0300
-@@ -21,7 +21,6 @@
-
- #include <string>
- #include <curl/curl.h>
--#include <curl/types.h>
- #include <curl/easy.h>
-
- #include "Networking.h"
---- openlierox-0.58_rc3/src/common/HTTP.original.cpp 2014-04-19 20:48:13.255434896 +0300
-+++ openlierox-0.58_rc3/src/common/HTTP.cpp 2014-04-21 13:48:08.493663623 +0300
-@@ -25,7 +25,6 @@
- #include <stdlib.h>
- #endif
- #include <curl/curl.h>
--#include <curl/types.h>
- #include <curl/easy.h>
-
- #include "LieroX.h"
diff --git a/games/openlierox/openlierox.SlackBuild b/games/openlierox/openlierox.SlackBuild
index 352f4ce332..3a407c408d 100644
--- a/games/openlierox/openlierox.SlackBuild
+++ b/games/openlierox/openlierox.SlackBuild
@@ -23,8 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=openlierox
-VERSION=${VERSION:-0.58_rc3}
-SRCVER=$(echo $VERSION | tr _ .)
+VERSION=${VERSION:-20170313_3825306}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,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/$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -70,9 +69,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 {} \;
-# curl/types.h removed because not supported from new CURL versions
-patch -p1 < $CWD/http_curl.patch
-
mkdir -p build
cd build
cmake . \
diff --git a/games/openlierox/openlierox.info b/games/openlierox/openlierox.info
index 44f5cb5814..f3115748bd 100644
--- a/games/openlierox/openlierox.info
+++ b/games/openlierox/openlierox.info
@@ -1,10 +1,10 @@
PRGNAM="openlierox"
-VERSION="0.58_rc3"
+VERSION="20170313_3825306"
HOMEPAGE="http://www.openlierox.net/"
-DOWNLOAD="https://github.com/albertz/openlierox/archive/0.58_rc3.tar.gz"
-MD5SUM="4ce050ca069b1ebe2fb720b3a1c2c760"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/openlierox-20170313_3825306.tar.xz"
+MD5SUM="7540eab45506561ccae1e75cf42a8fdd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="HawkNL"
+REQUIRES="HawkNL freealut"
MAINTAINER="Dimitris Zlatanidis"
EMAIL="d.zlatanidis@gmail.com"
diff --git a/games/openmw/openmw.SlackBuild b/games/openmw/openmw.SlackBuild
index 25bc48a8eb..c11851b2b7 100644
--- a/games/openmw/openmw.SlackBuild
+++ b/games/openmw/openmw.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=openmw
-VERSION=${VERSION:-0.41.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.45.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
diff --git a/games/openmw/openmw.info b/games/openmw/openmw.info
index 8e7ffddf3f..064bab8e13 100644
--- a/games/openmw/openmw.info
+++ b/games/openmw/openmw.info
@@ -1,8 +1,8 @@
PRGNAM="openmw"
-VERSION="0.41.0"
+VERSION="0.45.0"
HOMEPAGE="https://openmw.org"
-DOWNLOAD="https://github.com/OpenMW/openmw/archive/openmw-0.41.0.tar.gz"
-MD5SUM="8a939016d489b9cffdcd82aa36ed4973"
+DOWNLOAD="https://github.com/OpenMW/openmw/archive/openmw-0.45.0.tar.gz"
+MD5SUM="6f6821aeb64b46a90a73d811846c8825"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="FreeImage OpenAL unshield ffmpeg OpenSceneGraph SDL2 MyGUI bullet"
diff --git a/games/openttd/openttd.SlackBuild b/games/openttd/openttd.SlackBuild
index 2430a7d97a..c8955ce4b9 100644
--- a/games/openttd/openttd.SlackBuild
+++ b/games/openttd/openttd.SlackBuild
@@ -88,7 +88,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1" \
./configure \
--prefix-dir=/usr \
--binary-dir=/games \
diff --git a/games/pcsxr/pcsxr.SlackBuild b/games/pcsxr/pcsxr.SlackBuild
index 3be0a3a6d5..734808759d 100644
--- a/games/pcsxr/pcsxr.SlackBuild
+++ b/games/pcsxr/pcsxr.SlackBuild
@@ -71,6 +71,9 @@ find -L . \
patch -p1 < $CWD/pcsxr-fix-uncompress2.patch
+# Thanks fedora
+patch -p1 < $CWD/zlib129fix.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="$SLKLDFLAGS" \
diff --git a/games/pcsxr/zlib129fix.patch b/games/pcsxr/zlib129fix.patch
new file mode 100644
index 0000000000..632e1ceffe
--- /dev/null
+++ b/games/pcsxr/zlib129fix.patch
@@ -0,0 +1,34 @@
+diff --git a/pcsxr/configure.ac b/pcsxr/configure.ac
+index 300bb18..128b4f9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -113,6 +113,9 @@ if test "x$have_xtest" = xno; then
+ AC_MSG_ERROR([unable to find xtest headers])
+ fi
+
++AC_CHECK_LIB(z, uncompress2,
++[ AC_DEFINE([HAVE_UNCOMPRESS2], [1], [Define if libz supports uncompress2]) ])
++
+ AM_CONDITIONAL(USE_LIBCDIO, false)
+
+ AC_ARG_ENABLE(libcdio, [ --enable-libcdio use GNU libcdio for CD-ROM support (default=no)],
+diff --git a/pcsxr/libpcsxcore/cdriso.c b/pcsxr/libpcsxcore/cdriso.c
+index 04e866d..fb7f28a 100644
+--- a/libpcsxcore/cdriso.c
++++ b/libpcsxcore/cdriso.c
+@@ -1219,6 +1219,7 @@ static int cdread_sub_mixed(FILE *f, unsigned int base, void *dest, int sector)
+ return ret;
+ }
+
++#ifndef HAVE_UNCOMPRESS2
+ static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
+ {
+ static z_stream z;
+@@ -1249,6 +1250,7 @@ static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned lo
+ *out_size -= z.avail_out;
+ return ret == 1 ? 0 : ret;
+ }
++#endif
+
+ static int cdread_compressed(FILE *f, unsigned int base, void *dest, int sector)
+ {
diff --git a/games/pingus/missing-header.patch b/games/pingus/missing-header.patch
new file mode 100644
index 0000000000..cc1dcdbb85
--- /dev/null
+++ b/games/pingus/missing-header.patch
@@ -0,0 +1,22 @@
+From df6e2f445d3e2925a94d22faeb17be9444513e92 Mon Sep 17 00:00:00 2001
+From: Jonathan Wakely <jwakely@redhat.com>
+Date: Mon, 30 Jan 2017 15:41:53 +0000
+Subject: [PATCH] Add missing header for std::function and std::bind
+
+---
+ src/pingus/screens/demo_session.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/pingus/screens/demo_session.cpp b/src/pingus/screens/demo_session.cpp
+index e3ec49a2c..f887e50f0 100644
+--- a/src/pingus/screens/demo_session.cpp
++++ b/src/pingus/screens/demo_session.cpp
+@@ -18,6 +18,7 @@
+
+ #include <algorithm>
+ #include <iostream>
++#include <functional>
+
+ #include "engine/gui/gui_manager.hpp"
+ #include "engine/gui/surface_button.hpp"
+
diff --git a/games/pingus/pingus.SlackBuild b/games/pingus/pingus.SlackBuild
index e7abf19ddf..a548e5c2a2 100644
--- a/games/pingus/pingus.SlackBuild
+++ b/games/pingus/pingus.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 {} \;
+# Thanks archlinux
+patch -p1 < $CWD/missing-header.patch
+
mkdir -p build
scons \
diff --git a/games/pokerth/pokerth-1.1.1-boost-1.65-ambiguous-advance.patch b/games/pokerth/pokerth-1.1.1-boost-1.65-ambiguous-advance.patch
new file mode 100644
index 0000000000..2e8c9c50c5
--- /dev/null
+++ b/games/pokerth/pokerth-1.1.1-boost-1.65-ambiguous-advance.patch
@@ -0,0 +1,14 @@
+Boost 1.65 made 'advance()' ambiguous.
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=629966
+
+--- a/src/gui/qt/gametable/gametableimpl.cpp
++++ b/src/gui/qt/gametable/gametableimpl.cpp
+@@ -3859,7 +3859,7 @@
+ int playerCount = static_cast<int>(seatList->size());
+ if (id < playerCount) {
+ PlayerListIterator pos = seatList->begin();
+- advance(pos, id);
++ std::advance(pos, id);
+ myStartWindow->getSession()->startVoteKickPlayer((*pos)->getMyUniqueID());
+ }
+ }
diff --git a/games/pokerth/pokerth-1.1.2-boost-1.66-remove-deprecated.patch b/games/pokerth/pokerth-1.1.2-boost-1.66-remove-deprecated.patch
new file mode 100644
index 0000000000..d265eb1db9
--- /dev/null
+++ b/games/pokerth/pokerth-1.1.2-boost-1.66-remove-deprecated.patch
@@ -0,0 +1,26 @@
+diff -Naur pokerth-1.1.2-rc.orig/src/net/common/clientthread.cpp pokerth-1.1.2-rc/src/net/common/clientthread.cpp
+--- pokerth-1.1.2-rc.orig/src/net/common/clientthread.cpp 2017-08-16 14:24:03.000000000 +0200
++++ pokerth-1.1.2-rc/src/net/common/clientthread.cpp 2017-12-23 21:48:58.660592917 +0100
+@@ -993,8 +993,7 @@
+ newSock.reset(new boost::asio::ip::tcp::socket(*m_ioService, tcp::v6()));
+ else
+ newSock.reset(new boost::asio::ip::tcp::socket(*m_ioService, tcp::v4()));
+- boost::asio::socket_base::non_blocking_io command(true);
+- newSock->io_control(command);
++ newSock->non_blocking(true);
+ newSock->set_option(tcp::no_delay(true));
+ newSock->set_option(boost::asio::socket_base::keep_alive(true));
+
+diff -Naur pokerth-1.1.2-rc.orig/src/net/serveraccepthelper.h pokerth-1.1.2-rc/src/net/serveraccepthelper.h
+--- pokerth-1.1.2-rc.orig/src/net/serveraccepthelper.h 2017-08-16 14:24:03.000000000 +0200
++++ pokerth-1.1.2-rc/src/net/serveraccepthelper.h 2017-12-23 22:05:51.075613870 +0100
+@@ -122,8 +122,7 @@
+ const boost::system::error_code &error)
+ {
+ if (!error) {
+- boost::asio::socket_base::non_blocking_io command(true);
+- acceptedSocket->io_control(command);
++ acceptedSocket->non_blocking(true);
+ acceptedSocket->set_option(typename P::no_delay(true));
+ acceptedSocket->set_option(boost::asio::socket_base::keep_alive(true));
+ boost::shared_ptr<SessionData> sessionData(new SessionData(acceptedSocket, m_lobbyThread->GetNextSessionId(), m_lobbyThread->GetSessionDataCallback(), *m_ioService));
diff --git a/games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix1.patch b/games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix1.patch
new file mode 100644
index 0000000000..cfdcf9b7da
--- /dev/null
+++ b/games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix1.patch
@@ -0,0 +1,75 @@
+From c769c9238ad62178f506038178714a1c35aa2769 Mon Sep 17 00:00:00 2001
+From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
+Date: Tue, 16 Apr 2019 08:38:01 +0200
+Subject: [PATCH] Replace make_shared with new in some cases
+
+Replace make_shared for asio types that take a lib::ref as a parameter.
+This should fix the ASIO change (boostorg/asio@59066d8) for 1.70,
+while keeping it backwards compatible to older boost versions.
+---
+ websocketpp/transport/asio/connection.hpp | 7 ++++---
+ websocketpp/transport/asio/endpoint.hpp | 3 +--
+ websocketpp/transport/asio/security/none.hpp | 3 +--
+ websocketpp/transport/asio/security/tls.hpp | 3 +--
+ 4 files changed, 7 insertions(+), 9 deletions(-)
+
+diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
+index 60f88a79..1ccda8f3 100644
+--- a/websocketpp/transport/asio/connection.hpp
++++ b/websocketpp/transport/asio/connection.hpp
+@@ -311,9 +311,10 @@ class connection : public config::socket_type::socket_con_type {
+ * needed.
+ */
+ timer_ptr set_timer(long duration, timer_handler callback) {
+- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
+- lib::ref(*m_io_service),
+- lib::asio::milliseconds(duration)
++ timer_ptr new_timer(
++ new lib::asio::steady_timer(
++ *m_io_service,
++ lib::asio::milliseconds(duration))
+ );
+
+ if (config::enable_multithreading) {
+diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
+index ddab2c74..4b719a97 100644
+--- a/websocketpp/transport/asio/endpoint.hpp
++++ b/websocketpp/transport/asio/endpoint.hpp
+@@ -195,8 +195,7 @@ class endpoint : public config::socket_type {
+
+ m_io_service = ptr;
+ m_external_io_service = true;
+- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
+- lib::ref(*m_io_service));
++ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
+
+ m_state = READY;
+ ec = lib::error_code();
+diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
+index 5c8293db..6c7d3524 100644
+--- a/websocketpp/transport/asio/security/none.hpp
++++ b/websocketpp/transport/asio/security/none.hpp
+@@ -168,8 +168,7 @@ class connection : public lib::enable_shared_from_this<connection> {
+ return socket::make_error_code(socket::error::invalid_state);
+ }
+
+- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
+- lib::ref(*service));
++ m_socket.reset(new lib::asio::ip::tcp::socket(*service));
+
+ if (m_socket_init_handler) {
+ m_socket_init_handler(m_hdl, *m_socket);
+diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
+index c76fd9aa..04ac3790 100644
+--- a/websocketpp/transport/asio/security/tls.hpp
++++ b/websocketpp/transport/asio/security/tls.hpp
+@@ -193,8 +193,7 @@ class connection : public lib::enable_shared_from_this<connection> {
+ if (!m_context) {
+ return socket::make_error_code(socket::error::invalid_tls_context);
+ }
+- m_socket = lib::make_shared<socket_type>(
+- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
++ m_socket.reset(new socket_type(*service, *m_context));
+
+ if (m_socket_init_handler) {
+ m_socket_init_handler(m_hdl, get_socket());
diff --git a/games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix2.patch b/games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix2.patch
new file mode 100644
index 0000000000..64faab9d37
--- /dev/null
+++ b/games/pokerth/pokerth-1.1.2-boost-1.70-websocket-fix2.patch
@@ -0,0 +1,52 @@
+From f810ca2e800e9b55be41c5911cf1d1185fcd516b Mon Sep 17 00:00:00 2001
+From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
+Date: Wed, 17 Apr 2019 10:06:18 +0000
+Subject: [PATCH] Fix missed entries; fix testing
+
+(Note: the CmakeLists.txt patch is cut off because we don't have it)
+
+---
+ CMakeLists.txt | 2 +-
+ websocketpp/transport/asio/connection.hpp | 3 +--
+ websocketpp/transport/asio/endpoint.hpp | 7 ++-----
+ 3 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
+index 1ccda8f3..57dda74a 100644
+--- a/websocketpp/transport/asio/connection.hpp
++++ b/websocketpp/transport/asio/connection.hpp
+@@ -462,8 +462,7 @@ class connection : public config::socket_type::socket_con_type {
+ m_io_service = io_service;
+
+ if (config::enable_multithreading) {
+- m_strand = lib::make_shared<lib::asio::io_service::strand>(
+- lib::ref(*io_service));
++ m_strand.reset(new lib::asio::io_service::strand(*io_service));
+ }
+
+ lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
+diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
+index 4b719a97..94509adb 100644
+--- a/websocketpp/transport/asio/endpoint.hpp
++++ b/websocketpp/transport/asio/endpoint.hpp
+@@ -687,9 +687,7 @@ class endpoint : public config::socket_type {
+ * @since 0.3.0
+ */
+ void start_perpetual() {
+- m_work = lib::make_shared<lib::asio::io_service::work>(
+- lib::ref(*m_io_service)
+- );
++ m_work.reset(new lib::asio::io_service::work(*m_io_service));
+ }
+
+ /// Clears the endpoint's perpetual flag, allowing it to exit when empty
+@@ -853,8 +851,7 @@ class endpoint : public config::socket_type {
+
+ // Create a resolver
+ if (!m_resolver) {
+- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
+- lib::ref(*m_io_service));
++ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
+ }
+
+ tcon->set_uri(u);
diff --git a/games/pokerth/pokerth.SlackBuild b/games/pokerth/pokerth.SlackBuild
index 5412cb9fbe..7f509cf164 100644
--- a/games/pokerth/pokerth.SlackBuild
+++ b/games/pokerth/pokerth.SlackBuild
@@ -26,14 +26,13 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pokerth
-SRCNAM=PokerTH
-VERSION=${VERSION:-1.1.1}
+VERSION=${VERSION:-1.1.2}
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
@@ -44,8 +43,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,11 +60,11 @@ fi
set -e
rm -rf $PKG
-rm -rf $TMP/$SRCNAM-$VERSION-src
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-tar xvf $CWD/$SRCNAM-$VERSION-src.tar.bz2
-cd $SRCNAM-$VERSION-src
+rm -rf $PRGNAM-$VERSION-rc
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION-rc
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -73,18 +72,23 @@ 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 {} \;
-# The headers to which this file points have moved in the newer libircclient...
-# Thanks ponce.
-sed -i "s|libircclient/||" src/net/common/ircthread.cpp
+patch -p1 < $CWD/pokerth-1.1.1-boost-1.65-ambiguous-advance.patch
+patch -p1 < $CWD/pokerth-1.1.2-boost-1.66-remove-deprecated.patch
+( cd src/third_party/websocketpp
+ patch -p1 < $CWD/pokerth-1.1.2-boost-1.70-websocket-fix1.patch
+ patch -p1 < $CWD/pokerth-1.1.2-boost-1.70-websocket-fix2.patch )
-qmake pokerth.pro
+qmake -spec linux-g++ pokerth.pro
+make
+mkdir -p $PKG/usr/bin
+install -s -D -m 0755 bin/pokerth_server $PKG/usr/bin
+install -s -D -m 0755 chatcleaner $PKG/usr/bin
+make clean
-make #CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS"
+qmake CONFIG+="client" -spec linux-g++ pokerth.pro
+make
make install DESTDIR=$PKG INSTALL_ROOT=$PKG
-mkdir -p $PKG/usr/bin
-install -s -D -m 0755 $TMP/$SRCNAM-$VERSION-src/bin/pokerth_server $PKG/usr/bin
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING INSTALL TODO ChangeLog \
$PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/games/pokerth/pokerth.info b/games/pokerth/pokerth.info
index 24588c1909..e3a18f5b1a 100644
--- a/games/pokerth/pokerth.info
+++ b/games/pokerth/pokerth.info
@@ -1,8 +1,8 @@
PRGNAM="pokerth"
-VERSION="1.1.1"
+VERSION="1.1.2"
HOMEPAGE="https://www.pokerth.net"
-DOWNLOAD="https://downloads.sourceforge.net/pokerth/PokerTH-1.1.1-src.tar.bz2"
-MD5SUM="a7f76f95782099f966e5f2b6809f502a"
+DOWNLOAD="https://downloads.sourceforge.net/pokerth/pokerth-1.1.2.tar.gz"
+MD5SUM="8fd7d7fc7ece17315e58aa3240dd4586"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libgsasl libircclient tinyxml protobuf"
diff --git a/games/quakespasm/README b/games/quakespasm/README
new file mode 100644
index 0000000000..0761ca3e56
--- /dev/null
+++ b/games/quakespasm/README
@@ -0,0 +1 @@
+This is an engine for iD software's Quake.
diff --git a/games/quakespasm/doinst.sh b/games/quakespasm/doinst.sh
new file mode 100644
index 0000000000..5fb28930db
--- /dev/null
+++ b/games/quakespasm/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/desktop/thunar-dropbox/thunar-dropbox.SlackBuild b/games/quakespasm/quakespasm.SlackBuild
index 0f9be96ad8..eceb66be24 100644
--- a/desktop/thunar-dropbox/thunar-dropbox.SlackBuild
+++ b/games/quakespasm/quakespasm.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for Thunar Dropbox
+# Slackware build script for quakespasm
-# Copyright 2010 Murat D. Kadirov <banderols@gmail.com>
+# Copyright 2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,15 +22,14 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-PRGNAM=thunar-dropbox
-VERSION=${VERSION:-0.2.1}
+PRGNAM=quakespasm
+VERSION=${VERSION:-0.93.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i686 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -41,10 +40,7 @@ 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
+if [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
@@ -55,29 +51,36 @@ else
LIBDIRSUFFIX=""
fi
+DOCS="LICENSE.txt Quakespasm*"
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tgz
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 \
+ -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 {} \;
-./waf configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX}
-./waf build
-./waf install --destdir=$PKG
+cd Quake
+make DO_USERDIRS=1 USE_SDL2=1
+cd ..
+# manual installation
+install -D -m0755 Quake/$PRGNAM $PKG/usr/games/$PRGNAM
+install -D -m0644 Misc/QuakeSpasm_512.png $PKG/usr/share/pixmaps/$PRGNAM.png
+install -D -m0644 $CWD/$PRGNAM.desktop $PKG/usr/share/applications/$PRGNAM.desktop
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
diff --git a/games/quakespasm/quakespasm.desktop b/games/quakespasm/quakespasm.desktop
new file mode 100644
index 0000000000..b143371c46
--- /dev/null
+++ b/games/quakespasm/quakespasm.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Quakespasm
+GenericName=Quakespasm port of ID Software's Quake
+Exec=quakespasm
+Terminal=false
+Type=Application
+Categories=Game;
+Icon=quakespasm
+StartupNotify=false
diff --git a/games/quakespasm/quakespasm.info b/games/quakespasm/quakespasm.info
new file mode 100644
index 0000000000..79c67d69d0
--- /dev/null
+++ b/games/quakespasm/quakespasm.info
@@ -0,0 +1,10 @@
+PRGNAM="quakespasm"
+VERSION="0.93.1"
+HOMEPAGE="https://quakespasm.sourceforge.net"
+DOWNLOAD="https://downloads.sourceforge.net/quakespasm/quakespasm-0.93.1.tgz"
+MD5SUM="cfb60350081c5526d2bb3320280c1f8c"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="SDL2"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/perl/Net-SSLeay/slack-desc b/games/quakespasm/slack-desc
index 2fe0095572..5b7ef8a8db 100644
--- a/perl/Net-SSLeay/slack-desc
+++ b/games/quakespasm/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-Net-SSLeay: Net-SSLeay (perl module)
-Net-SSLeay:
-Net-SSLeay: Perl extension for using OpenSSL
-Net-SSLeay:
-Net-SSLeay:
-Net-SSLeay:
-Net-SSLeay:
-Net-SSLeay:
-Net-SSLeay:
-Net-SSLeay:
-Net-SSLeay:
+quakespasm: quakespasm (quake engine)
+quakespasm:
+quakespasm: This is an engine for iD software's Quake.
+quakespasm:
+quakespasm: homepage: https://quakespasm.sourceforge.net
+quakespasm:
+quakespasm:
+quakespasm:
+quakespasm:
+quakespasm:
+quakespasm:
diff --git a/games/rlvm/gcc.patch b/games/rlvm/gcc.patch
new file mode 100644
index 0000000000..fc4bedfb69
--- /dev/null
+++ b/games/rlvm/gcc.patch
@@ -0,0 +1,24 @@
+From 668863d2222b962ee8e7d9829e972ef05c990302 Mon Sep 17 00:00:00 2001
+From: Elliot Glaysher <glaysher@umich.edu>
+Date: Sun, 22 May 2016 10:29:27 -0700
+Subject: [PATCH] Theoretical compile fix for gcc 4 series.
+
+Adds <iostream> to GraphicsObject.
+
+Closes #76.
+---
+ src/systems/base/graphics_object.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/systems/base/graphics_object.cc b/src/systems/base/graphics_object.cc
+index 9490b3b0..af22177d 100644
+--- a/src/systems/base/graphics_object.cc
++++ b/src/systems/base/graphics_object.cc
+@@ -36,6 +36,7 @@
+ #include <boost/serialization/shared_ptr.hpp>
+
+ #include <algorithm>
++#include <iostream>
+ #include <numeric>
+ #include <sstream>
+ #include <string>
diff --git a/games/rlvm/rlvm.SlackBuild b/games/rlvm/rlvm.SlackBuild
index cce10004ed..b4561a4ddd 100644
--- a/games/rlvm/rlvm.SlackBuild
+++ b/games/rlvm/rlvm.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 {} \;
+# From upstream
+patch -p1 < $CWD/gcc.patch
+
scons --release
mkdir -p ${PKG}/usr/games ${PKG}/usr/bin
diff --git a/games/roadfighter/gcc.patch b/games/roadfighter/gcc.patch
new file mode 100644
index 0000000000..c7e3e3895a
--- /dev/null
+++ b/games/roadfighter/gcc.patch
@@ -0,0 +1,11 @@
+--- src/auxiliar.cpp 2016-06-07 16:18:19.672015830 +0200
++++ src/auxiliar.cpp 2016-06-07 16:18:41.678235683 +0200
+@@ -84,7 +84,7 @@
+ mask=IMG_Load(name);
+
+ if (tmp==0 ||
+- mask==0) return false;
++ mask==0) return 0;
+
+ res=SDL_DisplayFormatAlpha(tmp);
+
diff --git a/games/roadfighter/roadfighter.SlackBuild b/games/roadfighter/roadfighter.SlackBuild
index eee917a62b..95ea975803 100644
--- a/games/roadfighter/roadfighter.SlackBuild
+++ b/games/roadfighter/roadfighter.SlackBuild
@@ -73,6 +73,9 @@ find -L . \
# fix installation path
patch -p1 < $CWD/makefile.patch
+# fix building with the newer gcc
+patch -p0 < $CWD/gcc.patch
+
make
make install PREFIX=$PKG
diff --git a/games/speed-dreams/speed-dreams-params-conversion.patch b/games/speed-dreams/speed-dreams-params-conversion.patch
new file mode 100644
index 0000000000..16bd19d2f7
--- /dev/null
+++ b/games/speed-dreams/speed-dreams-params-conversion.patch
@@ -0,0 +1,22 @@
+--- src/libs/tgf/params.cpp.orig 2017-02-14 10:32:38.701066427 +0100
++++ src/libs/tgf/params.cpp 2017-02-14 10:33:19.425879383 +0100
+@@ -3809,7 +3809,7 @@
+ if( lastSlash != NULL && key )
+ {
+ *key = lastSlash + 1;
+- lastSlash = '\0';
++ lastSlash = NULL;
+ }
+ else if( key )
+ {
+--- src/libs/tgfclient/openalmusicplayer.cpp.orig 2017-02-14 13:14:10.870735828 +0100
++++ src/libs/tgfclient/openalmusicplayer.cpp 2017-02-14 13:15:11.592684153 +0100
+@@ -171,7 +171,7 @@
+ {
+ char pcm[BUFFERSIZE];
+ int size = 0;
+- const char* error = '\0';
++ const char* error = NULL;
+
+ if (!_stream->read(pcm, BUFFERSIZE, &size, error)) {
+ GfLogError("OpenALMusicPlayer: Stream read error: %s\n", error);
diff --git a/games/speed-dreams/speed-dreams.SlackBuild b/games/speed-dreams/speed-dreams.SlackBuild
index 3887ecbb24..8cb03ba098 100644
--- a/games/speed-dreams/speed-dreams.SlackBuild
+++ b/games/speed-dreams/speed-dreams.SlackBuild
@@ -58,6 +58,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 {} \;
+# Thanks fedora
+patch -p0 < $CWD/speed-dreams-params-conversion.patch
+
mkdir build
cd build
diff --git a/games/supertux/README b/games/supertux/README
index ca35bccc4c..da66a7726f 100644
--- a/games/supertux/README
+++ b/games/supertux/README
@@ -3,3 +3,5 @@ similar to the original SuperMario games.
If you get slow performance, disable the use of OpenGL in the
"Options" menu after SuperTux is started.
+
+libraqm is an optional dependency.
diff --git a/games/supertux/supertux.SlackBuild b/games/supertux/supertux.SlackBuild
index 72e00c5c77..0c024b56b0 100644
--- a/games/supertux/supertux.SlackBuild
+++ b/games/supertux/supertux.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=supertux
-VERSION=${VERSION:-0.4.0}
+VERSION=${VERSION:-20190412_0f92b5a}
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,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -78,7 +78,8 @@ cd build
-DINSTALL_SUBDIR_BIN=bin \
-DINSTALL_SUBDIR_SHARE=share/$PRGNAM \
-DINSTALL_SUBDIR_DOC=doc/$PRGNAM-$VERSION \
- -DLIB_SUBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=lib${LIBDIRSUFFIX} \
+ -DENABLE_BOOST_STATIC_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
diff --git a/games/supertux/supertux.info b/games/supertux/supertux.info
index 299d644b04..fe493735f5 100644
--- a/games/supertux/supertux.info
+++ b/games/supertux/supertux.info
@@ -1,8 +1,8 @@
PRGNAM="supertux"
-VERSION="0.4.0"
+VERSION="20190412_0f92b5a"
HOMEPAGE="https://github.com/SuperTux/supertux"
-DOWNLOAD="https://github.com/SuperTux/supertux/releases/download/v0.4.0/supertux-0.4.0.tar.bz2"
-MD5SUM="8acc3aa1077f0da95c99fdd5f4925088"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/supertux-20190412_0f92b5a.tar.xz"
+MD5SUM="ba018722b9ec32603e1eddec81051ba1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="SDL2_image OpenAL physfs"
diff --git a/games/supertuxkart/mesa-18.3.patch b/games/supertuxkart/mesa-18.3.patch
new file mode 100644
index 0000000000..b144177255
--- /dev/null
+++ b/games/supertuxkart/mesa-18.3.patch
@@ -0,0 +1,23 @@
+From 3a3953f38c3555e87f3608d0291dbfccf34e9775 Mon Sep 17 00:00:00 2001
+From: Deve <deveee@gmail.com>
+Date: Wed, 21 Nov 2018 21:07:55 +0100
+Subject: [PATCH] Fix for system glew
+
+---
+ src/graphics/gl_headers.hpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/graphics/gl_headers.hpp b/src/graphics/gl_headers.hpp
+index fc9867cb59..290805cafe 100644
+--- a/src/graphics/gl_headers.hpp
++++ b/src/graphics/gl_headers.hpp
+@@ -25,6 +25,9 @@
+ extern "C" {
+ #if !defined(USE_GLES2)
+ # include <GL/glew.h>
++// This is a workaround for mesa drivers that now use __gl_glext_h_ instead of
++// __glext_h_ in header file which is not defined in current glew version
++# define __gl_glext_h_
+ #endif
+ }
+ #include <cinttypes>
diff --git a/games/supertuxkart/supertuxkart.SlackBuild b/games/supertuxkart/supertuxkart.SlackBuild
index bdbe75bc92..c13cf895b2 100644
--- a/games/supertuxkart/supertuxkart.SlackBuild
+++ b/games/supertuxkart/supertuxkart.SlackBuild
@@ -80,6 +80,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 {} \;
+# From upstream
+patch -p1 < $CWD/mesa-18.3.patch
+
mkdir -p build
cd build
cmake \
diff --git a/games/torcs/torcs.SlackBuild b/games/torcs/torcs.SlackBuild
index 76ee0f1fae..479625aa7b 100644
--- a/games/torcs/torcs.SlackBuild
+++ b/games/torcs/torcs.SlackBuild
@@ -58,7 +58,7 @@ find -L . \
patch -p1 < $CWD/gcc7.diff
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX \
diff --git a/games/trackballs/trackballs.SlackBuild b/games/trackballs/trackballs.SlackBuild
index 810a670593..db385f6a63 100644
--- a/games/trackballs/trackballs.SlackBuild
+++ b/games/trackballs/trackballs.SlackBuild
@@ -9,8 +9,8 @@
# 20170621 bkw: fix build on -current
PRGNAM=trackballs
-VERSION=${VERSION:-1.1.4}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.2.4}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -53,37 +53,32 @@ 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 {} \;
-
-# Apply two patches from redhat: one to fix building and running with guile-2.0.x,
-# another to fix "Esc" behaviour. Also abs.diff, which fixes the build for
-# gcc 7 from -current.
-for i in $CWD/patches/* ; do patch -p1 < $i ; done
-
-# Make icons honor DESTDIR (thanks to Johannes for this fix)
-sed -i 's/ $(iconsdir)/ $(DESTDIR)$(iconsdir)/g' share/icons/Makefile.in
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
+ \( -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_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 ..
+
+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
gzip $PKG/usr/man/man6/$PRGNAM.6
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html
-cp -a README AUTHORS COPYING ChangeLog FAQ TODO $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a docs/*.html $PKG/usr/doc/$PRGNAM-$VERSION/html
+cp -a ABOUT-NLS.md AUTHORS.md COPYING FAQ.md NEWS.md README.md TODO.md $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a docs/* $PKG/usr/doc/$PRGNAM-$VERSION/html
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/share/applications
diff --git a/games/trackballs/trackballs.info b/games/trackballs/trackballs.info
index c51e5bd3ef..5d365d9074 100644
--- a/games/trackballs/trackballs.info
+++ b/games/trackballs/trackballs.info
@@ -1,8 +1,8 @@
PRGNAM="trackballs"
-VERSION="1.1.4"
-HOMEPAGE="http://trackballs.sourceforge.net"
-DOWNLOAD="http://downloads.sourceforge.net/trackballs/trackballs-1.1.4.tar.gz"
-MD5SUM="84e2e8bb68842a636da91673751279a0"
+VERSION="1.2.4"
+HOMEPAGE="https://trackballs.github.io"
+DOWNLOAD="https://github.com/trackballs/trackballs/archive/v1.2.4/trackballs-1.2.4.tar.gz"
+MD5SUM="e95cb7aa9d344daa4e136dcd67b31b5f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/warmux/patches/return-null.patch b/games/warmux/patches/return-null.patch
new file mode 100644
index 0000000000..851dfcbd16
--- /dev/null
+++ b/games/warmux/patches/return-null.patch
@@ -0,0 +1,11 @@
+--- src/interface/weapon_menu.cpp.orig 2016-05-09 15:22:36.895266463 +0200
++++ src/interface/weapon_menu.cpp 2016-05-09 15:21:38.518476191 +0200
+@@ -391,7 +391,7 @@
+ Weapon * WeaponsMenu::UpdateCurrentOverflyItem(const Polygon * poly)
+ {
+ if (!show)
+- return false;
++ return NULL;
+ const std::vector<PolygonItem *>& items = poly->GetItem();
+ WeaponMenuItem * tmp;
+ Interface::GetInstance()->SetCurrentOverflyWeapon(NULL);
diff --git a/games/warmux/warmux.SlackBuild b/games/warmux/warmux.SlackBuild
index 20cd3cd3a5..1c6d7ff6c7 100644
--- a/games/warmux/warmux.SlackBuild
+++ b/games/warmux/warmux.SlackBuild
@@ -80,6 +80,9 @@ patch -p1 < $CWD/patches/include-zlib.patch
sed -i "s|SDLNet_Read32(buffer)|SDLNet_Read32(const_cast<char*>(buffer))|" \
lib/warmux/action/action.cpp
+# Fix for gcc-6.x
+patch -p0 < $CWD/patches/return-null.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -90,7 +93,7 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--program-prefix="" \
--program-suffix="" \
- --enable-fribidi \
+ --disable-fribidi \
--enable-servers \
--build=$ARCH-slackware-linux
diff --git a/games/widelands/widelands-gcc47.patch b/games/widelands/widelands-gcc47.patch
deleted file mode 100644
index 9ea19c3571..0000000000
--- a/games/widelands/widelands-gcc47.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-=== modified file 'src/main.cc'
---- src/main.cc 2012-02-15 21:25:34 +0000
-+++ src/main.cc 2012-05-02 07:43:01 +0000
-@@ -28,6 +28,7 @@
- #include <iostream>
- #include <stdexcept>
- #include <typeinfo>
-+#include <unistd.h>
-
- #include <SDL_main.h>
-
-
diff --git a/games/widelands/widelands.SlackBuild b/games/widelands/widelands.SlackBuild
index 793f7a1215..8482c99d6d 100644
--- a/games/widelands/widelands.SlackBuild
+++ b/games/widelands/widelands.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=widelands
-VERSION=${VERSION:-build19}
+VERSION=${VERSION:-20170618}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -59,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION-src
-tar xvf $CWD/$PRGNAM-$VERSION-src.tar.bz2
-cd $PRGNAM-$VERSION-src
+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 \
@@ -69,9 +69,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 {} \;
-# Fix compiling with gcc 4.7
-patch -p0 -i $CWD/widelands-gcc47.patch
-
mkdir -p build1
cd build1
cmake \
@@ -98,7 +95,6 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/usr/{VERSION,ChangeLog,CREDITS,COPYING} $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a WL_RELEASE $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/games/widelands/widelands.info b/games/widelands/widelands.info
index a98f31a43a..2d69dba9b4 100644
--- a/games/widelands/widelands.info
+++ b/games/widelands/widelands.info
@@ -1,8 +1,8 @@
PRGNAM="widelands"
-VERSION="build19"
+VERSION="20170618"
HOMEPAGE="http://www.widelands.org"
-DOWNLOAD="https://launchpad.net/widelands/build19/build19/+download/widelands-build19-src.tar.bz2"
-MD5SUM="0ef7ccf021b8001056739f755500366d"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/widelands-20170618.tar.bz2"
+MD5SUM="a293822f26386c16a66d4801716e0740"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="SDL2_image SDL2_mixer SDL2_net SDL2_ttf lua"
diff --git a/games/xmoto/xmoto.SlackBuild b/games/xmoto/xmoto.SlackBuild
index 539df636d7..7dc9f71b37 100644
--- a/games/xmoto/xmoto.SlackBuild
+++ b/games/xmoto/xmoto.SlackBuild
@@ -52,7 +52,7 @@ find -L . \
patch -p1 < $CWD/gcc-4.7.patch
CFLAGS="$SLKCFLAGS -DdDOUBLE" \
-CXXFLAGS="$SLKCFLAGS -DdDOUBLE" \
+CXXFLAGS="$SLKCFLAGS -DdDOUBLE -fpermissive" \
LDFLAGS="-ldl" \
./configure \
--prefix=/usr \
diff --git a/games/xu4/gcc7.patch b/games/xu4/gcc7.patch
new file mode 100644
index 0000000000..29f2cceee4
--- /dev/null
+++ b/games/xu4/gcc7.patch
@@ -0,0 +1,90 @@
+--- xu4-20130612_svn/src/image_sdl.cpp.orig 2017-07-07 05:16:49.443617174 +0700
++++ xu4-20130612_svn/src/image_sdl.cpp 2017-07-07 05:25:40.763657058 +0700
+@@ -349,7 +349,7 @@
+ unsigned int y_finish = std::min(int(bottom), oy + span + 1);
+ for (y = y_start; y < y_finish; ++y) {
+
+- int divisor = 1 + span * 2 - abs(ox - x) - abs(oy - y);
++ int divisor = 1 + span * 2 - std::abs((long int) (ox - x)) - std::abs((long int) (oy - y));
+
+ unsigned int r, g, b, a;
+ getPixel(x, y, r, g, b, a);
+--- xu4-20130612_svn/src/map.cpp.orig 2017-07-07 05:26:04.108658810 +0700
++++ xu4-20130612_svn/src/map.cpp 2017-07-07 05:28:17.857668850 +0700
+@@ -123,14 +123,14 @@
+ if (map && map->border_behavior == Map::BORDER_WRAP) {
+ MapCoords me = *this;
+
+- if (abs(me.x - c.x) > abs(me.x + map->width - c.x))
++ if (std::abs((long int) (me.x - c.x)) > std::abs((long int) (me.x + map->width - c.x)))
+ me.x += map->width;
+- else if (abs(me.x - c.x) > abs(me.x - map->width - c.x))
++ else if (std::abs((long int) (me.x - c.x)) > std::abs((long int) (me.x - map->width - c.x)))
+ me.x -= map->width;
+
+- if (abs(me.y - c.y) > abs(me.y + map->width - c.y))
++ if (std::abs((long int) (me.y - c.y)) > std::abs((long int) (me.y + map->width - c.y)))
+ me.y += map->height;
+- else if (abs(me.y - c.y) > abs(me.y - map->width - c.y))
++ else if (std::abs((long int) (me.y - c.y)) > std::abs((long int) (me.y - map->width - c.y)))
+ me.y -= map->height;
+
+ dx = me.x - c.x;
+--- xu4-20130612_svn/src/person.cpp.orig 2017-07-07 05:28:34.604670107 +0700
++++ xu4-20130612_svn/src/person.cpp 2017-07-07 05:29:29.432674223 +0700
+@@ -221,7 +221,7 @@
+ eventHandler->pushController(&getPlayerCtrl);
+ int player = getPlayerCtrl.waitFor();
+ if (player != -1) {
+- string player_str = to_string(player+1);
++ string player_str = to_string((long int) player+1);
+ script->setVar(script->getInputName(), player_str);
+ }
+ else script->unsetVar(script->getInputName());
+--- xu4-20130612_svn/src/script.cpp.orig 2017-07-07 05:29:46.242675485 +0700
++++ xu4-20130612_svn/src/script.cpp 2017-07-07 05:31:00.015681023 +0700
+@@ -44,7 +44,7 @@
+
+ Script::Variable::Variable(const int &v) : set(true) {
+ i_val = v;
+- s_val = to_string(v);
++ s_val = to_string((long int) v);
+ }
+
+ int& Script::Variable::getInt() { return i_val; }
+@@ -503,7 +503,7 @@
+ }
+ // Get the current iterator for our loop
+ else if (item == "iterator")
+- prop = to_string(this->iterator);
++ prop = to_string((long int) this->iterator);
+ else if ((pos = item.find("show_inventory:")) < item.length()) {
+ pos = item.find(":");
+ string itemScript = item.substr(pos+1);
+@@ -611,7 +611,7 @@
+ if (content.empty())
+ errorWarning("Error: empty math() function");
+
+- prop = to_string(mathValue(content));
++ prop = to_string((long int) mathValue(content));
+ }
+
+ /**
+@@ -643,7 +643,7 @@
+
+ /* generate a random number */
+ else if (funcName == "random")
+- prop = to_string(xu4_random((int)strtol(content.c_str(), NULL, 10)));
++ prop = to_string((long int) xu4_random((int)strtol(content.c_str(), NULL, 10)));
+
+ /* replaced with "true" if content is empty, or "false" if not */
+ else if (funcName == "isempty") {
+@@ -1391,7 +1391,7 @@
+ string children_results;
+
+ mathParseChildren(current, &children_results);
+- *result = to_string(mathValue(children_results));
++ *result = to_string((long int) mathValue(children_results));
+ }
+ }
+ }
diff --git a/games/xu4/xu4.SlackBuild b/games/xu4/xu4.SlackBuild
index d4439ca2cc..08a91827bf 100644
--- a/games/xu4/xu4.SlackBuild
+++ b/games/xu4/xu4.SlackBuild
@@ -73,6 +73,9 @@ sed -i -e '/border\.png/s,^,//,' src/imagemgr.cpp
# validate the game's XML files. So:
sed -i '/#define *DEFAULT_VALIDATE_XML/s,1,0,' src/settings.h
+# Patch for GCC 7
+patch -p1 < $CWD/gcc7.patch
+
# The -DNPERF stops u4 from creating a debug/ in the current dir.
make -C src DEBUGCXXFLAGS="-DNPERF $SLKCFLAGS" prefix=/usr libdir=$PKGLIBDIR
make -C src install prefix=$PKG/usr libdir=$PKGLIBDIR
diff --git a/games/xye/xye.SlackBuild b/games/xye/xye.SlackBuild
index 8487aecd40..fbe4eba763 100644
--- a/games/xye/xye.SlackBuild
+++ b/games/xye/xye.SlackBuild
@@ -72,7 +72,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-error=narrowing" \
./configure \
--prefix=/usr \
--bindir=/usr/bin \
diff --git a/gis/gdal/gdal.SlackBuild b/gis/gdal/gdal.SlackBuild
index 2973ebf43c..1f5440d970 100644
--- a/gis/gdal/gdal.SlackBuild
+++ b/gis/gdal/gdal.SlackBuild
@@ -112,6 +112,8 @@ else
WITHLIST+=" --with-jpeg=/usr/lib${LIBDIRSUFFIX}"
fi
+# The CPPFLAGS are for the newer mariadb (thanks pprkut!)
+CPPFLAGS="-I/usr/include/mysql/server" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/gis/grass/gcc7.patch b/gis/grass/gcc7.patch
new file mode 100644
index 0000000000..afcea67c7c
--- /dev/null
+++ b/gis/grass/gcc7.patch
@@ -0,0 +1,90 @@
+Index: /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py
+===================================================================
+--- /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71218)
++++ /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71219)
+@@ -1,59 +1,8 @@
+ # lextab.py. This file automatically created by PLY (version 2.2). Don't edit!
+-_lextokens = {
+- 'RIGHT_OP': None,
+- 'RIGHT_ASSIGN': None,
+- 'DEC_OP': None,
+- 'PP_MACRO_PARAM': None,
+- 'DIV_ASSIGN': None,
+- 'PP_DEFINE': None,
+- 'PP_END_DEFINE': None,
+- 'PP_DEFINE_MACRO_NAME': None,
+- 'HEADER_NAME': None,
+- 'NEWLINE': None,
+- 'CHARACTER_CONSTANT': None,
+- 'PP_STRINGIFY': None,
+- 'AND_ASSIGN': None,
+- 'PTR_OP': None,
+- 'ELLIPSIS': None,
+- 'IDENTIFIER': None,
+- 'ADD_ASSIGN': None,
+- 'PERIOD': None,
+- 'AND_OP': None,
+- 'OTHER': None,
+- 'LPAREN': None,
+- 'LEFT_OP': None,
+- 'LE_OP': None,
+- 'OR_OP': None,
+- 'SUB_ASSIGN': None,
+- 'MOD_ASSIGN': None,
+- 'STRING_LITERAL': None,
+- 'PP_IDENTIFIER_PASTE': None,
+- 'PP_NUMBER': None,
+- 'PP_DEFINE_NAME': None,
+- 'XOR_ASSIGN': None,
+- 'OR_ASSIGN': None,
+- 'GE_OP': None,
+- 'MUL_ASSIGN': None,
+- 'LEFT_ASSIGN': None,
+- 'INC_OP': None,
+- 'NE_OP': None,
+- 'EQ_OP': None}
+-_lexreflags = 0
+-_lexliterals = ''
++_lextokens = {'RIGHT_OP': None, 'RIGHT_ASSIGN': None, 'DEC_OP': None, 'PP_MACRO_PARAM': None, 'DIV_ASSIGN': None, 'PP_DEFINE': None, 'PP_END_DEFINE': None, 'PP_DEFINE_MACRO_NAME': None, 'HEADER_NAME': None, 'NEWLINE': None, 'CHARACTER_CONSTANT': None, 'PP_STRINGIFY': None, 'AND_ASSIGN': None, 'PTR_OP': None, 'ELLIPSIS': None, 'IDENTIFIER': None, 'ADD_ASSIGN': None, 'PERIOD': None, 'AND_OP': None, 'OTHER': None, 'LPAREN': None, 'LEFT_OP': None, 'LE_OP': None, 'OR_OP': None, 'SUB_ASSIGN': None, 'MOD_ASSIGN': None, 'STRING_LITERAL': None, 'PP_IDENTIFIER_PASTE': None, 'PP_NUMBER': None, 'PP_DEFINE_NAME': None, 'XOR_ASSIGN': None, 'OR_ASSIGN': None, 'GE_OP': None, 'MUL_ASSIGN': None, 'LEFT_ASSIGN': None, 'INC_OP': None, 'NE_OP': None, 'EQ_OP': None}
++_lexreflags = 0
++_lexliterals = ''
+ _lexstateinfo = {'INITIAL': 'inclusive', 'DEFINE': 'exclusive'}
+-_lexstatere = {
+- 'INITIAL': [
+- ('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))', [
+- None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_INITIAL_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [
+- None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>[FflL]?)(?!\\w))', [
+- None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [
+- None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_INITIAL_newline>\\n)|(?P<t_INITIAL_pp_define>\\#define)', [
+- None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 'INITIAL_pp_define')])], 'DEFINE': [
+- ('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))', [
+- None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_DEFINE_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [
+- None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>[FflL]?)(?!\\w))', [
+- None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [
+- None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_DEFINE_newline>\\n)|(?P<t_DEFINE_pp_param_op>(\\#\\#)|(\\#))', [
+- None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 'DEFINE_pp_param_op')])]}
++_lexstatere = {'INITIAL': [('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))', [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_INITIAL_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))', [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_INITIAL_newline>\\n)|(?P<t_INITIAL_pp_define>\\#define)', [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 'INITIAL_pp_define')])], 'DEFINE': [('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))', [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_DEFINE_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))', [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_DEFINE_newline>\\n)|(?P<t_DEFINE_pp_param_op>(\\#\\#)|(\\#))', [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 'DEFINE_pp_param_op')])]}
+ _lexstateignore = {'INITIAL': ' \t\x0b\x0c\r', 'DEFINE': ' \t\x0b\x0c\r'}
+ _lexstateerrorf = {'INITIAL': 't_INITIAL_error', 'DEFINE': 't_DEFINE_error'}
+Index: /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py
+===================================================================
+--- /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py (revision 71218)
++++ /grass/branches/releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py (revision 71219)
+@@ -53,5 +53,5 @@
+ 'H': '[a-fA-F0-9]',
+ 'E': '[Ee][+-]?\s*{D}+',
+- 'FS': '[FflL]',
++ 'FS': '([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)',
+ 'IS': '[uUlL]*',
+ }
+@@ -227,8 +227,8 @@
+ suf = m.group("suf")
+
+- if dp or exp or (suf and suf in ("Ff")):
++ if dp or exp or (suf and suf not in ("Ll")):
+ s = m.group(0)
+ if suf:
+- s = s[:-1]
++ s = s[:-len(suf)]
+ # Attach a prefix so the parser can figure out if should become an
+ # integer, float, or long
diff --git a/gis/grass/grass.SlackBuild b/gis/grass/grass.SlackBuild
index 8f1b6cc3ef..1b93e6deb8 100644
--- a/gis/grass/grass.SlackBuild
+++ b/gis/grass/grass.SlackBuild
@@ -119,6 +119,8 @@ done
# geos now always enabled: it's an indirect hard dep (via gdal), and makes grass nicer :-)
+patch -p4 < $CWD/gcc7.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -fpermissive" \
LDFLAGS="-ldl -lncurses" \
diff --git a/graphics/Blender/Blender.SlackBuild b/graphics/Blender/Blender.SlackBuild
index bd1c2ef487..5774f71836 100644
--- a/graphics/Blender/Blender.SlackBuild
+++ b/graphics/Blender/Blender.SlackBuild
@@ -113,6 +113,7 @@ cd build
-DWITH_SDL_DYNLOAD:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release \
$cuda \
+ -DCMAKE_EXE_LINKER_FLAGS:STRING="-lboost_locale"
make
make install DESTDIR=$PKG
diff --git a/graphics/darktable/darktable.SlackBuild b/graphics/darktable/darktable.SlackBuild
index 5a2f374bbe..d79c53994f 100644
--- a/graphics/darktable/darktable.SlackBuild
+++ b/graphics/darktable/darktable.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=darktable
-VERSION=${VERSION:-2.4.4}
+VERSION=${VERSION:-20190925_830bd386}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -68,6 +68,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 {} \;
+# If you want to use llvm instead of gcc uncomment the following two lines
+#export CC=clang
+#export CXX=clang++
+
mkdir -p build
cd build
cmake \
diff --git a/graphics/darktable/darktable.info b/graphics/darktable/darktable.info
index e53831c9ec..bbf30c7269 100644
--- a/graphics/darktable/darktable.info
+++ b/graphics/darktable/darktable.info
@@ -1,8 +1,8 @@
PRGNAM="darktable"
-VERSION="2.4.4"
+VERSION="20190925_830bd386"
HOMEPAGE="https://www.darktable.org/"
-DOWNLOAD="https://github.com/darktable-org/darktable/releases/download/release-2.4.4/darktable-2.4.4.tar.xz"
-MD5SUM="32e4b9e75758b5d3fc803b857fd101ff"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/darktable-20190925_830bd386.tar.xz"
+MD5SUM="6d5a646a89743b3a7f51dff6da5c071f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="json-glib lensfun pugixml"
diff --git a/graphics/gimp-plugin-bimp/gimp-plugin-bimp.SlackBuild b/graphics/gimp-plugin-bimp/gimp-plugin-bimp.SlackBuild
index 56c01eca00..1220882efe 100644
--- a/graphics/gimp-plugin-bimp/gimp-plugin-bimp.SlackBuild
+++ b/graphics/gimp-plugin-bimp/gimp-plugin-bimp.SlackBuild
@@ -27,13 +27,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gimp-plugin-bimp
-VERSION=${VERSION:-1.18}
+VERSION=${VERSION:-2.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
@@ -44,8 +44,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/graphics/gimp-plugin-bimp/gimp-plugin-bimp.info b/graphics/gimp-plugin-bimp/gimp-plugin-bimp.info
index a5fe846b01..1d0d937019 100644
--- a/graphics/gimp-plugin-bimp/gimp-plugin-bimp.info
+++ b/graphics/gimp-plugin-bimp/gimp-plugin-bimp.info
@@ -1,8 +1,8 @@
PRGNAM="gimp-plugin-bimp"
-VERSION="1.18"
+VERSION="2.0"
HOMEPAGE="https://github.com/alessandrofrancesconi/gimp-plugin-bimp"
-DOWNLOAD="https://github.com/alessandrofrancesconi/gimp-plugin-bimp/archive/v1.18/gimp-plugin-bimp-1.18.tar.gz"
-MD5SUM="84b748a4f1fa0bd67da12a77b65b4611"
+DOWNLOAD="https://github.com/alessandrofrancesconi/gimp-plugin-bimp/archive/v2.0/gimp-plugin-bimp-2.0.tar.gz"
+MD5SUM="715a543f158fa9dd7a4f46dd2f28bb89"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/goocanvas/goocanvas.SlackBuild b/graphics/goocanvas/goocanvas.SlackBuild
index 1987660272..d20f708333 100644
--- a/graphics/goocanvas/goocanvas.SlackBuild
+++ b/graphics/goocanvas/goocanvas.SlackBuild
@@ -68,6 +68,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+export LDFLAGS="-ldl -lm"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/graphics/graphite2/README b/graphics/graphite2/README
deleted file mode 100644
index 8084db6fb0..0000000000
--- a/graphics/graphite2/README
+++ /dev/null
@@ -1,8 +0,0 @@
-Graphite is a system that can be used to create "smart fonts" capable
-of displaying writing systems with various complex behaviors. A smart
-font contains not only letter shapes but also additional instructions
-indicating how to combine and position the letters in complex ways.
-
-Graphite was primarily developed to provide the flexibility needed for
-minority languages which often need to be written according to slightly
-different rules than well-known languages that use the same script.
diff --git a/graphics/graphite2/graphite2.SlackBuild b/graphics/graphite2/graphite2.SlackBuild
deleted file mode 100644
index ed4a1ef360..0000000000
--- a/graphics/graphite2/graphite2.SlackBuild
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for graphite2
-
-# Copyright 2015-2018 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=graphite2
-VERSION=${VERSION:-1.3.13}
-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 -eu
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tgz
-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_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DCMAKE_BUILD_TYPE=Release \
- -Wno-dev ..
- 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 COPYING ChangeLog LICENSE README.md Todo.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/graphics/graphite2/graphite2.info b/graphics/graphite2/graphite2.info
deleted file mode 100644
index b627fa40a6..0000000000
--- a/graphics/graphite2/graphite2.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="graphite2"
-VERSION="1.3.13"
-HOMEPAGE="http://graphite.sil.org/"
-DOWNLOAD="https://github.com/silnrsi/graphite/releases/download/1.3.13/graphite2-1.3.13.tgz"
-MD5SUM="29616d4f9651706036ca25c111508272"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Hunter Sezen"
-EMAIL="orbea@riseup.net"
diff --git a/graphics/graphite2/slack-desc b/graphics/graphite2/slack-desc
deleted file mode 100644
index fb3e6e8418..0000000000
--- a/graphics/graphite2/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------------------------------------------------------|
-graphite2: graphite2 (rendering engine for graphite fonts)
-graphite2:
-graphite2: Graphite is a system that can be used to create "smart fonts" capable
-graphite2: of displaying writing systems with various complex behaviors. A smart
-graphite2: font contains not only letter shapes but also additional instructions
-graphite2: indicating how to combine and position the letters in complex ways.
-graphite2:
-graphite2: Homepage: http://graphite.sil.org/
-graphite2:
-graphite2:
-graphite2:
diff --git a/graphics/graphviz/graphviz.SlackBuild b/graphics/graphviz/graphviz.SlackBuild
index 5593f2ecf0..7909f5b0ad 100644
--- a/graphics/graphviz/graphviz.SlackBuild
+++ b/graphics/graphviz/graphviz.SlackBuild
@@ -89,6 +89,7 @@ LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
--mandir=/usr/man \
--disable-static \
--enable-ocaml=no \
+ --enable-php=no \
--build=$ARCH-slackware-linux
make
diff --git a/graphics/inkscape/inkscape.SlackBuild b/graphics/inkscape/inkscape.SlackBuild
index 2b53dc793d..698a5fb3db 100644
--- a/graphics/inkscape/inkscape.SlackBuild
+++ b/graphics/inkscape/inkscape.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=inkscape
-PRGSUB=_A6N0YOn
-VERSION=${VERSION:-0.92.4}
+PRGSUB=
+VERSION=${VERSION:-1.0b1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,32 +70,40 @@ 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 {} \;
-./autogen.sh
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -std=c++11" \
-./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
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
+ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \
+ -DINCLUDE_INSTALL_DIR=/usr/include \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DSHARE_INSTALL_PREFIX=/usr/share \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DMAN_INSTALL_DIR=/usr/man \
+ ..
+ make
+ make install DESTDIR=$PKG
+cd ..
+
+mv $PKG/usr/share/man $PKG/usr/man
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* INSTALL NEWS README TRANSLATORS doc/* \
+ AUTHORS COPYING* *.md TRANSLATORS doc/* \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mv $PKG/usr/share/doc/$PRGNAM/* $PKG/usr/doc/$PRGNAM-$VERSION/
+rm -fR $PKG/usr/share/doc
find $PKG/usr/doc -name "Makefile*" -exec rm {} \;
find $PKG/usr/doc -type f -exec chmod 644 {} \;
diff --git a/graphics/inkscape/inkscape.info b/graphics/inkscape/inkscape.info
index c206ffccb0..c5de45be23 100644
--- a/graphics/inkscape/inkscape.info
+++ b/graphics/inkscape/inkscape.info
@@ -1,10 +1,10 @@
PRGNAM="inkscape"
-VERSION="0.92.4"
+VERSION="1.0b1"
HOMEPAGE="http://www.inkscape.org/"
-DOWNLOAD="https://inkscape.org/gallery/item/13330/inkscape-0.92.4_A6N0YOn.tar.bz2"
-MD5SUM="ac30f6d5747fd9c620c00dad500f414f"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/inkscape-1.0b1.tar.bz2"
+MD5SUM="54291b042406207659c340c31ea95c38"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="lxml numpy"
+REQUIRES="gdl double-conversion lxml numpy potrace"
MAINTAINER="Fernando Lopez Jr."
EMAIL="fernando.lopezjr@gmail.com"
diff --git a/graphics/k3d/README b/graphics/k3d/README
index b156272092..73741ac528 100644
--- a/graphics/k3d/README
+++ b/graphics/k3d/README
@@ -7,7 +7,6 @@ patches, curves and animation.
Optional dependencies:
-graphviz
gtksourceview
libgnome
OpenCASCADE
diff --git a/graphics/k3d/gcc7.patch b/graphics/k3d/gcc7.patch
new file mode 100644
index 0000000000..887eeb8bd3
--- /dev/null
+++ b/graphics/k3d/gcc7.patch
@@ -0,0 +1,23 @@
+From d9786540a205bec0b381f339497d7c2cce00376b Mon Sep 17 00:00:00 2001
+From: Jonathan Wakely <jwakely@redhat.com>
+Date: Wed, 1 Feb 2017 02:07:28 +0000
+Subject: [PATCH] Add required header for ostream operations
+
+This file uses std::ostream::operator<<(double) without including
+<ostream> and so fails to compile using GCC 7.
+---
+ k3dsdk/measurement.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/k3dsdk/measurement.h b/k3dsdk/measurement.h
+index 9edf7aef..67df5aa0 100644
+--- a/k3dsdk/measurement.h
++++ b/k3dsdk/measurement.h
+@@ -27,6 +27,7 @@
+
+ #include <cassert>
+ #include <iosfwd>
++#include <ostream>
+ #include <map>
+ #include <string>
+ #include <typeinfo>
diff --git a/graphics/k3d/k3d.SlackBuild b/graphics/k3d/k3d.SlackBuild
index 7b6cea7db5..1dc959a907 100644
--- a/graphics/k3d/k3d.SlackBuild
+++ b/graphics/k3d/k3d.SlackBuild
@@ -73,6 +73,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 {} \;
+# From upstream
+patch -p1 < $CWD/gcc7.patch
+
# Fix man install directory.
sed -i "s|share/man|man|" share/man/CMakeLists.txt
diff --git a/graphics/k3d/k3d.info b/graphics/k3d/k3d.info
index 598878a4fa..9fe29db7ef 100644
--- a/graphics/k3d/k3d.info
+++ b/graphics/k3d/k3d.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/K-3D/k3d/archive/k3d-0.8.0.6/k3d-k3d-0.8.0.6.tar.gz
MD5SUM="129e051a1e724c14139808c25cd170f0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="gtkglext ftgl"
+REQUIRES="graphviz gtkglext ftgl"
MAINTAINER="David Spencer"
EMAIL="baildon.research@googlemail.com"
diff --git a/graphics/kuickshow/kuickshow.SlackBuild b/graphics/kuickshow/kuickshow.SlackBuild
index 6a82e2deba..e11058c674 100644
--- a/graphics/kuickshow/kuickshow.SlackBuild
+++ b/graphics/kuickshow/kuickshow.SlackBuild
@@ -71,6 +71,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+export CC=clang
+export CXX=clang++
+
mkdir -p build
cd build
cmake \
@@ -86,6 +89,11 @@ 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
+mv $PKG/usr/share/doc $PKG/usr/doc/$PRGNAM-$VERSION
+cp AUTHORS BUGS COPYING ChangeLog README 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
cat $CWD/doinst.sh > $PKG/install/doinst.sh
diff --git a/graphics/mypaint/mypaint.SlackBuild b/graphics/mypaint/mypaint.SlackBuild
index 089622dfa1..12fb75d6bb 100644
--- a/graphics/mypaint/mypaint.SlackBuild
+++ b/graphics/mypaint/mypaint.SlackBuild
@@ -12,13 +12,13 @@
# without any warranty.
PRGNAM=mypaint
-VERSION=${VERSION:-1.2.0}
+VERSION=${VERSION:-1.2.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
@@ -29,8 +29,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/graphics/mypaint/mypaint.info b/graphics/mypaint/mypaint.info
index a17cd09e13..588da4bfbd 100644
--- a/graphics/mypaint/mypaint.info
+++ b/graphics/mypaint/mypaint.info
@@ -1,10 +1,10 @@
PRGNAM="mypaint"
-VERSION="1.2.0"
+VERSION="1.2.1"
HOMEPAGE="http://mypaint.org/"
-DOWNLOAD="https://github.com/mypaint/mypaint/releases/download/v1.2.0/mypaint-1.2.0.tar.xz"
-MD5SUM="c7c2cfac8e1eec5549e58567ec68daac"
+DOWNLOAD="https://github.com/mypaint/mypaint/releases/download/v1.2.1/mypaint-1.2.1.tar.xz"
+MD5SUM="ac08c3135929f5641488fbbb9746fe41"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="numpy"
+REQUIRES="json-c numpy"
MAINTAINER="Klaatu"
EMAIL="klaatu@member.fsf.org"
diff --git a/graphics/opencollada/opencollada.SlackBuild b/graphics/opencollada/opencollada.SlackBuild
index 3bd2b9f561..1ccfdc1d02 100644
--- a/graphics/opencollada/opencollada.SlackBuild
+++ b/graphics/opencollada/opencollada.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 {} \;
+# https://github.com/KhronosGroup/OpenCOLLADA/issues/570
+patch -p1 < $CWD/pcre.patch
+
mkdir -p build
cd build
cmake ../ \
diff --git a/graphics/opencollada/pcre.patch b/graphics/opencollada/pcre.patch
new file mode 100644
index 0000000000..fe8c01a5b0
--- /dev/null
+++ b/graphics/opencollada/pcre.patch
@@ -0,0 +1,13 @@
+diff -Naur OpenCOLLADA-1.6.62.orig/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h OpenCOLLADA-1.6.62/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h
+--- OpenCOLLADA-1.6.62.orig/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h 2018-01-13 01:23:52.000000000 +0100
++++ OpenCOLLADA-1.6.62/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h 2018-07-08 08:40:38.764948000 +0200
+@@ -13,8 +13,7 @@
+
+ #include "COLLADABUPrerequisites.h"
+
+-struct real_pcre;
+-typedef struct real_pcre pcre;
++#include "pcre.h"
+
+
+ namespace COLLADABU
diff --git a/graphics/opencolorio/opencolorio.SlackBuild b/graphics/opencolorio/opencolorio.SlackBuild
index 81d3e34869..1f4766e8af 100644
--- a/graphics/opencolorio/opencolorio.SlackBuild
+++ b/graphics/opencolorio/opencolorio.SlackBuild
@@ -82,7 +82,7 @@ for v in $PYTHON_VERSIONS ; do
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=deprecated-declarations -Wno-error=cast-function-type" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DPYTHON=python$v \
diff --git a/graphics/photoprint/photoprint.SlackBuild b/graphics/photoprint/photoprint.SlackBuild
index 22b0eb2085..f90aed312a 100644
--- a/graphics/photoprint/photoprint.SlackBuild
+++ b/graphics/photoprint/photoprint.SlackBuild
@@ -63,8 +63,6 @@ rm -rf $PRGNAM-$SRCVERSION
tar xvf $CWD/$PRGNAM-$SRCVERSION.tar.gz
cd $PRGNAM-$SRCVERSION
-find . -name "*.cpp" | xargs sed -i 's%glib/.*.h%glib.h%g'
-
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -72,6 +70,24 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# sed magic thanks to archlinux
+sed -i 's|^#include <glib/[^>]*>|#include <glib.h>|' \
+ gp_cppsupport/gprintersettings.cpp \
+ gp_cppsupport/gprinter.cpp \
+ pixbufthumbnail/egg-pixbuf-thumbnail.c
+# netpbm-typedef collides with std::tuple
+for __file in imagesource/*.{h,cpp}; do
+ sed -i \
+ -e 's|^\(using namespace std;\)|// \1|' \
+ -e 's|<<[[:blank:]]*\(endl[[:blank:];]*\)|<< std::\1|g' \
+ -e 's|^[^#]\([[:blank:]]\)*\([io]*fstream[[:blank:]]\)|\1std::\2|g' \
+ -e 's#\([[:blank:]|&~^,()=+-]\)\(ios::\)#\1std::\2#g' \
+ $__file
+done
+sed -i '116s|false|NULL|' effects/ppeffect.cpp
+# limit use of 'g_type_init()' to GLIB<2.35 (deprecated use)
+sed -i 's/^\([[:blank:]]*g_type_init();[[:blank:]]*\)$/#if !GLIB_CHECK_VERSION(2,35,0)\n\1\n#endif/' photoprint.cpp
+
LDFLAGS="-lX11" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/graphics/povray/povray.SlackBuild b/graphics/povray/povray.SlackBuild
index b6372da8c2..4f35a86f34 100644
--- a/graphics/povray/povray.SlackBuild
+++ b/graphics/povray/povray.SlackBuild
@@ -26,8 +26,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=povray
-VERSION=${VERSION:-3.7.0.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-3.7.0.3}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
DOCDIR=${DOCDIR:-/usr/doc}
MANDIR=${MANDIR:-/usr/man}
@@ -70,11 +70,7 @@ set -e
rm -rf $TMP/$PRGNAM-$VERSION $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-if [ -f $CWD/v$VERSION.tar.?z* ]; then
- tar xvf $CWD/v$VERSION.tar.?z*
-else
- tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
-fi
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/graphics/povray/povray.info b/graphics/povray/povray.info
index 5f8c0b00f8..412a665356 100644
--- a/graphics/povray/povray.info
+++ b/graphics/povray/povray.info
@@ -1,8 +1,8 @@
PRGNAM="povray"
-VERSION="3.7.0.0"
+VERSION="3.7.0.3"
HOMEPAGE="http://www.povray.org/"
-DOWNLOAD="https://github.com/POV-Ray/povray/archive/v3.7.0.0.tar.gz"
-MD5SUM="c6866a3d71e38754f24b11da6c996b8e"
+DOWNLOAD="https://github.com/POV-Ray/povray/archive/v3.7.0.3/povray-3.7.0.3.tar.gz"
+MD5SUM="1f00b96b71db59e2ea80a8b86e62648f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/rawstudio/rawstudio.SlackBuild b/graphics/rawstudio/rawstudio.SlackBuild
index 30ec653dcb..7a928498aa 100644
--- a/graphics/rawstudio/rawstudio.SlackBuild
+++ b/graphics/rawstudio/rawstudio.SlackBuild
@@ -89,7 +89,7 @@ patch -p1 < $CWD/patches/lensfun03.patch
patch -p1 < $CWD/patches/libpng15.patch
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-error=narrowing" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
diff --git a/graphics/simple-scan/libwebpmux.patch b/graphics/simple-scan/libwebpmux.patch
new file mode 100644
index 0000000000..51d17eb7dd
--- /dev/null
+++ b/graphics/simple-scan/libwebpmux.patch
@@ -0,0 +1,38 @@
+From 47d3532459863e3b0bc1c7fd3a200f612863c814 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Sat, 14 Sep 2019 20:03:47 +0200
+Subject: [PATCH] libwepmix: Fix use of possibly unassigned local variable
+ 'data'
+
+---
+ src/libwebpmux.vapi | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/libwebpmux.vapi b/src/libwebpmux.vapi
+index f2461a2..42d2886 100644
+--- a/src/libwebpmux.vapi
++++ b/src/libwebpmux.vapi
+@@ -61,9 +61,7 @@ namespace WebP
+ [CCode (cname = "vala_set_image")]
+ public MuxError set_image (uint8[] bitstream, bool copy_data)
+ {
+- Data data;
+- data.bytes = bitstream;
+- data.size = bitstream.length;
++ Data data = { bitstream, bitstream.length };
+ return _set_image (data, copy_data);
+ }
+
+@@ -89,9 +87,7 @@ namespace WebP
+ public MuxError set_chunk (string fourcc, uint8[] chunk_data, bool copy_data)
+ requires (fourcc.length == 4)
+ {
+- Data data;
+- data.bytes = chunk_data;
+- data.size = chunk_data.length;
++ Data data = { chunk_data ,chunk_data.length };
+ return _set_chunk ((uchar[]) fourcc, data, copy_data);
+ }
+
+--
+2.22.0
diff --git a/graphics/simple-scan/simple-scan.SlackBuild b/graphics/simple-scan/simple-scan.SlackBuild
index 4014836c87..d8ac34317d 100644
--- a/graphics/simple-scan/simple-scan.SlackBuild
+++ b/graphics/simple-scan/simple-scan.SlackBuild
@@ -26,8 +26,8 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM="simple-scan"
-VERSION=${VERSION:-3.25.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-3.34.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -71,6 +71,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 640 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/libwebpmux.patch
+
meson --prefix $PKG/usr build
# Fix for meson-0.44.0, thanks to Andrew Clemons
diff --git a/graphics/simple-scan/simple-scan.info b/graphics/simple-scan/simple-scan.info
index 5c6d85d344..826b74bacf 100644
--- a/graphics/simple-scan/simple-scan.info
+++ b/graphics/simple-scan/simple-scan.info
@@ -1,8 +1,8 @@
PRGNAM="simple-scan"
-VERSION="3.25.1"
-HOMEPAGE="https://launchpad.net/simple-scan"
-DOWNLOAD="https://launchpad.net/simple-scan/3.25/3.25.1/+download/simple-scan-3.25.1.tar.xz"
-MD5SUM="6bff2b9bdfb529e21582f4a65c3f2d27"
+VERSION="3.34.0"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/simple-scan"
+DOWNLOAD="https://gitlab.gnome.org/GNOME/simple-scan/-/archive/3.34.0/simple-scan-3.34.0.tar.bz2"
+MD5SUM="69464d41aa25c5de2385f332dd22f508"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="colord packagekit meson libgusb vala"
diff --git a/graphics/simple-scan/slack-desc b/graphics/simple-scan/slack-desc
index d201d02f6e..9df18325a6 100644
--- a/graphics/simple-scan/slack-desc
+++ b/graphics/simple-scan/slack-desc
@@ -12,7 +12,7 @@ simple-scan: simple-scan is a simple scanning utility without the overwhelming
simple-scan: options of xsane.
simple-scan:
simple-scan:
-simple-scan: Homepage: https://launchpad.net/simple-scan
+simple-scan: Homepage: https://gitlab.gnome.org/GNOME/simple-scan
simple-scan:
simple-scan:
simple-scan:
diff --git a/graphics/yafaray-blender/yafaray-blender.SlackBuild b/graphics/yafaray-blender/yafaray-blender.SlackBuild
index c2a0c49b98..f72c5b24fe 100644
--- a/graphics/yafaray-blender/yafaray-blender.SlackBuild
+++ b/graphics/yafaray-blender/yafaray-blender.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Slackware build script for yafaray
+# Slackware build script for yafaray-blender
# Copyright (c) 2009 Alan Alberghini <414N@slacky.it>
# All rights reserved.
@@ -29,7 +29,7 @@
# 1 - Initial release.
PRGNAM=yafaray-blender
-VERSION=${VERSION:-0.1.1}
+VERSION=${VERSION:-3.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,28 +40,26 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-BLENDER_PLUGIN_DIR="/opt/blender/script"
+BLENDER_PLUGIN_DIR="/opt/blender/scripts/addons"
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM
-unzip "$CWD/YafaRay-blender.${VERSION}.zip"
-cd $PRGNAM
+rm -rf Blender-Exporter-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd Blender-Exporter-$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 {} \;
-mkdir -p ${PKG}/usr/share/yafaray/blender ${PKG}/${BLENDER_PLUGIN_DIR}
-cp -t ${PKG}/usr/share/yafaray/blender *.py
-
-# This link is needed to install the plugin system-wide
-ln -sf /usr/share/yafaray/blender/yafaray_ui.py ${PKG}/${BLENDER_PLUGIN_DIR}
+cd ..
+mkdir -p ${PKG}${BLENDER_PLUGIN_DIR}
+mv Blender-Exporter-$VERSION ${PKG}${BLENDER_PLUGIN_DIR}/yafaray_v3
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/graphics/yafaray-blender/yafaray-blender.info b/graphics/yafaray-blender/yafaray-blender.info
index 026dcdf5f8..9756fb5c1a 100644
--- a/graphics/yafaray-blender/yafaray-blender.info
+++ b/graphics/yafaray-blender/yafaray-blender.info
@@ -1,8 +1,8 @@
PRGNAM="yafaray-blender"
-VERSION="0.1.1"
+VERSION="3.2.0"
HOMEPAGE="http://www.yafaray.org"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/YafaRay-blender.0.1.1.zip"
-MD5SUM="d7e7f86b9e90e7f960707ebaea1843ab"
+DOWNLOAD="https://github.com/YafaRay/Blender-Exporter/archive/v3.2.0/yafaray-blender-3.2.0.tar.gz"
+MD5SUM="1660eb796fb204f07691dd0571f4bceb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="yafaray blender"
diff --git a/graphics/yafaray/README b/graphics/yafaray/README
index 0634be71c9..29763c62d7 100644
--- a/graphics/yafaray/README
+++ b/graphics/yafaray/README
@@ -2,10 +2,6 @@ YafaRay is a free open-source raytracing engine. Raytracing is a rendering
technique for generating realistic images by tracing the path of light
through a 3D scene.
-This package is built by default with QT4 support (needed if you intend to use
-the blender plugin too). If you don't want it, launch the script as follows:
-# USEQT=no ./yafaray.SlackBuild (assuming you're root)
+python3 is an optional dependency, to enable python bindings.
-You can also build Python bindings, provided you have swig and Python
-installed. Simply run
-# BUILDPYTHON=yes ./yafaray.SlackBuild (always assuming you're root)
+To disable building the Qt gui pass the script the variable QTGUI=OFF
diff --git a/graphics/yafaray/yafaray.SlackBuild b/graphics/yafaray/yafaray.SlackBuild
index c5c40c292b..9b2ee9e9dd 100644
--- a/graphics/yafaray/yafaray.SlackBuild
+++ b/graphics/yafaray/yafaray.SlackBuild
@@ -29,14 +29,16 @@
# 1.0 - Initial release.
# 1.1 - Removed a bashism (==) to become ash-compatible.
+# Modified by the SlackBuilds.org project
+
PRGNAM=yafaray
-VERSION=${VERSION:-0.1.1}
+VERSION=${VERSION:-3.2.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
@@ -47,14 +49,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="LICENSE CODING INSTALL"
-# Set to yes to build the qt4 gui (needs qt4)
-USEQT=${USEQT:-yes}
-# Set to yes to build python bindings too (needs swig)
-BUILDPYTHON=${BUILDPYTHON:-no}
-
-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"
@@ -72,61 +68,37 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM
-unzip "$CWD/YafaRay.${VERSION}.zip"
-cd $PRGNAM
+rm -rf Core-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd Core-$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 [ ${USEQT} = yes ]; then
- QTTARGET="YF_QTDIR=/usr WITH_YF_QT=true"
-else
- QTTARGET=""
-fi
-
-# The build system is kinda 'naive': it hardcodes the PREFIX and other
-# directories specified at configure-time into the final libs, so we can't
-# specify PREFIX=${PKG}/usr, YF_LIBOUT=${PKG}/usr/lib.. because, when the
-# package will be installed, the program will try to find its libraries in a
-# /tmp path, and not in /usr/lib/yafaray as it should.
-# An easy workaround is to exploit the included debian package creator to
-# install all the files in a temporary location without having to specify a
-# "fake" PREFIX location. However, this seems to be glitchy too, as specifying
-# a different YF_PACKPATH doesn't seem to work fine, so we have to manually
-# copy the files from the temporary debian build path to $PKG in the end.
-
-if [ ${BUILDPYTHON} = no ]; then
- scons debian $QTTARGET PREFIX=/usr \
- YF_LIBOUT=/usr/lib${LIBDIRSUFFIX} \
- YF_PLUGINPATH=/usr/lib${LIBDIRSUFFIX}/yafaray \
- REL_CCFLAGS="${SLKCFLAGS}" || echo "Don't worry about the dpkg error"
-else
- scons swig debian $QTTARGET PREFIX=/usr \
- YF_LIBOUT=/usr/lib${LIBDIRSUFFIX} \
- YF_PLUGINPATH=/usr/lib${LIBDIRSUFFIX}/yafaray \
- REL_CCFLAGS="${SLKCFLAGS}" || echo "Don't worry about the dpkg error"
- # Install also python bindings (manually T_T)
- mkdir -p ${PKG}/usr/lib${LIBDIRSUFFIX}/python2.6/site-packages
- mv bindings/python/* ${PKG}/usr/lib${LIBDIRSUFFIX}/python2.6/site-packages/
-fi
-
-# Copy "debian" package root to our package root.
-# mv may complain if the python bindings have already been
-# moved to their new home, hence we use cp + rm.
-cp -r debian/${PRGNAM}/* ${PKG}
-rm -rf debian/${PRGNAM}
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ \( -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_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DYAF_LIB_DIR=lib$LIBDIRSUFFIX \
+ -DWITH_QT=${QTGUI:-ON} \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ make install DESTDIR=$PKG
+cd ..
+
+# We install these manually
+rm -fR $PKG/usr/share/doc
+
+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
+cp -a AUTHORS CHANGELOG CODING LICENSES README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/graphics/yafaray/yafaray.info b/graphics/yafaray/yafaray.info
index a65706fcc5..c6af52edc6 100644
--- a/graphics/yafaray/yafaray.info
+++ b/graphics/yafaray/yafaray.info
@@ -1,10 +1,10 @@
PRGNAM="yafaray"
-VERSION="0.1.1"
+VERSION="3.2.0"
HOMEPAGE="http://www.yafaray.org"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/YafaRay.0.1.1.zip"
-MD5SUM="d1722dec25299f6f3fcc1d7c661a4e90"
+DOWNLOAD="https://github.com/YafaRay/Core/archive/v3.2.0/yafaray-3.2.0.tar.gz"
+MD5SUM="191e81b3d8c942302b97c142049365df"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="opencv"
MAINTAINER="Alan Alberghini"
EMAIL="414N@slacky.it"
diff --git a/ham/fldigi/fldigi.SlackBuild b/ham/fldigi/fldigi.SlackBuild
index b45d7c3250..b0aafdefae 100644
--- a/ham/fldigi/fldigi.SlackBuild
+++ b/ham/fldigi/fldigi.SlackBuild
@@ -68,7 +68,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
diff --git a/ham/soundmodem/soundmodem.SlackBuild b/ham/soundmodem/soundmodem.SlackBuild
index 4f724fcbb9..17a2e7fdfc 100644
--- a/ham/soundmodem/soundmodem.SlackBuild
+++ b/ham/soundmodem/soundmodem.SlackBuild
@@ -64,7 +64,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS -fgnu89-inline" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
diff --git a/ham/svxlink/gcc6.patch b/ham/svxlink/gcc6.patch
new file mode 100644
index 0000000000..3d01b118ae
--- /dev/null
+++ b/ham/svxlink/gcc6.patch
@@ -0,0 +1,23 @@
+From 611cc5cc134f710f94fc8987375259bd8af34604 Mon Sep 17 00:00:00 2001
+From: Tobias Blomberg <git@sm0svx.shacknet.nu>
+Date: Mon, 19 Jun 2017 22:04:20 +0200
+Subject: [PATCH] Fix compilation problem in Async::AudioDeviceAlsa
+
+- On newer compilers the compilation would fail on ambiguous call to abs
+---
+ src/async/audio/AsyncAudioDeviceAlsa.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/async/audio/AsyncAudioDeviceAlsa.cpp b/src/async/audio/AsyncAudioDeviceAlsa.cpp
+index 17d255e8..15d760d5 100644
+--- a/src/async/audio/AsyncAudioDeviceAlsa.cpp
++++ b/src/async/audio/AsyncAudioDeviceAlsa.cpp
+@@ -548,7 +548,7 @@ bool AudioDeviceAlsa::initParams(snd_pcm_t *pcm_handle)
+ return false;
+ }
+
+- if (::abs(real_rate - sample_rate) > 100)
++ if (::abs(static_cast<int>(real_rate) - sample_rate) > 100)
+ {
+ cerr << "*** ERROR: The sample rate could not be set to "
+ << sample_rate << "Hz for ALSA device \"" << dev_name << "\". "
diff --git a/ham/svxlink/svxlink.SlackBuild b/ham/svxlink/svxlink.SlackBuild
index 8d043635c1..28982e9a31 100644
--- a/ham/svxlink/svxlink.SlackBuild
+++ b/ham/svxlink/svxlink.SlackBuild
@@ -107,12 +107,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 -p2 < $CWD/gcc6.patch
+
mkdir -p build
cd build
cmake \
$BUILD_QTEL \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -fpermissive" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSYSCONF_INSTALL_DIR=/etc \
-DLOCAL_STATE_DIR=/var \
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 a15494cdee..86eed7e2c1 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<line_profile_aa*>(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/bamf.SlackBuild b/libraries/bamf/bamf.SlackBuild
index 4ee3a85b1c..6982535729 100644
--- a/libraries/bamf/bamf.SlackBuild
+++ b/libraries/bamf/bamf.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=deprecated-declarations" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
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/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/python/typing/typing.SlackBuild b/libraries/cppo/cppo.SlackBuild
index dd20ef0bf6..13d2735cdf 100644
--- a/python/typing/typing.SlackBuild
+++ b/libraries/cppo/cppo.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for typing
+# Slackware build script for cppo
-# Copyright 2016-2019 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=typing
-VERSION=${VERSION:-3.7.4.1}
+PRGNAM=cppo
+VERSION=${VERSION:-1.6.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,22 +60,24 @@ 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 \
+ -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 {} \;
-python setup.py install --root=$PKG
+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 LICENSE PKG-INFO README.rst $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
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/python/idna/slack-desc b/libraries/cppo/slack-desc
index 5010245075..bc43af6c08 100644
--- a/python/idna/slack-desc
+++ b/libraries/cppo/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-idna: idna (Internationalized Domain Names in Applications)
-idna:
-idna: A library to support the IDNA protocol as specified in RFC 5891.
-idna:
-idna:
-idna:
-idna: Homepage: https://github.com/kjd/idna
-idna:
-idna:
-idna:
-idna:
+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 <vector>
+ typedef std::vector<uint16_t> 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 <anbe@debian.org>
+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 <strings.h>
++#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)" <raster@rasterman.com>
+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 <stddef.h>
++# ifndef GL_VERSION_1_5
++# include <stddef.h>
+ typedef ptrdiff_t GLintptr; // Changed khronos_intptr_t
+ typedef ptrdiff_t GLsizeiptr; // Changed khronos_ssize_t
++# endif
+ #endif
+
+ /* Some definitions from GLES 3.0.
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 <marcin.kolny@gmail.com>
+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?= <corsepiu@fedoraproject.org>
+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/network/nghttp2/nghttp2.SlackBuild b/libraries/gtksourceview4/gtksourceview4.SlackBuild
index 39af89748f..e7ce6ca1fb 100644
--- a/network/nghttp2/nghttp2.SlackBuild
+++ b/libraries/gtksourceview4/gtksourceview4.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for "nghttp2".
+# Slackware build script for gtksourceview
-# Copyright 2016 Marcel Saegebarth <marc@mos6581.de>
+# Copyright 2012-2016 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -24,8 +24,9 @@
# (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=nghttp2
-VERSION=${VERSION:-1.16.1}
+PRGNAM=gtksourceview4
+SRCNAM=gtksourceview
+VERSION=${VERSION:-4.0.3}
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.xz
-cd $PRGNAM-$VERSION
+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 \
@@ -80,19 +81,20 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --disable-python-bindings \
- --with-jemalloc \
- --disable-static \
+ --enable-glade-catalog \
--build=$ARCH-slackware-linux
-make
+# 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/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
+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 ChangeLog INSTALL README $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
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 <thomas.heller@cs.fau.de>
+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 <yallaone@gmail.com>
-#
-# 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 <rworkman@slackbuilds.org>
-
-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 17d22bb8c7..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="Yalla-One"
-EMAIL="yallaone@gmail.com"
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 <string>
-+#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 <string.h>
-+#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 <assert.h>
-
-+#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 <thijmen@id3lib.org>
-
- * 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 <jfch@jagda.eu>
-# 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.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/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
--- a/libraries/lame/CVE-2017-15018.patch.gz
+++ /dev/null
Binary files differ
diff --git a/libraries/lame/README b/libraries/lame/README
deleted file mode 100644
index b196d4079f..0000000000
--- a/libraries/lame/README
+++ /dev/null
@@ -1,3 +0,0 @@
-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 2b44132473..0000000000
--- a/libraries/lame/lame.SlackBuild
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for lame
-
-# Copyright 2006 Martin Lefebvre <dadexter@gmail.com>
-# Copyright 2008,2010 Michiel van Wessem, Manchester, United Kingdom
-# 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=lame
-VERSION=${VERSION:-3.99.5}
-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 {} \;
-
-# Fix for the newer gcc
-# http://www.linuxfromscratch.org/blfs/view/svn/multimedia/lame.html
-case $(uname -m) in
- i?86) sed -i -e '/xmmintrin\.h/d' configure ;;
-esac
-
-# Fix CVE-2017-15018
-zcat $CWD/CVE-2017-15018.patch.gz | patch -p1
-
-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 pkgdocdir=/usr/doc/$PRGNAM-$VERSION 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
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-
-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 88b34affad..0000000000
--- a/libraries/lame/lame.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="lame"
-VERSION="3.99.5"
-HOMEPAGE="http://lame.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/lame/lame-3.99.5.tar.gz"
-MD5SUM="84835b313d4a8b68f5349816d33e07ce"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Michiel van Wessem"
-EMAIL="michiel@slackbuilds.org"
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 <raph@acm.org> is the author of libart.
diff --git a/audio/opusfile/opusfile.SlackBuild b/libraries/libart-lgpl/libart-lgpl.SlackBuild
index f771403ff1..27801d55a5 100644
--- a/audio/opusfile/opusfile.SlackBuild
+++ b/libraries/libart-lgpl/libart-lgpl.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for opusfile
+# Slackware build script for libart-lgpl
-# Copyright 2013-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=opusfile
-VERSION=${VERSION:-0.11}
+PRGNAM=libart-lgpl
+VERSION=${VERSION:-r14.0.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,7 +54,7 @@ else
LIBDIRSUFFIX=""
fi
-DOCS="AUTHORS COPYING README.md"
+DOCS="AUTHORS COPYING ChangeLog NEWS README"
set -e
@@ -69,7 +69,7 @@ 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 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
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/desktop/seafile-gui/slack-desc b/libraries/libart-lgpl/slack-desc
index 4de44d8853..eb0120d1d0 100644
--- a/desktop/seafile-gui/slack-desc
+++ b/libraries/libart-lgpl/slack-desc
@@ -6,14 +6,15 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-seafile-gui: seafile-gui (Seafile Desktop Client)
-seafile-gui:
-seafile-gui: Graphical desktop client for the Seafile next-generation open
-seafile-gui: source cloud storage system with advanced support for file syncing,
-seafile-gui: privacy protection and teamwork.
-seafile-gui:
-seafile-gui: Homepage: http://seafile.com/
-seafile-gui:
-seafile-gui:
-seafile-gui:
-seafile-gui:
+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 <raph@acm.org> 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 <larryhaja[at]gmail[dot]com>
-# 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 ec6f66d40b..0000000000
--- a/libraries/libc++/libc++.SlackBuild
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for libc++
-
-# Copyright 2017 Coastal Carolina University
-# 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:-1}
-TAG=${TAG:-_SBo}
-
-SOURCES=(
- llvm-${VERSION}.src.tar.xz
- libcxxabi-${VERSION}.src.tar.xz
- libcxx-${VERSION}.src.tar.xz
-)
-
-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 llvm-${VERSION}
-tar xvf $CWD/${SOURCES[0]}
-mv llvm-${VERSION}.src llvm-${VERSION}
-
-cd llvm-${VERSION}/projects
-tar xvf $CWD/${SOURCES[1]}
-tar xvf $CWD/${SOURCES[2]}
-mv libcxx-${VERSION}.src libcxx
-mv libcxxabi-${VERSION}.src libcxxabi
-cd ..
-
-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 {} \;
-
-cd $TMP
-rm -rf build
-mkdir -p build
-
-cd build
-CC=clang CXX=clang++ cmake \
- -G "Unix Makefiles" \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLLVM_LIBDIR_SUFFIX=${LIBDIRSUFFIX} \
- -DLLVM_ENABLE_SPHINX=ON \
- -DLIBCXX_INCLUDE_DOCS=ON \
- ../llvm-${VERSION}
-
-# This break with unknown option: LLVM_BUILD_32_BITS
-#make cxx docs-libcxx-html
-make install-libcxx DESTDIR=${PKG}
-make 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 llvm-${VERSION}/projects/libcxx/CREDITS.TXT \
- $PKG/usr/doc/${PRGNAM}-${VERSION}/libcxx-CREDITS.TXT
-cp llvm-${VERSION}/projects/libcxx/LICENSE.TXT \
- $PKG/usr/doc/${PRGNAM}-${VERSION}/libcxx-LICENSE.TXT
-cp llvm-${VERSION}/projects/libcxxabi/CREDITS.TXT \
- $PKG/usr/doc/${PRGNAM}-${VERSION}/libcxxabi-CREDITS.TXT
-cp llvm-${VERSION}/projects/libcxx/LICENSE.TXT \
- $PKG/usr/doc/${PRGNAM}-${VERSION}/libcxxabi-LICENSE.TXT
-#cp -a build/projects/libcxx/docs/html $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/libc++/libc++.info b/libraries/libc++/libc++.info
deleted file mode 100644
index 7d803612bb..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 Sphinx"
-MAINTAINER="Dr. Mike Murphy"
-EMAIL="mmurphy2@coastal.edu"
diff --git a/libraries/libc++/slack-desc b/libraries/libc++/slack-desc
deleted file mode 100644
index d59c7ba0fc..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++:
-libc++:
-libc++:
-libc++:
-libc++: Project Website: http://libcxx.llvm.org/
-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 <lkundrak@v3.sk>
+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<char>’ 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 <lkundrak@v3.sk>
+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<A1, A2>::operator()(boost::_bi::type<void>, F&, A&, int) [with F = void (*)(double&, double&); A = boost::_bi::rrlist1<double>; A1 = boost::reference_wrapper<double>; A2 = boost::arg<1>]’:
+ /usr/include/boost/bind/bind.hpp:1234:50: required from ‘boost::_bi::bind_t<R, F, L>::result_type boost::_bi::bind_t<R, F, L>::operator()(A1&&) [with A1 = double; R = void; F = void (*)(double&, double&); L = boost::_bi::list2<boost::reference_wrapper<double>, boost::arg<1> >; boost::_bi::bind_t<R, F, L>::result_type = void]’
+ /usr/include/boost/function/function_template.hpp:159:11: required from ‘static void boost::detail::function::void_function_obj_invoker1<FunctionObj, R, T0>::invoke(boost::detail::function::function_buffer&, T0) [with FunctionObj = boost::_bi::bind_t<void, void (*)(double&, double&), boost::_bi::list2<boost::reference_wrapper<double>, boost::arg<1> > >; R = void; T0 = double]’
+ /usr/include/boost/function/function_template.hpp:937:38: required from ‘void boost::function1<R, T1>::assign_to(Functor) [with Functor = boost::_bi::bind_t<void, void (*)(double&, double&), boost::_bi::list2<boost::reference_wrapper<double>, boost::arg<1> > >; R = void; T0 = double]’
+ /usr/include/boost/function/function_template.hpp:727:7: required from ‘boost::function1<R, T1>::function1(Functor, typename boost::enable_if_c<(! boost::is_integral<Functor>::value), int>::type) [with Functor = boost::_bi::bind_t<void, void (*)(double&, double&), boost::_bi::list2<boost::reference_wrapper<double>, boost::arg<1> > >; R = void; T0 = double; typename boost::enable_if_c<(! boost::is_integral<Functor>::value), int>::type = int]’
+ /usr/include/boost/function/function_template.hpp:1073:16: required from ‘boost::function<R(T0)>::function(Functor, typename boost::enable_if_c<(! boost::is_integral<Functor>::value), int>::type) [with Functor = boost::_bi::bind_t<void, void (*)(double&, double&), boost::_bi::list2<boost::reference_wrapper<double>, boost::arg<1> > >; R = void; T0 = double; typename boost::enable_if_c<(! boost::is_integral<Functor>::value), int>::type = int]’
+ /usr/include/boost/function/function_template.hpp:1126:5: required from ‘typename boost::enable_if_c<(! boost::is_integral<Functor>::value), boost::function<R(T0)>&>::type boost::function<R(T0)>::operator=(Functor) [with Functor = boost::_bi::bind_t<void, void (*)(double&, double&), boost::_bi::list2<boost::reference_wrapper<double>, boost::arg<1> > >; R = void; T0 = double; typename boost::enable_if_c<(! boost::is_integral<Functor>::value), boost::function<R(T0)>&>::type = boost::function<void(double)>&]’
+ 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<F>::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<void (double)> update_function;
++ typedef boost::function<void (double&)> update_function;
+
+ /** \brief The type of the function used to compute the new value. */
+ typedef boost::function<double (double)> 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 <julien.jorge@iscool-e.com>
+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<typename U>
+ claw::math::box_2d<U> claw::math::box_2d<T>::cast_value_type_to() const
+ {
+ return claw::math::box_2d<U>
+- ( first_point.cast_value_type_to<U>(),
+- second_point.cast_value_type_to<U>() );
++ ( first_point.template cast_value_type_to<U>(),
++ second_point.template cast_value_type_to<U>() );
+ } // 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<typename U>
+ claw::math::rectangle<U> claw::math::rectangle<T>::cast_value_type_to() const
+ {
+ return claw::math::rectangle<U>
+- ( position.cast_value_type_to<U>(), (U)width, (U)height );
++ ( position.template cast_value_type_to<U>(), (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 <s@ramov.com>
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 <cassert>
- #include <sys/poll.h>
- #include <fcntl.h>
-+#include <unistd.h>
-
- 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 <gtkmm.h>
+ #include <dbus-c++/dbus.h>
+ #include <dbus-c++/glib-integration.h>
+-#include <gtkmm.h>
+
+ #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 @@
+ <table><tr>
+ <td></td>
+ <td class="copyright">Copyright &copy;$year DBus-C++ Project</td>
+- <td class="generated">Docs generated $datetime</td>
+ </tr></table>
+ </div>
+
+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 <leva@ecentrum.hu>
-# 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/libgexiv2/README b/libraries/libgexiv2/README
deleted file mode 100644
index 40c7cae33c..0000000000
--- a/libraries/libgexiv2/README
+++ /dev/null
@@ -1,3 +0,0 @@
-gexiv2 is a GObject wrapper around the Exiv2 photo metadata library.
-It allows for GNOME applications to easily inspect and update
-EXIF, IPTC, and XMP metadata in photo files of various formats.
diff --git a/libraries/libgexiv2/libgexiv2.SlackBuild b/libraries/libgexiv2/libgexiv2.SlackBuild
deleted file mode 100644
index be7abf73da..0000000000
--- a/libraries/libgexiv2/libgexiv2.SlackBuild
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for entangle
-
-# Copyright 2014 Soydaner Ulker Istanbul,Turkey
-# 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=libgexiv2
-SRCNAM=gexiv2
-VERSION=${VERSION:-0.10.3}
-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 $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} \
- --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 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 2ee1652043..3faa71b9dc 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 0fc7a67f17..37520b5cd8 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 417f1846a9..0000000000
--- a/libraries/libinput/libinput.SlackBuild
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-#
-# Slackware build script for libinput.
-#
-# Copyright 2016-2018 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.14.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=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 e8d2cc4b2b..0000000000
--- a/libraries/libinput/libinput.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="libinput"
-VERSION="1.14.1"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/libinput"
-DOWNLOAD="https://www.freedesktop.org/software/libinput/libinput-1.14.1.tar.xz"
-MD5SUM="da29a704dc6f7ea2d5aac754db046340"
-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 e1550512cf..ad61013270 100644
--- a/libraries/libmp4v2/libmp4v2.SlackBuild
+++ b/libraries/libmp4v2/libmp4v2.SlackBuild
@@ -81,7 +81,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
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 <openssl/hmac.h>
+
++#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..820f5aa823 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:-20190502_77edb1f}
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..ab0f97d4a0 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="20190502_77edb1f"
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-20190502_77edb1f.tar.xz"
+MD5SUM="54ca9279c01ec66ffd481371f9f35ee8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/libraries/libopenshot/libopenshot.SlackBuild b/libraries/libopenshot/libopenshot.SlackBuild
index cb04349871..08caf37340 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:-20190503_7c20910}
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..7a7774125f 100644
--- a/libraries/libopenshot/libopenshot.info
+++ b/libraries/libopenshot/libopenshot.info
@@ -1,9 +1,9 @@
PRGNAM="libopenshot"
-VERSION="0.2.3"
+VERSION="20190503_7c20910"
HOMEPAGE="https://github.com/OpenShot/libopenshot"
-DOWNLOAD="https://github.com/OpenShot/libopenshot/archive/v0.2.3/libopenshot-0.2.3.tar.gz \
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/libopenshot-20190503_7c20910.tar.xz \
https://raw.githubusercontent.com/zeromq/cppzmq/014628c/zmq.hpp"
-MD5SUM="7ba70ff88ef52f658ce550aad1f5eaa1 \
+MD5SUM="081ed07cd12af96c8002d59db99e15dc \
56f264ec5604a5576e0d836d89c38c77"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
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 <willysr@slackbuilds.org>
-# 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/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 <t3slider@gmail.com>
-# 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/libtorrent-rasterbar.SlackBuild b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild
index 738af258b4..343e8aaacd 100644
--- a/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild
+++ b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=libtorrent-rasterbar
-VERSION=${VERSION:-1.1.12}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.1.13}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
@@ -76,6 +76,8 @@ sed -i -e "s/+ target_specific(),/+ target_specific() + ['-std=c++11'],/" \
EXAMPLES=${EXAMPLES:-no}
[ "$EXAMPLES" = "yes" ] && examples="--enable-examples"
+patch -p1 < $CWD/libtorrent-1_1_13...RC_1_1.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
diff --git a/libraries/libtorrent-rasterbar/libtorrent-rasterbar.info b/libraries/libtorrent-rasterbar/libtorrent-rasterbar.info
index dfdb8da72b..d9c4df26be 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.12"
+VERSION="1.1.13"
HOMEPAGE="https://libtorrent.org/"
-DOWNLOAD="https://github.com/arvidn/libtorrent/releases/download/libtorrent_1_1_12/libtorrent-rasterbar-1.1.12.tar.gz"
-MD5SUM="2936033607cd2e3e3edff0e10f6ac799"
+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.patch"
+MD5SUM="a3eec8d384f0343df1fb417c14c4e20d \
+ b9c90467753cc80cf5d6de7f960d5238"
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 <carlos@strangeworlds.co.uk>
-# 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 <thorsten.johannvorderbrueggen@t-online.de>
-# 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..8cd9900e6b 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:-2.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..fc47c60e88 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="2.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-2.0.0.tar.gz"
+MD5SUM="b470b5524c29b61a8ce8e0d094e6c835"
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..36c63d17c1 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.8.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..48e569f255 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.8.0"
+HOMEPAGE="https://libvirt.org"
+DOWNLOAD="https://libvirt.org/sources/python/libvirt-python-5.8.0.tar.gz"
+MD5SUM="b8012d998e8e3c0054934173ae7373b1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libvirt"
diff --git a/libraries/libvirt/libvirt.SlackBuild b/libraries/libvirt/libvirt.SlackBuild
index 84008caff4..29559a2513 100644
--- a/libraries/libvirt/libvirt.SlackBuild
+++ b/libraries/libvirt/libvirt.SlackBuild
@@ -5,8 +5,8 @@
# Maintained by Robby Workman <rworkman@slackbuilds.org>
PRGNAM=libvirt
-VERSION=${VERSION:-4.5.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-5.8.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
diff --git a/libraries/libvirt/libvirt.info b/libraries/libvirt/libvirt.info
index f8186d1ad3..3ba25f69f7 100644
--- a/libraries/libvirt/libvirt.info
+++ b/libraries/libvirt/libvirt.info
@@ -1,10 +1,10 @@
PRGNAM="libvirt"
-VERSION="4.5.0"
+VERSION="5.8.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.8.0.tar.xz"
+MD5SUM="3f33359d42e4e996c93f6864b4a89a09"
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 f9a16a99ea..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.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-$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 efae11d029..0000000000
--- a/libraries/libwacom/libwacom.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="libwacom"
-VERSION="1.1"
-HOMEPAGE="https://github.com/linuxwacom/libwacom"
-DOWNLOAD="https://github.com/linuxwacom/libwacom/archive/libwacom-1.1/libwacom-libwacom-1.1.tar.gz"
-MD5SUM="5e2fa8477f8d2d7f34837c1f9b1a3852"
-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 446ff37892..db5d057a78 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 <xlocale.h>.*/#include <locale.h>/' 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ć <contact@igor-zivkovic.from.hr>
-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 <libavutil/opt.h>
-+}
- #include <limits>
- #include <iomanip>
- #include <stdio.h>
-@@ -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 <fstream>
- #include <stdlib.h>
- #include <sys/stat.h>
-+#include <unistd.h>
-
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
-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 <codec/opalplugin.hpp>
-
- #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 <codec/opalplugin.hpp>
- #include <stdio.h>
-+#include <unistd.h>
-
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
-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 <libavcodec/...h>
- # 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 <libavutil/opt.h>
- #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 <larryhaja[at]gmail[dot]com>
-# 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/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. <krejzi at email dot com>
+Updated By: Bruce Dubbs <bduubs at linuxfromscratch dot org>
+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 <ext/atomicity.h>
+ # else
+ # include <bits/atomicity.h>
+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 <http://www.gnu.org/licenses/>. */
++
++/* 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 <smb@research.att.com> while
++** at the University of North Carolina at Chapel Hill. Later tweaked by
++** a couple of people on Usenet. Completely overhauled by Rich $alz
++** <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> 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 <time.h>
++#include <string.h>
++#include <ctype.h>
++#include <stdlib.h>
++
++#ifndef EOF
++#include <stdio.h>
++#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 <stddef.h> /* 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 <libintl.h> /* 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 <alloca.h> /* INFRINGES ON USER NAME SPACE */
++# elif defined _AIX
++# define YYSTACK_ALLOC __alloca
++# elif defined _MSC_VER
++# include <malloc.h> /* 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 <stdlib.h> /* 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 <stdlib.h> /* 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 <stdio.h> /* 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
++ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
++ 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 <ptlib.h>
+ #include <sys/ioctl.h>
+-
++#include <sys/uio.h>
++#include <unistd.h>
+
+ #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 <slackph at posteo dot de>
-#
-# 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 <brent at exitstatusone dot com>
-# 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 5dc15c76bd..e0ef87849e 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 de2d8ee75f..f3d784f00e 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/pulseaudio-13.patch b/libraries/qt5/patches/pulseaudio-13.patch
new file mode 100644
index 0000000000..f4444fcdb6
--- /dev/null
+++ b/libraries/qt5/patches/pulseaudio-13.patch
@@ -0,0 +1,63 @@
+diff -Naur ./chromium.orig/media/audio/pulse/pulse.sigs ./chromium/media/audio/pulse/pulse.sigs
+--- ./chromium.orig/media/audio/pulse/pulse.sigs 2019-03-29 11:20:07.000000000 +0100
++++ ./chromium/media/audio/pulse/pulse.sigs 2019-09-26 20:52:52.933995000 +0200
+@@ -23,11 +23,11 @@
+ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const_pa_context_ptr c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -37,21 +37,21 @@
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const_pa_stream_ptr s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+ void pa_proplist_free(pa_proplist* p);
+-int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++int pa_proplist_sets(pa_proplist *p, const char *key, const char *value);
++size_t pa_stream_readable_size(const pa_stream *p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const pa_context *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
+diff -Naur ./chromium.orig/media/audio/pulse/pulse_stub_header.fragment ./chromium/media/audio/pulse/pulse_stub_header.fragment
+--- ./chromium.orig/media/audio/pulse/pulse_stub_header.fragment 2019-03-29 11:20:07.000000000 +0100
++++ ./chromium/media/audio/pulse/pulse_stub_header.fragment 2019-09-26 20:43:15.312995000 +0200
+@@ -5,4 +5,15 @@
+
+ #include <pulse/pulseaudio.h>
+
++#if PA_MAJOR > 12
++typedef const pa_context* const_pa_context_ptr;
++typedef const pa_operation* const_pa_operation_ptr;
++typedef const pa_proplist* const_pa_proplist_ptr;
++typedef const pa_stream* const_pa_stream_ptr;
++#else
++typedef pa_context* const_pa_context_ptr;
++typedef pa_operation* const_pa_operation_ptr;
++typedef pa_proplist* const_pa_proplist_ptr;
++typedef pa_stream* const_pa_stream_ptr;
++#endif
+ }
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 <openssl/opensslv.h>
++
++#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 <rich@kde.org>
+ ** 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<QSsl::AlternativeNameEntryType, QString> QSslCertificate::subjectAlter
+ continue;
+ }
+
+- const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
++ const char *altNameStr = reinterpret_cast<const char *>(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<void(*)(void*)>(q_sk_free));
++
++ q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(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<X509V3_EXT_METHOD *>(q_X509V3_EXT_get(ext));
+ if (!meth) {
+ ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext);
+- QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_data(value)),
++ QByteArray result( reinterpret_cast<const char *>(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<const char *>(q_ASN1_STRING_data(name->d.uniformResourceIdentifier));
++ const char *uriStr = reinterpret_cast<const char *>(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<void(*)(void*)>(q_sk_free));
+-#else
+- q_sk_pop_free((STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
+-#endif
++ q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast<void(*)(void *)>(q_OPENSSL_sk_free));
+ return result;
+ }
+ break;
+@@ -607,7 +607,11 @@ static QMap<QByteArray, QString> _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 <QtNetwork/qsslsocket.h>
+-#include <QtNetwork/qssldiffiehellmanparameters.h>
+-#include <QtCore/qmutex.h>
+
+ #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<QSslCipher> 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<QByteArray> 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<EVP_PKEY *>(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<RSA *>(configuration.d->privateKey.handle()));
+- else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
+- q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(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<EC_KEY *>(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<X509 *>(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 &params = dhparams.d->derData;
+- const char *ptr = params.constData();
+- DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&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<QSslEllipticCurve> 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<int *>(reinterpret_cast<const int *>(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<unsigned char *>(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 <rich@kde.org>
++** 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 <QtNetwork/qsslsocket.h>
++#include <QtNetwork/qssldiffiehellmanparameters.h>
++
++#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 <vector>
++
++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<QSslCipher> 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<QByteArray> 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<EVP_PKEY *>(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<RSA *>(configuration.d->privateKey.handle()));
++ else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
++ q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(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<EC_KEY *>(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<X509 *>(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 &params = dhparams.d->derData;
++ const char *ptr = params.constData();
++ DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&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<QSslEllipticCurve> 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<int> 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 <QtNetwork/qsslsocket.h>
++#include <QtNetwork/qssldiffiehellmanparameters.h>
++
++#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<QSslCipher> 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<QByteArray> 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<EVP_PKEY *>(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<RSA *>(configuration.d->privateKey.handle()));
++ else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
++ q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(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<EC_KEY *>(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<X509 *>(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 &params = dhparams.d->derData;
++ const char *ptr = params.constData();
++ DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&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<QSslEllipticCurve> 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<int *>(reinterpret_cast<const int *>(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 <mikkel@krautz.dk>
++** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtNetwork module of the Qt Toolkit.
+@@ -50,8 +51,8 @@
+ #include <QtCore/qdebug.h>
+ #endif
+
+-// For q_BN_is_word.
+ #include <openssl/bn.h>
++#include <openssl/dh.h>
+
+ 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<BIGNUM *>(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 <rich@kde.org>
+ ** 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 <rich@kde.org>
+ ** 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<const unsigned char *>(key.constData()),
++ reinterpret_cast<const unsigned char *>(iv.constData()),
++ enc);
++#else
++ q_EVP_CipherInit(ctx, NULL,
+ reinterpret_cast<const unsigned char *>(key.constData()),
+ reinterpret_cast<const unsigned char *>(iv.constData()), enc);
+- q_EVP_CipherUpdate(&ctx,
++#endif // opensslv11
++
++ q_EVP_CipherUpdate(ctx,
+ reinterpret_cast<unsigned char *>(output.data()), &len,
+ reinterpret_cast<const unsigned char *>(data.constData()), data.size());
+- q_EVP_CipherFinal(&ctx,
++ q_EVP_CipherFinal(ctx,
+ reinterpret_cast<unsigned char *>(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<QSslErrorEntry> 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<QByteArray> 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<QSslCipher> ciphers;
+@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves()
+ QVector<QSslEllipticCurve> 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<EC_builtin_curve> builtinCurves(static_cast<int>(curveCount));
+
+@@ -698,13 +510,14 @@ QList<QSslCertificate> 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<int>(pc->cbCertEncoded));
++ QByteArray der(reinterpret_cast<const char *>(pc->pbCertEncoded),
++ static_cast<int>(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<SSL_CIPHER *>(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<const char *>(ssl->session->master_key);
+- QByteArray masterKey(mk, ssl->session->master_key_length);
+- const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
+- QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
+-
+- // different format, needed for e.g. older Wireshark versions:
+-// const char *sid = reinterpret_cast<const char *>(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<const char *>(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<QSslCertificate> QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509)
+ {
+ ensureInitialized();
+@@ -1694,12 +1395,12 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
+ 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<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
+ first = false;
+ continue;
+ }
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+- q_sk_push( (_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
+-#else
+- q_sk_push( (STACK *)intermediates, reinterpret_cast<char *>(cert.handle()));
+-#endif
++
++ q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
+ }
+ }
+
+@@ -1741,11 +1439,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
+ (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<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
++ q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
++ reinterpret_cast<void (*)(void *)>(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<STACK *>(ca), reinterpret_cast<void(*)(void*)>(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<OPENSSL_STACK *>(ca),
++ reinterpret_cast<void (*)(void *)>(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 <rich@kde.org>
++** 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 <QtCore/qdebug.h>
++#include <QtCore/qdir.h>
++#include <QtCore/qdiriterator.h>
++#include <QtCore/qfile.h>
++#include <QtCore/qmutex.h>
++#include <QtCore/qlibrary.h>
++
++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<QByteArray> 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<unsigned char*>(masterKey.data()),
++ masterKey.size());
++ q_SSL_get_client_random(ssl, reinterpret_cast<unsigned char *>(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<const char *>(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 <rich@kde.org>
++** 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 <openssl/crypto.h>
+ #include <openssl/tls1.h>
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+-typedef _STACK STACK;
++#if QT_CONFIG(opensslv11)
++#include <openssl/dh.h>
+ #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<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509);
+ static QList<QSslError> verify(const QList<QSslCertificate> &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 <rich@kde.org>
+ ** 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<BN_ULONG>(-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<QLibrary*, QLibrary*> 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_ <bundle>/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 <QtCore/qdebug.h>
++#include <QtCore/qdir.h>
++#include <QtCore/qdiriterator.h>
++#include <QtCore/qthread.h>
++#include <QtCore/qfile.h>
++#include <QtCore/qmutex.h>
++#include <QtCore/qlibrary.h>
++
++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<QByteArray> 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<const char *>(ssl->session->master_key);
++ QByteArray masterKey(mk, ssl->session->master_key_length);
++ const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
++ QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
++
++ // different format, needed for e.g. older Wireshark versions:
++// const char *sid = reinterpret_cast<const char *>(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<const char *>(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 <openssl/opensslv.h>
+
+-#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 <openssl/ssl.h>
diff --git a/libraries/qt5/qt5.SlackBuild b/libraries/qt5/qt5.SlackBuild
index 6d36e054f0..9120f64857 100644
--- a/libraries/qt5/qt5.SlackBuild
+++ b/libraries/qt5/qt5.SlackBuild
@@ -157,6 +157,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 {} \+
+# Support for openssl-1.1.x - Thanks a lot to Ole-André!
+( cd qtbase
+ patch -p1 < $CWD/patches/qtbase59-openssl11.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
@@ -173,6 +177,11 @@ if [ "$WEBENGINE" = "yes" ]; then
cat $CWD/patches/explicitly-initialize-sqlite.patch \
| patch -p1 --verbose
) || exit 1
+ # Fix also issues with gcc >= 8.x and pulseaudio >= 13.0
+ ( cd qtwebengine
+ patch -p1 < $CWD/patches/qt5.webengine_gcc8.patch )
+ ( cd qtwebengine/src/3rdparty
+ patch -p1 < $CWD/patches/pulseaudio-13.patch )
fi
# Borrowed a few things from alienBOB:
@@ -189,7 +198,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 \
@@ -217,7 +226,7 @@ export CXXFLAGS="$SLKCFLAGS -std=c++11"
-no-strip \
-release \
-no-use-gold-linker \
- -c++std c++11 \
+ -optimized-qmake \
$CCACHE \
$CODECS \
$PULSE \
diff --git a/libraries/rapidjson/rapidjson.SlackBuild b/libraries/rapidjson/rapidjson.SlackBuild
index 474a7d13e4..3224dc94fd 100644
--- a/libraries/rapidjson/rapidjson.SlackBuild
+++ b/libraries/rapidjson/rapidjson.SlackBuild
@@ -75,7 +75,7 @@ patch -p1 < $CWD/fix-build-on-gcc7.diff
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/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 ddbc5d2333..f70fe2d73a 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 <tetromino@gentoo.org>
+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/vte3/slack-desc b/libraries/vte2/slack-desc
index 7f685687da..1c583a507c 100644
--- a/libraries/vte3/slack-desc
+++ b/libraries/vte2/slack-desc
@@ -6,14 +6,14 @@
# 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:
+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/vte3/vte3.SlackBuild b/libraries/vte2/vte2.SlackBuild
index 22767e6827..8d137f0f6d 100644
--- a/libraries/vte3/vte3.SlackBuild
+++ b/libraries/vte2/vte2.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for vte3
+# Slackware build script for vte2
-# Copyright 2012-2017 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2017 Matteo Bernardini <ponce@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,9 +22,9 @@
# 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
-PRGNAM=vte3
-VERSION=${VERSION:-0.50.2}
+VERSION=${VERSION:-0.28.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,9 +61,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+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 \
@@ -71,7 +70,12 @@ 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 {} \;
-./autogen.sh
+# 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 \
@@ -80,7 +84,11 @@ CFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-static \
- --enable-introspection \
+ --disable-introspection \
+ --enable-python \
+ --enable-gnome-pty-helper \
+ --with-gtk=2.0 \
+ --with-default-emulation=xterm \
--build=$ARCH-slackware-linux
make
@@ -90,7 +98,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 AUTHORS COPYING HACKING NEWS README* $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
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/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..6133449409
--- /dev/null
+++ b/libraries/webkit2gtk/icu4c-65.1.patch
@@ -0,0 +1,27 @@
+diff -Naur webkitgtk-2.20.5.orig/Source/WebCore/dom/Document.cpp webkitgtk-2.20.5/Source/WebCore/dom/Document.cpp
+--- webkitgtk-2.20.5.orig/Source/WebCore/dom/Document.cpp 2018-06-11 11:32:58.000000000 +0200
++++ webkitgtk-2.20.5/Source/WebCore/dom/Document.cpp 2019-10-07 17:35:29.096058000 +0200
+@@ -4688,12 +4688,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;
+ }
+@@ -4753,7 +4753,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..208a029bcc 100644
--- a/libraries/webkit2gtk/webkit2gtk.SlackBuild
+++ b/libraries/webkit2gtk/webkit2gtk.SlackBuild
@@ -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
+
mkdir -p build
cd build
cmake -DPORT=GTK \
diff --git a/libraries/webkit2gtk/webkit2gtk.info b/libraries/webkit2gtk/webkit2gtk.info
index 8c4164b2e7..3b9e7738f9 100644
--- a/libraries/webkit2gtk/webkit2gtk.info
+++ b/libraries/webkit2gtk/webkit2gtk.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://www.webkitgtk.org/releases/webkitgtk-2.20.5.tar.xz"
MD5SUM="72a05f6a4dc1c78b079590a8fd280401"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="geoclue2 hyphen libwebp woff2"
+REQUIRES="geoclue2 gst-plugins-bad hyphen libwebp 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 <msekleta@redhat.com>
+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<bool>(readcb);
++ si.wants.writable = static_cast<bool>(writecb);
++ si.wants.isexception = static_cast<bool>(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<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(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<bool>(readcb),
++ static_cast<bool>(writecb),
++ static_cast<bool>(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 <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, 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 <nikobnikolov[at]gmail[dot]com>
-# 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 <mh+mozilla@glandium.org>
-Date: Fri, 14 Aug 2015 08:50:38 +0900
-Subject: [PATCH] Bug 1194520 - Add a system header wrapper for
- <freetype/ftfntfmt.h>
-
----
- 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 <dsomero@hotmail.com>
-# 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"
diff --git a/libraries/yaml-cpp/boost_patch.diff b/libraries/yaml-cpp/boost_patch.diff
new file mode 100644
index 0000000000..913c300b50
--- /dev/null
+++ b/libraries/yaml-cpp/boost_patch.diff
@@ -0,0 +1,11 @@
+diff -Naur yaml-cpp-release-0.5.3.bak/include/yaml-cpp/node/detail/iterator.h yaml-cpp-release-0.5.3/include/yaml-cpp/node/detail/iterator.h
+--- yaml-cpp-release-0.5.3.bak/include/yaml-cpp/node/detail/iterator.h 2016-01-11 07:11:40.000000000 +1300
++++ yaml-cpp-release-0.5.3/include/yaml-cpp/node/detail/iterator.h 2018-07-22 16:58:24.156667873 +1200
+@@ -11,6 +11,7 @@
+ #include "yaml-cpp/node/ptr.h"
+ #include "yaml-cpp/node/detail/node_iterator.h"
+ #include <boost/iterator/iterator_adaptor.hpp>
++#include <boost/next_prior.hpp>
+ #include <boost/utility.hpp>
+
+ namespace YAML {
diff --git a/libraries/yaml-cpp/yaml-cpp.SlackBuild b/libraries/yaml-cpp/yaml-cpp.SlackBuild
index a194c2c773..c8672eed82 100644
--- a/libraries/yaml-cpp/yaml-cpp.SlackBuild
+++ b/libraries/yaml-cpp/yaml-cpp.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 {} \;
+patch -p1 < $CWD/boost_patch.diff
+
mkdir -p build
cd build
cmake \
diff --git a/misc/dmg2img/0001-openssl-1.1-compatibility.patch b/misc/dmg2img/0001-openssl-1.1-compatibility.patch
new file mode 100644
index 0000000000..b5ed45d2ff
--- /dev/null
+++ b/misc/dmg2img/0001-openssl-1.1-compatibility.patch
@@ -0,0 +1,219 @@
+From f16f247d30f868e84f31e24792b4464488f1c009 Mon Sep 17 00:00:00 2001
+From: Peter Wu <peter@lekensteyn.nl>
+Date: Tue, 2 May 2017 15:53:38 +0200
+Subject: [PATCH] vfdecrypt: OpenSSL 1.1 compatibility
+
+Allocate contexts from the heap on all OpenSSL versions, this is needed
+since OpenSSL 1.1.0. No attempt is done at addressing issues like global
+variables and fixing potential memleaks on error paths.
+
+Compile-tested only with OpenSSL 1.1.0e (Arch Linux) and OpenSSL 1.0.2g
+(Ubuntu 16.04), I have no test file.
+
+Fixes https://github.com/Lekensteyn/dmg2img/issues/4
+---
+ vfdecrypt.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 80 insertions(+), 23 deletions(-)
+
+diff --git a/vfdecrypt.c b/vfdecrypt.c
+index 56d3530..b1a36d3 100644
+--- a/vfdecrypt.c
++++ b/vfdecrypt.c
+@@ -183,7 +183,7 @@ void adjust_v2_header_byteorder(cencrypted_v2_pwheader *pwhdr) {
+ pwhdr->encrypted_keyblob_size = htonl(pwhdr->encrypted_keyblob_size);
+ }
+
+-HMAC_CTX hmacsha1_ctx;
++HMAC_CTX *hmacsha1_ctx;
+ AES_KEY aes_decrypt_key;
+ int CHUNK_SIZE=4096; // default
+
+@@ -196,9 +196,9 @@ void compute_iv(uint32_t chunk_no, uint8_t *iv) {
+ unsigned int mdLen;
+
+ chunk_no = OSSwapHostToBigInt32(chunk_no);
+- HMAC_Init_ex(&hmacsha1_ctx, NULL, 0, NULL, NULL);
+- HMAC_Update(&hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t));
+- HMAC_Final(&hmacsha1_ctx, mdResult, &mdLen);
++ HMAC_Init_ex(hmacsha1_ctx, NULL, 0, NULL, NULL);
++ HMAC_Update(hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t));
++ HMAC_Final(hmacsha1_ctx, mdResult, &mdLen);
+ memcpy(iv, mdResult, CIPHER_BLOCKSIZE);
+ }
+
+@@ -212,52 +212,75 @@ void decrypt_chunk(uint8_t *ctext, uint8_t *ptext, uint32_t chunk_no) {
+ /* DES3-EDE unwrap operation loosely based on to RFC 2630, section 12.6
+ * wrapped_key has to be 40 bytes in length. */
+ int apple_des3_ede_unwrap_key(uint8_t *wrapped_key, int wrapped_key_len, uint8_t *decryptKey, uint8_t *unwrapped_key) {
+- EVP_CIPHER_CTX ctx;
++ EVP_CIPHER_CTX *ctx;
+ uint8_t *TEMP1, *TEMP2, *CEKICV;
+ uint8_t IV[8] = { 0x4a, 0xdd, 0xa2, 0x2c, 0x79, 0xe8, 0x21, 0x05 };
+ int outlen, tmplen, i;
+
+- EVP_CIPHER_CTX_init(&ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ ctx = EVP_CIPHER_CTX_new();
++#else
++ ctx = malloc(sizeof(*ctx));
++#endif
++ if (!ctx) {
++ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n");
++ return(-1);
++ }
++
++ EVP_CIPHER_CTX_init(ctx);
+ /* result of the decryption operation shouldn't be bigger than ciphertext */
+ TEMP1 = malloc(wrapped_key_len);
+ TEMP2 = malloc(wrapped_key_len);
+ CEKICV = malloc(wrapped_key_len);
+ /* uses PKCS#7 padding for symmetric key operations by default */
+- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV);
++ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV);
+
+- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) {
++ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) {
+ fprintf(stderr, "internal error (1) during key unwrap operation!\n");
+ return(-1);
+ }
+- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) {
++ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) {
+ fprintf(stderr, "internal error (2) during key unwrap operation!\n");
+ return(-1);
+ }
+ outlen += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ EVP_CIPHER_CTX_reset(ctx);
++#else
++ EVP_CIPHER_CTX_cleanup(ctx);
++#endif
+
+ /* reverse order of TEMP3 */
+ for(i = 0; i < outlen; i++) TEMP2[i] = TEMP1[outlen - i - 1];
+
+- EVP_CIPHER_CTX_init(&ctx);
++ EVP_CIPHER_CTX_init(ctx);
+ /* uses PKCS#7 padding for symmetric key operations by default */
+- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2);
+- if(!EVP_DecryptUpdate(&ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) {
++ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2);
++ if(!EVP_DecryptUpdate(ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) {
+ fprintf(stderr, "internal error (3) during key unwrap operation!\n");
+ return(-1);
+ }
+- if(!EVP_DecryptFinal_ex(&ctx, CEKICV + outlen, &tmplen)) {
++ if(!EVP_DecryptFinal_ex(ctx, CEKICV + outlen, &tmplen)) {
+ fprintf(stderr, "internal error (4) during key unwrap operation!\n");
+ return(-1);
+ }
+
+ outlen += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ EVP_CIPHER_CTX_reset(ctx);
++#else
++ EVP_CIPHER_CTX_cleanup(ctx);
++#endif
+
+ memcpy(unwrapped_key, CEKICV+4, outlen-4);
+ free(TEMP1);
+ free(TEMP2);
+ free(CEKICV);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ EVP_CIPHER_CTX_free(ctx);
++#else
++ free(ctx);
++#endif
+ return(0);
+ }
+
+@@ -279,31 +302,46 @@ int unwrap_v1_header(char *passphrase, cencrypted_v1_header *header, uint8_t *ae
+ int unwrap_v2_header(char *passphrase, cencrypted_v2_pwheader *header, uint8_t *aes_key, uint8_t *hmacsha1_key) {
+ /* derived key is a 3DES-EDE key */
+ uint8_t derived_key[192/8];
+- EVP_CIPHER_CTX ctx;
++ EVP_CIPHER_CTX *ctx;
+ uint8_t *TEMP1;
+ int outlen, tmplen;
+
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ ctx = EVP_CIPHER_CTX_new();
++#else
++ ctx = malloc(sizeof(*ctx));
++#endif
++ if (!ctx) {
++ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n");
++ return(-1);
++ }
++
+ PKCS5_PBKDF2_HMAC_SHA1(passphrase, strlen(passphrase), (unsigned char*)header->kdf_salt, 20,
+ PBKDF2_ITERATION_COUNT, sizeof(derived_key), derived_key);
+
+ print_hex(derived_key, 192/8);
+
+- EVP_CIPHER_CTX_init(&ctx);
++ EVP_CIPHER_CTX_init(ctx);
+ /* result of the decryption operation shouldn't be bigger than ciphertext */
+ TEMP1 = malloc(header->encrypted_keyblob_size);
+ /* uses PKCS#7 padding for symmetric key operations by default */
+- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv);
++ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv);
+
+- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) {
++ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) {
+ fprintf(stderr, "internal error (1) during key unwrap operation!\n");
+ return(-1);
+ }
+- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) {
++ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) {
+ fprintf(stderr, "internal error (2) during key unwrap operation!\n");
+ return(-1);
+ }
+ outlen += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ EVP_CIPHER_CTX_free(ctx);
++#else
++ EVP_CIPHER_CTX_cleanup(ctx);
++ free(ctx);
++#endif
+ memcpy(aes_key, TEMP1, 16);
+ memcpy(hmacsha1_key, TEMP1, 20);
+
+@@ -446,8 +484,21 @@ int main(int argc, char *argv[]) {
+ CHUNK_SIZE = v2header.blocksize;
+ }
+
+- HMAC_CTX_init(&hmacsha1_ctx);
+- HMAC_Init_ex(&hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ hmacsha1_ctx = HMAC_CTX_new();
++#else
++ hmacsha1_ctx = malloc(sizeof(*hmacsha1_ctx));
++#endif
++ if (!hmacsha1_ctx) {
++ fprintf(stderr, "Out of memory: HMAC CTX!\n");
++ exit(1);
++ }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ HMAC_CTX_reset(hmacsha1_ctx);
++#else
++ HMAC_CTX_init(hmacsha1_ctx);
++#endif
++ HMAC_Init_ex(hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL);
+ AES_set_decrypt_key(aes_key, CIPHER_KEY_LENGTH * 8, &aes_decrypt_key);
+
+ if (verbose >= 1) {
+@@ -472,5 +523,11 @@ int main(int argc, char *argv[]) {
+ }
+
+ if (verbose) fprintf(stderr, "%"PRIX32" chunks written\n", chunk_no);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ HMAC_CTX_free(hmacsha1_ctx);
++#else
++ HMAC_CTX_cleanup(hmacsha1_ctx);
++ free(hmacsha1_ctx);
++#endif
+ return(0);
+ }
diff --git a/misc/dmg2img/dmg2img.SlackBuild b/misc/dmg2img/dmg2img.SlackBuild
index abc1872933..ebdf569f17 100644
--- a/misc/dmg2img/dmg2img.SlackBuild
+++ b/misc/dmg2img/dmg2img.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 {} \;
+# Thanks Archlinux!
+patch -lp1 < $CWD/0001-openssl-1.1-compatibility.patch
+
make CFLAGS="$SLKCFLAGS"
make install DESTDIR=$PKG
diff --git a/misc/glogg/glogg.SlackBuild b/misc/glogg/glogg.SlackBuild
index 0278e2c4e8..33c808c379 100644
--- a/misc/glogg/glogg.SlackBuild
+++ b/misc/glogg/glogg.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=glogg
-VERSION=${VERSION:-1.0.2}
+VERSION=${VERSION:-1.1.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -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 {} \;
-qmake
+qmake-qt5
make
make install INSTALL_ROOT=$PKG/usr
diff --git a/misc/glogg/glogg.info b/misc/glogg/glogg.info
index 61587350f7..fb8c11dd71 100644
--- a/misc/glogg/glogg.info
+++ b/misc/glogg/glogg.info
@@ -1,10 +1,10 @@
PRGNAM="glogg"
-VERSION="1.0.2"
+VERSION="1.1.4"
HOMEPAGE="http://glogg.bonnefon.org/"
-DOWNLOAD="http://glogg.bonnefon.org/files/glogg-1.0.2.tar.gz"
-MD5SUM="d6d9bb70ed50a38c5fa9114d71b52d3d"
+DOWNLOAD="http://glogg.bonnefon.org/files/glogg-1.1.4.tar.gz"
+MD5SUM="065d292411df490dcb3c6abae35ed608"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="qt5"
MAINTAINER="Miroslaw Turski"
EMAIL="miroslaw.turski@gmail.com"
diff --git a/misc/gourmet/gourmet.SlackBuild b/misc/gourmet/gourmet.SlackBuild
index e9a2f0f93d..0121943095 100644
--- a/misc/gourmet/gourmet.SlackBuild
+++ b/misc/gourmet/gourmet.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=gourmet
VERSION=${VERSION:-0.17.4}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -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 {} \;
+# Patch to replace removed tostring() with tobytes()
+patch -p1 < $CWD/tostring-to-tobytes.patch
+
python setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/misc/gourmet/gourmet.info b/misc/gourmet/gourmet.info
index 16bbef1a65..64f0f25902 100644
--- a/misc/gourmet/gourmet.info
+++ b/misc/gourmet/gourmet.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/thinkle/gourmet/archive/0.17.4.tar.gz"
MD5SUM="937334364abc3093709a604c1d473e9f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="SQLAlchemy python-distutils-extra reportlab pygtkspell gst0-python python-elib.intl"
+REQUIRES="SQLAlchemy lxml python-distutils-extra reportlab pygtkspell gst0-python python-elib.intl pypoppler"
MAINTAINER="Erwin van Zanten"
EMAIL="e.van.zanten.evz@gmail.com"
diff --git a/misc/gourmet/slack-desc b/misc/gourmet/slack-desc
index 16eb4722a4..ae51c1b38c 100644
--- a/misc/gourmet/slack-desc
+++ b/misc/gourmet/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-gourmet: gourmet (A Recipe organizer for Linux)
+gourmet: Gourmet (a recipe organizer for Linux)
gourmet:
gourmet: Gourmet Recipe Manager is a recipe-organizer that allows you
gourmet: to collect, search, organize, and browse your recipes.
diff --git a/misc/gourmet/tostring-to-tobytes.patch b/misc/gourmet/tostring-to-tobytes.patch
new file mode 100644
index 0000000000..e42c59403d
--- /dev/null
+++ b/misc/gourmet/tostring-to-tobytes.patch
@@ -0,0 +1,26 @@
+diff --git a/gourmet/gtk_extras/ratingWidget.py b/gourmet/gtk_extras/ratingWidget.py
+index 0e01735..efa6463 100644
+--- a/gourmet/gtk_extras/ratingWidget.py
++++ b/gourmet/gtk_extras/ratingWidget.py
+@@ -135,7 +135,7 @@ class StarGenerator:
+ if is_rgba: rowstride = 4
+ else: rowstride = 3
+ pb=gtk.gdk.pixbuf_new_from_data(
+- image.tostring(),
++ image.tobytes(),
+ gtk.gdk.COLORSPACE_RGB,
+ is_rgba,
+ 8,
+diff --git a/gourmet/plugins/browse_recipes/icon_helpers.py b/gourmet/plugins/browse_recipes/icon_helpers.py
+index 61c772c..2e7b08b 100644
+--- a/gourmet/plugins/browse_recipes/icon_helpers.py
++++ b/gourmet/plugins/browse_recipes/icon_helpers.py
+@@ -38,7 +38,7 @@ def get_pixbuf_from_image (image):
+ if is_rgba: rowstride = 4
+ else: rowstride = 3
+ pb=gtk.gdk.pixbuf_new_from_data(
+- image.tostring(),
++ image.tobytes(),
+ gtk.gdk.COLORSPACE_RGB,
+ is_rgba,
+ 8,
diff --git a/misc/ibus-unikey/ibus-unikey.SlackBuild b/misc/ibus-unikey/ibus-unikey.SlackBuild
index 3e2c7cc047..26ac340db0 100644
--- a/misc/ibus-unikey/ibus-unikey.SlackBuild
+++ b/misc/ibus-unikey/ibus-unikey.SlackBuild
@@ -60,7 +60,7 @@ patch -p1 -i $CWD/gcc-6.diff
./autogen.sh
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-error=narrowing" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/misc/krename/krename.SlackBuild b/misc/krename/krename.SlackBuild
index f084711cd4..4e67905635 100644
--- a/misc/krename/krename.SlackBuild
+++ b/misc/krename/krename.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 {} \;
+# Fix for gcc >= 6.x
+patch -p1 < $CWD/null.patch
+
KDEPREF=$(kde4-config --prefix)
cmake \
diff --git a/misc/krename/null.patch b/misc/krename/null.patch
new file mode 100644
index 0000000000..991ebbea1c
--- /dev/null
+++ b/misc/krename/null.patch
@@ -0,0 +1,12 @@
+diff -Naur krename-r247.orig/src/batchrenamer.cpp krename-r247/src/batchrenamer.cpp
+--- krename-r247.orig/src/batchrenamer.cpp 2013-11-24 22:46:05.000000000 +0100
++++ krename-r247/src/batchrenamer.cpp 2017-06-20 14:42:57.330437870 +0200
+@@ -402,7 +402,7 @@
+ break;
+ case eRenameMode_Link:
+ // In case of link delete created file
+- job = KIO::file_delete( dstUrl, false );
++ job = KIO::file_delete( dstUrl, NULL );
+ break;
+ case eRenameMode_Copy: // no undo possible
+ // TODO: Maybe we should delete the created files
diff --git a/misc/stardict-tools/stardict-tools.SlackBuild b/misc/stardict-tools/stardict-tools.SlackBuild
index 7a681ee867..5466bff3f4 100644
--- a/misc/stardict-tools/stardict-tools.SlackBuild
+++ b/misc/stardict-tools/stardict-tools.SlackBuild
@@ -52,6 +52,9 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p0 < $CWD/stardict-tools.patch
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-error=narrowing -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/misc/xca/xca.SlackBuild b/misc/xca/xca.SlackBuild
index 15387ae802..8d6f02ac35 100644
--- a/misc/xca/xca.SlackBuild
+++ b/misc/xca/xca.SlackBuild
@@ -69,6 +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 {} \;
+# Hack to avoid building the html docs, broken with the newer linuxdoc-tools
+sed -i '/case "$DOCTOOL" in/i \
+DOCTOOL=true' configure
+
sed -i \
-e 's/LIBS="\${LIBS} \${OPENSSL_LIBS}\${QT_LIBS}"/LIBS="\${LIBS} \${OPENSSL_LIBS} \${QT_LIBS}"/' \
configure
diff --git a/misc/yapet/gcc6.patch b/misc/yapet/gcc6.patch
new file mode 100644
index 0000000000..a57e0c93c1
--- /dev/null
+++ b/misc/yapet/gcc6.patch
@@ -0,0 +1,11 @@
+--- yapet-1.0/yapet/cfg.h 2014-02-23 10:18:41.000000000 -0700
++++ yapet-1.0/yapet/cfg.h 2016-04-14 07:06:49.665672169 -0700
+@@ -163,7 +163,7 @@
+ locked = false;
+ }
+
+- void is_locked() const {
++ bool is_locked() const {
+ return locked;
+ }
+
diff --git a/misc/yapet/yapet.SlackBuild b/misc/yapet/yapet.SlackBuild
index 25630ffe46..91af2b8d91 100644
--- a/misc/yapet/yapet.SlackBuild
+++ b/misc/yapet/yapet.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 {} \;
+# From upstream
+patch -p1 < $CWD/gcc6.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/misc/zinnia/zinnia-fixes-gcc6-compile.patch b/misc/zinnia/zinnia-fixes-gcc6-compile.patch
new file mode 100644
index 0000000000..848f306edb
--- /dev/null
+++ b/misc/zinnia/zinnia-fixes-gcc6-compile.patch
@@ -0,0 +1,22 @@
+Index: zinnia-0.06/trainer.cpp
+===================================================================
+--- zinnia-0.06.orig/trainer.cpp
++++ zinnia-0.06/trainer.cpp
+@@ -93,7 +93,7 @@ class TrainerImpl: public Trainer {
+
+ public:
+ bool add(const Character &character) {
+- const std::string y = character.value();
++ std::string y = character.value();
+ CHECK_FALSE(!y.empty()) << "input character is empty";
+ Features features;
+ CHECK_FALSE(features.read(character)) << "cannot read character: " << y;
+@@ -103,7 +103,7 @@ class TrainerImpl: public Trainer {
+ if (!fn) {
+ return false;
+ }
+- x_.push_back(std::make_pair<std::string, FeatureNode *>(y, fn));
++ x_.push_back(std::make_pair(y, fn));
+ return true;
+ }
+
diff --git a/misc/zinnia/zinnia.SlackBuild b/misc/zinnia/zinnia.SlackBuild
index efd04acd51..62b3c033e4 100644
--- a/misc/zinnia/zinnia.SlackBuild
+++ b/misc/zinnia/zinnia.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 {} \;
+# Thanks to fedora for this patch
+patch -p1 < $CWD/zinnia-fixes-gcc6-compile.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/multimedia/aegisub/aegisub.SlackBuild b/multimedia/aegisub/aegisub.SlackBuild
index 0bdf6b18bb..e6f616dba4 100644
--- a/multimedia/aegisub/aegisub.SlackBuild
+++ b/multimedia/aegisub/aegisub.SlackBuild
@@ -69,10 +69,16 @@ 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 's/$(LIBS_BOOST) $(LIBS_ICU)/$(LIBS_BOOST) $(LIBS_ICU) -pthread/' -i tools/Makefile
+patch -Np1 < $CWD/boost.patch
+sed 's|gil/gil_all.hpp|gil.hpp|g' -i src/*.cpp # boost 1.69
+sed 's/$(LIBS_BOOST) $(LIBS_ICU)/$(LIBS_BOOST) $(LIBS_ICU) -pthread/' -i tools/Makefile # missing link flag
+patch -Np1 < $CWD/icu.patch
+
+./autogen.sh
LDFLAGS="$LDFLAGS -lz" \
CFLAGS="$SLKCFLAGS" \
+CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/multimedia/aegisub/boost.patch b/multimedia/aegisub/boost.patch
new file mode 100644
index 0000000000..5d917f607e
--- /dev/null
+++ b/multimedia/aegisub/boost.patch
@@ -0,0 +1,34 @@
+From d8336d2fed73c72d1227b343d6acfb991bc1651b Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Mon, 9 Jul 2018 20:15:29 +0000
+Subject: [PATCH] Keep using std::distance after Boost 1.68
+
+src/search_replace_engine.cpp:256:14: error: call to
+ 'distance' is ambiguous
+ count += distance(
+ ^~~~~~~~
+/usr/include/c++/v1/iterator:511:1: note: candidate function [with _InputIter =
+ boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
+distance(_InputIter __first, _InputIter __last)
+^
+/usr/local/include/boost/iterator/distance.hpp:49:9: note: candidate function [with SinglePassIterator =
+ boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
+ distance(SinglePassIterator first, SinglePassIterator last)
+ ^
+---
+ src/search_replace_engine.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/search_replace_engine.cpp b/src/search_replace_engine.cpp
+index 594c21e5e..14c71680d 100644
+--- a/src/search_replace_engine.cpp
++++ b/src/search_replace_engine.cpp
+@@ -253,7 +253,7 @@ bool SearchReplaceEngine::ReplaceAll() {
+ if (MatchState ms = matches(&diag, 0)) {
+ auto& diag_field = diag.*get_dialogue_field(settings.field);
+ std::string const& text = diag_field.get();
+- count += distance(
++ count += std::distance(
+ boost::u32regex_iterator<std::string::const_iterator>(begin(text), end(text), *ms.re),
+ boost::u32regex_iterator<std::string::const_iterator>());
+ diag_field = u32regex_replace(text, *ms.re, settings.replace_with);
diff --git a/multimedia/aegisub/icu.patch b/multimedia/aegisub/icu.patch
new file mode 100644
index 0000000000..2145140ed0
--- /dev/null
+++ b/multimedia/aegisub/icu.patch
@@ -0,0 +1,11 @@
+diff -upr aegisub-3.2.2.orig/src/utils.cpp aegisub-3.2.2/src/utils.cpp
+--- aegisub-3.2.2.orig/src/utils.cpp 2014-12-08 02:07:09.000000000 +0200
++++ aegisub-3.2.2/src/utils.cpp 2017-04-26 11:11:15.438239182 +0300
+@@ -44,6 +44,7 @@
+ #include <boost/filesystem/path.hpp>
+ #include <map>
+ #include <unicode/locid.h>
++#include <unicode/unistr.h>
+ #include <wx/clipbrd.h>
+ #include <wx/filedlg.h>
+ #include <wx/stdpaths.h>
diff --git a/multimedia/bombono-dvd/bombono-dvd.SlackBuild b/multimedia/bombono-dvd/bombono-dvd.SlackBuild
index 4ad1cf1197..831f0d46b0 100644
--- a/multimedia/bombono-dvd/bombono-dvd.SlackBuild
+++ b/multimedia/bombono-dvd/bombono-dvd.SlackBuild
@@ -83,6 +83,8 @@ patch -p1 < $CWD/patches/fix_ptr2bool_cast.patch
patch -p1 < $CWD/patches/fix_c++11_literal_warnings.patch
patch -p1 < $CWD/patches/autoptr2uniqueptr.patch
patch -p1 < $CWD/patches/boost.patch
+patch -p1 < $CWD/patches/fix_operator_ambiguity.patch
+patch -p1 < $CWD/patches/fix_throw_specifications.patch
# Fix for ffmpeg-3
patch -p1 < $CWD/patches/ffmpeg3.patch
diff --git a/multimedia/bombono-dvd/patches/fix_operator_ambiguity.patch b/multimedia/bombono-dvd/patches/fix_operator_ambiguity.patch
new file mode 100644
index 0000000000..5fcfaf0466
--- /dev/null
+++ b/multimedia/bombono-dvd/patches/fix_operator_ambiguity.patch
@@ -0,0 +1,352 @@
+diff -ruN old/src/mbase/project/serialization.h new/src/mbase/project/serialization.h
+--- old/src/mbase/project/serialization.h 2017-06-01 13:54:44.086895687 +0430
++++ new/src/mbase/project/serialization.h 2017-06-01 14:09:16.523275880 +0430
+@@ -75,7 +75,9 @@
+ template<typename T>
+ std::string MakeString(const T& t)
+ {
+- return (str::stream() << t).str();
++ str::stream ss;
++ ss << t;
++ return ss.str();
+ }
+
+ template<typename T>
+diff -ruN old/src/mgui/dvdimport.cpp new/src/mgui/dvdimport.cpp
+--- old/src/mgui/dvdimport.cpp 2017-06-01 13:54:44.086895687 +0430
++++ new/src/mgui/dvdimport.cpp 2017-06-01 14:06:42.488114237 +0430
+@@ -211,10 +211,11 @@
+ row[VF().selState] = false;
+ row[VF().name] = VobFName(vob.pos);
+ row[VF().thumbnail] = vob.aspect == af4_3 ? pix4_3 : pix16_9;
+- std::string desc = (str::stream(Mpeg::SecToHMS(vob.tmLen, true)) << ", "
+- << vob.sz.x << "x" << vob.sz.y << ", "
+- << (vob.aspect == af4_3 ? "4:3" : "16:9") << ", "
+- << std::fixed << std::setprecision(2) << vob.Count()/512. << " " << _("MB")).str();
++ str::stream ss (Mpeg::SecToHMS(vob.tmLen, true));
++ ss << ", " << vob.sz.x << "x" << vob.sz.y << ", "
++ << (vob.aspect == af4_3 ? "4:3" : "16:9") << ", "
++ << std::fixed << std::setprecision(2) << vob.Count()/512. << " " << _("MB");
++ std::string desc = ss.str();
+ row[VF().desc] = desc;
+ }
+ CompleteSelection(id, false);
+diff -ruN old/src/mbase/project/media.cpp new/src/mbase/project/media.cpp
+--- old/src/mbase/project/media.cpp 2017-06-01 14:25:09.492134844 +0430
++++ new/src/mbase/project/media.cpp 2017-06-01 14:37:53.196336367 +0430
+@@ -58,7 +58,9 @@
+
+ std::string MakeAutoName(const std::string& str, int old_sz)
+ {
+- return (str::stream() << str << " " << old_sz+1).str();
++ str::stream ss;
++ ss << str << " " << old_sz+1;
++ return ss.str();
+ }
+
+ void VideoMD::AddChapter(ChapterItem chp)
+diff -ruN old/src/mbase/project/menu.cpp new/src/mbase/project/menu.cpp
+--- old/src/mbase/project/menu.cpp 2017-06-01 14:25:09.495468141 +0430
++++ new/src/mbase/project/menu.cpp 2017-06-01 14:39:42.004331141 +0430
+@@ -166,7 +166,9 @@
+ static std::string MakeObjectPath(int idx, const char* type)
+ {
+ ASSERT( idx != NO_HNDL );
+- return (str::stream() << type << "." << idx).str();
++ str::stream ss;
++ ss << type << "." << idx;
++ return ss.str();
+ }
+
+ std::string GetMediaRef(MediaItem mi)
+@@ -197,7 +199,9 @@
+ void RefMaker::Visit(VideoChapterMD& obj)
+ {
+ refStr = GetMediaRef(obj.owner);
+- refStr += (str::stream() << "." << ChapterPosInt(&obj)).str();
++ str::stream ss;
++ ss << "." << ChapterPosInt(&obj);
++ refStr += ss.str();
+ }
+
+ std::string Media2Ref(MediaItem mi)
+@@ -233,8 +237,9 @@
+
+ std::string ThrowBadIndex(const char* prefix, int idx)
+ {
+- throw std::runtime_error(
+- (str::stream() << prefix << idx).str() );
++ str::stream ss;
++ ss << prefix << idx;
++ throw std::runtime_error(ss.str());
+ }
+
+ MediaItem TryGetMedia(int idx)
+diff -ruN old/src/mbase/project/srl-common.cpp new/src/mbase/project/srl-common.cpp
+--- old/src/mbase/project/srl-common.cpp 2017-06-01 14:25:09.495468141 +0430
++++ new/src/mbase/project/srl-common.cpp 2017-06-01 14:40:56.524722225 +0430
+@@ -36,10 +36,12 @@
+ std::string ToString(const RGBA::Pixel& pxl)
+ {
+ using Mpeg::set_hms;
+- return (str::stream("#") << std::hex
+- << set_hms() << (int)pxl.red
+- << set_hms() << (int)pxl.green
+- << set_hms() << (int)pxl.blue << (int)pxl.alpha).str();
++ str::stream ss ("#");
++ ss << std::hex
++ << set_hms() << (int)pxl.red
++ << set_hms() << (int)pxl.green
++ << set_hms() << (int)pxl.blue << (int)pxl.alpha;
++ return ss.str();
+ }
+
+ // как pango_color_parse()
+diff -ruN old/src/mgui/author/render.cpp new/src/mgui/author/render.cpp
+--- old/src/mgui/author/render.cpp 2017-06-01 14:25:09.498801438 +0430
++++ new/src/mgui/author/render.cpp 2017-06-01 14:28:08.901379890 +0430
+@@ -1307,7 +1307,9 @@
+
+ bool RenderMainPicture(const std::string& out_dir, Menu mn, int i)
+ {
+- Author::Info((str::stream() << "Rendering menu \"" << mn->mdName << "\" ...").str());
++ str::stream ss;
++ ss << "Rendering menu \"" << mn->mdName << "\" ...";
++ Author::Info(ss.str());
+ const std::string mn_dir = MakeMenuPath(out_dir, mn, i);
+
+ if( IsMotion(mn) )
+diff -ruN old/src/mgui/author/script.cpp new/src/mgui/author/script.cpp
+--- old/src/mgui/author/script.cpp 2017-06-01 14:25:09.498801438 +0430
++++ new/src/mgui/author/script.cpp 2017-06-01 14:31:23.248978018 +0430
+@@ -130,7 +130,9 @@
+ {
+ VideoItem vi = IsVideo(mi);
+ ASSERT( vi );
+- str = (str::stream() << "title " << GetAuthorNumber(vi)).str();
++ str::stream ss;
++ ss << "title " << GetAuthorNumber(vi);
++ str = ss.str();
+ }
+ return str;
+ }
+@@ -179,7 +181,9 @@
+ // Потому: Ð´Ð»Ñ ÑƒÐ´Ð¾Ñтва пользователей даем Ñоздавать нулевую главу, Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°Ñ Ñто здеÑÑŒ
+ // (однако доп. нулевые главы будут приводить к ошибке Cannot jump to chapter N ... only M exist)
+ int c_num = ChapterPosInt(&obj) + (owner->List()[0]->chpTime ? 2 : 1) ;
+- res = (str::stream() << "jump title " << v_num << " chapter " << c_num << ";").str();
++ str::stream ss;
++ ss << "jump title " << v_num << " chapter " << c_num << ";";
++ res = ss.str();
+ }
+
+ static std::string MakeButtonJump(MediaItem mi, bool vts_domain)
+@@ -204,7 +208,9 @@
+ if( !fs::native(name) )
+ name = "Menu";
+
+- std::string fname = (str::stream() << idx+1 << "." << name).str();
++ str::stream ss;
++ ss << idx+1 << "." << name;
++ std::string fname = ss.str();
+ return cnv_from_utf8 ? ConvertPathFromUtf8(fname) : fname ;
+ }
+
+@@ -626,7 +632,9 @@
+ void AuthorSectionInfo(const std::string& str)
+ {
+ Author::Info("\n#", false);
+- Author::Info((str::stream() << "# " << str).str(), false);
++ str::stream ss;
++ ss << "# " << str;
++ Author::Info(ss.str(), false);
+ Author::Info("#\n", false);
+ }
+
+@@ -1082,7 +1090,9 @@
+
+ static void AuthorImpl(const std::string& out_dir)
+ {
+- AuthorSectionInfo((str::stream() << "Build DVD-Video in folder: " << out_dir).str());
++ str::stream ss;
++ ss << "Build DVD-Video in folder: " << out_dir;
++ AuthorSectionInfo(ss.str());
+ IteratePendingEvents();
+
+ IndexVideosForAuthoring();
+diff -ruN old/src/mgui/project/add.cpp new/src/mgui/project/add.cpp
+--- old/src/mgui/project/add.cpp 2017-06-01 14:25:09.498801438 +0430
++++ new/src/mgui/project/add.cpp 2017-06-01 14:33:26.303387642 +0430
+@@ -86,7 +86,9 @@
+
+ static std::string FpsToStr(const Point& frate)
+ {
+- return (str::stream() << (double)frate.x/frate.y).str();
++ str::stream ss;
++ ss << (double)frate.x/frate.y;
++ return ss.str();
+ }
+
+ static std::string TVTypeStr(bool is_ntsc)
+@@ -163,7 +165,9 @@
+ // *
+ bool is_aspect_ok = vid.sarCode == af4_3 || vid.sarCode == af16_9;
+ Point aspect = vid.SizeAspect();
+- std::string aspect_str = (str::stream() << aspect.x << ':' << aspect.y).str();
++ str::stream ss;
++ ss << aspect.x << ':' << aspect.y;
++ std::string aspect_str = ss.str();
+ SetImportError(ed, is_aspect_ok,
+ std::string(_("Aspect ratio")) + ": \t" + MarkError(aspect_str, is_aspect_ok),
+ BF_(Descriptions[2]) % tv_type % bf::stop);
+diff -ruN old/src/mgui/sdk/cairo_utils.cpp new/src/mgui/sdk/cairo_utils.cpp
+--- old/src/mgui/sdk/cairo_utils.cpp 2017-06-01 14:25:09.498801438 +0430
++++ new/src/mgui/sdk/cairo_utils.cpp 2017-06-01 14:35:20.831246046 +0430
+@@ -27,6 +27,8 @@
+ std::string MakeSVGFilename(const char* prefix)
+ {
+ static int idx = 1;
+- return (str::stream() << prefix << "-" << Mpeg::set_hms() << idx++ << ".svg" ).str();
++ str::stream ss;
++ ss << prefix << "-" << Mpeg::set_hms() << idx++ << ".svg";
++ return ss.str();
+ }
+
+diff -ruN old/src/mgui/timeline/layout.cpp new/src/mgui/timeline/layout.cpp
+--- old/src/mgui/timeline/layout.cpp 2017-06-01 14:25:09.502134734 +0430
++++ new/src/mgui/timeline/layout.cpp 2017-06-01 14:36:36.152095784 +0430
+@@ -600,8 +600,10 @@
+ void FramesToTime(std::string& str, int cnt, double fps)
+ {
+ time4_t t4 = FramesToTime(cnt, fps);
+- str = (str::stream() << Mpeg::set_hms() << t4.hh << ":" << Mpeg::set_hms() << t4.mm << ":"
+- << Mpeg::set_hms() << t4.ss << ";" << Mpeg::set_hms() << t4.ff).str();
++ str::stream ss;
++ ss << Mpeg::set_hms() << t4.hh << ":" << Mpeg::set_hms() << t4.mm << ":"
++ << Mpeg::set_hms() << t4.ss << ";" << Mpeg::set_hms() << t4.ff;
++ str = ss.str();
+ }
+
+ } // namespace TimeLine
+diff -ruN old/src/mgui/win_utils.cpp new/src/mgui/win_utils.cpp
+--- old/src/mgui/win_utils.cpp 2017-06-01 14:25:09.498801438 +0430
++++ new/src/mgui/win_utils.cpp 2017-06-01 14:26:50.898112082 +0430
+@@ -132,7 +132,9 @@
+
+ std::string ColorToString(const unsigned int rgba)
+ {
+- return (str::stream() << std::hex << (rgba >> 8)).str();
++ str::stream ss;
++ ss << std::hex << (rgba >> 8);
++ return ss.str();
+ }
+
+ CR::Color GetBGColor(Gtk::Widget& wdg)
+diff -ruN old/src/mdemux/dvdread.cpp new/src/mdemux/dvdread.cpp
+--- old/src/mdemux/dvdread.cpp 2017-06-01 14:48:30.110355679 +0430
++++ new/src/mdemux/dvdread.cpp 2017-06-01 14:50:50.141065674 +0430
+@@ -35,8 +35,10 @@
+ std::string VobFName(VobPos& pos, const std::string& suffix)
+ {
+ using Mpeg::set_hms;
+- return (str::stream("Video") << set_hms() << int(pos.Vts())
+- << "-" << set_hms() << pos.VobId() << suffix << ".vob").str();
++ str::stream ss ("Video");
++ ss << set_hms() << int(pos.Vts())
++ << "-" << set_hms() << pos.VobId() << suffix << ".vob";
++ return ss.str();
+ }
+
+ typedef boost::function<void(int, double)> VobTimeFnr;
+@@ -282,9 +284,11 @@
+ static void TryDVDReadBlocks(dvd_file_t* file, int off, size_t cnt, char* buf)
+ {
+ int real_cnt = DVDReadBlocks(file, off, cnt, (unsigned char*)buf);
+- if( (int)cnt != real_cnt )
+- throw std::runtime_error( (str::stream() << real_cnt <<
+- " != DVDReadBlocks(" << cnt << ")").str() );
++ if( (int)cnt != real_cnt ) {
++ str::stream ss;
++ ss << real_cnt << " != DVDReadBlocks(" << cnt << ")";
++ throw std::runtime_error( ss.str() );
++ }
+ }
+
+ // размер буфера должен ÑоответÑтвовать читаемому диапазону
+diff -ruN old/src/mdemux/mpeg2demux.cpp new/src/mdemux/mpeg2demux.cpp
+--- old/src/mdemux/mpeg2demux.cpp 2017-06-01 14:48:30.110355679 +0430
++++ new/src/mdemux/mpeg2demux.cpp 2017-06-01 14:55:35.784165916 +0430
+@@ -71,7 +71,9 @@
+
+ static std::string MakePESKey(int id, const char* ext)
+ {
+- return (str::stream() << id << "." << ext).str();
++ str::stream ss;
++ ss << id << "." << ext;
++ return ss.str();
+ }
+
+ static bool ReadPart(io::stream& strm, uint8_t* buf, int sz, int& len)
+@@ -110,7 +112,9 @@
+ ASSERT(0);
+ }
+
+- std::string header_str = (str::stream() << sample_rate << ":" << channels << ":" << bps << ".lpcm").str();
++ str::stream ss;
++ ss << sample_rate << ":" << channels << ":" << bps << ".lpcm";
++ std::string header_str = ss.str();
+ return MakePESKey(track, header_str.c_str());
+ }
+
+diff -ruN old/src/mdemux/seek.cpp new/src/mdemux/seek.cpp
+--- old/src/mdemux/seek.cpp 2017-06-01 14:48:30.110355679 +0430
++++ new/src/mdemux/seek.cpp 2017-06-01 14:52:09.669280234 +0430
+@@ -37,8 +37,10 @@
+ int hh = min / 60;
+ int mm = min - hh*60;
+
+- return (str::stream() << set_hms() << hh << ":"
+- << set_hms() << mm << ":" << set_hms() << ss).str();
++ str::stream strss;
++ strss << set_hms() << hh << ":"
++ << set_hms() << mm << ":" << set_hms() << ss;
++ return strss.str();
+ }
+
+ bool MediaInfo::InitBegin(VideoLine& vl)
+diff -ruN old/src/mlib/sdk/misc.cpp new/src/mlib/sdk/misc.cpp
+--- old/src/mlib/sdk/misc.cpp 2017-06-01 14:48:30.120355606 +0430
++++ new/src/mlib/sdk/misc.cpp 2017-06-01 14:53:25.504549937 +0430
+@@ -173,12 +173,16 @@
+ std::string Double2Str(double val)
+ {
+ //return boost::format("%1%") % val % bf::stop;
+- return (str::stream() << val).str();
++ str::stream ss;
++ ss << val;
++ return ss.str();
+ }
+
+ std::string Int2Str(int val)
+ {
+- return (str::stream() << val).str();
++ str::stream ss;
++ ss << val;
++ return ss.str();
+ }
+
+ static bool ICaseMatch(const std::string& str, const std::string& pat_str)
+diff -ruN old/src/mlib/sdk/system.cpp new/src/mlib/sdk/system.cpp
+--- old/src/mlib/sdk/system.cpp 2017-06-01 14:48:30.120355606 +0430
++++ new/src/mlib/sdk/system.cpp 2017-06-01 14:54:13.980777662 +0430
+@@ -28,7 +28,9 @@
+ int GetMemSize()
+ {
+ pid_t pid = getpid();
+- std::string str = (str::stream() << "/proc/" << pid << "/statm").str();
++ str::stream ss;
++ ss << "/proc/" << pid << "/statm";
++ std::string str = ss.str();
+
+ io::stream strm(str.c_str(), iof::in);
+ int mem;
diff --git a/multimedia/bombono-dvd/patches/fix_throw_specifications.patch b/multimedia/bombono-dvd/patches/fix_throw_specifications.patch
new file mode 100644
index 0000000000..f2f4c40d4f
--- /dev/null
+++ b/multimedia/bombono-dvd/patches/fix_throw_specifications.patch
@@ -0,0 +1,24 @@
+diff -ruN old/src/mbase/project/table.h new/src/mbase/project/table.h
+--- old/src/mbase/project/table.h 2017-06-01 13:54:44.086895687 +0430
++++ new/src/mbase/project/table.h 2017-06-01 13:55:58.089107253 +0430
+@@ -128,7 +128,7 @@
+ void ClearSettings();
+
+ void Load(const std::string& fname,
+- const std::string& cur_dir = std::string()) throw (std::exception);
++ const std::string& cur_dir = std::string());
+ bool Save();
+
+ bool SaveAs(const std::string& fname,
+diff -ruN old/src/mbase/project/srl-db.cpp new/src/mbase/project/srl-db.cpp
+--- old/src/mbase/project/srl-db.cpp 2017-06-01 14:25:09.495468141 +0430
++++ new/src/mbase/project/srl-db.cpp 2017-06-01 14:41:49.699901753 +0430
+@@ -102,7 +102,7 @@
+ }
+
+ void ADatabase::Load(const std::string& fname,
+- const std::string& cur_dir) throw (std::exception)
++ const std::string& cur_dir)
+ {
+ try
+ {
diff --git a/multimedia/cinelerra/README b/multimedia/cinelerra/README
index 3ddd60f57e..321c71df3f 100644
--- a/multimedia/cinelerra/README
+++ b/multimedia/cinelerra/README
@@ -1,5 +1,7 @@
cinelerra (GNU/Linux Video/Audio Studio)
+5.x variant of Cinelerra by WP Morrow (aka goodguy).
+
Cinelerra CV is the most advanced non-linear video editor and compositor
for Linux. It does primarily 3 main things: capturing, compositing,
and editing audio and video with sample level accuracy.
diff --git a/multimedia/cinelerra/cinelerra.SlackBuild b/multimedia/cinelerra/cinelerra.SlackBuild
index dfc6c9308c..7a3072d564 100644
--- a/multimedia/cinelerra/cinelerra.SlackBuild
+++ b/multimedia/cinelerra/cinelerra.SlackBuild
@@ -23,9 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cinelerra
-SRCNAM=CinelerraCV
-VERSION=${VERSION:-2.3}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-20190930_6ca0a78}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -66,9 +65,9 @@ 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
+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 \
@@ -77,32 +76,29 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
./autogen.sh
-LDFLAGS="-ldl" \
-CFLAGS="$SLKCFLAGS -D__STDC_CONSTANT_MACROS" \
-CXXFLAGS="$SLKCFLAGS -D__STDC_CONSTANT_MACROS" \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-plugindir=/usr/lib${LIBDIRSUFFIX}/cinelerra \
- --disable-static \
--mandir=/usr/man \
- --with-pic \
- --with-x \
- --enable-opengl \
--build=$ARCH-slackware-linux \
$mmx
make
make install DESTDIR=$PKG
+rm -f $PKG/usr/share/applications/cin.desktop
+install -D -m 0644 $CWD/$PRGNAM.desktop $PKG/usr/share/applications/$PRGNAM.desktop
+
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 AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README* TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README* *.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/multimedia/cinelerra/cinelerra.desktop b/multimedia/cinelerra/cinelerra.desktop
new file mode 100644
index 0000000000..b71239453c
--- /dev/null
+++ b/multimedia/cinelerra/cinelerra.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=cinelerra
+Comment=MultiMedia Editor
+Comment[fr]=Éditeur multimédia
+Categories=AudioVideo;AudioVideoEditing;
+Encoding=UTF-8
+Exec=cin
+Icon=/usr/share/pixmaps/cin.xpm
+Terminal=false
+Type=Application
diff --git a/multimedia/cinelerra/cinelerra.info b/multimedia/cinelerra/cinelerra.info
index e866c597cb..97c4dfcca7 100644
--- a/multimedia/cinelerra/cinelerra.info
+++ b/multimedia/cinelerra/cinelerra.info
@@ -1,8 +1,8 @@
PRGNAM="cinelerra"
-VERSION="2.3"
-HOMEPAGE="https://cinelerra-cv.org/"
-DOWNLOAD="https://gentoo.osuosl.org/distfiles/CinelerraCV-2.3.tar.xz"
-MD5SUM="a1e7bfaf9827f74900d58d25955bdf3f"
+VERSION="20190930_6ca0a78"
+HOMEPAGE="https://cinelerra-gg.org"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/cinelerra-20190930_6ca0a78.tar.xz"
+MD5SUM="f9b485a2f4c72f83de4fd12eae3346d3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="faac faad2 imlib2 libavc1394 libdv libiec61883 mjpegtools lame x264"
diff --git a/multimedia/cinelerra/slack-desc b/multimedia/cinelerra/slack-desc
index bbeb099ad8..fb333a1c70 100644
--- a/multimedia/cinelerra/slack-desc
+++ b/multimedia/cinelerra/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
cinelerra: cinelerra (GNU/Linux Video/Audio Studio)
cinelerra:
+cinelerra: 5.x variant of Cinelerra by WP Morrow (aka goodguy).
+cinelerra:
cinelerra: Cinelerra CV is the most advanced non-linear video editor
cinelerra: and compositor for Linux. It does primarily three main
cinelerra: things: capturing, compositing, and editing audio and
cinelerra: video with sample level accuracy.
cinelerra:
-cinelerra: Homepage: http://cinelerra-cv.org/
-cinelerra:
-cinelerra:
+cinelerra: Homepage: http://cinelerra-gg.org
cinelerra:
diff --git a/multimedia/dvdstyler/dvdstyler.SlackBuild b/multimedia/dvdstyler/dvdstyler.SlackBuild
index b60c41a311..c6b120f88a 100644
--- a/multimedia/dvdstyler/dvdstyler.SlackBuild
+++ b/multimedia/dvdstyler/dvdstyler.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for dvdstyler
-# Copyright 2013-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=dvdstyler
SPRGNAM=DVDStyler
-VERSION=${VERSION:-3.0.4}
+VERSION=${VERSION:-3.1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/dvdstyler/dvdstyler.info b/multimedia/dvdstyler/dvdstyler.info
index 69ed107c37..c6e20c260d 100644
--- a/multimedia/dvdstyler/dvdstyler.info
+++ b/multimedia/dvdstyler/dvdstyler.info
@@ -1,8 +1,8 @@
PRGNAM="dvdstyler"
-VERSION="3.0.4"
+VERSION="3.1.2"
HOMEPAGE="http://www.dvdstyler.org/"
-DOWNLOAD="http://downloads.sf.net/dvdstyler/DVDStyler-3.0.4.tar.bz2"
-MD5SUM="5008ea1488809fb0ca877b4e617ae5a7"
+DOWNLOAD="http://downloads.sf.net/dvdstyler/DVDStyler-3.1.2.tar.bz2"
+MD5SUM="8d5e977900ade9f57ae1e13c2e50b1ac"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="dvdauthor libavc1394 libmspack libquicktime mjpegtools mpgtx wxsvg"
diff --git a/multimedia/dvgrab/dvgrab.SlackBuild b/multimedia/dvgrab/dvgrab.SlackBuild
index 73e1d982cb..56cf622cf7 100644
--- a/multimedia/dvgrab/dvgrab.SlackBuild
+++ b/multimedia/dvgrab/dvgrab.SlackBuild
@@ -70,7 +70,7 @@ find -L . \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-narrowing" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/multimedia/ffmpeg/README b/multimedia/ffmpeg/README
deleted file mode 100644
index cc3af60b8c..0000000000
--- a/multimedia/ffmpeg/README
+++ /dev/null
@@ -1,70 +0,0 @@
-ffmpeg (Software to record, convert and stream audio and video)
-
-FFmpeg is a complete solution to record, convert and stream audio
-and video. It includes libavcodec, the leading audio/video codec
-library.
-
-You can enable a lot of optional (not-autodetected) features by
-passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild):
-ASS=yes|no (default: no), requires libass
-BLURAY=yes|no (default: no), requires libbluray
-BS2B=yes|no (default: no), requires libbs2b
-CELT=yes|no (default: no), requires celt
-CHROMAPRINT=yes|no (default: no), requires chromaprint
-DC1394=yes|no (default: no), requires libdc1394
-DECKLINK=yes|no (default: no), requires decklink-sdk
-EBUR128=yes|no (default: no), requires libebur128
-FDK_AAC=yes|no (default: no), requires libfdk-aac (creates non-redistributable binary)
-FLITE=yes|no (default: no), requires flite
-FREI0R=yes|no (default: no), requires frei0r
-GME=yes|no (default: no), requires libgme
-GSM=yes|no (default: no), requires gsm
-IEC61883=yes|no (default: no), requires libiec61883 and libavc1394
-ILBC=yes|no (default: no), requires libilbc
-LADSPA=yes|no (default: no), requires ladspa_sdk
-LAME=yes|no (default: no), requires lame
-MODPLUG=yes|no (default: no), requires libmodplug
-NETCDF=yes|no (default: no), requires netcdf
-OPENAL=yes|no (default: no), requires OpenAL
-OPENCORE=yes|no (default: no), requires opencore-amr
-OPENCV=yes|no (default: no), requires opencv-legacy
-OPENSSL=yes|no (default: no), creates non-redistributable binary
-OPUS=yes|no (default: no), requires opus
-RTMP=yes|no (default: no), requires rtmpdump
-RUBBERBAND=yes|no (default: no), requires rubberband
-SCHROEDINGER=yes|no (default: no), requires schroedinger
-SNAPPY=yes|no (default: no), requires snappy
-SPEEX=yes|no (default: no), requires speex
-TESSERACT=yes|no (default: no), requires tesseract
-TWOLAME=yes|no (default: no), requires twolame
-VIDSTAB=yes|no (default: no), requires vid.stab
-WEBP=yes|no (default: no), requires libwebp
-X264=yes|no (default: no), requires x264
-X265=yes|no (default: no), requires x265
-XVID=yes|no (default: no), requires xvidcore
-ZMQ=yes|no (default: no), requires zeromq
-ZVBI=yes|no (default: no), requires zvbi
-
-Additional optional (autodetected) dependencies are jack-audio-connection-kit and
-SDL2. The latter is needed for building ffplay.
-
-Further, there are some more features with dependencies already available
-in core Slackware. These are enabled by default, but can be disabled similar
-to the other switches above:
-CACA=yes|no (default: yes)
-FONTCONFIG=yes|no (default: yes)
-FREETYPE=yes|no (default: yes)
-FRIBIDI=yes|no (default: yes)
-GNUTLS=yes|no (default: yes)
-JP2=yes|no (default: yes)
-LIBCDIO=yes|no (default: yes)
-LIBSSH=yes|no (default: yes)
-OPENGL=yes|no (default: yes)
-PULSEAUDIO=yes|no (default: yes)
-SAMBA=yes|no (default: yes)
-THEORA=yes|no (default: yes)
-V4L2=yes|no (default: yes)
-VORBIS=yes|no (default: yes)
-VPX=yes|no (default: yes)
-WAVPACK=yes|no (default: yes)
-X11GRAB=yes|no (default: yes)
diff --git a/multimedia/ffmpeg/ffmpeg-3.2.4-libfdk_aac-2.0.0.patch b/multimedia/ffmpeg/ffmpeg-3.2.4-libfdk_aac-2.0.0.patch
deleted file mode 100644
index 03d831d72d..0000000000
--- a/multimedia/ffmpeg/ffmpeg-3.2.4-libfdk_aac-2.0.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libavcodec/libfdk-aacenc.c.orig 2017-02-10 23:25:26.000000000 +1000
-+++ libavcodec/libfdk-aacenc.c 2018-12-10 07:59:22.515000000 +1000
-@@ -286,7 +286,7 @@
- }
-
- avctx->frame_size = info.frameLength;
-- avctx->initial_padding = info.encoderDelay;
-+ avctx->initial_padding = info.nDelay;
- ff_af_queue_init(avctx, &s->afq);
-
- if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
diff --git a/multimedia/ffmpeg/ffmpeg-3.2.4-openjpeg2.3.patch b/multimedia/ffmpeg/ffmpeg-3.2.4-openjpeg2.3.patch
deleted file mode 100644
index 65e17d4449..0000000000
--- a/multimedia/ffmpeg/ffmpeg-3.2.4-openjpeg2.3.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -Naur ffmpeg-3.2.4.orig/configure ffmpeg-3.2.4/configure
---- ffmpeg-3.2.4.orig/configure 2017-02-10 14:25:25.000000000 +0100
-+++ ffmpeg-3.2.4/configure 2017-10-12 08:36:03.395867915 +0200
-@@ -1831,6 +1831,8 @@
- machine_ioctl_meteor_h
- malloc_h
- opencv2_core_core_c_h
-+ openjpeg_2_3_openjpeg_h
-+ openjpeg_2_2_openjpeg_h
- openjpeg_2_1_openjpeg_h
- openjpeg_2_0_openjpeg_h
- openjpeg_1_5_openjpeg_h
-@@ -5721,7 +5723,11 @@
- require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
- require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; }
- enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion
--enabled libopenjpeg && { { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
-+enabled libopenjpeg && { { check_lib2 openjpeg-2.3/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
-+ check_lib2 openjpeg-2.3/openjpeg.h opj_version -lopenjp2 ||
-+ { check_lib2 openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
-+ check_lib2 openjpeg-2.2/openjpeg.h opj_version -lopenjp2 ||
-+ { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
- check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 ||
- { check_lib2 openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
- { check_lib2 openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
-diff -Naur ffmpeg-3.2.4.orig/libavcodec/libopenjpegdec.c ffmpeg-3.2.4/libavcodec/libopenjpegdec.c
---- ffmpeg-3.2.4.orig/libavcodec/libopenjpegdec.c 2017-02-10 14:25:26.000000000 +0100
-+++ ffmpeg-3.2.4/libavcodec/libopenjpegdec.c 2017-10-12 08:38:20.676315554 +0200
-@@ -34,7 +34,11 @@
- #include "internal.h"
- #include "thread.h"
-
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H
-+# include <openjpeg-2.3/openjpeg.h>
-+#elif HAVE_OPENJPEG_2_2_OPENJPEG_H
-+# include <openjpeg-2.2/openjpeg.h>
-+#elif HAVE_OPENJPEG_2_1_OPENJPEG_H
- # include <openjpeg-2.1/openjpeg.h>
- #elif HAVE_OPENJPEG_2_0_OPENJPEG_H
- # include <openjpeg-2.0/openjpeg.h>
-@@ -44,7 +48,7 @@
- # include <openjpeg.h>
- #endif
-
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H
- # define OPENJPEG_MAJOR_VERSION 2
- # define OPJ(x) OPJ_##x
- #else
-@@ -429,7 +433,7 @@
- opj_stream_set_read_function(stream, stream_read);
- opj_stream_set_skip_function(stream, stream_skip);
- opj_stream_set_seek_function(stream, stream_seek);
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H
- opj_stream_set_user_data(stream, &reader, NULL);
- #elif HAVE_OPENJPEG_2_0_OPENJPEG_H
- opj_stream_set_user_data(stream, &reader);
-diff -Naur ffmpeg-3.2.4.orig/libavcodec/libopenjpegenc.c ffmpeg-3.2.4/libavcodec/libopenjpegenc.c
---- ffmpeg-3.2.4.orig/libavcodec/libopenjpegenc.c 2017-02-10 14:25:26.000000000 +0100
-+++ ffmpeg-3.2.4/libavcodec/libopenjpegenc.c 2017-10-12 08:40:43.411456456 +0200
-@@ -32,7 +32,11 @@
- #include "avcodec.h"
- #include "internal.h"
-
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H
-+# include <openjpeg-2.3/openjpeg.h>
-+#elif HAVE_OPENJPEG_2_2_OPENJPEG_H
-+# include <openjpeg-2.2/openjpeg.h>
-+#elif HAVE_OPENJPEG_2_1_OPENJPEG_H
- # include <openjpeg-2.1/openjpeg.h>
- #elif HAVE_OPENJPEG_2_0_OPENJPEG_H
- # include <openjpeg-2.0/openjpeg.h>
-@@ -42,7 +46,7 @@
- # include <openjpeg.h>
- #endif
-
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H
- # define OPENJPEG_MAJOR_VERSION 2
- # define OPJ(x) OPJ_##x
- #else
-@@ -306,7 +310,7 @@
-
- opj_set_default_encoder_parameters(&ctx->enc_params);
-
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H
- switch (ctx->cinema_mode) {
- case OPJ_CINEMA2K_24:
- ctx->enc_params.rsiz = OPJ_PROFILE_CINEMA_2K;
-@@ -771,7 +775,7 @@
- opj_stream_set_write_function(stream, stream_write);
- opj_stream_set_skip_function(stream, stream_skip);
- opj_stream_set_seek_function(stream, stream_seek);
--#if HAVE_OPENJPEG_2_1_OPENJPEG_H
-+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H
- opj_stream_set_user_data(stream, &writer, NULL);
- #elif HAVE_OPENJPEG_2_0_OPENJPEG_H
- opj_stream_set_user_data(stream, &writer);
diff --git a/multimedia/ffmpeg/ffmpeg.SlackBuild b/multimedia/ffmpeg/ffmpeg.SlackBuild
deleted file mode 100644
index bba18397a9..0000000000
--- a/multimedia/ffmpeg/ffmpeg.SlackBuild
+++ /dev/null
@@ -1,261 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for ffmpeg
-
-# Copyright 2010-2017 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2017 Patrick J. Volkerding, Sebeka, 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.
-
-# Originally written by core (eroc@linuxmail.org)
-# Modified by Robby Workman <rworkman@slackbuilds.org>
-
-PRGNAM=ffmpeg
-VERSION=${VERSION:-3.2.4}
-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
-
-# You can enable a lot of optional (not-autodetected) features by
-# passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild).
-# Unfortunately ffmpeg's configure doesn't support --enable-feature=yes
-# syntax, so we have to do it the complicated way :/
-# Additional optional (autodetected) dependencies are:
-# - jack-audio-connection-kit
-# - libva
-# - libvdpau
-# - libX11
-# - libxcb
-# - sdl2
-# - xz
-# - zlib
-
-mp3lame="" ; [ "${LAME:-no}" != "no" ] && mp3lame="--enable-libmp3lame"
-libx264="" ; [ "${X264:-no}" != "no" ] && libx264="--enable-libx264"
-libcelt="" ; [ "${CELT:-no}" != "no" ] && libcelt="--enable-libcelt"
-libdc1394="" ; [ "${DC1394:-no}" != "no" ] && libdc1394="--enable-libdc1394"
-libfrei0r="" ; [ "${FREI0R:-no}" != "no" ] && libfrei0r="--enable-frei0r"
-libgsm="" ; [ "${GSM:-no}" != "no" ] && libgsm="--enable-libgsm"
-librtmp="" ; [ "${RTMP:-no}" != "no" ] && librtmp="--enable-librtmp"
-dirac_fast="" ; [ "${SCHROEDINGER:-no}" != "no" ] && dirac_fast="--enable-libschroedinger"
-libspeex="" ; [ "${SPEEX:-no}" != "no" ] && libspeex="--enable-libspeex"
-libxvid="" ; [ "${XVID:-no}" != "no" ] && libxvid="--enable-libxvid"
-libbluray="" ; [ "${BLURAY:-no}" != "no" ] && libbluray="--enable-libbluray"
-libass="" ; [ "${ASS:-no}" != "no" ] && libass="--enable-libass"
-libopenal="" ; [ "${OPENAL:-no}" != "no" ] && libopenal="--enable-openal"
-libiec61883=""; [ "${IEC61883:-no}" != "no" ] && libiec61883="--enable-libiec61883"
-libilbc="" ; [ "${ILBC:-no}" != "no" ] && libilbc="--enable-libilbc"
-libmodplug="" ; [ "${MODPLUG:-no}" != "no" ] && libmodplug="--enable-libmodplug"
-libopus="" ; [ "${OPUS:-no}" != "no" ] && libopus="--enable-libopus"
-libtwolame="" ; [ "${TWOLAME:-no}" != "no" ] && libtwolame="--enable-libtwolame"
-ladspa="" ; [ "${LADSPA:-no}" != "no" ] && ladspa="--enable-ladspa"
-libflite="" ; [ "${FLITE:-no}" != "no" ] && libflite="--enable-libflite"
-libvidstab="" ; [ "${VIDSTAB:-no}" != "no" ] && libvidstab="--enable-libvidstab"
-libx265="" ; [ "${X265:-no}" != "no" ] && libx265="--enable-libx265"
-libzvbi="" ; [ "${ZVBI:-no}" != "no" ] && libzvbi="--enable-libzvbi"
-libopencv="" ; [ "${OPENCV:-no}" != "no" ] && libopencv="--enable-libopencv"
-libgme="" ; [ "${GME:-no}" != "no" ] && libgme="--enable-libgme"
-libsnappy="" ; [ "${SNAPPY:-no}" != "no" ] && libsnappy="--enable-libsnappy"
-libwebp="" ; [ "${WEBP:-no}" != "no" ] && libwebp="--enable-libwebp"
-libzmq="" ; [ "${ZMQ:-no}" != "no" ] && libzmq="--enable-libzmq"
-libbs2b="" ; [ "${BS2B:-no}" != "no" ] && libbs2b="--enable-libbs2b"
-libebur128="" ; [ "${EBUR128:-no}" != "no" ] && libebur128="--enable-libebur128"
-rubberband="" ; [ "${RUBBERBAND:-no}" != "no" ] && rubberband="--enable-librubberband"
-tesseract="" ; [ "${TESSERACT:-no}" != "no" ] && tesseract="--enable-libtesseract"
-netcdf="" ; [ "${NETCDF:-no}" != "no" ] && netcdf="--enable-netcdf"
-chromaprint="" ; [ "${CHROMAPRINT:-no}" != "no" ] && chromaprint="--enable-chromaprint"
-opencore_amr="" ; [ "${OPENCORE:-no}" != "no" ] && \
- opencore_amr="--enable-libopencore-amrnb --enable-libopencore-amrwb"
-fdk="" ; [ "${FDK_AAC:-no}" != "no" ] && \
- { fdk="--enable-libfdk-aac"; non_free="--enable-nonfree" ; }
-ssl="" ; [ "${OPENSSL:-no}" != "no" ] && \
- { ssl="--enable-openssl" ; non_free="--enable-nonfree" ; }
-decklink="" ; [ "${DECKLINK:-no}" != "no" ] && \
- { decklink="--enable-decklink" ; \
- SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink" ; }
-
-# Default enabled features:
-#opencl="" ; [ "${OPENCL:-yes}" != "no" ] && opencl="--enable-opencl"
-fontconfig="" ; [ "${FONTCONFIG:-yes}" != "no" ] && fontconfig="--enable-libfontconfig"
-freetype="" ; [ "${FREETYPE:-yes}" != "no" ] && freetype="--enable-libfreetype"
-fribidi="" ; [ "${FRIBIDI:-yes}" != "no" ] && fribidi="--enable-libfribidi"
-gnutls="" ; [ "${GNUTLS:-yes}" != "no" ] && gnutls="--enable-gnutls"
-libcaca="" ; [ "${CACA:-yes}" != "no" ] && libcaca="--enable-libcaca"
-libcdio="" ; [ "${LIBCDIO:-yes}" != "no" ] && libcdio="--enable-libcdio"
-libssh="" ; [ "${LIBSSH:-yes}" != "no" ] && libssh="--enable-libssh"
-libtheora="" ; [ "${THEORA:-yes}" != "no" ] && libtheora="--enable-libtheora"
-libv4l2="" ; [ "${V4L2:-yes}" != "no" ] && libv4l2="--enable-libv4l2"
-libvorbis="" ; [ "${VORBIS:-yes}" != "no" ] && libvorbis="--enable-libvorbis"
-libvpx="" ; [ "${VPX:-yes}" != "no" ] && libvpx="--enable-libvpx"
-opengl="" ; [ "${OPENGL:-yes}" != "no" ] && opengl="--enable-opengl"
-openjpeg="" ; [ "${JP2:-yes}" != "no" ] && openjpeg="--enable-libopenjpeg"
-pulse="" ; [ "${PULSEAUDIO:-yes}" != "no" ] && pulse="--enable-libpulse"
-samba="" ; [ "${SAMBA:-yes}" != "no" ] && samba="--enable-libsmbclient"
-wavpack="" ; [ "${WAVPACK:-yes}" != "no" ] && wavpack="--enable-libwavpack"
-x11grab="" ; [ "${X11GRAB:-yes}" != "no" ] && x11grab="--enable-x11grab"
-
-# Disable patent encumbered features:
-aac="" ; [ "${AAC:-yes}" != "yes" ] && aac="--disable-encoder=aac"
-
-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 {} \;
-
-# Patch for openjpeg-2.3.0
-patch -p1 < $CWD/ffmpeg-3.2.4-openjpeg2.3.patch
-
-#patch for libfdk-aac 2.0.0
-patch -p0 < $CWD/ffmpeg-3.2.4-libfdk_aac-2.0.0.patch
-
-# Fix linking with flite:
-sed -i "s| -lflite\"| -lflite -lm -lasound\"|" \
- ./configure
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --shlibdir=/usr/lib${LIBDIRSUFFIX} \
- --docdir=/usr/doc/$PRGNAM-$VERSION/html \
- --mandir=/usr/man \
- --disable-debug \
- --enable-shared \
- --disable-static \
- --enable-gpl \
- --enable-version3 \
- --enable-avresample \
- --arch=$ARCH \
- $non_free \
- $aac \
- $chromaprint \
- $decklink \
- $dirac_fast \
- $fdk \
- $fontconfig \
- $freetype \
- $fribidi \
- $gnutls \
- $ladspa \
- $libass \
- $libbluray \
- $libbs2b \
- $libcaca \
- $libcdio \
- $libcelt \
- $libdc1394 \
- $libebur128 \
- $libflite \
- $libfrei0r \
- $libgme \
- $libgsm \
- $libiec61883 \
- $libilbc \
- $libmodplug \
- $libopenal \
- $libopencv \
- $libopus \
- $librtmp \
- $libsnappy \
- $libspeex \
- $libssh \
- $libtheora \
- $libtwolame \
- $libv4l2 \
- $libvidstab \
- $libvorbis \
- $libvpx \
- $libwebp \
- $libx264 \
- $libx265 \
- $libxvid \
- $libzmq \
- $libzvbi \
- $mp3lame \
- $netcdf \
- $opencore_amr \
- $opengl \
- $openjpeg \
- $pulse \
- $rubberband \
- $samba \
- $ssl \
- $tesseract \
- $wavpack \
- $x11grab
-
-make
-make install DESTDIR=$PKG
-make install-man 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 {} \;
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/txt
-cp -a Changelog COPYING* CREDITS INSTALL* LICENSE* MAINTAINERS README* \
- RELEASE VERSION \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION/txt/
-find . -name "RELEASE_NOTES" -exec cp -a {} $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/multimedia/ffmpeg/ffmpeg.info b/multimedia/ffmpeg/ffmpeg.info
deleted file mode 100644
index f187f17aa0..0000000000
--- a/multimedia/ffmpeg/ffmpeg.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="ffmpeg"
-VERSION="3.2.4"
-HOMEPAGE="http://www.ffmpeg.org"
-DOWNLOAD="http://www.ffmpeg.org/releases/ffmpeg-3.2.4.tar.xz"
-MD5SUM="39fd71024ac76ba35f04397021af5606"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="%README%"
-MAINTAINER="Heinz Wiesinger"
-EMAIL="pprkut@liwjatan.at"
diff --git a/multimedia/ffmpeg/slack-desc b/multimedia/ffmpeg/slack-desc
deleted file mode 100644
index 6d47b332b4..0000000000
--- a/multimedia/ffmpeg/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------------------------------------------------------|
-ffmpeg: ffmpeg (Software to record, convert and stream audio and video)
-ffmpeg:
-ffmpeg: FFmpeg is a complete solution to record, convert and stream audio
-ffmpeg: and video. It includes libavcodec, the leading audio/video codec
-ffmpeg: library. FFmpeg is developed under Linux, but it can compiled
-ffmpeg: under most operating systems, including Windows.
-ffmpeg:
-ffmpeg: Homepage: http://ffmpeg.mplayerhq.hu
-ffmpeg:
-ffmpeg:
-ffmpeg:
diff --git a/multimedia/ffmpeg4/README b/multimedia/ffmpeg4/README
deleted file mode 100644
index 9d9c5e4ed1..0000000000
--- a/multimedia/ffmpeg4/README
+++ /dev/null
@@ -1,85 +0,0 @@
-ffmpeg4 (Software to record, convert and stream audio and video).
-
-ffmpeg4 should be installable alongside ffmpeg 3.x without conflict.
-
-FFmpeg is a complete solution to record, convert and stream audio
-and video. It includes libavcodec, the leading audio/video codec
-library.
-
-By default it will not build the ffmpeg binaries or man-pages, in order
-not to conflict with an ffmpeg 3.x package. You can change this by
-using the following environment variable setting:
-
- BINS=yes
-
-It can optionally link to a number of extra libraries that are available
-on SBo by setting the relevant env vars, which all default to "no":
-
- CHROMAPRINT=yes # requires chromaprint
- DECKLINK=yes # requires decklink-sdk
- FREI0R=yes # requires frei0r
- LADSPA=yes # requires ladspa_sdk
- LIBAOM=yes # requires libaom
- LIBBLURAY=yes # requires libbluray
- LIBBS2B=yes # requires libbs2b
- LIBCELT=yes # requires celt
- LIBDC1394=yes # requires libdc1394
- LIBFDK_AAC=yes # requires libfdk-aac (non-redistributable)
- LIBFLITE=yes # requires flite
- LIBGME=yes # requires libgme
- LIBGSM=yes # requires gsm
- LIBIEC61883=yes # requires libiec61883 and libavc1394
- LIBILBC=yes # requires libilbc
- LIBMODPLUG=yes # requires libmodplug
- LIBMP3LAME=yes # requires lame
- LIBOPENCORE=yes # requires opencore-amr
- LIBOPENCV=yes # requires opencv
- LIBOPUS=yes # requires opus
- LIBRTMP=yes # requires rtmpdump
- LIBRUBBERBAND=yes # requires rubberband
- LIBSNAPPY=yes # requires snappy
- LIBSPEEX=yes # requires speex
- LIBTESSERACT=yes # requires tesseract
- LIBTWOLAME=yes # requires twolame
- LIBVIDSTAB=yes # requires vid.stab
- LIBWEBP=yes # requires libwebp
- LIBX264=yes # requires x264
- LIBX265=yes # requires x265
- LIBXVID=yes # requires xvidcore
- LIBZMQ=yes # requires zeromq
- LIBZVBI=yes # requires zvbi
-
-By default, ffmpeg4 is built to link with openssl. This creates a non-
-redistributable binary (just like linking with libfdk-aac does). If you
-want a redistributable binary you can change from linking with openssl
-to linking with gnutls instead by setting:
-
- OPENSSL=no
- GNUTLS=yes
-
-Both of these libraries are available in Slackware itself.
-
-There are a few other libraries available in Slackware that are also
-linked to by default, and you can disable them by changing the default
-of "yes" to "no" with the following settings:
-
- LIBCACA=no
- LIBCDIO=no
- LIBFONTCONFIG=no
- LIBFREETYPE=no
- LIBFRIBIDI=no
- LIBOPENJPEG=no
- LIBPULSE=no
- LIBSMBCLIENT=no
- LIBSSH=no
- LIBTHEORA=no
- LIBV4L2=no
- LIBVORBIS=no
- LIBVPX=no
- LIBWAVPACK=no
- OPENGL=no
-
-To link to this version of the ffmpeg libraries, you'll need to set
-the PKG_CONFIG_PATH to "/usr/lib${LIBDIRSUFFIX}/ffmpeg4/pkgconfig"
-where ${LIBDIRSUFFIX} is either 64 or an empty string, depending on
-your architecture.
diff --git a/multimedia/ffmpeg4/ffmpeg4.SlackBuild b/multimedia/ffmpeg4/ffmpeg4.SlackBuild
deleted file mode 100644
index 565dc68ae9..0000000000
--- a/multimedia/ffmpeg4/ffmpeg4.SlackBuild
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for ffmpeg4
-
-# Copyright 2018 Andreas Guldstrand
-# 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=ffmpeg4
-SRCNAM=ffmpeg
-VERSION=${VERSION:-4.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
-
-enable() {
- VAR="$1"; shift
- DEF="$1"; shift
- YES="$1"; shift
- NO="$1"; shift
- eval "$VAR=\${$VAR:-$DEF}"
- eval "enable_$VAR=\"$NO\""
- eval "[ \"\$$VAR\" = \"yes\" ] && enable_$VAR=\"$YES\""
-}
-
-# set "enable_$VAR" variables
- # ENV VAR DEFAULT IF YES IF NO
-enable "BINS" "no" "" "--disable-programs --disable-manpages"
-enable "CHROMAPRINT" "no" "--enable-chromaprint" ""
-enable "DECKLINK" "no" "--enable-decklink" ""
-enable "FREI0R" "no" "--enable-frei0r" ""
-enable "GNUTLS" "no" "--enable-gnutls" ""
-enable "LADSPA" "no" "--enable-ladspa" ""
-enable "LIBAOM" "no" "--enable-libaom" ""
-enable "LIBBLURAY" "no" "--enable-libbluray" ""
-enable "LIBBS2B" "no" "--enable-libbs2b" ""
-enable "LIBCACA" "yes" "--enable-libcaca" ""
-enable "LIBCDIO" "yes" "--enable-libcdio" ""
-enable "LIBCELT" "no" "--enable-libcelt" ""
-enable "LIBDC1394" "no" "--enable-libdc1394" ""
-enable "LIBFDK_AAC" "no" "--enable-nonfree --enable-libfdk_aac" ""
-enable "LIBFLITE" "no" "--enable-libflite" ""
-enable "LIBFONTCONFIG" "yes" "--enable-libfontconfig" ""
-enable "LIBFREETYPE" "yes" "--enable-libfreetype" ""
-enable "LIBFRIBIDI" "yes" "--enable-libfribidi" ""
-enable "LIBGME" "no" "--enable-libgme" ""
-enable "LIBGSM" "no" "--enable-libgsm" ""
-enable "LIBIEC61883" "no" "--enable-libiec61883" ""
-enable "LIBILBC" "no" "--enable-libilbc" ""
-enable "LIBMODPLUG" "no" "--enable-libmodplug" ""
-enable "LIBMP3LAME" "no" "--enable-libmp3lame" ""
-enable "LIBOPENCORE" "no" "--enable-libopencore-amrnb --enable-libopencore-amrwb" ""
-enable "LIBOPENCV" "no" "--enable-libopencv" ""
-enable "LIBOPENJPEG" "yes" "--enable-libopenjpeg" ""
-enable "LIBOPUS" "no" "--enable-libopus" ""
-enable "LIBPULSE" "yes" "--enable-libpulse" ""
-enable "LIBRTMP" "no" "--enable-librtmp" ""
-enable "LIBRUBBERBAND" "no" "--enable-librubberband" ""
-enable "LIBSMBCLIENT" "yes" "--enable-libsmbclient" ""
-enable "LIBSNAPPY" "no" "--enable-libsnappy" ""
-enable "LIBSPEEX" "no" "--enable-libspeex" ""
-enable "LIBSSH" "yes" "--enable-libssh" ""
-enable "LIBTESSERACT" "no" "--enable-libtesseract" ""
-enable "LIBTHEORA" "yes" "--enable-libtheora" ""
-enable "LIBTWOLAME" "no" "--enable-libtwolame" ""
-enable "LIBV4L2" "yes" "--enable-libv4l2" ""
-enable "LIBVIDSTAB" "no" "--enable-libvidstab" ""
-enable "LIBVORBIS" "yes" "--enable-libvorbis" ""
-enable "LIBVPX" "yes" "--enable-libvpx" ""
-enable "LIBWAVPACK" "yes" "--enable-libwavpack" ""
-enable "LIBWEBP" "no" "--enable-libwebp" ""
-enable "LIBX264" "no" "--enable-libx264" ""
-enable "LIBX265" "no" "--enable-libx265" ""
-enable "LIBXVID" "no" "--enable-libxvid" ""
-enable "LIBZMQ" "no" "--enable-libzmq" ""
-enable "LIBZVBI" "no" "--enable-libzvbi" ""
-enable "OPENAL" "no" "--enable-openal" ""
-enable "OPENGL" "yes" "--enable-opengl" ""
-enable "OPENSSL" "yes" "--enable-nonfree --enable-openssl" ""
-
-[ "$DECKLINK" = "yes" ] && SLKCFLAGS="$SLKCFLAGS -I/usr/include/decklink"
-
-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
-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}/ffmpeg4 \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION/html \
- --incdir=/usr/include/ffmpeg4 \
- --datadir=/usr/share/ffmpeg4 \
- --enable-rpath \
- --disable-podpages \
- --disable-txtpages \
- --arch=$ARCH \
- --enable-gpl \
- --enable-version3 \
- --enable-shared \
- --disable-static \
- --disable-debug \
- --enable-libass \
- $enable_BINS \
- $enable_CHROMAPRINT \
- $enable_DECKLINK \
- $enable_FREI0R \
- $enable_GNUTLS \
- $enable_LADSPA \
- $enable_LIBAOM \
- $enable_LIBBLURAY \
- $enable_LIBBS2B \
- $enable_LIBCACA \
- $enable_LIBCDIO \
- $enable_LIBCELT \
- $enable_LIBDC1394 \
- $enable_LIBFDK_AAC \
- $enable_LIBFLITE \
- $enable_LIBFONTCONFIG \
- $enable_LIBFREETYPE \
- $enable_LIBFRIBIDI \
- $enable_LIBGME \
- $enable_LIBGSM \
- $enable_LIBIEC61883 \
- $enable_LIBILBC \
- $enable_LIBMODPLUG \
- $enable_LIBMP3LAME \
- $enable_LIBOPENCORE \
- $enable_LIBOPENCV \
- $enable_LIBOPENJPEG \
- $enable_LIBOPUS \
- $enable_LIBPULSE \
- $enable_LIBRTMP \
- $enable_LIBRUBBERBAND \
- $enable_LIBSMBCLIENT \
- $enable_LIBSNAPPY \
- $enable_LIBSPEEX \
- $enable_LIBSSH \
- $enable_LIBTESSERACT \
- $enable_LIBTHEORA \
- $enable_LIBTWOLAME \
- $enable_LIBV4L2 \
- $enable_LIBVIDSTAB \
- $enable_LIBVORBIS \
- $enable_LIBVPX \
- $enable_LIBWAVPACK \
- $enable_LIBWEBP \
- $enable_LIBX264 \
- $enable_LIBX265 \
- $enable_LIBXVID \
- $enable_LIBZMQ \
- $enable_LIBZVBI \
- $enable_OPENAL \
- $enable_OPENGL \
- $enable_OPENSSL
-
-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
-
-if [ "$BINS" = "yes" ]; then
- 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
-fi
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- Changelog CONTRIBUTING.md COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 COPYING.LGPLv3 \
- CREDITS INSTALL.md LICENSE.md MAINTAINERS README.md RELEASE RELEASE_NOTES 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/multimedia/ffmpeg4/ffmpeg4.info b/multimedia/ffmpeg4/ffmpeg4.info
deleted file mode 100644
index 50c38934da..0000000000
--- a/multimedia/ffmpeg4/ffmpeg4.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="ffmpeg4"
-VERSION="4.1"
-HOMEPAGE="https://ffmpeg.org/"
-DOWNLOAD="https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2"
-MD5SUM="8107e8f22a33b27a5e34b38e628eecc6"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="libass"
-MAINTAINER="Andreas Guldstrand"
-EMAIL="andreas.guldstrand@gmail.com"
diff --git a/multimedia/ffmpeg4/slack-desc b/multimedia/ffmpeg4/slack-desc
deleted file mode 100644
index 838032d34c..0000000000
--- a/multimedia/ffmpeg4/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------------------------------------------------------|
-ffmpeg4: ffmpeg4 (Software to record, convert and stream audio and video)
-ffmpeg4:
-ffmpeg4: ffmpeg4 should be installable alongside ffmpeg 3.x without conflict.
-ffmpeg4:
-ffmpeg4: FFmpeg is a complete solution to record, convert and stream audio and
-ffmpeg4: video. It includes libavcodec, the leading audio/video codec library.
-ffmpeg4:
-ffmpeg4: Homepage: https://ffmpeg.org/
-ffmpeg4:
-ffmpeg4:
-ffmpeg4:
diff --git a/multimedia/gnash/gnash.SlackBuild b/multimedia/gnash/gnash.SlackBuild
index 99a4c07c84..af273fa898 100644
--- a/multimedia/gnash/gnash.SlackBuild
+++ b/multimedia/gnash/gnash.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gnash
-VERSION=${VERSION:-0.8.10}
-BUILD=${BUILD:-7}
+VERSION=${VERSION:-20170308_8a11e60}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -78,33 +78,17 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
-chmod -R u+w,go-w,a+rX-st .
-
-# Fix compilation with GCC 4.7.
-patch -p1 < $CWD/patch/gcc47.patch
-
-# Fix a boost linking error, paths for kde plugin, and a cve patch.
-# Ripped from gentoo
-patch -p1 < $CWD/patch/gnash-0.8.10-boost-1.50.patch
-patch -p1 < $CWD/patch/gnash-0.8.10-klash.patch
-patch -p1 < $CWD/patch/gnash-0.8.10-kde4-libdir.patch
-patch -p1 < $CWD/patch/gnash-0.8.10-cve-2012-1175.patch
-
-# Fix building with giflib-5.0
-# Also ripped from gentoo :-)
-patch -p1 < $CWD/patch/58dcdd9338d965e54c8f03ce3d2757388d82b7a3.patch
-patch -p1 < $CWD/patch/cc22f2d0597f3a9547980f4786d918f8b5635472.patch
-
-# Fix build with new Boost
-# Taken from ARCH
-patch -p1 < $CWD/patch/gnash-boost.patch
-
-# The FFmpeg engine doesn't compile with FFmpeg 0.11.1. Patches welcome.
-# In the meantime, set --enable-media=gst to avoid autodetecting FFmpeg.
-autoreconf -vif
+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
+
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -115,14 +99,14 @@ autoreconf -vif
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
--disable-dependency-tracking \
- --enable-media=gst \
--enable-python \
--enable-ssh \
--enable-ssl \
--enable-write \
--without-gconf \
--with-plugins-install=system \
- --with-speexdsp-incl=/usr/include/speex \
+ --with-speexdsp-incl=/usr/include \
+ --disable-npapi \
$KLASH_OPT \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/multimedia/gnash/gnash.info b/multimedia/gnash/gnash.info
index 012dd88c5f..a9525da636 100644
--- a/multimedia/gnash/gnash.info
+++ b/multimedia/gnash/gnash.info
@@ -1,10 +1,10 @@
PRGNAM="gnash"
-VERSION="0.8.10"
+VERSION="20170308_8a11e60"
HOMEPAGE="https://www.gnu.org/software/gnash/"
-DOWNLOAD="ftp://ftp.gnu.org/pub/gnu/gnash/0.8.10/gnash-0.8.10.tar.bz2"
-MD5SUM="63e9f79c41d93d48c5a2fa94856548c4"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/gnash-20170308_8a11e60.tar.xz"
+MD5SUM="be7f2af072481869395d9f7f8c57cce1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="agg xulrunner"
+REQUIRES="agg"
MAINTAINER="Kyle Guinn"
EMAIL="elyk03@gmail.com"
diff --git a/multimedia/gnash/patch/58dcdd9338d965e54c8f03ce3d2757388d82b7a3.patch b/multimedia/gnash/patch/58dcdd9338d965e54c8f03ce3d2757388d82b7a3.patch
deleted file mode 100644
index b3242ce0d3..0000000000
--- a/multimedia/gnash/patch/58dcdd9338d965e54c8f03ce3d2757388d82b7a3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 58dcdd9338d965e54c8f03ce3d2757388d82b7a3 Mon Sep 17 00:00:00 2001
-From: gustavo <gbuschle@hotmail.com>
-Date: Thu, 11 Sep 2014 14:12:17 +0000
-Subject: Add support for giflib 5.1
-
----
-diff --git a/libbase/GnashImageGif.cpp b/libbase/GnashImageGif.cpp
-index 84b09ce..2ae5ddb 100644
---- a/libbase/GnashImageGif.cpp
-+++ b/libbase/GnashImageGif.cpp
-@@ -120,7 +120,11 @@ GifInput::GifInput(std::shared_ptr<IOChannel> in)
- GifInput::~GifInput()
- {
- // Clean up allocated data.
-- DGifCloseFile(_gif);
-+#if GIFLIB_MAJOR==5 && GIFLIB_MINOR==1
-+ DGifCloseFile(_gif, 0);
-+#else
-+ DGifCloseFile(_gif);
-+#endif
- }
-
- size_t
---
-cgit v0.9.0.2
diff --git a/multimedia/gnash/patch/cc22f2d0597f3a9547980f4786d918f8b5635472.patch b/multimedia/gnash/patch/cc22f2d0597f3a9547980f4786d918f8b5635472.patch
deleted file mode 100644
index 6e90737d51..0000000000
--- a/multimedia/gnash/patch/cc22f2d0597f3a9547980f4786d918f8b5635472.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From cc22f2d0597f3a9547980f4786d918f8b5635472 Mon Sep 17 00:00:00 2001
-From: OBATA Akio <obata@lins.jp>
-Date: Mon, 15 Jul 2013 07:16:39 +0000
-Subject: Add support fir GIFLIB-5.0 (bug #39482)
-
-Signed-off-by: Sandro Santilli <strk@keybit.net>
----
-diff --git a/libbase/GnashImageGif.cpp b/libbase/GnashImageGif.cpp
-index eeba4b7..26865c1 100644
---- a/libbase/GnashImageGif.cpp
-+++ b/libbase/GnashImageGif.cpp
-@@ -269,7 +269,17 @@ GifInput::processRecord(GifRecordType record)
- void
- GifInput::read()
- {
-+#if GIFLIB_MAJOR >= 5
-+ int errorCode;
-+ _gif = DGifOpen(_inStream.get(), &readData, &errorCode);
-+#else
- _gif = DGifOpen(_inStream.get(), &readData);
-+#endif
-+
-+ if ( ! _gif ) {
-+ // TODO: decode errorCode if available
-+ throw ParserException("Could not open input GIF stream");
-+ }
-
- GifRecordType record;
-
---
-cgit v0.9.0.2
diff --git a/multimedia/gnash/patch/gcc47.patch b/multimedia/gnash/patch/gcc47.patch
deleted file mode 100644
index 7886b097c9..0000000000
--- a/multimedia/gnash/patch/gcc47.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/plugin/klash4/klash_part.cpp b/plugin/klash4/klash_part.cpp
---- a/plugin/klash4/klash_part.cpp
-+++ b/plugin/klash4/klash_part.cpp
-@@ -27,6 +27,7 @@
- #include <QByteArray>
- #include <QMenu>
- #include <QTimer>
-+#include <unistd.h>
-
- #include <klibloader.h>
- #include <kdebug.h>
diff --git a/multimedia/gnash/patch/gnash-0.8.10-boost-1.50.patch b/multimedia/gnash/patch/gnash-0.8.10-boost-1.50.patch
deleted file mode 100644
index 23282d1e89..0000000000
--- a/multimedia/gnash/patch/gnash-0.8.10-boost-1.50.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ur a/macros/boost.m4 b/macros/boost.m4
---- a/macros/boost.m4 2012-09-03 17:11:43.000000000 +0200
-+++ b/macros/boost.m4 2012-10-16 01:58:28.000000000 +0200
-@@ -37,7 +37,7 @@
- boost_headers="detail/lightweight_mutex.hpp thread/thread.hpp multi_index_container.hpp multi_index/key_extractors.hpp thread/mutex.hpp program_options/options_description.hpp iostreams/stream.hpp"
- dnl this is a list of *required* libraries. If any of these are missing, this
- dnl test will return a failure, and Gnash won't build.
-- boost_libs="thread program_options iostreams"
-+ boost_libs="thread program_options iostreams system"
-
- dnl this is a list of *recommended* libraries. If any of these are missing, this
- dnl test will return a warning, and Gnash will build, but testing won't work.
-diff -ur a/plugin/npapi/Makefile.am b/plugin/npapi/Makefile.am
---- a/plugin/npapi/Makefile.am 2012-09-03 17:11:43.000000000 +0200
-+++ b/plugin/npapi/Makefile.am 2012-10-16 01:58:57.000000000 +0200
-@@ -78,7 +78,7 @@
-
- libgnashplugin_la_LIBADD = \
- $(GLIB_LIBS) \
-- -lboost_iostreams \
-+ $(BOOST_LIBS) \
- $(NULL)
-
- # Scriptable plugin support
diff --git a/multimedia/gnash/patch/gnash-0.8.10-cve-2012-1175.patch b/multimedia/gnash/patch/gnash-0.8.10-cve-2012-1175.patch
deleted file mode 100644
index 9a218d9216..0000000000
--- a/multimedia/gnash/patch/gnash-0.8.10-cve-2012-1175.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527 Mon Sep 17 00:00:00 2001
-From: Benjamin Wolsey <bwy@benjaminwolsey.de>
-Date: Sat, 10 Mar 2012 14:52:50 +0000
-Subject: Fix crash in GnashImage.cpp
-
----
-diff --git a/libbase/GnashImage.cpp b/libbase/GnashImage.cpp
-index 11c6956..03a6939 100644
---- a/libbase/GnashImage.cpp
-+++ b/libbase/GnashImage.cpp
-@@ -26,6 +26,7 @@
- #include <boost/scoped_array.hpp>
- #include <boost/shared_ptr.hpp>
- #include <algorithm>
-+#include <cassert>
-
- #ifdef USE_PNG
- # include "GnashImagePng.h"
-@@ -44,6 +45,21 @@ namespace image {
-
- namespace {
- void processAlpha(GnashImage::iterator imageData, size_t pixels);
-+ bool checkValidSize(size_t width, size_t height, size_t channels) {
-+
-+ if (width == 0 || height == 0) return false;
-+
-+ assert(channels > 0);
-+
-+ boost::uint32_t maxSize = std::numeric_limits<boost::int32_t>::max();
-+ if (width >= maxSize || height >= maxSize) return false;
-+
-+ maxSize /= channels;
-+ maxSize /= width;
-+ maxSize /= height;
-+
-+ return maxSize > 0;
-+ }
- }
-
- GnashImage::GnashImage(iterator data, size_t width, size_t height,
-@@ -55,6 +71,8 @@ GnashImage::GnashImage(iterator data, size_t width, size_t height,
- _height(height),
- _data(data)
- {
-+ // Callers should check dimensions
-+ assert(checkValidSize(_width, _height, channels()));
- }
-
- /// Create an image allocating a buffer of height*pitch bytes
-@@ -66,8 +84,9 @@ GnashImage::GnashImage(size_t width, size_t height, ImageType type,
- _width(width),
- _height(height)
- {
-- const size_t max = std::numeric_limits<boost::int32_t>::max();
-- if (size() > max) {
-+ // Constructed from external input, so restrict dimensions to avoid
-+ // overflow in size calculations
-+ if (!checkValidSize(_width, _height, channels())) {
- throw std::bad_alloc();
- }
- _data.reset(new value_type[size()]);
---
-cgit v0.9.0.2
diff --git a/multimedia/gnash/patch/gnash-0.8.10-kde4-libdir.patch b/multimedia/gnash/patch/gnash-0.8.10-kde4-libdir.patch
deleted file mode 100644
index b3279441d2..0000000000
--- a/multimedia/gnash/patch/gnash-0.8.10-kde4-libdir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur a/macros/kde4.m4 b/macros/kde4.m4
---- a/macros/kde4.m4 2011-02-26 19:11:08.000000000 +0100
-+++ b/macros/kde4.m4 2011-11-25 18:09:25.000000000 +0100
-@@ -198,7 +198,7 @@
- if test -d ${KDE4_PREFIX}/lib64 -a -f /etc/redhat-release; then
- KDE4_PLUGINDIR="${KDE4_PREFIX}/lib64/kde4"
- else
-- KDE4_PLUGINDIR="${KDE4_PREFIX}/lib/kde4"
-+ KDE4_PLUGINDIR="${KDE4_PREFIX}/${acl_libdirstem}/kde4"
- fi
- fi
- if test x"${with_kde4_servicesdir}" != x ; then
diff --git a/multimedia/gnash/patch/gnash-0.8.10-klash.patch b/multimedia/gnash/patch/gnash-0.8.10-klash.patch
deleted file mode 100644
index e6afec04d2..0000000000
--- a/multimedia/gnash/patch/gnash-0.8.10-klash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur a/macros/kde4.m4 b/macros/kde4.m4
---- a/macros/kde4.m4 2011-02-26 19:11:08.000000000 +0100
-+++ b/macros/kde4.m4 2011-03-21 00:04:38.845997945 +0100
-@@ -210,7 +210,7 @@
- KDE4_CONFIGDIR="${KDE4_PREFIX}/share/kde4/config"
- fi
- if test x"${KDE4_APPSDATADIR}" = x ; then
-- KDE4_APPSDATADIR="${KDE4_PREFIX}/share/kde4/apps/klash"
-+ KDE4_APPSDATADIR="${KDE4_PREFIX}/share/apps/klash"
- fi
-
- if test x"${ac_cv_path_kde4_incl}" != x ; then
diff --git a/multimedia/gnash/patch/gnash-boost.patch b/multimedia/gnash/patch/gnash-boost.patch
deleted file mode 100644
index 55208f1ae3..0000000000
--- a/multimedia/gnash/patch/gnash-boost.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- gnash-0.8.10/libbase/accumulator.h.orig 2016-02-08 02:56:17.059694787 +0700
-+++ gnash-0.8.10/libbase/accumulator.h 2016-02-08 02:57:58.375615249 +0700
-@@ -61,6 +61,11 @@
- virtual unsigned min_tokens() const { return 0; }
- virtual unsigned max_tokens() const { return 0; }
-
-+ #if BOOST_VERSION >= 105900
-+ /// There are no tokens, so this is indifferent.
-+ virtual bool adjacent_tokens_only() const { return false; }
-+ #endif
-+
- /// Accumulating from different sources is silly.
- virtual bool is_composing() const { return false; }
-
diff --git a/multimedia/gpac/gpac-ffmpeg-4.0.patch b/multimedia/gpac/gpac-ffmpeg-4.0.patch
new file mode 100644
index 0000000000..05132e19e8
--- /dev/null
+++ b/multimedia/gpac/gpac-ffmpeg-4.0.patch
@@ -0,0 +1,42 @@
+diff -rupN gpac-0.7.1.orig/applications/dashcast/video_encoder.c gpac-0.7.1/applications/dashcast/video_encoder.c
+--- gpac-0.7.1.orig/applications/dashcast/video_encoder.c 2018-04-26 09:19:52.938118328 +0200
++++ gpac-0.7.1/applications/dashcast/video_encoder.c 2018-04-26 09:20:03.165170164 +0200
+@@ -144,7 +144,7 @@ int dc_video_encoder_open(VideoOutputFil
+ }
+
+ //the global header gives access to the extradata (SPS/PPS)
+- video_output_file->codec_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ video_output_file->codec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+
+ video_output_file->vstream_idx = 0;//video_stream->index;
+
+diff -rupN gpac-0.7.1.orig/modules/ffmpeg_in/ffmpeg_decode.c gpac-0.7.1/modules/ffmpeg_in/ffmpeg_decode.c
+--- gpac-0.7.1.orig/modules/ffmpeg_in/ffmpeg_decode.c 2018-04-26 09:19:53.034788555 +0200
++++ gpac-0.7.1/modules/ffmpeg_in/ffmpeg_decode.c 2018-04-26 09:30:09.739463486 +0200
+@@ -49,7 +49,7 @@
+ static uint8_t * ffmpeg_realloc_buffer(uint8_t * oldBuffer, u32 size) {
+ uint8_t * buffer;
+ /* Size of buffer must be larger, see avcodec_decode_video2 documentation */
+- u32 allocatedSz = sizeof( char ) * (FF_INPUT_BUFFER_PADDING_SIZE + size);
++ u32 allocatedSz = sizeof( char ) * (AV_INPUT_BUFFER_PADDING_SIZE + size);
+ if (oldBuffer)
+ gf_free(oldBuffer);
+ buffer = (uint8_t*)gf_malloc( allocatedSz );
+@@ -577,7 +577,7 @@ static GF_Err FFDEC_GetCapabilities(GF_B
+ capability->cap.valueInt = 1;
+ return GF_OK;
+ case GF_CODEC_PADDING_BYTES:
+- capability->cap.valueInt = FF_INPUT_BUFFER_PADDING_SIZE;
++ capability->cap.valueInt = AV_INPUT_BUFFER_PADDING_SIZE;
+ return GF_OK;
+ case GF_CODEC_REORDER:
+ capability->cap.valueInt = 1;
+@@ -669,7 +669,7 @@ static GF_Err FFDEC_GetCapabilities(GF_B
+ break;
+
+ case GF_CODEC_PADDING_BYTES:
+- capability->cap.valueInt = FF_INPUT_BUFFER_PADDING_SIZE;
++ capability->cap.valueInt = AV_INPUT_BUFFER_PADDING_SIZE;
+ break;
+ default:
+ capability->cap.valueInt = 0;
diff --git a/multimedia/gpac/gpac.SlackBuild b/multimedia/gpac/gpac.SlackBuild
index 396ceae938..c7cd430d33 100644
--- a/multimedia/gpac/gpac.SlackBuild
+++ b/multimedia/gpac/gpac.SlackBuild
@@ -88,6 +88,12 @@ find -L . \
# configure doesn't have --libdir option.
sed -i "s/^libdir=\".*\"$/libdir=\"lib$LIBDIRSUFFIX\"/" configure
+# remove this to let it build against openssl-1.1.x
+sed -i "/SSLeay_add_all_algorithms/d" src/utils/downloader.c
+
+# patch for ffmpeg-4.x
+patch -p1 < $CWD/gpac-ffmpeg-4.0.patch
+
./configure \
--prefix=/usr \
--mandir=/usr/man \
diff --git a/multimedia/gst-libav/README b/multimedia/gst-libav/README
deleted file mode 100644
index eca4522c85..0000000000
--- a/multimedia/gst-libav/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This module contains a GStreamer plugin for libav, as well as an
-internal copy of the libav source code.
diff --git a/multimedia/gst-libav/gst-libav.SlackBuild b/multimedia/gst-libav/gst-libav.SlackBuild
deleted file mode 100644
index ed629a2f96..0000000000
--- a/multimedia/gst-libav/gst-libav.SlackBuild
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for gst-libav
-
-# Copyright (C) 2010 Juan Valencia <jvalenciae@gmail.com>
-# 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=gst-libav
-VERSION=${VERSION:-1.6.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="-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
-rm -rf $TMP/$PRGNAM-$VERSION
-cd $TMP
-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" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --build=$ARCH-slackware-linux
-
-make
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS ChangeLog COPYING INSTALL NEWS README TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION
-find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \;
-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/multimedia/gst-libav/gst-libav.info b/multimedia/gst-libav/gst-libav.info
deleted file mode 100644
index ab38270126..0000000000
--- a/multimedia/gst-libav/gst-libav.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="gst-libav"
-VERSION="1.6.2"
-HOMEPAGE="https://gstreamer.freedesktop.org/"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.6.2.tar.xz"
-MD5SUM="09644a38827d233f53edeac815dd0ec0"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Robby Workman"
-EMAIL="rworkman@slackbuilds.org"
diff --git a/multimedia/gst-libav/slack-desc b/multimedia/gst-libav/slack-desc
deleted file mode 100644
index 352ee23dbd..0000000000
--- a/multimedia/gst-libav/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------------------------------------------------------|
-gst-libav: gst-libav (A GStreamer libav/ffmpeg plugin)
-gst-libav:
-gst-libav: This module contains a GStreamer plugin for libav as well as an
-gst-libav: internal copy of the libav source code.
-gst-libav:
-gst-libav: http://gstreamer.freedesktop.org/
-gst-libav:
-gst-libav:
-gst-libav:
-gst-libav:
-gst-libav:
diff --git a/multimedia/gst-plugins-bad/README b/multimedia/gst-plugins-bad/README
index d71085b6fc..195c4b4f60 100644
--- a/multimedia/gst-plugins-bad/README
+++ b/multimedia/gst-plugins-bad/README
@@ -5,6 +5,10 @@ a real live maintainer, or some actual wide use.
This optionally depends on OpenAL, TiMidity++, amrnb, amrwb, celt, faac,
faad2, flite, fluidsynth, gsm, libass, libcdaudio, libdc1394, libdca,
-libkate, liblrdf, libmimic, libmodplug, libmusicbrainz, libofa,
-libquicktime, libwebp, lv2, musepack-tools, opencv, rtmpdump,
-schroedinger, soundtouch, swfdec, and xvidcore.
+libfdk-aac, libkate, liblrdf, libmimic, libmodplug, libmusicbrainz,
+libofa, libquicktime, libwebp, lv2, musepack-tools, opencv, rtmpdump,
+schroedinger, soundtouch, swfdec, nvidia*driver, and xvidcore.
+
+Note that if you have any version of the nvidia drivers installed the
+script will autodetect cwthemit and will try to build its nvdec support,
+requiring the presence on the system of cudatoolkit too.
diff --git a/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild b/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild
index c9cfb68a14..25e9f35d7b 100644
--- a/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild
+++ b/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gst-plugins-bad
-VERSION=${VERSION:-1.6.2}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.16.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
@@ -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"
@@ -69,8 +69,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+autoreconf -fiv
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -std=c++11" \
+CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -78,6 +79,7 @@ CXXFLAGS="$SLKCFLAGS -std=c++11" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --disable-examples \
--build=$ARCH-slackware-linux
make
diff --git a/multimedia/gst-plugins-bad/gst-plugins-bad.info b/multimedia/gst-plugins-bad/gst-plugins-bad.info
index 553c0edef7..5ba8fd8067 100644
--- a/multimedia/gst-plugins-bad/gst-plugins-bad.info
+++ b/multimedia/gst-plugins-bad/gst-plugins-bad.info
@@ -1,8 +1,8 @@
PRGNAM="gst-plugins-bad"
-VERSION="1.6.2"
+VERSION="1.16.0"
HOMEPAGE="https://gstreamer.freedesktop.org/"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.2.tar.xz"
-MD5SUM="7c73bec1d389f0e184ebbbbb9e9f883d"
+DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.0.tar.xz"
+MD5SUM="e9e562d86c1527c44d904500dd35e326"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild b/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
index a4e113d47c..5c01fe1470 100644
--- a/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
+++ b/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gst-plugins-ugly
-VERSION=${VERSION:-1.6.2}
+VERSION=${VERSION:-1.16.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
@@ -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/multimedia/gst-plugins-ugly/gst-plugins-ugly.info b/multimedia/gst-plugins-ugly/gst-plugins-ugly.info
index 1fc6a4908f..8b2ef15629 100644
--- a/multimedia/gst-plugins-ugly/gst-plugins-ugly.info
+++ b/multimedia/gst-plugins-ugly/gst-plugins-ugly.info
@@ -1,8 +1,8 @@
PRGNAM="gst-plugins-ugly"
-VERSION="1.6.2"
+VERSION="1.16.0"
HOMEPAGE="https://gstreamer.freedesktop.org/"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.6.2.tar.xz"
-MD5SUM="0f0e30336e3155443cd5bfec5c215d56"
+DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.0.tar.xz"
+MD5SUM="1ec343c58d4b17d682f7befa8453c11c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/gst0-plugins-bad/gst0-plugins-bad.SlackBuild b/multimedia/gst0-plugins-bad/gst0-plugins-bad.SlackBuild
index c06474d672..1083e93c41 100644
--- a/multimedia/gst0-plugins-bad/gst0-plugins-bad.SlackBuild
+++ b/multimedia/gst0-plugins-bad/gst0-plugins-bad.SlackBuild
@@ -79,6 +79,8 @@ patch -p1 < $CWD/libmodplug-include.patch
# Fix build against libvpx 1.4.0.
patch -p1 < $CWD/drop-vpx-compat-defines.patch
+CPPFLAGS="-I/usr/include/openssl-1.0" \
+LIBS="-L/usr/lib$LIBDIRSUFFIX/openssl-1.0" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild
index a6c97ac873..ed7c4cc6fd 100644
--- a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild
+++ b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild
@@ -129,6 +129,7 @@ find -L . \
# patches from upstream and community:
patch -p1 < $CWD/patches/k9copy-mimetype.patch
patch -p0 < $CWD/patches/k9copy-tempdir.patch
+patch -p1 < $CWD/patches/ffmpeg3andgcc6.patch
# Needed to link with the ffmpeg static libs we just built:
export PKG_CONFIG_PATH="${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig"
diff --git a/multimedia/k9copy-reloaded/patches/ffmpeg3andgcc6.patch b/multimedia/k9copy-reloaded/patches/ffmpeg3andgcc6.patch
new file mode 100644
index 0000000000..68218a20a3
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/ffmpeg3andgcc6.patch
@@ -0,0 +1,74 @@
+--- k9copy/src/core/k9tools.cpp.orig 2016-07-04 03:37:07.537698816 +0100
++++ k9copy/src/core/k9tools.cpp 2016-07-04 03:37:15.044797764 +0100
+@@ -88,7 +88,7 @@ bool k9Tools::checkProgram(QString _prog
+ #if QT_VERSION >= 0x050000
+ bool res=QStandardPaths::findExecutable( _progName) !=NULL ;
+ #else // Qt4 Code
+- bool res= KStandardDirs::findExe( _progName,NULL,false) !=NULL ;
++ bool res= KStandardDirs::findExe( _progName,NULL,0) !=NULL ;
+ #endif
+ if (_msg && !res)
+ k9Dialogs::error(i18n("Error starting program %1").arg(_progName),i18n("Running program"));
+--- k9copy/src/backup/k9dvdbackup.cpp.orig 2016-07-04 03:45:28.518294176 +0100
++++ k9copy/src/backup/k9dvdbackup.cpp 2016-07-04 03:48:20.856559514 +0100
+@@ -33,6 +33,7 @@
+ #include <stdarg.h>
+ #include <errno.h>
+ #include <string.h>
++#include <math.h>
+ #include <qdir.h>
+
+ #include <kmessagebox.h>
+@@ -907,7 +908,8 @@ k9Vobu * k9DVDBackup::remapOffset(uint32
+
+
+ if ((vobu1 !=NULL) && (vobu2!=NULL)) {
+- *_offset = abs(vobu1->newSector - vobu2->newSector) | maskOffset1 ;
++ *_offset = fabs(vobu1->newSector - vobu2->newSector);
++ *_offset |= maskOffset1;
+ *_offset |= maskOffset2;
+ return vobu2;
+ }
+--- k9copy/src/import/k9avidecode.cpp.orig 2016-07-04 03:53:55.963959712 +0100
++++ k9copy/src/import/k9avidecode.cpp 2016-07-04 04:09:58.766458043 +0100
+@@ -26,7 +26,6 @@ static int sws_flags = SWS_BICUBIC;
+ void av_free_packet_internal(AVPacket *pkt)
+ {
+ if (pkt) {
+- if (pkt->destruct) pkt->destruct(pkt);
+ pkt->data = NULL; pkt->size = 0;
+ }
+ }
+@@ -238,14 +237,14 @@ bool k9AviDecode::open(const QString & _
+
+ int numBytes;
+ // Determine required buffer size and allocate buffer
+- numBytes=avpicture_get_size(PIX_FMT_RGB24, m_CodecCtx->width,
++ numBytes=avpicture_get_size(AV_PIX_FMT_RGB24, m_CodecCtx->width,
+ m_CodecCtx->height);
+ m_buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t));
+
+ // Assign appropriate parts of buffer to image planes in pFrameRGB
+ // Note that pFrameRGB is an AVFrame, but AVFrame is a superset
+ // of AVPicture
+- avpicture_fill((AVPicture *)m_FrameRGB, m_buffer, PIX_FMT_RGB24,
++ avpicture_fill((AVPicture *)m_FrameRGB, m_buffer, AV_PIX_FMT_RGB24,
+ m_CodecCtx->width, m_CodecCtx->height);
+
+
+@@ -317,13 +316,13 @@ void k9AviDecode::readFrame(double _seco
+ bFound=true;
+ #ifndef HAVE_SWSCALE
+ // Convert the image from its native format to RGB
+- img_convert((AVPicture *)m_FrameRGB, PIX_FMT_RGB24,
++ img_convert((AVPicture *)m_FrameRGB, AV_PIX_FMT_RGB24,
+ (AVPicture*)m_Frame, m_CodecCtx->pix_fmt,
+ m_CodecCtx->width, m_CodecCtx->height);
+ SaveFrame(m_FrameRGB, m_CodecCtx->width,
+ m_CodecCtx->height);
+ #else
+- toRGB_convert_ctx=sws_getContext(m_CodecCtx->width, m_CodecCtx->height, m_CodecCtx->pix_fmt, m_CodecCtx->width, m_CodecCtx->height, PIX_FMT_RGB24, sws_flags,NULL,NULL,NULL);
++ toRGB_convert_ctx=sws_getContext(m_CodecCtx->width, m_CodecCtx->height, m_CodecCtx->pix_fmt, m_CodecCtx->width, m_CodecCtx->height, AV_PIX_FMT_RGB24, sws_flags,NULL,NULL,NULL);
+ sws_scale(toRGB_convert_ctx, m_Frame->data, m_Frame->linesize, 0, m_CodecCtx->height, m_FrameRGB->data,m_FrameRGB->linesize);
+ // convert frame to QImage
+ SaveFrame(m_FrameRGB, m_CodecCtx->width,
diff --git a/multimedia/kdenlive/kdenlive.SlackBuild b/multimedia/kdenlive/kdenlive.SlackBuild
index 9304f04db7..7327a58c3e 100644
--- a/multimedia/kdenlive/kdenlive.SlackBuild
+++ b/multimedia/kdenlive/kdenlive.SlackBuild
@@ -101,6 +101,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 >= 6.x
+sed -i "s|\ abs(| fabs(|" src/scopes/audioscopes/spectrogram.cpp
+
mkdir build
cd build
cmake \
diff --git a/multimedia/mkvtoolnix/mkvtoolnix.SlackBuild b/multimedia/mkvtoolnix/mkvtoolnix.SlackBuild
index 173fe0b26d..389d24fbda 100644
--- a/multimedia/mkvtoolnix/mkvtoolnix.SlackBuild
+++ b/multimedia/mkvtoolnix/mkvtoolnix.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mkvtoolnix
-VERSION=${VERSION:-34.0.0}
+VERSION=${VERSION:-36.0.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/mkvtoolnix/mkvtoolnix.info b/multimedia/mkvtoolnix/mkvtoolnix.info
index 7dfe9e7827..24328ca65e 100644
--- a/multimedia/mkvtoolnix/mkvtoolnix.info
+++ b/multimedia/mkvtoolnix/mkvtoolnix.info
@@ -1,8 +1,8 @@
PRGNAM="mkvtoolnix"
-VERSION="34.0.0"
+VERSION="36.0.0"
HOMEPAGE="https://mkvtoolnix.download/"
-DOWNLOAD="https://mkvtoolnix.download/sources/mkvtoolnix-34.0.0.tar.xz"
-MD5SUM="f8cdbcd2d9f87c21309eacf5f6ff7642"
+DOWNLOAD="https://mkvtoolnix.download/sources/mkvtoolnix-36.0.0.tar.xz"
+MD5SUM="b9c5a283a96b8bc89f7dab9d1a32dcd6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="cmark"
diff --git a/multimedia/mlt/mlt.SlackBuild b/multimedia/mlt/mlt.SlackBuild
index f2f9273682..119e4e6d7a 100644
--- a/multimedia/mlt/mlt.SlackBuild
+++ b/multimedia/mlt/mlt.SlackBuild
@@ -74,10 +74,10 @@ OUTPUT=${OUTPUT:-/tmp}
# Autodetect which SWIG Languages bindings to build
# according to what's installed on the system:
-if [ -f "$(which javac)" ]; then java="java"; else java=""; fi
+java="" # if [ -f "$(which javac)" ]; then java="java"; else java=""; fi
if [ -f "$(which lua)" ]; then lua="lua"; else lua=""; fi
if [ -f "$(which perl)" ]; then perl="perl"; else perl=""; fi
-if [ -f "$(which php)" ]; then php="php"; else php=""; fi
+php="" # if [ -f "$(which php)" ]; then php="php"; else php=""; fi
if [ -f "$(which python)" ]; then python="python"; else python=""; fi
if [ -h "$(which tclsh)" ]; then tcl="tcl"; else tcl=""; fi
if [ -f "$(which csharp)" ]; then csharp="csharp"; else csharp=""; fi
diff --git a/multimedia/mythtv/libvpxenc.patch b/multimedia/mythtv/libvpxenc.patch
deleted file mode 100644
index e8c21288cb..0000000000
--- a/multimedia/mythtv/libvpxenc.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab Mon Sep 17 00:00:00 2001
-From: James Zern <jzern@google.com>
-Date: Mon, 19 Oct 2015 22:44:11 -0700
-Subject: [PATCH] libvpxenc: remove some unused ctrl id mappings
-
-VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
-from libvpx and the remaining values were never used here
-
-Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
-Signed-off-by: James Zern <jzern@google.com>
----
- libavcodec/libvpxenc.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
-index 5f39783..992122c 100644
---- a/libavcodec/libvpxenc.c
-+++ b/libavcodec/libvpxenc.c
-@@ -104,19 +104,11 @@ typedef struct VP8EncoderContext {
-
- /** String mappings for enum vp8e_enc_control_id */
- static const char *const ctlidstr[] = {
-- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
-- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
-- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
-- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP",
-- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP",
-- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE",
- [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED",
- [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF",
- [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY",
-- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS",
- [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD",
- [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS",
-- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER",
- [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES",
- [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH",
- [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE",
---
-1.7.10.4
-
-
diff --git a/multimedia/mythtv/mythtv.SlackBuild b/multimedia/mythtv/mythtv.SlackBuild
index 35b9780127..34b8f8dce5 100644
--- a/multimedia/mythtv/mythtv.SlackBuild
+++ b/multimedia/mythtv/mythtv.SlackBuild
@@ -28,7 +28,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mythtv
-VERSION=${VERSION:-0.27.6}
+VERSION=${VERSION:-29.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -65,7 +65,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 . \
@@ -80,9 +80,6 @@ sed -i \
-e"s|--without-documentation|--without-documentation --libdir=/usr/lib$LIBDIRSUFFIX|" \
configure
-# Thanks to ARCH Linux
-patch -d external/FFmpeg -p1 < $CWD/libvpxenc.patch
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -103,7 +100,6 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-nonfree \
--enable-opengl-video \
--enable-libmp3lame \
- --enable-libfaac \
--enable-libx264 \
--enable-libvpx \
--enable-libxvid \
diff --git a/multimedia/mythtv/mythtv.info b/multimedia/mythtv/mythtv.info
index d364c7f70b..8e3236dbfe 100644
--- a/multimedia/mythtv/mythtv.info
+++ b/multimedia/mythtv/mythtv.info
@@ -1,10 +1,10 @@
PRGNAM="mythtv"
-VERSION="0.27.6"
+VERSION="29.0"
HOMEPAGE="https://www.mythtv.org/"
-DOWNLOAD="https://github.com/MythTV/mythtv/archive/v0.27.6.tar.gz"
-MD5SUM="30dce5263a03687a14ff34331ea537ad"
+DOWNLOAD="https://github.com/MythTV/mythtv/archive/v29.0/mythtv-29.0.tar.gz"
+MD5SUM="b76210627050e1adaabf8d7180f3402b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libass faac lame MySQL-python lxml urlgrabber perl-http-message libwww-perl perl-Net-UPnP perl-IO-Socket-INET6 x264 xvidcore"
+REQUIRES="libass faac lame MySQL-python lxml urlgrabber perl-http-message libwww-perl perl-Net-UPnP perl-IO-Socket-INET6 qt5 x264 xvidcore"
MAINTAINER="David Somero"
EMAIL="dsomero@hotmail.com"
diff --git a/multimedia/oggvideotools/oggvideotools.SlackBuild b/multimedia/oggvideotools/oggvideotools.SlackBuild
index d284d00cae..7f06b2c20f 100644
--- a/multimedia/oggvideotools/oggvideotools.SlackBuild
+++ b/multimedia/oggvideotools/oggvideotools.SlackBuild
@@ -83,7 +83,7 @@ cd build
CXXFLAGS="$SLKCFLAGS" \
cmake .. \
-DCMAKE_INSTALL_PREFIX:STRING="/usr" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=narrowing" \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL="TRUE"
make
diff --git a/multimedia/openshot/openshot.SlackBuild b/multimedia/openshot/openshot.SlackBuild
index 5c118c1ff2..256237ba72 100644
--- a/multimedia/openshot/openshot.SlackBuild
+++ b/multimedia/openshot/openshot.SlackBuild
@@ -46,7 +46,7 @@
PRGNAM=openshot
SRCNAM=openshot-qt
-VERSION=${VERSION:-2.4.4}
+VERSION=${VERSION:-20190503_cabd2c4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -84,7 +84,7 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
-tar xf $CWD/$SRCNAM-$VERSION.tar.gz
+tar xf $CWD/$SRCNAM-$VERSION.tar.?z
cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/multimedia/openshot/openshot.info b/multimedia/openshot/openshot.info
index 8f0c07439f..2644b9211c 100644
--- a/multimedia/openshot/openshot.info
+++ b/multimedia/openshot/openshot.info
@@ -1,8 +1,8 @@
PRGNAM="openshot"
-VERSION="2.4.4"
+VERSION="20190503_cabd2c4"
HOMEPAGE="http://www.openshotvideo.com"
-DOWNLOAD="https://github.com/OpenShot/openshot-qt/archive/v2.4.4/openshot-qt-2.4.4.tar.gz"
-MD5SUM="6addaf63691bd9bbe75a2fb854997bbe"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/openshot-qt-20190503_cabd2c4.tar.xz"
+MD5SUM="c2146987a858c0ce0803af60c303272b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3-PyQt5 python3-pyzmq libopenshot python-chardet httplib2 jack-audio-connection-kit python3-certifi python-requests"
diff --git a/multimedia/rtmpdump/rtmpdump.SlackBuild b/multimedia/rtmpdump/rtmpdump.SlackBuild
index 7728e656d5..bb3e9064f2 100644
--- a/multimedia/rtmpdump/rtmpdump.SlackBuild
+++ b/multimedia/rtmpdump/rtmpdump.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for rtmpdump
-# Copyright 2013-2016 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -74,6 +74,12 @@ find -L . \
# patch makefiles for shared library install
patch -p1 < $CWD/librtmp-makefile.patch
+# use gnutls instead of openssl
+sed -i \
+ -e 's/^CRYPTO=OPENSSL/#CRYPTO=OPENSSL/' \
+ -e 's/#CRYPTO=GNUTLS/CRYPTO=GNUTLS/' \
+ Makefile librtmp/Makefile
+
XCFLAGS="$SLKCFLAGS" \
make \
prefix=/usr \
diff --git a/multimedia/smpeg/smpeg.SlackBuild b/multimedia/smpeg/smpeg.SlackBuild
index 19a3a4f6c6..b2560d4b2b 100644
--- a/multimedia/smpeg/smpeg.SlackBuild
+++ b/multimedia/smpeg/smpeg.SlackBuild
@@ -69,9 +69,11 @@ 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|^gtv_LDADD.*|gtv_LDADD = @GTK_LIBS@ libsmpeg.la -lX11|" Makefile.am
+
./autogen.sh
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=narrowing" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/multimedia/subtitleeditor/fix-23714-cxx11-v2.patch b/multimedia/subtitleeditor/fix-23714-cxx11-v2.patch
deleted file mode 100644
index 2a74a55a74..0000000000
--- a/multimedia/subtitleeditor/fix-23714-cxx11-v2.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-Index: configure.ac
-===================================================================
---- configure.ac (révision 956)
-+++ configure.ac (copie de travail)
-@@ -18,8 +18,9 @@
- AC_C_INLINE
-
- # Checks for programs.
-+AC_LANG([C++])
- AC_PROG_CXX
--#AC_PROG_CC
-+AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
-
- # Checks for library functions.
- AC_FUNC_SELECT_ARGTYPES
-@@ -253,7 +254,7 @@
-
- if test "$enable_debug" = "yes"; then
- CXXFLAGS="$CXXFLAGS -DDEBUG -g"
-- LDFLAGS="$LDFLAGS -g -ansi -Wall"
-+ LDFLAGS="$LDFLAGS -g -Wall"
- fi
-
- # =========================================================================
-@@ -265,13 +266,13 @@
-
- if test "$enable_profile" = "yes"; then
- CXXFLAGS="$CXXFLAGS -pg"
-- LDFLAGS="$LDFLAGS -pg -ansi -Wall"
-+ LDFLAGS="$LDFLAGS -pg -Wall"
- fi
-
- # =========================================================================
- # gcc flags
-
--CXXFLAGS="$CXXFLAGS -ansi -Wall -Wextra -Wconversion" #-Werror
-+CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wconversion" #-Werror
-
- # =========================================================================
- # make use of ccache
-Index: m4/ax_cxx_compile_stdcxx_11.m4
-===================================================================
---- m4/ax_cxx_compile_stdcxx_11.m4 (nonexistent)
-+++ m4/ax_cxx_compile_stdcxx_11.m4 (copie de travail)
-@@ -0,0 +1,172 @@
-+# ============================================================================
-+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
-+# ============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+# Check for baseline language coverage in the compiler for the C++11
-+# standard; if necessary, add switches to CXXFLAGS to enable support.
-+#
-+# The first argument, if specified, indicates whether you insist on an
-+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
-+# -std=c++11). If neither is specified, you get whatever works, with
-+# preference for an extended mode.
-+#
-+# The second argument, if specified 'mandatory' or if left unspecified,
-+# indicates that baseline C++11 support is required and that the macro
-+# should error out if no mode with that support is found. If specified
-+# 'optional', then configuration proceeds regardless, after defining
-+# HAVE_CXX11 if and only if a supporting mode is found.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
-+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 13
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ struct Base {
-+ virtual void f() {}
-+ };
-+ struct Child : public Base {
-+ virtual void f() override {}
-+ };
-+
-+ typedef check<check<bool>> right_angle_brackets;
-+
-+ int a;
-+ decltype(a) b;
-+
-+ typedef check<int> check_type;
-+ check_type c;
-+ check_type&& cr = static_cast<check_type&&>(c);
-+
-+ auto d = a;
-+ auto l = [](){};
-+ // Prevent Clang error: unused variable 'l' [-Werror,-Wunused-variable]
-+ struct use_l { use_l() { l(); } };
-+
-+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this
-+ namespace test_template_alias_sfinae {
-+ struct foo {};
-+
-+ template<typename T>
-+ using member = typename T::member_type;
-+
-+ template<typename T>
-+ void func(...) {}
-+
-+ template<typename T>
-+ void func(member<T>*) {}
-+
-+ void test();
-+
-+ void test() {
-+ func<foo>(0);
-+ }
-+ }
-+
-+ // Check for C++11 attribute support
-+ void noret [[noreturn]] () { throw 0; }
-+]])
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
-+ m4_if([$1], [], [],
-+ [$1], [ext], [],
-+ [$1], [noext], [],
-+ [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
-+ m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
-+ [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
-+ [$2], [optional], [ax_cxx_compile_cxx11_required=false],
-+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])
-+ AC_LANG_PUSH([C++])dnl
-+ ac_success=no
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
-+ ax_cv_cxx_compile_cxx11,
-+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [ax_cv_cxx_compile_cxx11=yes],
-+ [ax_cv_cxx_compile_cxx11=no])])
-+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
-+ ac_success=yes
-+ fi
-+
-+ m4_if([$1], [noext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for switch in -std=gnu++11 -std=gnu++0x; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXXFLAGS="$ac_save_CXXFLAGS"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+
-+ m4_if([$1], [ext], [], [dnl
-+ if test x$ac_success = xno; then
-+ dnl HP's aCC needs +std=c++11 according to:
-+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
-+ dnl Cray's crayCC needs "-h std=c++11"
-+ for switch in -std=c++11 -std=c++0x +std=c++11 "-h std=c++11"; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXXFLAGS="$ac_save_CXXFLAGS"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+ AC_LANG_POP([C++])
-+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
-+ if test x$ac_success = xno; then
-+ AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
-+ fi
-+ else
-+ if test x$ac_success = xno; then
-+ HAVE_CXX11=0
-+ AC_MSG_NOTICE([No compiler with C++11 support was found])
-+ else
-+ HAVE_CXX11=1
-+ AC_DEFINE(HAVE_CXX11,1,
-+ [define if the compiler supports basic C++11 syntax])
-+ fi
-+
-+ AC_SUBST(HAVE_CXX11)
-+ fi
-+])
-Index: plugins/actions/dialoguize/dialoguize.cc
-===================================================================
---- plugins/actions/dialoguize/dialoguize.cc (révision 956)
-+++ plugins/actions/dialoguize/dialoguize.cc (copie de travail)
-@@ -23,7 +23,7 @@
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
--#include <auto_ptr.h>
-+#include <memory.h>
- #include "extension/action.h"
- #include "i18n.h"
- #include "debug.h"
-Index: plugins/actions/documentmanagement/documentmanagement.cc
-===================================================================
---- plugins/actions/documentmanagement/documentmanagement.cc (révision 956)
-+++ plugins/actions/documentmanagement/documentmanagement.cc (copie de travail)
-@@ -178,9 +178,9 @@
-
- ui_id = ui->new_merge_id();
-
-- #define ADD_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/"name, name, name);
-- #define ADD_OPEN_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-open/"name, name, name);
-- #define ADD_SAVE_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-save/"name, name, name);
-+ #define ADD_UI(name) ui->add_ui(ui_id, Glib::ustring::compose("%1/%2","/menubar/menu-file", name), name, name);
-+ #define ADD_OPEN_UI(name) ui->add_ui(ui_id, Glib::ustring::compose("%1/%2","/menubar/menu-file/menu-open", name), name, name);
-+ #define ADD_SAVE_UI(name) ui->add_ui(ui_id, Glib::ustring::compose("%1/%2","/menubar/menu-file/menu-save", name), name, name);
-
- ADD_UI("new-document");
- ADD_OPEN_UI("open-document");
-Index: src/subtitleview.cc
-===================================================================
---- src/subtitleview.cc (révision 956)
-+++ src/subtitleview.cc (copie de travail)
-@@ -1363,7 +1363,7 @@
- {
- int num;
- std::istringstream ss(event->string);
-- bool is_num = ss >> num != 0;
-+ bool is_num = static_cast<bool>(ss >> num) != 0;
- // Update only if it's different
- if(is_num != get_enable_search())
- set_enable_search(is_num);
-Index: src/utility.h
-===================================================================
---- src/utility.h (révision 956)
-+++ src/utility.h (copie de travail)
-@@ -91,7 +91,7 @@
- std::istringstream s(src);
- // return s >> dest != 0;
-
-- bool state = s >> dest != 0;
-+ bool state = static_cast<bool>(s >> dest) != 0;
-
- if(!state)
- se_debug_message(SE_DEBUG_UTILITY, "string:'%s'failed.", src.c_str());
diff --git a/multimedia/subtitleeditor/subtitleeditor.SlackBuild b/multimedia/subtitleeditor/subtitleeditor.SlackBuild
index 4d941c98c8..b1131f4199 100644
--- a/multimedia/subtitleeditor/subtitleeditor.SlackBuild
+++ b/multimedia/subtitleeditor/subtitleeditor.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=subtitleeditor
-VERSION=${VERSION:-0.52.1}
+VERSION=${VERSION:-20180925_50d8af9}
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"
@@ -69,13 +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 {} \;
-# https://gna.org/bugs/?23714
-patch -p0 < $CWD/fix-23714-cxx11-v2.patch
-
-autoreconf -fi
-
CFLAGS="$SLKCFLAGS" \
-./configure \
+./autogen.sh \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
diff --git a/multimedia/subtitleeditor/subtitleeditor.info b/multimedia/subtitleeditor/subtitleeditor.info
index e15bf271dc..5a57ee6324 100644
--- a/multimedia/subtitleeditor/subtitleeditor.info
+++ b/multimedia/subtitleeditor/subtitleeditor.info
@@ -1,10 +1,10 @@
PRGNAM="subtitleeditor"
-VERSION="0.52.1"
-HOMEPAGE="https://launchpad.net/subtitleeditor"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/subtitleeditor-0.52.1.tar.gz"
-MD5SUM="d25a3f6966f4d6355485d3dfbcfb437a"
+VERSION="20180925_50d8af9"
+HOMEPAGE="http://kitone.github.io/subtitleeditor/"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/subtitleeditor-20180925_50d8af9.tar.xz"
+MD5SUM="1f69d600df486048f5b71ed84a9b28d9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="gstreamermm libxml++"
+REQUIRES="enchant2 gstreamermm libxml++"
MAINTAINER="Georgy Shepelev"
EMAIL="geo.shepelev@gmail.com"
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg4.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg4.patch
new file mode 100644
index 0000000000..9ad765e1c3
--- /dev/null
+++ b/multimedia/transcode/transcode-1.1.7-ffmpeg4.patch
@@ -0,0 +1,508 @@
+Index: transcode-1.1.7/encode/encode_lavc.c
+===================================================================
+--- transcode-1.1.7.orig/encode/encode_lavc.c
++++ transcode-1.1.7/encode/encode_lavc.c
+@@ -77,6 +77,13 @@ struct tclavcconfigdata_ {
+ int luma_elim_threshold;
+ int chroma_elim_threshold;
+ int quantizer_noise_shaping;
++ int inter_quant_bias;
++ int intra_quant_bias;
++ int scenechange_factor;
++ int rc_strategy;
++ float rc_initial_cplx;
++ float rc_qsquish;
++ float border_masking;
+
+ /* same as above for flags */
+ struct {
+@@ -684,7 +691,7 @@ static int tc_lavc_init_multipass(TCLavc
+ switch (vob->divxmultipass) {
+ case 1:
+ CAN_DO_MULTIPASS(multipass_flag);
+- pd->ff_vcontext.flags |= CODEC_FLAG_PASS1;
++ pd->ff_vcontext.flags |= AV_CODEC_FLAG_PASS1;
+ pd->stats_file = fopen(vob->divxlogfile, "w");
+ if (pd->stats_file == NULL) {
+ tc_log_error(MOD_NAME, "could not create 2pass log file"
+@@ -694,7 +701,7 @@ static int tc_lavc_init_multipass(TCLavc
+ break;
+ case 2:
+ CAN_DO_MULTIPASS(multipass_flag);
+- pd->ff_vcontext.flags |= CODEC_FLAG_PASS2;
++ pd->ff_vcontext.flags |= AV_CODEC_FLAG_PASS2;
+ pd->stats_file = fopen(vob->divxlogfile, "r");
+ if (pd->stats_file == NULL){
+ tc_log_error(MOD_NAME, "could not open 2pass log file \"%s\""
+@@ -723,7 +730,7 @@ static int tc_lavc_init_multipass(TCLavc
+ break;
+ case 3:
+ /* fixed qscale :p */
+- pd->ff_vcontext.flags |= CODEC_FLAG_QSCALE;
++ pd->ff_vcontext.flags |= AV_CODEC_FLAG_QSCALE;
+ pd->ff_venc_frame.quality = vob->divxbitrate;
+ break;
+ }
+@@ -970,7 +977,7 @@ static void tc_lavc_config_defaults(TCLa
+ pd->confdata.rc_buffer_size = 0;
+ pd->confdata.lmin = 2;
+ pd->confdata.lmax = 31;
+- pd->confdata.me_method = ME_EPZS;
++ pd->confdata.me_method = 0;
+
+ memset(&pd->confdata.flags, 0, sizeof(pd->confdata.flags));
+ pd->confdata.turbo_setup = 0;
+@@ -983,12 +990,12 @@ static void tc_lavc_config_defaults(TCLa
+ pd->ff_vcontext.me_range = 0;
+ pd->ff_vcontext.mb_decision = 0;
+ pd->ff_vcontext.scenechange_threshold = 0;
+- pd->ff_vcontext.scenechange_factor = 1;
++ pd->confdata.scenechange_factor = 1;
+ pd->ff_vcontext.b_frame_strategy = 0;
+ pd->ff_vcontext.b_sensitivity = 40;
+ pd->ff_vcontext.brd_scale = 0;
+ pd->ff_vcontext.bidir_refine = 0;
+- pd->ff_vcontext.rc_strategy = 2;
++ pd->confdata.rc_strategy = 2;
+ pd->ff_vcontext.b_quant_factor = 1.25;
+ pd->ff_vcontext.i_quant_factor = 0.8;
+ pd->ff_vcontext.b_quant_offset = 1.25;
+@@ -996,8 +1003,8 @@ static void tc_lavc_config_defaults(TCLa
+ pd->ff_vcontext.qblur = 0.5;
+ pd->ff_vcontext.qcompress = 0.5;
+ pd->ff_vcontext.mpeg_quant = 0;
+- pd->ff_vcontext.rc_initial_cplx = 0.0;
+- pd->ff_vcontext.rc_qsquish = 1.0;
++ pd->confdata.rc_initial_cplx = 0.0;
++ pd->confdata.rc_qsquish = 1.0;
+ pd->confdata.luma_elim_threshold = 0;
+ pd->confdata.chroma_elim_threshold = 0;
+ pd->ff_vcontext.strict_std_compliance = 0;
+@@ -1008,7 +1015,7 @@ static void tc_lavc_config_defaults(TCLa
+ pd->ff_vcontext.temporal_cplx_masking = 0.0;
+ pd->ff_vcontext.spatial_cplx_masking = 0.0;
+ pd->ff_vcontext.p_masking = 0.0;
+- pd->ff_vcontext.border_masking = 0.0;
++ pd->confdata.border_masking = 0.0;
+ pd->ff_vcontext.me_pre_cmp = 0;
+ pd->ff_vcontext.me_cmp = 0;
+ pd->ff_vcontext.me_sub_cmp = 0;
+@@ -1020,8 +1027,6 @@ static void tc_lavc_config_defaults(TCLa
+ pd->ff_vcontext.pre_me = 1;
+ pd->ff_vcontext.me_subpel_quality = 8;
+ pd->ff_vcontext.refs = 1;
+- pd->ff_vcontext.intra_quant_bias = FF_DEFAULT_QUANT_BIAS;
+- pd->ff_vcontext.inter_quant_bias = FF_DEFAULT_QUANT_BIAS;
+ pd->ff_vcontext.noise_reduction = 0;
+ pd->confdata.quantizer_noise_shaping = 0;
+ pd->ff_vcontext.flags = 0;
+@@ -1044,19 +1049,19 @@ static void tc_lavc_config_defaults(TCLa
+ */
+ static void tc_lavc_dispatch_settings(TCLavcPrivateData *pd)
+ {
++ char buf[1024];
+ /* some translation... */
+ pd->ff_vcontext.bit_rate_tolerance = pd->confdata.vrate_tolerance * 1000;
+ pd->ff_vcontext.rc_min_rate = pd->confdata.rc_min_rate * 1000;
+ pd->ff_vcontext.rc_max_rate = pd->confdata.rc_max_rate * 1000;
+ pd->ff_vcontext.rc_buffer_size = pd->confdata.rc_buffer_size * 1024;
+- pd->ff_vcontext.lmin = (int)(FF_QP2LAMBDA * pd->confdata.lmin + 0.5);
+- pd->ff_vcontext.lmax = (int)(FF_QP2LAMBDA * pd->confdata.lmax + 0.5);
+- pd->ff_vcontext.me_method = ME_ZERO + pd->confdata.me_method;
++ snprintf(buf, sizeof(buf), "%i", (int)(FF_QP2LAMBDA * pd->confdata.lmin + 0.5));
++ av_dict_set(&(pd->ff_opts), "lmin", buf, 0);
++ snprintf(buf, sizeof(buf), "%i", (int)(FF_QP2LAMBDA * pd->confdata.lmax + 0.5));
++ av_dict_set(&(pd->ff_opts), "lmax", buf, 0);
+
+ pd->ff_vcontext.flags = 0;
+- SET_FLAG(pd, mv0);
+ SET_FLAG(pd, qpel);
+- SET_FLAG(pd, naq);
+ SET_FLAG(pd, ilme);
+ SET_FLAG(pd, ildct);
+ SET_FLAG(pd, aic);
+@@ -1077,8 +1082,8 @@ static void tc_lavc_dispatch_settings(TC
+ }
+ if (pd->interlacing.active) {
+ /* enforce interlacing */
+- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT;
+- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
++ pd->ff_vcontext.flags |= AV_CODEC_FLAG_INTERLACED_DCT;
++ pd->ff_vcontext.flags |= AV_CODEC_FLAG_INTERLACED_ME;
+ }
+ if (pd->confdata.flags.alt) {
+ av_dict_set(&(pd->ff_opts), "alternate_scan", "1", 0);
+@@ -1095,15 +1100,31 @@ static void tc_lavc_dispatch_settings(TC
+ if (pd->confdata.flags.cbp) {
+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+cbp_rd", 0);
+ }
++ if (pd->confdata.flags.mv0) {
++ av_dict_set(&(pd->ff_opts), "mpv_flags", "+mv0", 0);
++ }
++ if (pd->confdata.flags.naq) {
++ av_dict_set(&(pd->ff_opts), "mpv_flags", "+naq", 0);
++ }
+
+- char buf[1024];
+ #define set_dict_opt(val, opt) \
+ snprintf(buf, sizeof(buf), "%i", pd->confdata.val);\
+ av_dict_set(&(pd->ff_opts), opt, buf, 0)
++#define set_dict_float_opt(val, opt) \
++ snprintf(buf, sizeof(buf), "%f", pd->confdata.val);\
++ av_dict_set(&(pd->ff_opts), opt, buf, 0)
+
+ set_dict_opt(luma_elim_threshold, "luma_elim_threshold");
+ set_dict_opt(chroma_elim_threshold, "chroma_elim_threshold");
+ set_dict_opt(quantizer_noise_shaping, "quantizer_noise_shaping");
++ set_dict_opt(inter_quant_bias, "pbias");
++ set_dict_opt(intra_quant_bias, "ibias");
++ set_dict_opt(me_method, "me_method");
++ set_dict_opt(scenechange_factor, "sc_factor");
++ set_dict_opt(rc_strategy, "rc_strategy");
++ set_dict_float_opt(rc_initial_cplx, "rc_init_cplx");
++ set_dict_float_opt(rc_qsquish, "qsquish");
++ set_dict_float_opt(border_masking, "border_mask");
+ }
+
+ #undef SET_FLAG
+@@ -1159,12 +1180,12 @@ static int tc_lavc_read_config(TCLavcPri
+ { "lmin", PAUX(lmin), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
+ { "lmax", PAUX(lmax), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
+ { "vqdiff", PCTX(max_qdiff), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31 },
+- { "vmax_b_frames", PCTX(max_b_frames), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, FF_MAX_B_FRAMES },
++ { "vmax_b_frames", PCTX(max_b_frames), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, INT_MAX },
+ { "vme", PAUX(me_method), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16, },
+ { "me_range", PCTX(me_range), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16000 },
+ { "mbd", PCTX(mb_decision), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
+ { "sc_threshold", PCTX(scenechange_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000 },
+- { "sc_factor", PCTX(scenechange_factor), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16 },
++ { "sc_factor", PAUX(scenechange_factor), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16 },
+ { "vb_strategy", PCTX(b_frame_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
+ { "b_sensitivity", PCTX(b_sensitivity), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 100 },
+ { "brd_scale", PCTX(brd_scale), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
+@@ -1175,7 +1196,7 @@ static int tc_lavc_read_config(TCLavcPri
+ { "vrc_maxrate", PAUX(rc_max_rate), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 24000000 },
+ { "vrc_minrate", PAUX(rc_min_rate), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 24000000 },
+ { "vrc_buf_size", PAUX(rc_buffer_size), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 4, 24000000 },
+- { "vrc_strategy", PCTX(rc_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2 },
++ { "vrc_strategy", PAUX(rc_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2 },
+ { "vb_qfactor", PCTX(b_quant_factor), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0 },
+ { "vi_qfactor", PCTX(i_quant_factor), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0 },
+ { "vb_qoffset", PCTX(b_quant_offset), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0 },
+@@ -1185,9 +1206,9 @@ static int tc_lavc_read_config(TCLavcPri
+ { "mpeg_quant", PCTX(mpeg_quant), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ // { "vrc_eq", }, // not yet supported
+ { "vrc_override", rc_override_buf, TCCONF_TYPE_STRING, 0, 0, 0 },
+- { "vrc_init_cplx", PCTX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
++ { "vrc_init_cplx", PAUX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
+ // { "vrc_init_occupancy", }, // not yet supported
+- { "vqsquish", PCTX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
++ { "vqsquish", PAUX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
+ { "vlelim", PAUX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
+ { "vcelim", PAUX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
+ { "vstrict", PCTX(strict_std_compliance), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
+@@ -1199,7 +1220,7 @@ static int tc_lavc_read_config(TCLavcPri
+ { "tcplx_mask", PCTX(temporal_cplx_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
+ { "scplx_mask", PCTX(spatial_cplx_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
+ { "p_mask", PCTX(p_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
+- { "border_mask", PCTX(border_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
++ { "border_mask", PAUX(border_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
+ { "pred", PCTX(prediction_method), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 4 },
+ { "precmp", PCTX(me_pre_cmp), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000 },
+ { "cmp", PCTX(me_cmp), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000 },
+@@ -1212,37 +1233,37 @@ static int tc_lavc_read_config(TCLavcPri
+ { "pre_me", PCTX(pre_me), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
+ { "subq", PCTX(me_subpel_quality), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 8 },
+ { "refs", PCTX(refs), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 8 },
+- { "ibias", PCTX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
+- { "pbias", PCTX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
++ { "ibias", PAUX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
++ { "pbias", PAUX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
+ { "nr", PCTX(noise_reduction), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
+ { "qns", PAUX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
+ { "inter_matrix_file", inter_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
+ { "intra_matrix_file", intra_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
+
+- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
++ { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, 1 },
+- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
++ { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_QPEL },
+ { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
+- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
+- { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT },
+- { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP },
++ { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_ME },
++ { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_DCT },
++ { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC },
+ #else
+- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED },
++ { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_AC_PRED },
+ #endif
+ { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 },
+- { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR },
++ { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_PSNR },
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT },
+ #else
+ { "trell", PCTX(trellis), TCCONF_TYPE_FLAG, 0, 0, 1 },
+ #endif
+- { "gray", PAUX(flags.gray), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY },
+- { "v4mv", PAUX(flags.v4mv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_4MV },
+- { "closedgop", PAUX(flags.closedgop), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CLOSED_GOP },
++ { "gray", PAUX(flags.gray), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_GRAY },
++ { "v4mv", PAUX(flags.v4mv), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_4MV },
++ { "closedgop", PAUX(flags.closedgop), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_CLOSED_GOP },
+
+ // { "turbo", PAUX(turbo_setup), TCCONF_TYPE_FLAG, 0, 0, 1 }, // not yet supported
+ /* End of the config file */
+Index: transcode-1.1.7/export/export_ffmpeg.c
+===================================================================
+--- transcode-1.1.7.orig/export/export_ffmpeg.c
++++ transcode-1.1.7/export/export_ffmpeg.c
+@@ -831,14 +831,11 @@ MOD_init
+
+ lavc_venc_context->bit_rate = vob->divxbitrate * 1000;
+ lavc_venc_context->bit_rate_tolerance = lavc_param_vrate_tolerance * 1000;
+- lavc_venc_context->lmin= (int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5);
+- lavc_venc_context->lmax= (int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5);
+ lavc_venc_context->max_qdiff = lavc_param_vqdiff;
+ lavc_venc_context->qcompress = lavc_param_vqcompress;
+ lavc_venc_context->qblur = lavc_param_vqblur;
+ lavc_venc_context->max_b_frames = lavc_param_vmax_b_frames;
+ lavc_venc_context->b_quant_factor = lavc_param_vb_qfactor;
+- lavc_venc_context->rc_strategy = lavc_param_vrc_strategy;
+ lavc_venc_context->b_frame_strategy = lavc_param_vb_strategy;
+ lavc_venc_context->b_quant_offset = lavc_param_vb_qoffset;
+
+@@ -846,8 +843,23 @@ MOD_init
+ #define set_dict_opt(val, opt) \
+ snprintf(buf, sizeof(buf), "%i", val); \
+ av_dict_set(&lavc_venc_opts, opt, buf, 0)
++#define set_dict_float_opt(val, opt) \
++ snprintf(buf, sizeof(buf), "%f", val); \
++ av_dict_set(&lavc_venc_opts, opt, buf, 0)
+ set_dict_opt(lavc_param_luma_elim_threshold, "luma_elim_threshold");
+ set_dict_opt(lavc_param_chroma_elim_threshold, "chroma_elim_threshold");
++ set_dict_opt((int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5), "lmin");
++ set_dict_opt((int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5), "lmax");
++ set_dict_opt(lavc_param_vrc_strategy, "rc_strategy");
++ set_dict_float_opt(lavc_param_rc_qsquish, "qsquish");
++ set_dict_float_opt(lavc_param_rc_qmod_amp, "rc_qmod_amp");
++ set_dict_opt(lavc_param_rc_qmod_freq, "rc_qmod_freq");
++ set_dict_opt(lavc_param_rc_eq, "rc_eq");
++ set_dict_opt(lavc_param_vme, "me_method");
++ set_dict_opt(lavc_param_ibias, "ibias");
++ set_dict_opt(lavc_param_pbias, "pbias");
++ set_dict_float_opt(lavc_param_rc_buffer_aggressivity, "rc_buf_aggressivity");
++ set_dict_float_opt(lavc_param_rc_initial_cplx, "rc_init_cplx");
+ lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ if (lavc_param_packet_size)
+@@ -856,15 +868,9 @@ MOD_init
+ lavc_venc_context->strict_std_compliance= lavc_param_strict;
+ lavc_venc_context->i_quant_factor = lavc_param_vi_qfactor;
+ lavc_venc_context->i_quant_offset = lavc_param_vi_qoffset;
+- lavc_venc_context->rc_qsquish = lavc_param_rc_qsquish;
+- lavc_venc_context->rc_qmod_amp = lavc_param_rc_qmod_amp;
+- lavc_venc_context->rc_qmod_freq = lavc_param_rc_qmod_freq;
+- lavc_venc_context->rc_eq = lavc_param_rc_eq;
+ lavc_venc_context->rc_max_rate = lavc_param_rc_max_rate * 1000;
+ lavc_venc_context->rc_min_rate = lavc_param_rc_min_rate * 1000;
+ lavc_venc_context->rc_buffer_size = lavc_param_rc_buffer_size * 1024;
+- lavc_venc_context->rc_buffer_aggressivity= lavc_param_rc_buffer_aggressivity;
+- lavc_venc_context->rc_initial_cplx = lavc_param_rc_initial_cplx;
+ lavc_venc_context->debug = lavc_param_debug;
+ lavc_venc_context->last_predictor_count= lavc_param_last_pred;
+ lavc_venc_context->pre_me = lavc_param_pre_me;
+@@ -872,8 +878,6 @@ MOD_init
+ lavc_venc_context->pre_dia_size = lavc_param_pre_dia_size;
+ lavc_venc_context->me_subpel_quality = lavc_param_me_subpel_quality;
+ lavc_venc_context->me_range = lavc_param_me_range;
+- lavc_venc_context->intra_quant_bias = lavc_param_ibias;
+- lavc_venc_context->inter_quant_bias = lavc_param_pbias;
+ lavc_venc_context->coder_type = lavc_param_coder;
+ lavc_venc_context->context_model = lavc_param_context;
+ lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
+@@ -1079,6 +1083,8 @@ MOD_init
+ lavc_venc_context->flags |= lavc_param_mv0;
+ if(lavc_param_qp_rd)
+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+qp_rd", 0);
++ if (lavc_param_normalize_aqp)
++ av_dict_set(&lavc_venc_opts, "mpv_flags", "+naq", 0);
+ lavc_venc_context->flags |= lavc_param_ilme;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_venc_context->flags |= lavc_param_trell;
+@@ -1087,9 +1093,7 @@ MOD_init
+ #endif
+
+ if (lavc_param_gray)
+- lavc_venc_context->flags |= CODEC_FLAG_GRAY;
+- if (lavc_param_normalize_aqp)
+- lavc_venc_context->flags |= CODEC_FLAG_NORMALIZE_AQP;
++ lavc_venc_context->flags |= AV_CODEC_FLAG_GRAY;
+
+ switch(vob->encode_fields) {
+ case TC_ENCODE_FIELDS_TOP_FIRST:
+@@ -1107,9 +1111,9 @@ MOD_init
+ }
+
+ lavc_venc_context->flags |= interlacing_active ?
+- CODEC_FLAG_INTERLACED_DCT : 0;
++ AV_CODEC_FLAG_INTERLACED_DCT : 0;
+ lavc_venc_context->flags |= interlacing_active ?
+- CODEC_FLAG_INTERLACED_ME : 0;
++ AV_CODEC_FLAG_INTERLACED_ME : 0;
+
+ lavc_venc_context->flags |= lavc_param_psnr;
+ do_psnr = lavc_param_psnr;
+@@ -1156,7 +1160,7 @@ MOD_init
+ "encoding.");
+ return TC_EXPORT_ERROR;
+ }
+- lavc_venc_context->flags |= CODEC_FLAG_PASS1;
++ lavc_venc_context->flags |= AV_CODEC_FLAG_PASS1;
+ stats_file = fopen(vob->divxlogfile, "w");
+ if (stats_file == NULL){
+ tc_log_warn(MOD_NAME, "Could not create 2pass log file \"%s\".",
+@@ -1170,7 +1174,7 @@ MOD_init
+ "encoding.");
+ return TC_EXPORT_ERROR;
+ }
+- lavc_venc_context->flags |= CODEC_FLAG_PASS2;
++ lavc_venc_context->flags |= AV_CODEC_FLAG_PASS2;
+ stats_file= fopen(vob->divxlogfile, "r");
+ if (stats_file==NULL){
+ tc_log_warn(MOD_NAME, "Could not open 2pass log file \"%s\" for "
+@@ -1201,12 +1205,11 @@ MOD_init
+ break;
+ case 3:
+ /* fixed qscale :p */
+- lavc_venc_context->flags |= CODEC_FLAG_QSCALE;
++ lavc_venc_context->flags |= AV_CODEC_FLAG_QSCALE;
+ lavc_venc_frame->quality = vob->divxbitrate;
+ break;
+ }
+
+- lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
+
+ /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
+ if (lavc_param_video_preset && strcmp(lavc_param_video_preset, "none")) {
+Index: transcode-1.1.7/export/ffmpeg_cfg.c
+===================================================================
+--- transcode-1.1.7.orig/export/ffmpeg_cfg.c
++++ transcode-1.1.7/export/ffmpeg_cfg.c
+@@ -93,8 +93,8 @@ int lavc_param_last_pred= 0;
+ int lavc_param_pre_me= 1;
+ int lavc_param_me_subpel_quality= 8;
+ int lavc_param_me_range=0;
+-int lavc_param_ibias=FF_DEFAULT_QUANT_BIAS;
+-int lavc_param_pbias=FF_DEFAULT_QUANT_BIAS;
++int lavc_param_ibias=0;
++int lavc_param_pbias=0;
+ int lavc_param_coder=0;
+ int lavc_param_context=0;
+ char *lavc_param_intra_matrix = NULL;
+@@ -136,7 +136,7 @@ TCConfigEntry lavcopts_conf[]={
+ {"vratetol", &lavc_param_vrate_tolerance, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 4, 24000000},
+ {"vhq", &lavc_param_mb_decision, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"mbd", &lavc_param_mb_decision, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 9},
+- {"v4mv", &lavc_param_v4mv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_4MV},
++ {"v4mv", &lavc_param_v4mv, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_4MV},
+ {"vme", &lavc_param_vme, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 5},
+ // {"vqscale", &lavc_param_vqscale, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
+ // {"vqmin", &lavc_param_vqmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
+@@ -147,7 +147,7 @@ TCConfigEntry lavcopts_conf[]={
+ {"vqcomp", &lavc_param_vqcompress, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0},
+ {"vqblur", &lavc_param_vqblur, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0},
+ {"vb_qfactor", &lavc_param_vb_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
+- {"vmax_b_frames", &lavc_param_vmax_b_frames, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, FF_MAX_B_FRAMES},
++ {"vmax_b_frames", &lavc_param_vmax_b_frames, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, INT_MAX},
+ // {"vpass", &lavc_param_vpass, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2},
+ {"vrc_strategy", &lavc_param_vrc_strategy, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2},
+ {"vb_strategy", &lavc_param_vb_strategy, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
+@@ -158,7 +158,7 @@ TCConfigEntry lavcopts_conf[]={
+ {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
+ {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1},
+ // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
+- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY},
++ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_GRAY},
+ {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
+ {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
+@@ -184,7 +184,7 @@ TCConfigEntry lavcopts_conf[]={
+ {"pred", &lavc_param_prediction_method, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 20},
+ {"format", &lavc_param_format, TCCONF_TYPE_STRING, 0, 0, 0},
+ {"debug", &lavc_param_debug, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
+- {"psnr", &lavc_param_psnr, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR},
++ {"psnr", &lavc_param_psnr, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_PSNR},
+ {"precmp", &lavc_param_me_pre_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
+ {"cmp", &lavc_param_me_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
+ {"subcmp", &lavc_param_me_sub_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
+@@ -192,9 +192,9 @@ TCConfigEntry lavcopts_conf[]={
+ {"ildctcmp", &lavc_param_ildct_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
+ {"predia", &lavc_param_pre_dia_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -2000, 2000},
+ {"dia", &lavc_param_dia_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -2000, 2000},
+- {"qpel", &lavc_param_qpel, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL},
++ {"qpel", &lavc_param_qpel, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_QPEL},
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+- {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT},
++ {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_TRELLIS_QUANT},
+ #else
+ {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, 1},
+ #endif
+@@ -203,9 +203,9 @@ TCConfigEntry lavcopts_conf[]={
+ {"subq", &lavc_param_me_subpel_quality, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 8},
+ {"me_range", &lavc_param_me_range, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16000},
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC},
++ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_H263P_AIC},
+ #else
+- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
++ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_AC_PRED},
+ #endif
+ {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
+@@ -215,20 +215,20 @@ TCConfigEntry lavcopts_conf[]={
+ {"intra_matrix", &lavc_param_intra_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
+ {"inter_matrix", &lavc_param_inter_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
+ {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, 1},
+- {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0},
++ {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
+ {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
+ {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1},
+- {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
++ {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_ME},
+ {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
+ {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
+ {"top", &lavc_param_top, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1, 1},
+- {"gmc", &lavc_param_gmc, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GMC},
+- {"trunc", &lavc_param_trunc, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRUNCATED},
+- {"closedgop", &lavc_param_closedgop, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CLOSED_GOP},
++ {"gmc", &lavc_param_gmc, TCCONF_TYPE_FLAG, 0, 0, 1},
++ {"trunc", &lavc_param_trunc, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_TRUNCATED},
++ {"closedgop", &lavc_param_closedgop, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_CLOSED_GOP},
+ {"intra_dc_precision", &lavc_param_intra_dc_precision, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16},
+ {"skip_top", &lavc_param_skip_top, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000},
+ {"skip_bottom", &lavc_param_skip_bottom, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000},
+Index: transcode-1.1.7/import/import_ffmpeg.c
+===================================================================
+--- transcode-1.1.7.orig/import/import_ffmpeg.c
++++ transcode-1.1.7/import/import_ffmpeg.c
+@@ -361,7 +361,7 @@ do_avi:
+ lavc_dec_context->width = x_dim;
+ lavc_dec_context->height = y_dim;
+
+- if (vob->decolor) lavc_dec_context->flags |= CODEC_FLAG_GRAY;
++ if (vob->decolor) lavc_dec_context->flags |= AV_CODEC_FLAG_GRAY;
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_dec_context->error_resilience = 2;
+ #else
diff --git a/multimedia/transcode/transcode.SlackBuild b/multimedia/transcode/transcode.SlackBuild
index 1c07cbc57e..ffc6300142 100644
--- a/multimedia/transcode/transcode.SlackBuild
+++ b/multimedia/transcode/transcode.SlackBuild
@@ -80,6 +80,7 @@ patch -p1 -i $CWD/transcode-1.1.7-preset-force.patch
patch -p1 -i $CWD/transcode-1.1.7-ffmpeg2.patch
patch -p1 -i $CWD/transcode-1.1.7-ffmpeg24.patch
patch -p1 -i $CWD/transcode-1.1.7-ffmpeg29.patch
+patch -p1 -i $CWD/transcode-1.1.7-ffmpeg4.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/multimedia/tvheadend/tvheadend.SlackBuild b/multimedia/tvheadend/tvheadend.SlackBuild
index 623f21723f..eafdedb449 100644
--- a/multimedia/tvheadend/tvheadend.SlackBuild
+++ b/multimedia/tvheadend/tvheadend.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=tvheadend
-VERSION=${VERSION:-3.4patch1}
+VERSION=${VERSION:-20170619_14bd7eb}
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/$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -69,7 +69,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 {} \;
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/multimedia/tvheadend/tvheadend.info b/multimedia/tvheadend/tvheadend.info
index ad7caed7c3..43e370d966 100644
--- a/multimedia/tvheadend/tvheadend.info
+++ b/multimedia/tvheadend/tvheadend.info
@@ -1,8 +1,8 @@
PRGNAM="tvheadend"
-VERSION="3.4patch1"
+VERSION="20170619_14bd7eb"
HOMEPAGE="https://tvheadend.org"
-DOWNLOAD="https://github.com/tvheadend/tvheadend/archive/3.4patch1.tar.gz"
-MD5SUM="86d1be0ad6e02bd2aecd3d529a026797"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/tvheadend-20170619_14bd7eb.tar.xz"
+MD5SUM="29d6ad6e10ef3eb8a96f1e947bec3c1d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/tvtime/tvtime.SlackBuild b/multimedia/tvtime/tvtime.SlackBuild
index ed2d612d24..c065c9ff79 100644
--- a/multimedia/tvtime/tvtime.SlackBuild
+++ b/multimedia/tvtime/tvtime.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=tvtime
-VERSION=${VERSION:-1.0.7}
+VERSION=${VERSION:-1.0.11}
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,16 +40,15 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-# The INSTALL file recommends avoiding the use of the "-march" flag,
-# and -fPIC on x86_64 results in failure
-if [ "$ARCH" = "i486" ]; then
+# The INSTALL file recommends avoiding the use of the "-march" flag
+if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
@@ -69,7 +68,7 @@ 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 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -87,13 +86,11 @@ CXXFLAGS="$SLKCFLAGS" \
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
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
-)
+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
# Let's not clobber the config file
mv $PKG/etc/tvtime/tvtime.xml $PKG/etc/tvtime/tvtime.xml.new
@@ -101,7 +98,7 @@ mv $PKG/etc/tvtime/tvtime.xml $PKG/etc/tvtime/tvtime.xml.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
ABOUT-NLS AUTHORS COPYING* ChangeLog INSTALL NEWS README docs/html \
- $PKG/usr/doc/$PRGNAM-$VERSION
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/multimedia/tvtime/tvtime.info b/multimedia/tvtime/tvtime.info
index 366e36ce63..04126667b2 100644
--- a/multimedia/tvtime/tvtime.info
+++ b/multimedia/tvtime/tvtime.info
@@ -1,8 +1,8 @@
PRGNAM="tvtime"
-VERSION="1.0.7"
+VERSION="1.0.11"
HOMEPAGE="http://tvtime.sourceforge.net/"
-DOWNLOAD="http://linuxtv.org/downloads/tvtime/tvtime-1.0.7.tar.gz"
-MD5SUM="d3cea3053ce8ff0d555da82fad138b44"
+DOWNLOAD="http://linuxtv.org/downloads/tvtime/tvtime-1.0.11.tar.gz"
+MD5SUM="f4adba831376a8baad92dbda49056138"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/vcdimager/vcdimager.SlackBuild b/multimedia/vcdimager/vcdimager.SlackBuild
index ef61d17058..5e0068fada 100644
--- a/multimedia/vcdimager/vcdimager.SlackBuild
+++ b/multimedia/vcdimager/vcdimager.SlackBuild
@@ -17,13 +17,13 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
PRGNAM=vcdimager
-VERSION=${VERSION:-0.7.24}
+VERSION=${VERSION:-2.0.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
@@ -34,8 +34,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,8 +58,10 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 400 -o -perm 440 \) -exec chmod 644 {} \; -o \
- \( -perm 777 -o -perm 775 -o -perm 511 -o -perm 711 -o -perm 555 \) -exec chmod 755 {} \;
+ \( -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" \
diff --git a/multimedia/vcdimager/vcdimager.info b/multimedia/vcdimager/vcdimager.info
index cfdbfe7e55..27b020d21c 100644
--- a/multimedia/vcdimager/vcdimager.info
+++ b/multimedia/vcdimager/vcdimager.info
@@ -1,8 +1,8 @@
PRGNAM="vcdimager"
-VERSION="0.7.24"
+VERSION="2.0.1"
HOMEPAGE="http://www.gnu.org/software/vcdimager/"
-DOWNLOAD="http://mirrors.kernel.org/gnu/vcdimager/vcdimager-0.7.24.tar.gz"
-MD5SUM="3af22978fd79c79d5fda6513b6811145"
+DOWNLOAD="ftp://ftp.gnu.org/gnu/vcdimager/vcdimager-2.0.1.tar.gz"
+MD5SUM="3890d73da62d0607c87962c41cd33a29"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/vlc/README b/multimedia/vlc/README
index 5490cd6e4c..9d901b0659 100644
--- a/multimedia/vlc/README
+++ b/multimedia/vlc/README
@@ -35,7 +35,3 @@ Please advise the maintainer to suggest support for any further options.
*NOTES*
- the qt4 interface seems not to be working ATM so the qt5 one is
enabled by default: this means qt5 is a new mandatory dependency
-- you *need* to version-bump the libva and libva-intel-driver in
- Slackware to versions 1.7.3 for VAAPI support: as we suppose
- a standard install, "--enable-libva=no" is added between the
- configure options, instead
diff --git a/multimedia/vlc/vlc.SlackBuild b/multimedia/vlc/vlc.SlackBuild
index 6f4294ca38..75c6fed10b 100644
--- a/multimedia/vlc/vlc.SlackBuild
+++ b/multimedia/vlc/vlc.SlackBuild
@@ -81,6 +81,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
+sed -i '/DEPRECATED/s:^://:' modules/text_renderer/freetype/text_layout.c
+
patch -p0 < $CWD/patch-projectM-fontpath.diff
patch -p0 < $CWD/patch_vlc_cache_gen.diff
@@ -124,7 +126,8 @@ LDFLAGS="$SLKLDFLAGS" \
$wayland \
$opencv \
--enable-merge-ffmpeg \
- --enable-libva=no \
+ --disable-opencv \
+ --disable-vpx \
--with-kde-solid=no \
make
@@ -133,8 +136,7 @@ make DESTDIR=$PKG install
mkdir -p $PKG/usr/man/man1
gzip -9c doc/vlc.1 > $PKG/usr/man/man1/vlc.1.gz
-mkdir -p $PKG/$(cd /usr/share/vim/vim*/syntax ; pwd)
-cp extras/analyser/vlc.vim $PKG/$(cd /usr/share/vim/vim*/syntax ; pwd)/
+install -D -m0644 extras/analyser/vlc.vim $PKG/usr/share/vim/vimfiles/syntax/vlc.vim
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/network/NetworkManager-openvpn/NetworkManager-openvpn.SlackBuild b/network/NetworkManager-openvpn/NetworkManager-openvpn.SlackBuild
index 46b08ddac2..187e9bc831 100644
--- a/network/NetworkManager-openvpn/NetworkManager-openvpn.SlackBuild
+++ b/network/NetworkManager-openvpn/NetworkManager-openvpn.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=NetworkManager-openvpn
-VERSION=${VERSION:-1.2.10}
+VERSION=${VERSION:-1.8.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -88,6 +88,7 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --without-libnm-glib \
--build=$ARCH-slackware-linux
make
diff --git a/network/NetworkManager-openvpn/NetworkManager-openvpn.info b/network/NetworkManager-openvpn/NetworkManager-openvpn.info
index 85a02339c8..d0ab2c6a58 100644
--- a/network/NetworkManager-openvpn/NetworkManager-openvpn.info
+++ b/network/NetworkManager-openvpn/NetworkManager-openvpn.info
@@ -1,8 +1,8 @@
PRGNAM="NetworkManager-openvpn"
-VERSION="1.2.10"
+VERSION="1.8.10"
HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
-DOWNLOAD="https://download.gnome.org/sources/NetworkManager-openvpn/1.2/NetworkManager-openvpn-1.2.10.tar.xz"
-MD5SUM="f118226ed2bfbacfd64ac4d1e0bd0383"
+DOWNLOAD="https://download.gnome.org/sources/NetworkManager-openvpn/1.8/NetworkManager-openvpn-1.8.10.tar.xz"
+MD5SUM="4dbbc103761facc7a61a1c00dfd55231"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/NetworkManager-pptp/NetworkManager-pptp.SlackBuild b/network/NetworkManager-pptp/NetworkManager-pptp.SlackBuild
index 1f169d2a0d..f985a0e81a 100644
--- a/network/NetworkManager-pptp/NetworkManager-pptp.SlackBuild
+++ b/network/NetworkManager-pptp/NetworkManager-pptp.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=NetworkManager-pptp
-VERSION=${VERSION:-1.2.4}
+VERSION=${VERSION:-1.2.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -78,7 +78,8 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --with-pppd-plugin-dir=/usr/lib${LIBDIRSUFFIX}/pppd/2.4.5 \
+ --with-pppd-plugin-dir=/usr/lib${LIBDIRSUFFIX}/pppd/$(pppd --help 2>&1 | grep ^pppd | cut -d\ -f3) \
+ --without-libnm-glib \
--build=$ARCH-slackware-linux
make
diff --git a/network/NetworkManager-pptp/NetworkManager-pptp.info b/network/NetworkManager-pptp/NetworkManager-pptp.info
index 0efbfaf33d..a02a65fe28 100644
--- a/network/NetworkManager-pptp/NetworkManager-pptp.info
+++ b/network/NetworkManager-pptp/NetworkManager-pptp.info
@@ -1,8 +1,8 @@
PRGNAM="NetworkManager-pptp"
-VERSION="1.2.4"
+VERSION="1.2.8"
HOMEPAGE="http://projects.gnome.org/NetworkManager/"
-DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-pptp/1.2/NetworkManager-pptp-1.2.4.tar.xz"
-MD5SUM="a05b36c92870e2e248c0c75b2c7ef577"
+DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-pptp/1.2/NetworkManager-pptp-1.2.8.tar.xz"
+MD5SUM="305e31d6aac41813d735f27891fce6d8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pptp"
diff --git a/network/NetworkManager-vpnc/NetworkManager-vpnc.SlackBuild b/network/NetworkManager-vpnc/NetworkManager-vpnc.SlackBuild
index 139ccd3286..7f79571594 100644
--- a/network/NetworkManager-vpnc/NetworkManager-vpnc.SlackBuild
+++ b/network/NetworkManager-vpnc/NetworkManager-vpnc.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=NetworkManager-vpnc
-VERSION=${VERSION:-1.2.4}
+VERSION=${VERSION:-1.2.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -78,6 +78,7 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --without-libnm-glib \
--build=$ARCH-slackware-linux
make
diff --git a/network/NetworkManager-vpnc/NetworkManager-vpnc.info b/network/NetworkManager-vpnc/NetworkManager-vpnc.info
index 1aa961eebb..5f7354fdae 100644
--- a/network/NetworkManager-vpnc/NetworkManager-vpnc.info
+++ b/network/NetworkManager-vpnc/NetworkManager-vpnc.info
@@ -1,8 +1,8 @@
PRGNAM="NetworkManager-vpnc"
-VERSION="1.2.4"
+VERSION="1.2.6"
HOMEPAGE="http://projects.gnome.org/NetworkManager/"
-DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-vpnc/1.2/NetworkManager-vpnc-1.2.4.tar.xz"
-MD5SUM="b482a231f25d3857fd320d7c0b25c785"
+DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-vpnc/1.2/NetworkManager-vpnc-1.2.6.tar.xz"
+MD5SUM="4e88a3bde38e3921c2adb9983fb9d09f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="vpnc"
diff --git a/network/RSSOwl/RSSOwl.SlackBuild b/network/RSSOwl/RSSOwl.SlackBuild
index e74ccf654a..999ebe5b99 100644
--- a/network/RSSOwl/RSSOwl.SlackBuild
+++ b/network/RSSOwl/RSSOwl.SlackBuild
@@ -73,7 +73,7 @@ ln -s /usr/lib${LIBDIRSUFFIX}/RSSOwl/RSSOwl $PKG/usr/bin/RSSOwl
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
cp -av * $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
-sed -i 's,libhunspell-1.2.so.0,libhunspell-1.3.so.0,g' $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/xulrunner/libxul.so
+sed -i 's,libhunspell-1.2.so.0,libhunspell-1.6.so.0,g' $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/xulrunner/libxul.so
mkdir -p $PKG/usr/share/pixmaps
cp -av icon.xpm $PKG/usr/share/pixmaps/$PRGNAM.xpm
diff --git a/network/bip/bip.SlackBuild b/network/bip/bip.SlackBuild
index 93d6aac4df..e4a191a06c 100644
--- a/network/bip/bip.SlackBuild
+++ b/network/bip/bip.SlackBuild
@@ -72,7 +72,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=duplicate-decl-specifier" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/network/bitcoin/bitcoin.SlackBuild b/network/bitcoin/bitcoin.SlackBuild
index 9f9353e4b4..e10fcb97f1 100644
--- a/network/bitcoin/bitcoin.SlackBuild
+++ b/network/bitcoin/bitcoin.SlackBuild
@@ -72,6 +72,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/boost-1.66.0.patch
+
# build bitcoin-core
[ -f autogen.sh ] && sh autogen.sh
CFLAGS="$SLKCFLAGS" \
diff --git a/network/bitcoin/boost-1.66.0.patch b/network/bitcoin/boost-1.66.0.patch
new file mode 100644
index 0000000000..be13d20403
--- /dev/null
+++ b/network/bitcoin/boost-1.66.0.patch
@@ -0,0 +1,82 @@
+From 1ec0c0a01c316146434642ab2f14a7367306dbec Mon Sep 17 00:00:00 2001
+From: Suhas Daftuar <sdaftuar@gmail.com>
+Date: Thu, 7 Dec 2017 09:57:53 -0500
+Subject: [PATCH] Make boost::multi_index comparators const
+
+This fixes compatibility with boost 1.66
+---
+ src/miner.h | 4 ++--
+ src/txmempool.h | 10 +++++-----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/miner.h b/src/miner.h
+index 36276dc362c5..d81ec6421cb8 100644
+--- a/src/miner.h
++++ b/src/miner.h
+@@ -71,7 +71,7 @@ struct modifiedentry_iter {
+ // except operating on CTxMemPoolModifiedEntry.
+ // TODO: refactor to avoid duplication of this logic.
+ struct CompareModifiedEntry {
+- bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b)
++ bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b) const
+ {
+ double f1 = (double)a.nModFeesWithAncestors * b.nSizeWithAncestors;
+ double f2 = (double)b.nModFeesWithAncestors * a.nSizeWithAncestors;
+@@ -86,7 +86,7 @@ struct CompareModifiedEntry {
+ // This is sufficient to sort an ancestor package in an order that is valid
+ // to appear in a block.
+ struct CompareTxIterByAncestorCount {
+- bool operator()(const CTxMemPool::txiter &a, const CTxMemPool::txiter &b)
++ bool operator()(const CTxMemPool::txiter &a, const CTxMemPool::txiter &b) const
+ {
+ if (a->GetCountWithAncestors() != b->GetCountWithAncestors())
+ return a->GetCountWithAncestors() < b->GetCountWithAncestors();
+diff --git a/src/txmempool.h b/src/txmempool.h
+index 346585ab115e..86a008d7b211 100644
+--- a/src/txmempool.h
++++ b/src/txmempool.h
+@@ -204,7 +204,7 @@ struct mempoolentry_txid
+ class CompareTxMemPoolEntryByDescendantScore
+ {
+ public:
+- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+ {
+ bool fUseADescendants = UseDescendantScore(a);
+ bool fUseBDescendants = UseDescendantScore(b);
+@@ -226,7 +226,7 @@ class CompareTxMemPoolEntryByDescendantScore
+ }
+
+ // Calculate which score to use for an entry (avoiding division).
+- bool UseDescendantScore(const CTxMemPoolEntry &a)
++ bool UseDescendantScore(const CTxMemPoolEntry &a) const
+ {
+ double f1 = (double)a.GetModifiedFee() * a.GetSizeWithDescendants();
+ double f2 = (double)a.GetModFeesWithDescendants() * a.GetTxSize();
+@@ -241,7 +241,7 @@ class CompareTxMemPoolEntryByDescendantScore
+ class CompareTxMemPoolEntryByScore
+ {
+ public:
+- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+ {
+ double f1 = (double)a.GetModifiedFee() * b.GetTxSize();
+ double f2 = (double)b.GetModifiedFee() * a.GetTxSize();
+@@ -255,7 +255,7 @@ class CompareTxMemPoolEntryByScore
+ class CompareTxMemPoolEntryByEntryTime
+ {
+ public:
+- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+ {
+ return a.GetTime() < b.GetTime();
+ }
+@@ -264,7 +264,7 @@ class CompareTxMemPoolEntryByEntryTime
+ class CompareTxMemPoolEntryByAncestorFee
+ {
+ public:
+- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+ {
+ double aFees = a.GetModFeesWithAncestors();
+ double aSize = a.GetSizeWithAncestors();
diff --git a/network/bwm-ng/bwm-ng.SlackBuild b/network/bwm-ng/bwm-ng.SlackBuild
index e9eb39918c..80297935f6 100644
--- a/network/bwm-ng/bwm-ng.SlackBuild
+++ b/network/bwm-ng/bwm-ng.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 {} \;
+# Thanks opensuse
+patch -p0 < $CWD/fix_gcc7_inline.patch
+
CFLAGS="$SLKCFLAGS" \
./autogen.sh \
--prefix=/usr \
diff --git a/network/bwm-ng/fix_gcc7_inline.patch b/network/bwm-ng/fix_gcc7_inline.patch
new file mode 100644
index 0000000000..dec44a7d66
--- /dev/null
+++ b/network/bwm-ng/fix_gcc7_inline.patch
@@ -0,0 +1,40 @@
+--- src/bwm-ng.c.orig 2017-06-12 03:15:08.731964116 +0200
++++ src/bwm-ng.c 2017-06-12 03:15:21.492001798 +0200
+@@ -26,7 +26,7 @@
+
+ /* handle interrupt signal */
+ void sigint(int sig) FUNCATTR_NORETURN;
+-inline void init(void);
++static inline void init(void);
+
+ /* clear stuff and exit */
+ #ifdef __STDC__
+@@ -98,7 +98,7 @@
+ deinit(0, NULL);
+ }
+
+-inline void init(void) {
++static inline void init(void) {
+ if_count=0;
+ delay=500;
+ #if EXTENDED_STATS
+--- src/options.c.orig 2017-06-12 03:11:33.659353656 +0200
++++ src/options.c 2017-06-12 03:14:36.535870677 +0200
+@@ -34,7 +34,7 @@
+ #if EXTENDED_STATS
+ inline int str2output_type(char *optarg);
+ #endif
+-inline int str2out_method(char *optarg);
++static inline int str2out_method(char *optarg);
+ inline int str2in_method(char *optarg);
+
+ #ifdef CONFIG_FILE
+@@ -87,7 +87,7 @@
+ }
+ #endif
+
+-inline int str2out_method(char *optarg) {
++static inline int str2out_method(char *optarg) {
+ if (optarg) {
+ if (!strcasecmp(optarg,"plain")) return PLAIN_OUT;
+ #ifdef HAVE_CURSES
diff --git a/network/ccnet/ccnet.SlackBuild b/network/ccnet/ccnet.SlackBuild
index a357b3a0f4..c42b6cd7b9 100644
--- a/network/ccnet/ccnet.SlackBuild
+++ b/network/ccnet/ccnet.SlackBuild
@@ -25,7 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ccnet
-VERSION=${VERSION:-4.4.6}
+VERSION=${VERSION:-6.1.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,9 +61,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION-server
-tar xvf $CWD/$PRGNAM-$VERSION-server.tar.gz
-cd $PRGNAM-$VERSION-server
+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 \
@@ -93,7 +93,7 @@ make
make install-strip DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYRIGHT HACKING LICENCE.txt README.markdown \
+cp -a HACKING LICENSE.txt README.markdown \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/network/ccnet/ccnet.info b/network/ccnet/ccnet.info
index a796b40262..524485246b 100644
--- a/network/ccnet/ccnet.info
+++ b/network/ccnet/ccnet.info
@@ -1,8 +1,8 @@
PRGNAM="ccnet"
-VERSION="4.4.6"
+VERSION="6.1.8"
HOMEPAGE="http://seafile.com/"
-DOWNLOAD="https://github.com/haiwen/ccnet/archive/v4.4.6-server/ccnet-4.4.6-server.tar.gz"
-MD5SUM="bff067e61d0af043b761027fdd840314"
+DOWNLOAD="https://github.com/haiwen/ccnet/archive/v6.1.8/ccnet-6.1.8.tar.gz"
+MD5SUM="4bab2537f68070d5af226fc80b79c859"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libsearpc vala libzdb"
diff --git a/network/cherokee/cherokee.SlackBuild b/network/cherokee/cherokee.SlackBuild
index ee57d2b98a..cf4dc146fb 100644
--- a/network/cherokee/cherokee.SlackBuild
+++ b/network/cherokee/cherokee.SlackBuild
@@ -5,13 +5,13 @@
# Written by Pablo Hernan Saro (pablosaro@gmail.com)
PRGNAM=cherokee
-VERSION=${VERSION:-20131105_d91c9c1}
+VERSION=${VERSION:-20180709_9a75e65}
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"
diff --git a/network/cherokee/cherokee.info b/network/cherokee/cherokee.info
index ea23a977c6..59fddb9c31 100644
--- a/network/cherokee/cherokee.info
+++ b/network/cherokee/cherokee.info
@@ -1,8 +1,8 @@
PRGNAM="cherokee"
-VERSION="20131105_d91c9c1"
+VERSION="20180709_9a75e65"
HOMEPAGE="http://www.cherokee-project.com"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/cherokee-20131105_d91c9c1.tar.xz"
-MD5SUM="845ed7bdb3b038d277607a47288aaec1"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/cherokee-20180709_9a75e65.tar.xz"
+MD5SUM="2f08188ca102fd6a7ad2ea3cc1c26f84"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/dobbscoin/dobbscoin.SlackBuild b/network/dobbscoin/dobbscoin.SlackBuild
index defc639fc5..a3d5048c13 100644
--- a/network/dobbscoin/dobbscoin.SlackBuild
+++ b/network/dobbscoin/dobbscoin.SlackBuild
@@ -31,7 +31,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
@@ -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"
@@ -83,6 +83,9 @@ patch -p1 < $CWD/miniupnpc-1.9-api.patch
./autogen.sh
+export CC=clang
+export CXX=clang++
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/network/dovecot/README b/network/dovecot/README
deleted file mode 100644
index f81559ff43..0000000000
--- a/network/dovecot/README
+++ /dev/null
@@ -1,27 +0,0 @@
-dovecot (open source IMAP and POP3 server)
-
-Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like
-systems, written with security primarily in mind. Dovecot is an excellent
-choice for both small and large installations. It's fast, simple to set
-up, requires no special administration and it uses very little memory.
-
-This script builds dovecot with support for SSL. As such, you must
-have openssl installed - openssl-solibs is not enough in itself to meet
-this requirement.
-
-By default, MySQL database is selected, switch to PostgreSQL with:
-
- DATABASE=pgsql ./dovecot.SlackBuild
-
-See the documentation in /usr/doc/dovecot-*/ to get started.
-
-
-Groupnames and Usernames
-
-You must have both 'dovecot' and 'dovenull' users and groups to run this
-script, for example:
-
- groupadd -g 202 dovecot
- useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot
- groupadd -g 248 dovenull
- useradd -d /dev/null -s /bin/false -u 248 -g 248 dovenull
diff --git a/network/dovecot/doinst.sh b/network/dovecot/doinst.sh
deleted file mode 100644
index 03c21fc848..0000000000
--- a/network/dovecot/doinst.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
-
-preserve_perms etc/rc.d/rc.dovecot.new
-
diff --git a/network/dovecot/dovecot.SlackBuild b/network/dovecot/dovecot.SlackBuild
deleted file mode 100644
index a69de55eb3..0000000000
--- a/network/dovecot/dovecot.SlackBuild
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/bin/sh
-
-# Copyright 2006, 2010 Alan Hicks, Lizella, GA
-# Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019 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=dovecot
-VERSION=${VERSION:-2.3.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}
-
-# Build with MySQL database support by default
-case $DATABASE in
- pgsql) : ;;
- *) DATABASE=mysql ;;
-esac
-
-bailout() {
- echo " You must have both dovecot and dovenull users and groups:"
- echo " # groupadd -g 202 dovecot"
- echo " # useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot"
- echo " # groupadd -g 248 dovenull"
- echo " # useradd -d /dev/null -s /bin/false -u 248 -g 248 dovenull"
- exit 1
-}
-
-# Bail if user isn't valid on your system
-if ! getent group dovecot 1>/dev/null 2>/dev/null ; then
- bailout
-elif ! getent passwd dovecot 1>/dev/null 2>/dev/null ; then
- bailout
-fi
-
-set -e
-
-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
-
-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 {} \;
-
-# Add -ldl to LDFLAGS for sqlite
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-LDFLAGS="-ldl" \
-./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --mandir=/usr/man \
- --with-notify=inotify \
- --without-pam \
- --with-ldap=plugin \
- --with-lucene \
- --with-$DATABASE \
- --with-sqlite \
- --with-libcap \
- --disable-static \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-mkdir -p $PKG/etc/rc.d
-cat $CWD/rc.dovecot > $PKG/etc/rc.d/rc.dovecot.new
-chmod 0755 $PKG/etc/rc.d/rc.dovecot.new
-
-gzip -9 $PKG/usr/man/man?/*.?
-
-cp -a \
- AUTHORS COPYING* ChangeLog NEWS README TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION/
-cat $CWD/dovecot.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/dovecot.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/dovecot/dovecot.info b/network/dovecot/dovecot.info
deleted file mode 100644
index eb0eb93f65..0000000000
--- a/network/dovecot/dovecot.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="dovecot"
-VERSION="2.3.4"
-HOMEPAGE="http://www.dovecot.org/"
-DOWNLOAD="http://www.dovecot.org/releases/2.3/dovecot-2.3.4.tar.gz"
-MD5SUM="00eebc835a8793e8a167a616a78f4753"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Mario Preksavec"
-EMAIL="mario at slackware dot hr"
diff --git a/network/dovecot/rc.dovecot b/network/dovecot/rc.dovecot
deleted file mode 100644
index 8d68312ab7..0000000000
--- a/network/dovecot/rc.dovecot
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-
-# Copyright 2006, Alan Hicks, Lizella, GA
-# 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.
-
-dovecot_start()
-{
- echo "Firing up dovecot."
- dovecot
-}
-
-dovecot_stop()
-{
- echo "Shutting down dovecot."
- killall dovecot
-}
-
-dovecot_restart()
-{
- dovecot_stop
- sleep 3 # Give it time to clean-up if it needs it.
- dovecot_start
-}
-
-case $1 in
-'start')
- dovecot_start
- ;;
-'stop')
- dovecot_stop
- ;;
-'restart')
- dovecot_restart
- ;;
-*)
- echo "usage $0 start|stop|restart"
-esac
-
diff --git a/network/dovecot/slack-desc b/network/dovecot/slack-desc
deleted file mode 100644
index 29a273bade..0000000000
--- a/network/dovecot/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------------------------------------------------------|
-dovecot: dovecot (open source IMAP and POP3 server)
-dovecot:
-dovecot: Dovecot is an open source IMAP and POP3 server for Linux/UNIX-like
-dovecot: systems, written with security primarily in mind. Although it's
-dovecot: written in C, it uses several coding techniques to avoid most of the
-dovecot: common pitfalls.
-dovecot: Dovecot can work with standard mbox and Maildir formats and it's
-dovecot: fully compatible with UW-IMAP and Courier IMAP servers'
-dovecot: implementation of them, as well as mail clients accessing the
-dovecot: mailboxes directly.
-dovecot:
diff --git a/network/dsniff/24_Fix-OpenSSL1.1.0-Build.patch b/network/dsniff/24_Fix-OpenSSL1.1.0-Build.patch
new file mode 100644
index 0000000000..db7739ee34
--- /dev/null
+++ b/network/dsniff/24_Fix-OpenSSL1.1.0-Build.patch
@@ -0,0 +1,202 @@
+Description: Fix build with OpenSSL 1.1.0
+Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+
+
+--- a/ssh.c
++++ b/ssh.c
+@@ -234,7 +234,10 @@
+ u_char *p, cipher, cookie[8], msg[1024];
+ u_int32_t num;
+ int i;
+-
++
++ const BIGNUM *servkey_e, *servkey_n;
++ const BIGNUM *hostkey_e, *hostkey_n;
++
+ /* Generate anti-spoofing cookie. */
+ RAND_bytes(cookie, sizeof(cookie));
+
+@@ -243,11 +246,13 @@
+ *p++ = SSH_SMSG_PUBLIC_KEY; /* type */
+ memcpy(p, cookie, 8); p += 8; /* cookie */
+ num = 768; PUTLONG(num, p); /* servkey bits */
+- put_bn(ssh->ctx->servkey->e, &p); /* servkey exponent */
+- put_bn(ssh->ctx->servkey->n, &p); /* servkey modulus */
++ RSA_get0_key(ssh->ctx->servkey, &servkey_n, &servkey_e, NULL);
++ put_bn(servkey_e, &p); /* servkey exponent */
++ put_bn(servkey_n, &p); /* servkey modulus */
+ num = 1024; PUTLONG(num, p); /* hostkey bits */
+- put_bn(ssh->ctx->hostkey->e, &p); /* hostkey exponent */
+- put_bn(ssh->ctx->hostkey->n, &p); /* hostkey modulus */
++ RSA_get0_key(ssh->ctx->hostkey, &hostkey_n, &hostkey_e, NULL);
++ put_bn(hostkey_e, &p); /* hostkey exponent */
++ put_bn(hostkey_n, &p); /* hostkey modulus */
+ num = 0; PUTLONG(num, p); /* protocol flags */
+ num = ssh->ctx->encmask; PUTLONG(num, p); /* ciphers */
+ num = ssh->ctx->authmask; PUTLONG(num, p); /* authmask */
+@@ -298,7 +303,7 @@
+ SKIP(p, i, 4);
+
+ /* Decrypt session key. */
+- if (BN_cmp(ssh->ctx->servkey->n, ssh->ctx->hostkey->n) > 0) {
++ if (BN_cmp(servkey_n, hostkey_n) > 0) {
+ rsa_private_decrypt(enckey, enckey, ssh->ctx->servkey);
+ rsa_private_decrypt(enckey, enckey, ssh->ctx->hostkey);
+ }
+@@ -318,8 +323,8 @@
+ BN_clear_free(enckey);
+
+ /* Derive real session key using session id. */
+- if ((p = ssh_session_id(cookie, ssh->ctx->hostkey->n,
+- ssh->ctx->servkey->n)) == NULL) {
++ if ((p = ssh_session_id(cookie, hostkey_n,
++ servkey_n)) == NULL) {
+ warn("ssh_session_id");
+ return (-1);
+ }
+@@ -328,10 +333,8 @@
+ }
+ /* Set cipher. */
+ if (cipher == SSH_CIPHER_3DES) {
+- ssh->estate = des3_init(ssh->sesskey, sizeof(ssh->sesskey));
+- ssh->dstate = des3_init(ssh->sesskey, sizeof(ssh->sesskey));
+- ssh->encrypt = des3_encrypt;
+- ssh->decrypt = des3_decrypt;
++ warnx("cipher 3des no longer supported");
++ return (-1);
+ }
+ else if (cipher == SSH_CIPHER_BLOWFISH) {
+ ssh->estate = blowfish_init(ssh->sesskey,sizeof(ssh->sesskey));
+@@ -357,7 +360,10 @@
+ u_char *p, cipher, cookie[8], msg[1024];
+ u_int32_t num;
+ int i;
+-
++
++ BIGNUM *servkey_n, *servkey_e;
++ BIGNUM *hostkey_n, *hostkey_e;
++
+ /* Get public key. */
+ if ((i = SSH_recv(ssh, pkt, sizeof(pkt))) <= 0) {
+ warn("SSH_recv");
+@@ -379,21 +385,23 @@
+
+ /* Get servkey. */
+ ssh->ctx->servkey = RSA_new();
+- ssh->ctx->servkey->n = BN_new();
+- ssh->ctx->servkey->e = BN_new();
++ servkey_n = BN_new();
++ servkey_e = BN_new();
++ RSA_set0_key(ssh->ctx->servkey, servkey_n, servkey_e, NULL);
+
+ SKIP(p, i, 4);
+- get_bn(ssh->ctx->servkey->e, &p, &i);
+- get_bn(ssh->ctx->servkey->n, &p, &i);
++ get_bn(servkey_e, &p, &i);
++ get_bn(servkey_n, &p, &i);
+
+ /* Get hostkey. */
+ ssh->ctx->hostkey = RSA_new();
+- ssh->ctx->hostkey->n = BN_new();
+- ssh->ctx->hostkey->e = BN_new();
++ hostkey_n = BN_new();
++ hostkey_e = BN_new();
++ RSA_set0_key(ssh->ctx->hostkey, hostkey_n, hostkey_e, NULL);
+
+ SKIP(p, i, 4);
+- get_bn(ssh->ctx->hostkey->e, &p, &i);
+- get_bn(ssh->ctx->hostkey->n, &p, &i);
++ get_bn(hostkey_e, &p, &i);
++ get_bn(hostkey_n, &p, &i);
+
+ /* Get cipher, auth masks. */
+ SKIP(p, i, 4);
+@@ -405,8 +413,8 @@
+ RAND_bytes(ssh->sesskey, sizeof(ssh->sesskey));
+
+ /* Obfuscate with session id. */
+- if ((p = ssh_session_id(cookie, ssh->ctx->hostkey->n,
+- ssh->ctx->servkey->n)) == NULL) {
++ if ((p = ssh_session_id(cookie, hostkey_n,
++ servkey_n)) == NULL) {
+ warn("ssh_session_id");
+ return (-1);
+ }
+@@ -422,7 +430,7 @@
+ else BN_add_word(bn, ssh->sesskey[i]);
+ }
+ /* Encrypt session key. */
+- if (BN_cmp(ssh->ctx->servkey->n, ssh->ctx->hostkey->n) < 0) {
++ if (BN_cmp(servkey_n, hostkey_n) < 0) {
+ rsa_public_encrypt(bn, bn, ssh->ctx->servkey);
+ rsa_public_encrypt(bn, bn, ssh->ctx->hostkey);
+ }
+@@ -470,10 +478,8 @@
+ ssh->decrypt = blowfish_decrypt;
+ }
+ else if (cipher == SSH_CIPHER_3DES) {
+- ssh->estate = des3_init(ssh->sesskey, sizeof(ssh->sesskey));
+- ssh->dstate = des3_init(ssh->sesskey, sizeof(ssh->sesskey));
+- ssh->encrypt = des3_encrypt;
+- ssh->decrypt = des3_decrypt;
++ warnx("cipher 3des no longer supported");
++ return (-1);
+ }
+ /* Get server response. */
+ if ((i = SSH_recv(ssh, pkt, sizeof(pkt))) <= 0) {
+--- a/sshcrypto.c
++++ b/sshcrypto.c
+@@ -28,10 +28,12 @@
+ u_char iv[8];
+ };
+
++#if 0
+ struct des3_state {
+ des_key_schedule k1, k2, k3;
+ des_cblock iv1, iv2, iv3;
+ };
++#endif
+
+ void
+ rsa_public_encrypt(BIGNUM *out, BIGNUM *in, RSA *key)
+@@ -39,10 +41,12 @@
+ u_char *inbuf, *outbuf;
+ int len, ilen, olen;
+
+- if (BN_num_bits(key->e) < 2 || !BN_is_odd(key->e))
++ const BIGNUM *n, *e;
++ RSA_get0_key(key, &n, &e, NULL);
++ if (BN_num_bits(e) < 2 || !BN_is_odd(e))
+ errx(1, "rsa_public_encrypt() exponent too small or not odd");
+
+- olen = BN_num_bytes(key->n);
++ olen = BN_num_bytes(n);
+ outbuf = malloc(olen);
+
+ ilen = BN_num_bytes(in);
+@@ -71,7 +75,9 @@
+ u_char *inbuf, *outbuf;
+ int len, ilen, olen;
+
+- olen = BN_num_bytes(key->n);
++ const BIGNUM *n;
++ RSA_get0_key(key, &n, NULL, NULL);
++ olen = BN_num_bytes(n);
+ outbuf = malloc(olen);
+
+ ilen = BN_num_bytes(in);
+@@ -146,6 +152,7 @@
+ swap_bytes(dst, dst, len);
+ }
+
++#if 0
+ /* XXX - SSH1's weirdo 3DES... */
+ void *
+ des3_init(u_char *sesskey, int len)
+@@ -194,3 +201,4 @@
+ des_ncbc_encrypt(dst, dst, len, dstate->k2, &dstate->iv2, DES_ENCRYPT);
+ des_ncbc_encrypt(dst, dst, len, dstate->k1, &dstate->iv1, DES_DECRYPT);
+ }
++#endif
diff --git a/network/dsniff/dsniff.SlackBuild b/network/dsniff/dsniff.SlackBuild
index 3fe080fd8b..e1d017c37b 100644
--- a/network/dsniff/dsniff.SlackBuild
+++ b/network/dsniff/dsniff.SlackBuild
@@ -73,6 +73,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/24_Fix-OpenSSL1.1.0-Build.patch
+
zcat $CWD/dsniff_2.4b1+debian-18.diff.gz | patch -p1
for i in debian/patches/*.dpatch; do
patch -N < "$i"
diff --git a/network/ekiga/ekiga-4.0.1-boost-signals2.patch b/network/ekiga/ekiga-4.0.1-boost-signals2.patch
new file mode 100644
index 0000000000..026495cdf5
--- /dev/null
+++ b/network/ekiga/ekiga-4.0.1-boost-signals2.patch
@@ -0,0 +1,2179 @@
+Patch by Robert Scheck <robert@fedoraproject.org> for Ekiga 4.0.1, which backports
+the following upstream commits (with some minor downstream-only changes to get the
+Ekiga building) for Boost.Signals2 support:
+
+ - https://github.com/GNOME/ekiga/commit/12641b735a9886a080949465d4da6d4569822ed2
+ - https://github.com/GNOME/ekiga/commit/44ef7c66d055d01bede6627a8b31e4135f54f807
+ - https://github.com/GNOME/ekiga/commit/95e2daa3953355118abec5a30fb2642a105705b2
+ - https://github.com/GNOME/ekiga/commit/aabf103dcf7f0e61ed1903bc4f37f1dd549fb2ef
+ - https://github.com/GNOME/ekiga/commit/b8ea1fe8c15a4fa6a8bfde5e8b51febc74f8e529
+
+This backport makes sense, because unfortunately upstream didn't release anything
+after Ekiga 4.0.1, while 8c954b8ab3a771900f125375ba652afaf1966d19 just immediately
+ends with a segmentation fault (which is the latest Git commit as of writing). And
+openSUSE uses 8c954b8ab3a771900f125375ba652afaf1966d19 from a few months after the
+Ekiga 4.0.1 release, but with Boost.Signals2 support. While this Git commit leads
+even to a starting Ekiga, a not picked up inbound ringing phone call leads sooner
+or later to a segmentation fault (the caller needs to hit the correct point before
+hanging up and it thus takes sometimes 2-3 tries until it crashes). Aside of that,
+there are graphical glitches in the popup/dialog when actually having a call. And
+finally quitting Ekiga sometimes also ends with yet another segmentation fault...
+
+While I fortunately didn't see any of the above mentioned issues with Ekiga 4.0.1
+and this Boost.Signals2 backport patch, any before existing old Ekiga 4.0.1 issues
+will exist further on for sure...
+
+--- ekiga-4.0.1/configure.ac 2019-05-16 20:32:30.610373983 +0200
++++ ekiga-4.0.1/configure.ac.boost-signals2 2019-05-16 22:11:08.958062692 +0200
+@@ -173,15 +173,16 @@
+ dnl ###############################
+ dnl Mandatory BOOST support
+ dnl ###############################
+-AX_BOOST_BASE([1.34])
+-AX_BOOST_SIGNALS
++AX_BOOST_BASE([1.53])
+
+-if test "x${ax_cv_boost_signals}" == "xno"; then
+- AC_MSG_ERROR([You need the boost signals library to compile Ekiga])
+-fi
++CPPFLAGS_save="$CPPFLAGS"
++CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
++AC_CHECK_HEADER(boost/signals2.hpp,, found_signals2=no)
++CPPFLAGS="$CPPFLAGS_save"
+
+-BOOST_LIBS="${BOOST_SIGNALS_LIB}"
+-AC_SUBST(BOOST_LIBS)
++if test "x$found_signals2" = "xno"; then
++ AC_MSG_ERROR([Could not find BOOST signals2 headers])
++fi
+
+
+ dnl ###############################
+@@ -722,6 +723,13 @@
+ AC_MSG_ERROR([You need ptlib expat support to compile ekiga])
+ fi
+
++# Make sure ptlib and opal don't force no-exceptions,
++# as we need them for boost's signals2
++PTLIB_CFLAGS="$PTLIB_CFLAGS -fexceptions"
++AC_SUBST(PTLIB_CFLAGS)
++OPAL_CFLAGS="$OPAL_CFLAGS -fexceptions"
++AC_SUBST(OPAL_CFLAGS)
++
+ SUFFIX=
+ AC_ARG_ENABLE([opal-debug],
+ [AS_HELP_STRING([--enable-opal-debug],[link to debug versions of opal and ptlib (opal_d and ptlib_d) (default is disabled)])],
+--- ekiga-4.0.1/lib/engine/account/account-core.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/account/account-core.h.boost-signals2 2019-05-16 20:34:25.949622624 +0200
+@@ -106,26 +106,26 @@
+
+ /** This signal is emitted when a bank has been added to the core
+ */
+- boost::signal1<void, BankPtr> bank_added;
++ boost::signals2::signal<void(BankPtr)> bank_added;
+
+ /** This signal is emitted when a bank has been removed from the core
+ */
+- boost::signal1<void, BankPtr> bank_removed;
++ boost::signals2::signal<void(BankPtr)> bank_removed;
+
+ /** This signal is emitted when a account has been added to one of
+ * the banks
+ */
+- boost::signal2<void, BankPtr, AccountPtr> account_added;
++ boost::signals2::signal<void(BankPtr, AccountPtr)> account_added;
+
+ /** This signal is emitted when a account has been removed from one of
+ * the banks
+ */
+- boost::signal2<void, BankPtr, AccountPtr> account_removed;
++ boost::signals2::signal<void(BankPtr, AccountPtr)> account_removed;
+
+ /** This signal is emitted when a account has been updated in one of
+ * the banks
+ */
+- boost::signal2<void, BankPtr, AccountPtr> account_updated;
++ boost::signals2::signal<void(BankPtr, AccountPtr)> account_updated;
+
+ private:
+
+@@ -147,7 +147,7 @@
+ /** This signal is emitted when the AccountCore Service has been
+ * updated.
+ */
+- boost::signal0<void> updated;
++ boost::signals2::signal<void(void)> updated;
+
+
+ /** This chain allows the AccountCore to present forms to the user
+--- ekiga-4.0.1/lib/engine/account/bank.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/account/bank.h.boost-signals2 2019-05-16 20:35:52.157810900 +0200
+@@ -74,15 +74,15 @@
+
+ /** This signal is emitted when a account has been added.
+ */
+- boost::signal1<void, AccountPtr> account_added;
++ boost::signals2::signal<void(AccountPtr)> account_added;
+
+ /** This signal is emitted when a account has been removed.
+ */
+- boost::signal1<void, AccountPtr> account_removed;
++ boost::signals2::signal<void(AccountPtr)> account_removed;
+
+ /** This signal is emitted when a account has been updated.
+ */
+- boost::signal1<void, AccountPtr> account_updated;
++ boost::signals2::signal<void(AccountPtr)> account_updated;
+
+ /** This chain allows the BankImpl to present forms to the user
+ */
+--- ekiga-4.0.1/lib/engine/account/bank-impl.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/account/bank-impl.h.boost-signals2 2019-05-16 20:34:41.093655548 +0200
+@@ -74,7 +74,7 @@
+ template<class AccountType = Account>
+ class BankImpl:
+ public Bank,
+- public boost::signals::trackable,
++ public boost::signals2::trackable,
+ protected RefLister<AccountType>
+ {
+
+--- ekiga-4.0.1/lib/engine/addressbook/book.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/addressbook/book.h.boost-signals2 2019-05-16 20:36:30.212894662 +0200
+@@ -92,17 +92,17 @@
+
+ /** This signal is emitted when a Contact has been added to the Book.
+ */
+- boost::signal1<void, ContactPtr > contact_added;
++ boost::signals2::signal<void(ContactPtr)> contact_added;
+
+
+ /** This signal is emitted when a Contact has been removed from the Book.
+ */
+- boost::signal1<void, ContactPtr > contact_removed;
++ boost::signals2::signal<void(ContactPtr)> contact_removed;
+
+
+ /** This signal is emitted when a Contact has been updated in the Book.
+ */
+- boost::signal1<void, ContactPtr > contact_updated;
++ boost::signals2::signal<void(ContactPtr)> contact_updated;
+ };
+
+ typedef boost::shared_ptr<Book> BookPtr;
+--- ekiga-4.0.1/lib/engine/addressbook/contact-core.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/addressbook/contact-core.cpp.boost-signals2 2019-05-16 21:26:27.190245510 +0200
+@@ -50,7 +50,7 @@
+
+ Ekiga::ContactCore::~ContactCore ()
+ {
+- for (std::list<boost::signals::connection>::iterator iter = conns.begin (); iter != conns.end (); ++iter)
++ for (std::list<boost::signals2::connection>::iterator iter = conns.begin (); iter != conns.end (); ++iter)
+ iter->disconnect ();
+ }
+
+--- ekiga-4.0.1/lib/engine/addressbook/contact-core.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/addressbook/contact-core.h.boost-signals2 2019-05-16 21:26:20.542228371 +0200
+@@ -118,37 +118,37 @@
+ /** This signal is emitted when a Ekiga::Source has been
+ * added to the ContactCore Service.
+ */
+- boost::signal1<void, SourcePtr > source_added;
++ boost::signals2::signal<void(SourcePtr)> source_added;
+
+ /** This signal is emitted when a book has been added to one of
+ * the sources
+ */
+- boost::signal2<void, SourcePtr, BookPtr > book_added;
++ boost::signals2::signal<void(SourcePtr, BookPtr )> book_added;
+
+ /** This signal is emitted when a book has been removed from one of
+ * the sources
+ */
+- boost::signal2<void, SourcePtr, BookPtr > book_removed;
++ boost::signals2::signal<void(SourcePtr, BookPtr )> book_removed;
+
+ /** This signal is emitted when a book has been updated in one of
+ * the sources
+ */
+- boost::signal2<void, SourcePtr, BookPtr > book_updated;
++ boost::signals2::signal<void(SourcePtr, BookPtr )> book_updated;
+
+ /** This signal is emitted when a contact has been added to one of
+ * the book of one of the sources
+ */
+- boost::signal3<void, SourcePtr, BookPtr, ContactPtr > contact_added;
++ boost::signals2::signal<void(SourcePtr, BookPtr, ContactPtr )> contact_added;
+
+ /** This signal is emitted when a contact has been removed from one of
+ * the book of one of the sources
+ */
+- boost::signal3<void, SourcePtr, BookPtr, ContactPtr > contact_removed;
++ boost::signals2::signal<void(SourcePtr, BookPtr, ContactPtr )> contact_removed;
+
+ /** This signal is emitted when a contact has been updated in one of
+ * the book of one of the sources
+ */
+- boost::signal3<void, SourcePtr, BookPtr, ContactPtr > contact_updated;
++ boost::signals2::signal<void(SourcePtr, BookPtr, ContactPtr )> contact_updated;
+
+ private:
+
+@@ -174,7 +174,7 @@
+ std::list<boost::shared_ptr<ContactDecorator> > contact_decorators;
+
+ /*** Misc stuff ***/
+- std::list<boost::signals::connection> conns;
++ std::list<boost::signals2::connection> conns;
+ };
+
+ /**
+--- ekiga-4.0.1/lib/engine/addressbook/source.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/addressbook/source.h.boost-signals2 2019-05-16 20:38:37.038176631 +0200
+@@ -63,32 +63,32 @@
+
+ /** This signal is emitted when a Book has been added to the Source.
+ */
+- boost::signal1<void, BookPtr > book_added;
++ boost::signals2::signal<void(BookPtr)> book_added;
+
+
+ /** This signal is emitted when a Book has been updated in the Source.
+ */
+- boost::signal1<void, BookPtr > book_updated;
++ boost::signals2::signal<void(BookPtr)> book_updated;
+
+
+ /** This signal is emitted when a Book has been removed in the Source.
+ */
+- boost::signal1<void, BookPtr > book_removed;
++ boost::signals2::signal<void(BookPtr)> book_removed;
+
+ /** This signal is emitted when a Contact has been added to a book in
+ * this source.
+ */
+- boost::signal2<void, BookPtr, ContactPtr > contact_added;
++ boost::signals2::signal<void(BookPtr, ContactPtr )> contact_added;
+
+ /** This signal is emitted when a Contact has been removed from a book in
+ * this source.
+ */
+- boost::signal2<void, BookPtr, ContactPtr > contact_removed;
++ boost::signals2::signal<void(BookPtr, ContactPtr )> contact_removed;
+
+ /** This signal is emitted when a Contact has been updated in a book in
+ * this source
+ */
+- boost::signal2<void, BookPtr, ContactPtr > contact_updated;
++ boost::signals2::signal<void(BookPtr, ContactPtr )> contact_updated;
+ };
+
+ typedef boost::shared_ptr<Source> SourcePtr;
+--- ekiga-4.0.1/lib/engine/audioinput/audioinput-core.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/audioinput/audioinput-core.h.boost-signals2 2019-05-16 20:39:25.511285526 +0200
+@@ -136,7 +136,7 @@
+ /** This signal is emitted when a Ekiga::AudioInputManager has been
+ * added to the AudioInputCore Service.
+ */
+- boost::signal1<void, AudioInputManager &> manager_added;
++ boost::signals2::signal<void(AudioInputManager &)> manager_added;
+
+
+ /*** AudioInput Device Management ***/
+@@ -254,23 +254,23 @@
+
+ /** See audioinput-manager.h for the API
+ */
+- boost::signal3<void, AudioInputManager &, AudioInputDevice &, AudioInputSettings&> device_opened;
+- boost::signal2<void, AudioInputManager &, AudioInputDevice &> device_closed;
+- boost::signal3<void, AudioInputManager &, AudioInputDevice &, AudioInputErrorCodes> device_error;
++ boost::signals2::signal<void(AudioInputManager &, AudioInputDevice &, AudioInputSettings&)> device_opened;
++ boost::signals2::signal<void(AudioInputManager &, AudioInputDevice &)> device_closed;
++ boost::signals2::signal<void(AudioInputManager &, AudioInputDevice &, AudioInputErrorCodes)> device_error;
+
+ /** This signal is emitted when an audio device input has been added to the system.
+ * This signal will be emitted if add_device was called with a device name and
+ * a manager claimed support for this device.
+ * @param device the audio input device that was added.
+ */
+- boost::signal2<void, AudioInputDevice, bool> device_added;
++ boost::signals2::signal<void(AudioInputDevice, bool)> device_added;
+
+ /** This signal is emitted when an audio input device has been removed from the system.
+ * This signal will be emitted if remove_device was called with a device name and
+ * a manager claimed support for this device.
+ * @param device the audio input device that was removed.
+ */
+- boost::signal2<void, AudioInputDevice, bool> device_removed;
++ boost::signals2::signal<void(AudioInputDevice, bool)> device_removed;
+
+ private:
+ void on_set_device (const AudioInputDevice & device);
+--- ekiga-4.0.1/lib/engine/audioinput/audioinput-manager.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/audioinput/audioinput-manager.h.boost-signals2 2019-05-16 20:40:06.093377163 +0200
+@@ -39,7 +39,7 @@
+ #define __AUDIOINPUT_MANAGER_H__
+
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "audioinput-info.h"
+@@ -148,18 +148,18 @@
+ * @param device the audio input device that was opened.
+ * @param config the current audio input device configuration (current volume, etc.).
+ */
+- boost::signal2<void, AudioInputDevice, AudioInputSettings> device_opened;
++ boost::signals2::signal<void(AudioInputDevice, AudioInputSettings)> device_opened;
+
+ /** This signal is emitted when an audio input device is closed.
+ * @param device the audio input device that was closed.
+ */
+- boost::signal1<void, AudioInputDevice> device_closed;
++ boost::signals2::signal<void(AudioInputDevice)> device_closed;
+
+ /** This signal is emitted when an error occurs when opening a audio input device.
+ * @param device the audio input device that caused the error.
+ * @param error_code the audio input device error code.
+ */
+- boost::signal2<void, AudioInputDevice, AudioInputErrorCodes> device_error;
++ boost::signals2::signal<void(AudioInputDevice, AudioInputErrorCodes)> device_error;
+
+
+ protected:
+--- ekiga-4.0.1/lib/engine/audiooutput/audiooutput-core.h 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/audiooutput/audiooutput-core.h.boost-signals2 2019-05-16 20:40:58.822496863 +0200
+@@ -128,7 +128,7 @@
+ /** This signal is emitted when a Ekiga::AudioOutputManager has been
+ * added to the AudioOutputCore Service.
+ */
+- boost::signal1<void, AudioOutputManager &> manager_added;
++ boost::signals2::signal<void(AudioOutputManager &)> manager_added;
+
+
+ /** Get a list of all devices supported by all managers registered to the core.
+@@ -299,23 +299,23 @@
+
+ /** See audiooutput-manager.h for the API
+ */
+- boost::signal4<void, AudioOutputManager &, AudioOutputPS, AudioOutputDevice&, AudioOutputSettings&> device_opened;
+- boost::signal3<void, AudioOutputManager &, AudioOutputPS, AudioOutputDevice&> device_closed;
+- boost::signal4<void, AudioOutputManager &, AudioOutputPS, AudioOutputDevice&, AudioOutputErrorCodes> device_error;
++ boost::signals2::signal<void(AudioOutputManager &, AudioOutputPS, AudioOutputDevice&, AudioOutputSettings&)> device_opened;
++ boost::signals2::signal<void(AudioOutputManager &, AudioOutputPS, AudioOutputDevice&)> device_closed;
++ boost::signals2::signal<void(AudioOutputManager &, AudioOutputPS, AudioOutputDevice&, AudioOutputErrorCodes)> device_error;
+
+ /** This signal is emitted when an audio output device has been added to the system.
+ * This signal will be emitted if add_device was called with a device name and
+ * a manager claimed support for this device.
+ * @param device the audio output device that was added.
+ */
+- boost::signal2<void, AudioOutputDevice, bool> device_added;
++ boost::signals2::signal<void(AudioOutputDevice, bool)> device_added;
+
+ /** This signal is emitted when an audio output device has been removed from the system.
+ * This signal will be emitted if remove_device was called with a device name and
+ * a manager claimed support for this device.
+ * @param device the audio output device that was removed.
+ */
+- boost::signal2<void, AudioOutputDevice, bool> device_removed;
++ boost::signals2::signal<void(AudioOutputDevice, bool)> device_removed;
+
+ private:
+ void on_set_device (const AudioOutputDevice & device);
+--- ekiga-4.0.1/lib/engine/audiooutput/audiooutput-manager.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/audiooutput/audiooutput-manager.h.boost-signals2 2019-05-16 20:41:41.638594580 +0200
+@@ -39,7 +39,7 @@
+ #define __AUDIOOUTPUT_MANAGER_H__
+
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "audiooutput-info.h"
+@@ -152,20 +152,20 @@
+ * @param device the audio output device that was opened.
+ * @param config the current audio output device configuration (current volume, etc.).
+ */
+- boost::signal3<void, AudioOutputPS, AudioOutputDevice, AudioOutputSettings> device_opened;
++ boost::signals2::signal<void(AudioOutputPS, AudioOutputDevice, AudioOutputSettings)> device_opened;
+
+ /** This signal is emitted when an audio output device is closed.
+ * @param prim whether the primary or secondary audio output device was closed.
+ * @param device the audio output device that was closed.
+ */
+- boost::signal2<void, AudioOutputPS, AudioOutputDevice> device_closed;
++ boost::signals2::signal<void(AudioOutputPS, AudioOutputDevice)> device_closed;
+
+ /** This signal is emitted when an error occurs when opening an audio output device.
+ * @param prim whether the primary or secondary audio output device caused the error.
+ * @param device the audio output device that caused the error.
+ * @param error_code the audio output device error code.
+ */
+- boost::signal3<void, AudioOutputPS, AudioOutputDevice, AudioOutputErrorCodes> device_error;
++ boost::signals2::signal<void(AudioOutputPS, AudioOutputDevice, AudioOutputErrorCodes)> device_error;
+
+ protected:
+ typedef struct ManagerState {
+--- ekiga-4.0.1/lib/engine/chat/chat-core.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/chat/chat-core.h.boost-signals2 2019-05-16 20:42:03.614644914 +0200
+@@ -100,7 +100,7 @@
+ /** This signal is emitted when an Ekiga::Dialect has been added to
+ * the ChatCore service.
+ */
+- boost::signal1<void, DialectPtr > dialect_added;
++ boost::signals2::signal<void(DialectPtr)> dialect_added;
+
+ private:
+
+@@ -116,7 +116,7 @@
+
+ /** This signal is emitted when the ChatCore service has been updated.
+ */
+- boost::signal0<void> updated;
++ boost::signals2::signal<void(void)> updated;
+
+ /** This chain allows the ChatCore to present forms to the user
+ */
+--- ekiga-4.0.1/lib/engine/chat/chat.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/chat/chat.h.boost-signals2 2019-05-16 20:42:45.038740118 +0200
+@@ -37,7 +37,7 @@
+ #define __CHAT_H__
+
+ #include <string>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include <boost/smart_ptr.hpp>
+@@ -113,15 +113,15 @@
+
+ /** This signal is emitted when the Chat has been updated.
+ */
+- boost::signal0<void> updated;
++ boost::signals2::signal<void(void)> updated;
+
+ /** This signal is emitted when the user requested to see this Chat
+ */
+- boost::signal0<void> user_requested;
++ boost::signals2::signal<void(void)> user_requested;
+
+ /** This signal is emitted when the Chat has been removed.
+ */
+- boost::signal0<void> removed;
++ boost::signals2::signal<void(void)> removed;
+
+ /** Feed possible actions on this Chat to the given MenuBuilder
+ * @param A MenuBuilder object to populate.
+--- ekiga-4.0.1/lib/engine/chat/dialect.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/chat/dialect.h.boost-signals2 2019-05-16 20:43:23.359828571 +0200
+@@ -72,12 +72,12 @@
+ /** This signal is emitted when an Ekiga::SimpleChat has been added to
+ * the dialect.
+ */
+- boost::signal1<void, SimpleChatPtr> simple_chat_added;
++ boost::signals2::signal<void(SimpleChatPtr)> simple_chat_added;
+
+ /** This signal is emitted when an Ekiga::MultipleChat has been added to
+ * the dialect.
+ */
+- boost::signal1<void, MultipleChatPtr> multiple_chat_added;
++ boost::signals2::signal<void(MultipleChatPtr)> multiple_chat_added;
+
+ /** This chain allows the Dialect to present forms to the user.
+ */
+--- ekiga-4.0.1/lib/engine/chat/dialect-impl.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/chat/dialect-impl.h.boost-signals2 2019-05-16 21:27:11.112358866 +0200
+@@ -47,7 +47,7 @@
+ typename MultipleChatType = MultipleChat>
+ class DialectImpl:
+ public Dialect,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+@@ -75,10 +75,10 @@
+
+ /* More STL-like ways to access the chats within this Ekiga::DialectImpl
+ */
+- typedef typename Ekiga::map_key_iterator<std::map<boost::shared_ptr<SimpleChatType>, std::list<boost::signals::connection> > > simple_iterator;
+- typedef typename Ekiga::map_key_const_iterator<std::map<boost::shared_ptr<SimpleChatType>, std::list<boost::signals::connection> > > simple_const_iterator;
+- typedef typename Ekiga::map_key_iterator<std::map<boost::shared_ptr<MultipleChatType>, std::list<boost::signals::connection> > > multiple_iterator;
+- typedef typename Ekiga::map_key_const_iterator<std::map<boost::shared_ptr<MultipleChatType>, std::list<boost::signals::connection> > > multiple_const_iterator;
++ typedef typename Ekiga::map_key_iterator<std::map<boost::shared_ptr<SimpleChatType>, std::list<boost::signals2::connection> > > simple_iterator;
++ typedef typename Ekiga::map_key_const_iterator<std::map<boost::shared_ptr<SimpleChatType>, std::list<boost::signals2::connection> > > simple_const_iterator;
++ typedef typename Ekiga::map_key_iterator<std::map<boost::shared_ptr<MultipleChatType>, std::list<boost::signals2::connection> > > multiple_iterator;
++ typedef typename Ekiga::map_key_const_iterator<std::map<boost::shared_ptr<MultipleChatType>, std::list<boost::signals2::connection> > > multiple_const_iterator;
+
+ simple_iterator simple_begin ();
+ simple_iterator simple_end ();
+@@ -116,8 +116,8 @@
+
+ private:
+
+- std::map<boost::shared_ptr<SimpleChatType>, std::list<boost::signals::connection> > simple_chats;
+- std::map<boost::shared_ptr<MultipleChatType>, std::list<boost::signals::connection> > multiple_chats;
++ std::map<boost::shared_ptr<SimpleChatType>, std::list<boost::signals2::connection> > simple_chats;
++ std::map<boost::shared_ptr<MultipleChatType>, std::list<boost::signals2::connection> > multiple_chats;
+
+ void on_simple_chat_removed (boost::shared_ptr<SimpleChatType> chat);
+
+@@ -133,22 +133,22 @@
+ template<typename SimpleChatType, typename MultipleChatType>
+ Ekiga::DialectImpl<SimpleChatType, MultipleChatType>::~DialectImpl ()
+ {
+- for (typename std::map<boost::shared_ptr<SimpleChatType>,std::list<boost::signals::connection> >::iterator iter = simple_chats.begin ();
++ for (typename std::map<boost::shared_ptr<SimpleChatType>,std::list<boost::signals2::connection> >::iterator iter = simple_chats.begin ();
+ iter != simple_chats.end ();
+ iter++) {
+
+- for (std::list<boost::signals::connection>::iterator conn_iter = iter->second.begin ();
++ for (std::list<boost::signals2::connection>::iterator conn_iter = iter->second.begin ();
+ conn_iter != iter->second.end ();
+ ++conn_iter) {
+
+ conn_iter->disconnect ();
+ }
+ }
+- for (typename std::map<boost::shared_ptr<MultipleChatType>,std::list<boost::signals::connection> >::iterator iter = multiple_chats.begin ();
++ for (typename std::map<boost::shared_ptr<MultipleChatType>,std::list<boost::signals2::connection> >::iterator iter = multiple_chats.begin ();
+ iter != multiple_chats.end ();
+ iter++) {
+
+- for (std::list<boost::signals::connection>::iterator conn_iter = iter->second.begin ();
++ for (std::list<boost::signals2::connection>::iterator conn_iter = iter->second.begin ();
+ conn_iter != iter->second.end ();
+ ++conn_iter) {
+
+@@ -163,7 +163,7 @@
+ {
+ bool go_on = true;
+
+- for (typename std::map<boost::shared_ptr<SimpleChatType>,std::list<boost::signals::connection> >::const_iterator iter = simple_chats.begin ();
++ for (typename std::map<boost::shared_ptr<SimpleChatType>,std::list<boost::signals2::connection> >::const_iterator iter = simple_chats.begin ();
+ go_on && iter != simple_chats.end ();
+ iter++) {
+
+@@ -177,7 +177,7 @@
+ {
+ bool go_on = true;
+
+- for (typename std::map<boost::shared_ptr<MultipleChatType>,std::list<boost::signals::connection> >::const_iterator iter = multiple_chats.begin ();
++ for (typename std::map<boost::shared_ptr<MultipleChatType>,std::list<boost::signals2::connection> >::const_iterator iter = multiple_chats.begin ();
+ go_on && iter != multiple_chats.end ();
+ iter++) {
+
+@@ -275,7 +275,7 @@
+ void
+ Ekiga::DialectImpl<SimpleChatType, MultipleChatType>::on_simple_chat_removed (boost::shared_ptr<SimpleChatType> chat)
+ {
+- for (typename std::list<boost::signals::connection>::iterator iter = simple_chats[chat].begin ();
++ for (typename std::list<boost::signals2::connection>::iterator iter = simple_chats[chat].begin ();
+ iter != simple_chats[chat].end ();
+ ++iter) {
+
+@@ -288,7 +288,7 @@
+ void
+ Ekiga::DialectImpl<SimpleChatType, MultipleChatType>::on_multiple_chat_removed (boost::shared_ptr<MultipleChatType> chat)
+ {
+- for (typename std::list<boost::signals::connection>::iterator iter = multiple_chats[chat].begin ();
++ for (typename std::list<boost::signals2::connection>::iterator iter = multiple_chats[chat].begin ();
+ iter != multiple_chats[chat].end ();
+ ++iter) {
+
+--- ekiga-4.0.1/lib/engine/components/call-history/history-book.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/call-history/history-book.h.boost-signals2 2019-05-16 20:43:58.286909503 +0200
+@@ -53,7 +53,7 @@
+
+ class Book:
+ public Ekiga::Book,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+@@ -86,7 +86,7 @@
+
+ void clear ();
+
+- boost::signal0<void> cleared;
++ boost::signals2::signal<void(void)> cleared;
+
+ private:
+
+--- ekiga-4.0.1/lib/engine/components/call-history/history-contact.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/call-history/history-contact.h.boost-signals2 2019-05-16 20:44:24.678970855 +0200
+@@ -61,7 +61,7 @@
+
+ class Contact:
+ public Ekiga::Contact,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+--- ekiga-4.0.1/lib/engine/components/local-roster/local-cluster.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/local-roster/local-cluster.h.boost-signals2 2019-05-16 20:45:18.111095580 +0200
+@@ -51,7 +51,7 @@
+ class Cluster :
+ public Ekiga::ClusterImpl<Heap>,
+ public Ekiga::Trigger,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+--- ekiga-4.0.1/lib/engine/components/local-roster/local-presentity.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/local-roster/local-presentity.h.boost-signals2 2019-05-16 20:45:33.511131655 +0200
+@@ -162,7 +162,7 @@
+ * This signal makes the Local::Heap know that the XML tree changed
+ * and hence should be saved
+ */
+- boost::signal0<void> trigger_saving;
++ boost::signals2::signal<void(void)> trigger_saving;
+
+
+ private:
+--- ekiga-4.0.1/lib/engine/components/opal/opal-account.h 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/opal/opal-account.h.boost-signals2 2019-05-16 20:45:50.751172106 +0200
+@@ -153,7 +153,7 @@
+
+ const std::string as_string () const;
+
+- boost::signal0<void> trigger_saving;
++ boost::signals2::signal<void(void)> trigger_saving;
+
+ /*
+ * This is because an opal account is an Ekiga::PresencePublisher
+--- ekiga-4.0.1/lib/engine/components/opal/opal-call.h 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/opal/opal-call.h.boost-signals2 2019-05-16 20:46:08.255213249 +0200
+@@ -55,7 +55,7 @@
+ class Call
+ : public OpalCall,
+ public Ekiga::Call,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+
+ public:
+--- ekiga-4.0.1/lib/engine/components/opal/opal-gmconf-bridge.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/components/opal/opal-gmconf-bridge.cpp.boost-signals2 2019-05-16 20:46:26.119255313 +0200
+@@ -35,7 +35,7 @@
+ */
+
+ #include <iostream>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "config.h"
+--- ekiga-4.0.1/lib/engine/framework/chain-of-responsibility.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/chain-of-responsibility.h.boost-signals2 2019-05-16 21:15:28.782572221 +0200
+@@ -36,7 +36,7 @@
+ #ifndef __CHAIN_OF_RESPONSIBILITY_H__
+ #define __CHAIN_OF_RESPONSIBILITY_H__
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ /* This code uses boost signals to implement the "chain of responsibility"
+@@ -117,9 +117,8 @@
+
+ template<typename T_request>
+ struct ChainOfResponsibility:
+- public boost::signal1<bool,
+- T_request,
+- responsibility_accumulator>
++ public boost::signals2::signal<bool(T_request),
++ responsibility_accumulator>
+ {
+ };
+ };
+--- ekiga-4.0.1/lib/engine/framework/form-request-simple.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/form-request-simple.h.boost-signals2 2019-05-16 20:48:12.632507659 +0200
+@@ -36,7 +36,7 @@
+ #ifndef __FORM_REQUEST_SIMPLE_H__
+ #define __FORM_REQUEST_SIMPLE_H__
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "form-builder.h"
+--- ekiga-4.0.1/lib/engine/framework/gmconf-bridge.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/gmconf-bridge.h.boost-signals2 2019-05-16 20:48:33.432557242 +0200
+@@ -38,7 +38,7 @@
+ #define __GMCONF_BRIDGE_H__
+
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "gmconf.h"
+@@ -94,7 +94,7 @@
+ * @param key is the GmConf key whose value changed
+ * @param entry is the new GmConf entry
+ */
+- boost::signal2<void, std::string /*key*/, GmConfEntry * /*entry*/> property_changed;
++ boost::signals2::signal<void(std::string /*key*/, GmConfEntry * /*entry*/)> property_changed;
+
+ protected :
+ Ekiga::Service & service;
+--- ekiga-4.0.1/lib/engine/framework/live-object.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/live-object.h.boost-signals2 2019-05-16 20:48:53.280604647 +0200
+@@ -62,12 +62,12 @@
+
+ /** This signal is emitted when the object has been updated.
+ */
+- boost::signal0<void> updated;
++ boost::signals2::signal<void(void)> updated;
+
+
+ /** This signal is emitted when the object has been removed.
+ */
+- boost::signal0<void> removed;
++ boost::signals2::signal<void(void)> removed;
+
+ /** This chain allows the object to present forms to the user
+ */
+--- ekiga-4.0.1/lib/engine/framework/menu-builder.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/menu-builder.h.boost-signals2 2019-05-16 20:49:09.399643212 +0200
+@@ -37,7 +37,7 @@
+ #define __MENU_BUILDER_H__
+
+ #include <string>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+
+--- ekiga-4.0.1/lib/engine/framework/personal-details.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/personal-details.h.boost-signals2 2019-05-16 20:49:31.152695349 +0200
+@@ -37,7 +37,7 @@
+ #define __PERSONAL_DETAILS_H__
+
+ #include <string>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "services.h"
+@@ -66,7 +66,7 @@
+ virtual void set_presence_info (const std::string presence,
+ const std::string status) = 0;
+
+- boost::signal0<void> updated;
++ boost::signals2::signal<void(void)> updated;
+ };
+ };
+
+--- ekiga-4.0.1/lib/engine/framework/reflister.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/reflister.h.boost-signals2 2019-05-16 20:50:53.592893897 +0200
+@@ -37,7 +37,7 @@
+ #ifndef __REFLISTER_H__
+ #define __REFLISTER_H__
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <list>
+
+@@ -55,7 +55,7 @@
+ {
+ protected:
+
+- typedef std::map<boost::shared_ptr<ObjectType>,std::list<boost::signals::connection> > container_type;
++ typedef std::map<boost::shared_ptr<ObjectType>,std::list<boost::signals2::connection> > container_type;
+ typedef Ekiga::map_key_iterator<container_type> iterator;
+ typedef Ekiga::map_key_const_iterator<container_type> const_iterator;
+
+@@ -66,7 +66,7 @@
+ void add_object (boost::shared_ptr<ObjectType> obj);
+
+ void add_connection (boost::shared_ptr<ObjectType> obj,
+- boost::signals::connection connection);
++ boost::signals2::connection connection);
+
+ void remove_object (boost::shared_ptr<ObjectType> obj);
+
+@@ -78,9 +78,9 @@
+ const_iterator begin () const;
+ const_iterator end () const;
+
+- boost::signal1<void, boost::shared_ptr<ObjectType> > object_added;
+- boost::signal1<void, boost::shared_ptr<ObjectType> > object_removed;
+- boost::signal1<void, boost::shared_ptr<ObjectType> > object_updated;
++ boost::signals2::signal<void(boost::shared_ptr<ObjectType>)> object_added;
++ boost::signals2::signal<void(boost::shared_ptr<ObjectType>)> object_removed;
++ boost::signals2::signal<void(boost::shared_ptr<ObjectType>)> object_updated;
+
+ private:
+ container_type objects;
+@@ -95,7 +95,7 @@
+ iter != objects.end ();
+ ++iter) {
+
+- for (std::list<boost::signals::connection>::iterator conn_iter = iter->second.begin ();
++ for (std::list<boost::signals2::connection>::iterator conn_iter = iter->second.begin ();
+ conn_iter != iter->second.end ();
+ ++conn_iter) {
+
+@@ -130,7 +130,7 @@
+ template<typename ObjectType>
+ void
+ Ekiga::RefLister<ObjectType>::add_connection (boost::shared_ptr<ObjectType> obj,
+- boost::signals::connection connection)
++ boost::signals2::connection connection)
+ {
+ objects[obj].push_back (connection);
+ }
+@@ -139,8 +139,8 @@
+ void
+ Ekiga::RefLister<ObjectType>::remove_object (boost::shared_ptr<ObjectType> obj)
+ {
+- std::list<boost::signals::connection> connections = objects[obj];
+- for (std::list<boost::signals::connection>::iterator iter = connections.begin ();
++ std::list<boost::signals2::connection> connections = objects[obj];
++ for (std::list<boost::signals2::connection>::iterator iter = connections.begin ();
+ iter != connections.end ();
+ ++iter)
+ iter->disconnect ();
+--- ekiga-4.0.1/lib/engine/framework/runtime.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/runtime.h.boost-signals2 2019-05-16 21:15:48.437621428 +0200
+@@ -34,7 +34,7 @@
+ *
+ */
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #ifndef __RUNTIME_H__
+--- ekiga-4.0.1/lib/engine/framework/services.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/framework/services.h.boost-signals2 2019-05-16 20:51:40.904008518 +0200
+@@ -45,7 +45,7 @@
+
+ #include <list>
+ #include <string>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ namespace Ekiga
+@@ -101,7 +101,7 @@
+
+ void dump (std::ostream &stream) const;
+
+- boost::signal1<void, ServicePtr> service_added;
++ boost::signals2::signal<void(ServicePtr)> service_added;
+
+ private:
+
+--- ekiga-4.0.1/lib/engine/gui/gtk-core/codecsbox.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-core/codecsbox.cpp.boost-signals2 2019-05-16 20:52:02.689061460 +0200
+@@ -38,6 +38,8 @@
+ #include "config.h"
+ #include "codecsbox.h"
+
++#include <sstream>
++
+ #include "gmconf.h"
+ #include "codec-description.h"
+
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/accounts-window.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/accounts-window.cpp.boost-signals2 2019-05-16 20:52:22.872110600 +0200
+@@ -62,7 +62,7 @@
+ GtkAccelGroup *accel;
+
+ Ekiga::ServiceCore &core;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+
+ std::string presence;
+
+@@ -502,7 +502,7 @@
+ {
+ AccountsWindow *self = ACCOUNTS_WINDOW (obj);
+
+- for (std::vector<boost::signals::connection>::iterator iter
++ for (std::vector<boost::signals2::connection>::iterator iter
+ = self->priv->connections.begin ();
+ iter != self->priv->connections.end ();
+ iter++)
+@@ -535,7 +535,7 @@
+ {
+ AccountsWindow *self = NULL;
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ GtkWidget *vbox = NULL;
+ GtkWidget *menu_bar = NULL;
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/addressbook-window.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/addressbook-window.cpp.boost-signals2 2019-05-16 20:52:40.184152821 +0200
+@@ -52,7 +52,7 @@
+ _AddressBookWindowPrivate (Ekiga::ContactCore & _core):core (_core) { }
+
+ Ekiga::ContactCore & core;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ GtkWidget *tree_view;
+ GtkWidget *notebook;
+ GtkTreeSelection *selection;
+@@ -579,7 +579,7 @@
+ {
+ AddressBookWindow *self = ADDRESSBOOK_WINDOW (obj);
+
+- for (std::vector<boost::signals::connection>::iterator iter
++ for (std::vector<boost::signals2::connection>::iterator iter
+ = self->priv->connections.begin ();
+ iter != self->priv->connections.end ();
+ iter++)
+@@ -613,7 +613,7 @@
+ {
+ AddressBookWindow *self = NULL;
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ GtkWidget *menu_bar = NULL;
+ GtkWidget *frame = NULL;
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/book-view-gtk.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/book-view-gtk.cpp.boost-signals2 2019-05-16 21:25:50.824151811 +0200
+@@ -62,7 +62,7 @@
+ GtkWidget *scrolled_window;
+
+ Ekiga::BookPtr book;
+- std::list<boost::signals::connection> connections;
++ std::list<boost::signals2::connection> connections;
+ };
+
+
+@@ -447,7 +447,7 @@
+
+ view = BOOK_VIEW_GTK (obj);
+
+- for (std::list<boost::signals::connection>::iterator iter
++ for (std::list<boost::signals2::connection>::iterator iter
+ = view->priv->connections.begin ();
+ iter != view->priv->connections.end ();
+ ++iter)
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/call-history-view-gtk.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/call-history-view-gtk.cpp.boost-signals2 2019-05-16 20:53:08.385221735 +0200
+@@ -56,7 +56,7 @@
+ boost::shared_ptr<History::Book> book;
+ GtkListStore* store;
+ GtkTreeView* tree;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ };
+
+ /* this is what we put in the view */
+@@ -229,7 +229,7 @@
+
+ view = CALL_HISTORY_VIEW_GTK (obj);
+
+- for (std::vector<boost::signals::connection>::iterator iter
++ for (std::vector<boost::signals2::connection>::iterator iter
+ = view->priv->connections.begin ();
+ iter != view->priv->connections.end ();
+ iter++)
+@@ -314,7 +314,7 @@
+ GtkCellRenderer *renderer = NULL;
+ GtkTreeSelection *selection = NULL;
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ g_return_val_if_fail (book, (GtkWidget*)NULL);
+
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/call-window.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/call-window.cpp.boost-signals2 2019-05-16 20:53:23.457258635 +0200
+@@ -181,7 +181,7 @@
+
+ GtkWidget *transfer_call_popup;
+
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ };
+
+ /* properties */
+@@ -2207,7 +2207,7 @@
+ static void
+ ekiga_call_window_connect_engine_signals (EkigaCallWindow *cw)
+ {
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ g_return_if_fail (EKIGA_IS_CALL_WINDOW (cw));
+
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/chat-area.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/chat-area.cpp.boost-signals2 2019-05-16 20:53:39.069296908 +0200
+@@ -58,7 +58,7 @@
+ struct _ChatAreaPrivate
+ {
+ Ekiga::Chat* chat;
+- boost::signals::connection connection;
++ boost::signals2::connection connection;
+ boost::shared_ptr<ChatAreaHelper> helper;
+ GmTextBufferEnhancer* enhancer;
+ GtkWidget* smiley_menu;
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/chat-window.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/chat-window.cpp.boost-signals2 2019-05-16 21:25:41.264127202 +0200
+@@ -54,7 +54,7 @@
+ {}
+
+ Ekiga::ServiceCore& core;
+- std::list<boost::signals::connection> connections;
++ std::list<boost::signals2::connection> connections;
+
+ GtkWidget* notebook;
+ };
+@@ -405,7 +405,7 @@
+
+ self = CHAT_WINDOW (obj);
+
+- for (std::list<boost::signals::connection>::iterator iter
++ for (std::list<boost::signals2::connection>::iterator iter
+ = self->priv->connections.begin ();
+ iter != self->priv->connections.end ();
+ ++iter)
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/heap-view.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/heap-view.cpp.boost-signals2 2019-05-16 20:53:55.041336117 +0200
+@@ -47,7 +47,7 @@
+ struct _HeapViewPrivate
+ {
+ Ekiga::HeapPtr heap;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+
+ GtkTreeStore* store;
+ GtkTreeView* view;
+@@ -454,7 +454,7 @@
+ {
+ if (self->priv->heap) {
+
+- for (std::vector<boost::signals::connection>::iterator iter
++ for (std::vector<boost::signals2::connection>::iterator iter
+ = self->priv->connections.begin ();
+ iter != self->priv->connections.end ();
+ iter++)
+@@ -465,7 +465,7 @@
+
+ if (heap) {
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ conn = heap->removed.connect (boost::bind (&on_heap_removed, self));
+ self->priv->connections.push_back (conn);
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/preferences-window.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/preferences-window.cpp.boost-signals2 2019-05-16 20:54:24.433408410 +0200
+@@ -88,7 +88,7 @@
+ GtkWidget *iface;
+ GtkWidget *fsbutton;
+ Ekiga::ServiceCore *core;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ } GmPreferencesWindow;
+
+ #define GM_PREFERENCES_WINDOW(x) (GmPreferencesWindow *) (x)
+@@ -1357,7 +1357,7 @@
+
+ gm_window_hide_on_delete (window);
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+ boost::shared_ptr<Ekiga::VideoInputCore> videoinput_core = core.get<Ekiga::VideoInputCore> ("videoinput-core");
+ boost::shared_ptr<Ekiga::AudioInputCore> audioinput_core = core.get<Ekiga::AudioInputCore> ("audioinput-core");
+ boost::shared_ptr<Ekiga::AudioOutputCore> audiooutput_core = core.get<Ekiga::AudioOutputCore> ("audiooutput-core");
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/presentity-view.cpp 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/presentity-view.cpp.boost-signals2 2019-05-16 20:54:36.777438826 +0200
+@@ -40,8 +40,8 @@
+ struct _PresentityViewPrivate
+ {
+ Ekiga::Presentity* presentity;
+- boost::signals::connection updated_conn;
+- boost::signals::connection removed_conn;
++ boost::signals2::connection updated_conn;
++ boost::signals2::connection removed_conn;
+
+ /* we contain those, so no need to unref them */
+ GtkWidget* presence_image;
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp.boost-signals2 2019-05-16 20:54:50.449472550 +0200
+@@ -60,7 +60,7 @@
+ {
+ boost::shared_ptr<Ekiga::PresenceCore> core;
+
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ GtkTreeStore *store;
+ GtkTreeView *tree_view;
+ GSList *folded_groups;
+@@ -1382,7 +1382,7 @@
+ {
+ if (self->priv->core) {
+
+- for (std::vector<boost::signals::connection>::iterator iter
++ for (std::vector<boost::signals2::connection>::iterator iter
+ = self->priv->connections.begin ();
+ iter != self->priv->connections.end ();
+ iter++)
+@@ -1393,7 +1393,7 @@
+
+ if (core) {
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ conn = core->cluster_added.connect (boost::bind (&on_cluster_added, self, _1));
+ self->priv->connections.push_back (conn);
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/statusicon.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/statusicon.cpp.boost-signals2 2019-05-16 20:55:08.249516515 +0200
+@@ -68,7 +68,7 @@
+ GtkWidget *popup_menu;
+ gboolean has_message;
+
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+
+ int blink_id;
+ std::string status;
+@@ -174,7 +174,7 @@
+ if (self->priv->blink_image)
+ g_free (self->priv->blink_image);
+
+- for (std::vector<boost::signals::connection>::iterator iter = self->priv->connections.begin () ;
++ for (std::vector<boost::signals2::connection>::iterator iter = self->priv->connections.begin () ;
+ iter != self->priv->connections.end ();
+ iter++)
+ iter->disconnect ();
+@@ -548,7 +548,7 @@
+ if (!statusicon_should_run ())
+ return self;
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ self = STATUSICON (g_object_new (STATUSICON_TYPE, NULL));
+ self->priv = new StatusIconPrivate (core);
+--- ekiga-4.0.1/lib/engine/gui/gtk-frontend/statusicon.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/gui/gtk-frontend/statusicon.h.boost-signals2 2019-05-16 20:55:28.249565992 +0200
+@@ -42,7 +42,7 @@
+
+ #include <gtk/gtk.h>
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ G_BEGIN_DECLS
+--- ekiga-4.0.1/lib/engine/hal/hal-core.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/hal/hal-core.h.boost-signals2 2019-05-16 20:56:59.929793841 +0200
+@@ -40,7 +40,7 @@
+
+ #include "services.h"
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include <set>
+@@ -114,24 +114,24 @@
+ /** This signal is emitted when an Ekiga::HalManager has been
+ * added to the HalCore Service.
+ */
+- boost::signal1<void, HalManager &> manager_added;
++ boost::signals2::signal<void(HalManager &)> manager_added;
+
+
+ /*** API to act on HAL events ***/
+
+ /** See hal-manager.h for the API
+ */
+- boost::signal4<void, const std::string &, const std::string &, unsigned, HalManager*> videoinput_device_added;
+- boost::signal4<void, const std::string &, const std::string &, unsigned, HalManager*> videoinput_device_removed;
++ boost::signals2::signal<void(const std::string &, const std::string &, unsigned, HalManager*)> videoinput_device_added;
++ boost::signals2::signal<void(const std::string &, const std::string &, unsigned, HalManager*)> videoinput_device_removed;
+
+- boost::signal3<void, const std::string &, const std::string &, HalManager*> audioinput_device_added;
+- boost::signal3<void, const std::string &, const std::string &, HalManager*> audioinput_device_removed;
++ boost::signals2::signal<void(const std::string &, const std::string &, HalManager*)> audioinput_device_added;
++ boost::signals2::signal<void(const std::string &, const std::string &, HalManager*)> audioinput_device_removed;
+
+- boost::signal3<void, const std::string &, const std::string &, HalManager*> audiooutput_device_added;
+- boost::signal3<void, const std::string &, const std::string &, HalManager*> audiooutput_device_removed;
++ boost::signals2::signal<void(const std::string &, const std::string &, HalManager*)> audiooutput_device_added;
++ boost::signals2::signal<void(const std::string &, const std::string &, HalManager*)> audiooutput_device_removed;
+
+- boost::signal3<void, const std::string &, const std::string &, HalManager*> network_interface_up;
+- boost::signal3<void, const std::string &, const std::string &, HalManager*> network_interface_down;
++ boost::signals2::signal<void(const std::string &, const std::string &, HalManager*)> network_interface_up;
++ boost::signals2::signal<void(const std::string &, const std::string &, HalManager*)> network_interface_down;
+
+ private:
+
+--- ekiga-4.0.1/lib/engine/hal/hal-manager.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/hal/hal-manager.h.boost-signals2 2019-05-16 20:58:32.322025169 +0200
+@@ -75,50 +75,50 @@
+ * @param device the device name.
+ * @param capabilities source-dependent device capabilites (e.g. V4L1 or V4L2 for video4linux).
+ */
+- boost::signal3<void, std::string, std::string, unsigned> videoinput_device_added;
++ boost::signals2::signal<void(std::string, std::string, unsigned)> videoinput_device_added;
+
+ /** This signal is emitted when a video input device is removed from the system.
+ * @param source the video input framework (e.g. video4linux, etc.).
+ * @param device the device name.
+ * @param capabilities source-dependent device capabilites (e.g. V4L1 or V4L2 for video4linux).
+ */
+- boost::signal3<void, std::string, std::string, unsigned> videoinput_device_removed;
++ boost::signals2::signal<void(std::string, std::string, unsigned)> videoinput_device_removed;
+
+ /** This signal is emitted when an audio input device is added to the system.
+ * @param source the audio input framework (e.g. alsa, oss, etc.).
+ * @param device the device name.
+ */
+- boost::signal2<void, std::string, std::string> audioinput_device_added;
++ boost::signals2::signal<void(std::string, std::string)> audioinput_device_added;
+
+ /** This signal is emitted when an audio input device is removed from the system.
+ * @param source the audio input framework (e.g. alsa, oss, etc.).
+ * @param device the device name.
+ */
+- boost::signal2<void, std::string, std::string> audioinput_device_removed;
++ boost::signals2::signal<void(std::string, std::string)> audioinput_device_removed;
+
+ /** This signal is emitted when an audio output device is added to the system.
+ * @param source the audio output framework (e.g. alsa, oss, etc.).
+ * @param device the device name.
+ */
+- boost::signal2<void, std::string, std::string> audiooutput_device_added;
++ boost::signals2::signal<void(std::string, std::string)> audiooutput_device_added;
+
+ /** This signal is emitted when an audio output device is removed from the system.
+ * @param source the audio output framework (e.g. alsa, oss, etc.).
+ * @param device the device name.
+ */
+- boost::signal2<void, std::string, std::string> audiooutput_device_removed;
++ boost::signals2::signal<void(std::string, std::string)> audiooutput_device_removed;
+
+ /** This signal is emitted when a network device comes up.
+ * @param interface_name the interface name (e.g. eth0, etc.).
+ * @param ip4_address the IPv4 address (e.g. "192.168.0.1").
+ */
+- boost::signal2<void, std::string, std::string> network_interface_up;
++ boost::signals2::signal<void(std::string, std::string)> network_interface_up;
+
+ /** This signal is emitted when a network device goes down.
+ * @param interface_name the interface name (e.g. eth0, etc.).
+ * @param ip4_address the IPv4 address (e.g. "192.168.0.1").
+ */
+- boost::signal2<void, std::string, std::string> network_interface_down;
++ boost::signals2::signal<void(std::string, std::string)> network_interface_down;
+ };
+
+ /**
+--- ekiga-4.0.1/lib/engine/notification/notification-core.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/notification/notification-core.h.boost-signals2 2019-05-16 20:58:55.762084125 +0200
+@@ -77,7 +77,7 @@
+ void action_trigger ()
+ { if (action_callback) action_callback (); }
+
+- boost::signal0<void> removed;
++ boost::signals2::signal<void(void)> removed;
+
+ private:
+
+@@ -109,7 +109,7 @@
+ void push_notification (boost::shared_ptr<Notification> notification)
+ { notification_added (notification); }
+
+- boost::signal1<void, boost::shared_ptr<Notification> > notification_added;
++ boost::signals2::signal<void(boost::shared_ptr<Notification>)> notification_added;
+ };
+ };
+
+--- ekiga-4.0.1/lib/engine/presence/cluster.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/presence/cluster.h.boost-signals2 2019-05-16 20:59:44.537207148 +0200
+@@ -66,16 +66,16 @@
+ * from the Cluster.
+ * @param The Heap in question.
+ */
+- boost::signal1<void, HeapPtr > heap_added;
+- boost::signal1<void, HeapPtr > heap_removed;
++ boost::signals2::signal<void(HeapPtr)> heap_added;
++ boost::signals2::signal<void(HeapPtr)> heap_removed;
+
+ /** Those signals are forwarded from the given Heap
+ * @param The Heap in question.
+ */
+- boost::signal1<void, HeapPtr > heap_updated;
+- boost::signal2<void, HeapPtr , PresentityPtr > presentity_added;
+- boost::signal2<void, HeapPtr , PresentityPtr > presentity_updated;
+- boost::signal2<void, HeapPtr , PresentityPtr > presentity_removed;
++ boost::signals2::signal<void(HeapPtr)> heap_updated;
++ boost::signals2::signal<void(HeapPtr , PresentityPtr )> presentity_added;
++ boost::signals2::signal<void(HeapPtr , PresentityPtr )> presentity_updated;
++ boost::signals2::signal<void(HeapPtr , PresentityPtr )> presentity_removed;
+ };
+
+ typedef boost::shared_ptr<Cluster> ClusterPtr;
+--- ekiga-4.0.1/lib/engine/presence/heap.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/presence/heap.h.boost-signals2 2019-05-16 21:00:10.299272312 +0200
+@@ -83,15 +83,15 @@
+
+ /** This signal is emitted when a Presentity has been added to the Heap.
+ */
+- boost::signal1<void, PresentityPtr > presentity_added;
++ boost::signals2::signal<void(PresentityPtr)> presentity_added;
+
+ /** This signal is emitted when a Presentity has been updated in the Heap.
+ */
+- boost::signal1<void, PresentityPtr > presentity_updated;
++ boost::signals2::signal<void(PresentityPtr)> presentity_updated;
+
+ /** This signal is emitted when a Presentity has been removed from the Heap.
+ */
+- boost::signal1<void, PresentityPtr > presentity_removed;
++ boost::signals2::signal<void(PresentityPtr)> presentity_removed;
+ };
+
+ typedef boost::shared_ptr<Heap> HeapPtr;
+--- ekiga-4.0.1/lib/engine/presence/presence-core.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/presence/presence-core.cpp.boost-signals2 2019-05-16 21:25:58.111170575 +0200
+@@ -49,7 +49,7 @@
+
+ Ekiga::PresenceCore::~PresenceCore ()
+ {
+- for (std::list<boost::signals::connection>::iterator iter = conns.begin (); iter != conns.end (); ++iter)
++ for (std::list<boost::signals2::connection>::iterator iter = conns.begin (); iter != conns.end (); ++iter)
+ iter->disconnect ();
+ }
+
+--- ekiga-4.0.1/lib/engine/presence/presence-core.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/presence/presence-core.h.boost-signals2 2019-05-16 21:26:09.582200124 +0200
+@@ -97,8 +97,8 @@
+ * presence information about an uri it was required to handle.
+ * The information is given as a pair of strings (uri, data).
+ */
+- boost::signal2<void, std::string, std::string> presence_received;
+- boost::signal2<void, std::string, std::string> status_received;
++ boost::signals2::signal<void(std::string, std::string)> presence_received;
++ boost::signals2::signal<void(std::string, std::string)> status_received;
+ };
+
+ class PresencePublisher
+@@ -180,22 +180,22 @@
+ /** This signal is emitted when an Ekiga::Cluster has been added
+ * to the PresenceCore Service.
+ */
+- boost::signal1<void, ClusterPtr > cluster_added;
++ boost::signals2::signal<void(ClusterPtr)> cluster_added;
+
+ /** Those signals are forwarding the heap_added, heap_updated
+ * and heap_removed from the given Cluster.
+ *
+ */
+- boost::signal2<void, ClusterPtr , HeapPtr > heap_added;
+- boost::signal2<void, ClusterPtr , HeapPtr > heap_updated;
+- boost::signal2<void, ClusterPtr , HeapPtr > heap_removed;
++ boost::signals2::signal<void(ClusterPtr , HeapPtr )> heap_added;
++ boost::signals2::signal<void(ClusterPtr , HeapPtr )> heap_updated;
++ boost::signals2::signal<void(ClusterPtr , HeapPtr )> heap_removed;
+
+ /** Those signals are forwarding the presentity_added, presentity_updated
+ * and presentity_removed from the given Heap of the given Cluster.
+ */
+- boost::signal3<void, ClusterPtr , HeapPtr , PresentityPtr > presentity_added;
+- boost::signal3<void, ClusterPtr , HeapPtr , PresentityPtr > presentity_updated;
+- boost::signal3<void, ClusterPtr , HeapPtr , PresentityPtr > presentity_removed;
++ boost::signals2::signal<void(ClusterPtr , HeapPtr , PresentityPtr )> presentity_added;
++ boost::signals2::signal<void(ClusterPtr , HeapPtr , PresentityPtr )> presentity_updated;
++ boost::signals2::signal<void(ClusterPtr , HeapPtr , PresentityPtr )> presentity_removed;
+
+ private:
+
+@@ -256,8 +256,8 @@
+ /** Those signals are emitted whenever information has been received
+ * about an uri ; the information is a pair of strings (uri, information).
+ */
+- boost::signal2<void, std::string, std::string> presence_received;
+- boost::signal2<void, std::string, std::string> status_received;
++ boost::signals2::signal<void(std::string, std::string)> presence_received;
++ boost::signals2::signal<void(std::string, std::string)> status_received;
+
+ private:
+
+@@ -321,7 +321,7 @@
+
+ private:
+
+- std::list<boost::signals::connection> conns;
++ std::list<boost::signals2::connection> conns;
+ };
+
+ /**
+--- ekiga-4.0.1/lib/engine/presence/uri-presentity.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/presence/uri-presentity.h.boost-signals2 2019-05-16 21:01:39.841499790 +0200
+@@ -60,7 +60,7 @@
+ */
+ class URIPresentity:
+ public Ekiga::Presentity,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+--- ekiga-4.0.1/lib/engine/protocol/call-core.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/protocol/call-core.cpp.boost-signals2 2019-05-16 21:27:24.447393322 +0200
+@@ -48,7 +48,7 @@
+
+ CallCore::~CallCore ()
+ {
+- for (std::list<boost::signals::connection>::iterator iter = manager_connections.begin ();
++ for (std::list<boost::signals2::connection>::iterator iter = manager_connections.begin ();
+ iter != manager_connections.end ();
+ ++iter)
+ iter->disconnect ();
+@@ -103,7 +103,7 @@
+
+ void CallCore::add_call (boost::shared_ptr<Call> call, boost::shared_ptr<CallManager> manager)
+ {
+- std::list<boost::signals::connection> conns;
++ std::list<boost::signals2::connection> conns;
+
+ conns.push_back (call->ringing.connect (boost::bind (&CallCore::on_ringing_call, this, call, manager)));
+ conns.push_back (call->setup.connect (boost::bind (&CallCore::on_setup_call, this, call, manager)));
+@@ -124,7 +124,7 @@
+
+ void CallCore::remove_call (boost::shared_ptr<Call> call)
+ {
+- for (std::list<boost::signals::connection>::iterator iter2 = call_connections [call->get_id ()].begin ();
++ for (std::list<boost::signals2::connection>::iterator iter2 = call_connections [call->get_id ()].begin ();
+ iter2 != call_connections [call->get_id ()].end ();
+ ++iter2)
+ iter2->disconnect ();
+--- ekiga-4.0.1/lib/engine/protocol/call-core.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/protocol/call-core.h.boost-signals2 2019-05-16 21:04:18.066905414 +0200
+@@ -45,7 +45,7 @@
+ #include "call-protocol-manager.h"
+ #include <boost/smart_ptr.hpp>
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <set>
+ #include <map>
+@@ -126,7 +126,7 @@
+ /** This signal is emitted when a Ekiga::CallManager has been
+ * added to the CallCore Service.
+ */
+- boost::signal1<void, boost::shared_ptr<CallManager> > manager_added;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>)> manager_added;
+
+
+ /*** Call Management ***/
+@@ -141,21 +141,21 @@
+
+ /** See call.h for the API
+ */
+- boost::signal2<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call> > ringing_call;
+- boost::signal2<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call> > setup_call;
+- boost::signal2<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call> > missed_call;
+- boost::signal3<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call>, std::string> cleared_call;
+- boost::signal2<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call> > established_call;
+- boost::signal2<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call> > held_call;
+- boost::signal2<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call> > retrieved_call;
+- boost::signal5<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call>, std::string, Call::StreamType, bool> stream_opened;
+- boost::signal5<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call>, std::string, Call::StreamType, bool> stream_closed;
+- boost::signal4<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call>, std::string, Call::StreamType> stream_paused;
+- boost::signal4<void, boost::shared_ptr<CallManager> , boost::shared_ptr<Call>, std::string, Call::StreamType> stream_resumed;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>)> ringing_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>)> setup_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>)> missed_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>, std::string)> cleared_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>)> established_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>)> held_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>)> retrieved_call;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>, std::string, Call::StreamType, bool)> stream_opened;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>, std::string, Call::StreamType, bool)> stream_closed;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>, std::string, Call::StreamType)> stream_paused;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>, boost::shared_ptr<Call>, std::string, Call::StreamType)> stream_resumed;
+
+ /*** Misc ***/
+- boost::signal1<void, boost::shared_ptr<CallManager> > manager_ready;
+- boost::signal0<void> ready;
++ boost::signals2::signal<void(boost::shared_ptr<CallManager>)> manager_ready;
++ boost::signals2::signal<void(void)> ready;
+
+ /** This chain allows the CallCore to report errors to the user
+ */
+@@ -186,8 +186,8 @@
+
+
+ std::set<boost::shared_ptr<CallManager> > managers;
+- std::list<boost::signals::connection> manager_connections;
+- std::map<std::string, std::list<boost::signals::connection> > call_connections;
++ std::list<boost::signals2::connection> manager_connections;
++ std::map<std::string, std::list<boost::signals2::connection> > call_connections;
+ unsigned nr_ready;
+ };
+
+--- ekiga-4.0.1/lib/engine/protocol/call.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/protocol/call.h.boost-signals2 2019-05-16 21:06:43.219275173 +0200
+@@ -38,7 +38,7 @@
+ #ifndef __CALL_H__
+ #define __CALL_H__
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <string>
+
+@@ -198,69 +198,69 @@
+
+ /* Signal emitted when the call is established
+ */
+- boost::signal0<void> established;
++ boost::signals2::signal<void(void)> established;
+
+ /* Signal emitted when an established call is cleared
+ * @param: a string describing why the call was cleared
+ */
+- boost::signal1<void, std::string> cleared;
++ boost::signals2::signal<void(std::string)> cleared;
+
+ /* Signal emitted when the call is missed, ie cleared
+ * without having been established
+ */
+- boost::signal0<void> missed;
++ boost::signals2::signal<void(void)> missed;
+
+ /* Signal emitted when the call is forwarded
+ */
+- boost::signal0<void> forwarded;
++ boost::signals2::signal<void(void)> forwarded;
+
+ /* Signal emitted when the call is held
+ */
+- boost::signal0<void> held;
++ boost::signals2::signal<void(void)> held;
+
+ /* Signal emitted when the call is retrieved
+ */
+- boost::signal0<void> retrieved;
++ boost::signals2::signal<void(void)> retrieved;
+
+ /* Signal emitted when the call is being setup
+ */
+- boost::signal0<void> setup;
++ boost::signals2::signal<void(void)> setup;
+
+ /* Signal emitted when the remote party is ringing
+ */
+- boost::signal0<void> ringing;
++ boost::signals2::signal<void(void)> ringing;
+
+ /* Signal emitted when a stream is opened
+ * @param the stream name
+ * @param the stream type
+ * @param transmission or reception
+ */
+- boost::signal3<void, std::string, StreamType, bool> stream_opened;
++ boost::signals2::signal<void(std::string, StreamType, bool)> stream_opened;
+
+ /* Signal emitted when a stream is closed
+ * @param the stream name
+ * @param the stream type
+ * @param transmission or reception
+ */
+- boost::signal3<void, std::string, StreamType, bool> stream_closed;
++ boost::signals2::signal<void(std::string, StreamType, bool)> stream_closed;
+
+ /* Signal emitted when a transmitted stream is paused
+ * @param the stream name
+ * @param the stream type
+ * @param transmission or reception
+ */
+- boost::signal2<void, std::string, StreamType> stream_paused;
++ boost::signals2::signal<void(std::string, StreamType)> stream_paused;
+
+ /* Signal emitted when a transmitted stream is resumed
+ * @param the stream name
+ * @param the stream type
+ * @param transmission or reception
+ */
+- boost::signal2<void, std::string, StreamType> stream_resumed;
++ boost::signals2::signal<void(std::string, StreamType)> stream_resumed;
+
+ /** This signal is emitted when the Call is removed.
+ */
+- boost::signal0<void> removed;
++ boost::signals2::signal<void(void)> removed;
+
+ };
+
+--- ekiga-4.0.1/lib/engine/protocol/call-manager.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/protocol/call-manager.h.boost-signals2 2019-05-16 21:04:48.498983953 +0200
+@@ -40,7 +40,7 @@
+ #define __CALL_MANAGER_H__
+
+ #include <set>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include <boost/smart_ptr.hpp>
+@@ -99,7 +99,7 @@
+ /** This signal is emitted when a Ekiga::CallProtocolManager has been
+ * added to the CallManager.
+ */
+- boost::signal1<void, boost::shared_ptr<CallProtocolManager> > manager_added;
++ boost::signals2::signal<void(boost::shared_ptr<CallProtocolManager>)> manager_added;
+
+
+ /*
+@@ -213,7 +213,7 @@
+ /*
+ * MISC
+ */
+- boost::signal0<void> ready;
++ boost::signals2::signal<void(void)> ready;
+
+ private:
+ std::set<boost::shared_ptr<CallProtocolManager> > managers;
+--- ekiga-4.0.1/lib/engine/videoinput/videoinput-core.h 2013-02-19 07:11:02.000000000 +0100
++++ ekiga-4.0.1/lib/engine/videoinput/videoinput-core.h.boost-signals2 2019-05-16 21:07:34.924401112 +0200
+@@ -45,7 +45,7 @@
+ #include "videoinput-manager.h"
+ #include "videoinput-gmconf-bridge.h"
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <glib.h>
+ #include <set>
+@@ -146,7 +146,7 @@
+ /** This signal is emitted when a Ekiga::VideoInputManager has been
+ * added to the VideoInputCore Service.
+ */
+- boost::signal1<void, VideoInputManager &> manager_added;
++ boost::signals2::signal<void(VideoInputManager &)> manager_added;
+
+
+ /*** VideoInput Device Management ***/
+@@ -277,23 +277,23 @@
+
+ /** See videoinput-manager.h for the API
+ */
+- boost::signal3<void, VideoInputManager &, VideoInputDevice &, VideoInputSettings&> device_opened;
+- boost::signal2<void, VideoInputManager &, VideoInputDevice &> device_closed;
+- boost::signal3<void, VideoInputManager &, VideoInputDevice &, VideoInputErrorCodes> device_error;
++ boost::signals2::signal<void(VideoInputManager &, VideoInputDevice &, VideoInputSettings&)> device_opened;
++ boost::signals2::signal<void(VideoInputManager &, VideoInputDevice &)> device_closed;
++ boost::signals2::signal<void(VideoInputManager &, VideoInputDevice &, VideoInputErrorCodes)> device_error;
+
+ /** This signal is emitted when a video input has been added to the system.
+ * This signal will be emitted if add_device was called with a device name and
+ * a manager claimed support for this device.
+ * @param device the video input device that was added.
+ */
+- boost::signal2<void, VideoInputDevice, bool> device_added;
++ boost::signals2::signal<void(VideoInputDevice, bool)> device_added;
+
+ /** This signal is emitted when a video input has been removed from the system.
+ * This signal will be emitted if remove_device was called with a device name and
+ * a manager claimed support for this device.
+ * @param device the video input device that was removed.
+ */
+- boost::signal2<void, VideoInputDevice, bool> device_removed;
++ boost::signals2::signal<void(VideoInputDevice, bool)> device_removed;
+
+ private:
+ void on_set_device (const VideoInputDevice & device);
+--- ekiga-4.0.1/lib/engine/videoinput/videoinput-manager.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/videoinput/videoinput-manager.h.boost-signals2 2019-05-16 21:08:07.020479478 +0200
+@@ -39,7 +39,7 @@
+ #define __VIDEOINPUT_MANAGER_H__
+
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "videoinput-info.h"
+@@ -159,18 +159,18 @@
+ * @param device the video input device that was opened.
+ * @param config the current video input device configuration (current brightness, colour, etc.).
+ */
+- boost::signal2<void, VideoInputDevice, VideoInputSettings> device_opened;
++ boost::signals2::signal<void(VideoInputDevice, VideoInputSettings)> device_opened;
+
+ /** This signal is emitted when a video input device is closed.
+ * @param device the video input device that was closed.
+ */
+- boost::signal1<void, VideoInputDevice> device_closed;
++ boost::signals2::signal<void(VideoInputDevice)> device_closed;
+
+ /** This signal is emitted when an error occurs when opening a video input device.
+ * @param device the video input device that caused the error.
+ * @param error_code the video input device error code.
+ */
+- boost::signal2<void, VideoInputDevice, VideoInputErrorCodes> device_error;
++ boost::signals2::signal<void(VideoInputDevice, VideoInputErrorCodes)> device_error;
+
+ protected:
+ typedef struct ManagerState {
+--- ekiga-4.0.1/lib/engine/videooutput/videooutput-core.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/lib/engine/videooutput/videooutput-core.h.boost-signals2 2019-05-16 22:08:08.535773653 +0200
+@@ -42,7 +42,7 @@
+ #include "videooutput-gmconf-bridge.h"
+ #include "videooutput-manager.h"
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <set>
+ #include <map>
+@@ -116,7 +116,7 @@
+ /** This signal is emitted when a Ekiga::VideoOutputManager has been
+ * added to the VideoOutputCore Service.
+ */
+- boost::signal1<void, VideoOutputManager &> manager_added;
++ boost::signals2::signal<void(VideoOutputManager &)> manager_added;
+
+
+ /*** Videooutput Management ***/
+@@ -165,11 +165,11 @@
+
+ /** See videooutput-manager.h for the API
+ */
+- boost::signal6<void, VideoOutputManager &, VideoOutputAccel, VideoOutputMode, unsigned, bool, bool> device_opened;
+- boost::signal1<void, VideoOutputManager &> device_closed;
+- boost::signal2<void, VideoOutputManager &, VideoOutputErrorCodes> device_error;
+- boost::signal2<void, VideoOutputManager &, VideoOutputFSToggle> fullscreen_mode_changed;
+- boost::signal3<void, VideoOutputManager &, unsigned, unsigned> size_changed;
++ boost::signals2::signal<void(VideoOutputManager &, VideoOutputAccel, VideoOutputMode, unsigned, bool, bool)> device_opened;
++ boost::signals2::signal<void(VideoOutputManager &)> device_closed;
++ boost::signals2::signal<void(VideoOutputManager &, VideoOutputErrorCodes)> device_error;
++ boost::signals2::signal<void(VideoOutputManager &, VideoOutputFSToggle)> fullscreen_mode_changed;
++ boost::signals2::signal<void(VideoOutputManager &, unsigned, unsigned)> size_changed;
+
+
+ private:
+--- ekiga-4.0.1/lib/engine/videooutput/videooutput-manager.h 2013-02-19 07:11:02.000000000 +0100
++++ ekiga-4.0.1/lib/engine/videooutput/videooutput-manager.h.boost-signals2 2019-05-16 22:07:52.271747906 +0200
+@@ -38,7 +38,7 @@
+ #ifndef __VIDEOOUTPUT_MANAGER_H__
+ #define __VIDEOOUTPUT_MANAGER_H__
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "videooutput-info.h"
+@@ -108,16 +108,16 @@
+ * @param both_streams if a frame from both local and remote stream has been received.
+ * @param ext_stream if a frame from an extended video stream has been received.
+ */
+- boost::signal5<void, VideoOutputAccel, VideoOutputMode, unsigned, bool, bool> device_opened;
++ boost::signals2::signal<void(VideoOutputAccel, VideoOutputMode, unsigned, bool, bool)> device_opened;
+
+ /** This signal is emitted when a video output device is closed.
+ */
+- boost::signal0<void> device_closed;
++ boost::signals2::signal<void(void)> device_closed;
+
+ /** This signal is emitted when an error occurs when opening a video output device.
+ * @param error_code the video output device error code.
+ */
+- boost::signal1<void, VideoOutputErrorCodes> device_error;
++ boost::signals2::signal<void(VideoOutputErrorCodes)> device_error;
+
+ /** This signal is emitted when a manager switches autonomously into or out of fullscreen mode.
+ * Some managers like DX and XV allow the user to switch between FS
+@@ -127,7 +127,7 @@
+ * or when it is being zoomed in or out.
+ * @param toggle VO_FS_ON or VO_FS_OFF depending on whether FS was activated or deactivated.
+ */
+- boost::signal1<void, VideoOutputFSToggle> fullscreen_mode_changed;
++ boost::signals2::signal<void(VideoOutputFSToggle)> fullscreen_mode_changed;
+
+ /** This signal is emitted the video output size has changed.
+ * This signal is called whenever the size of the widget carrying the video signal
+@@ -136,7 +136,7 @@
+ * @param width the new width of the widget.
+ * @param height the new height of the widget.
+ */
+- boost::signal2<void, unsigned, unsigned> size_changed;
++ boost::signals2::signal<void(unsigned, unsigned)> size_changed;
+
+ protected:
+ virtual void get_display_info (DisplayInfo &) { };
+--- ekiga-4.0.1/plugins/avahi/avahi-cluster.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/avahi/avahi-cluster.h.boost-signals2 2019-05-16 21:10:04.107766569 +0200
+@@ -53,7 +53,7 @@
+ class Cluster:
+ public Ekiga::Service,
+ public Ekiga::ClusterImpl<Heap>,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+--- ekiga-4.0.1/plugins/avahi/avahi-heap.h 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/plugins/avahi/avahi-heap.h.boost-signals2 2019-05-16 21:10:12.088786207 +0200
+@@ -60,7 +60,7 @@
+ class Heap:
+ public Ekiga::PresenceFetcher,
+ public Ekiga::HeapImpl<Ekiga::URIPresentity>,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+--- ekiga-4.0.1/plugins/ldap/ldap-book.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/ldap/ldap-book.h.boost-signals2 2019-05-16 21:10:28.275826062 +0200
+@@ -124,7 +124,7 @@
+
+ xmlNodePtr get_node ();
+
+- boost::signal0<void> trigger_saving;
++ boost::signals2::signal<void(void)> trigger_saving;
+
+ bool is_ekiga_net_book () const;
+
+--- ekiga-4.0.1/plugins/libnotify/libnotify-main.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/plugins/libnotify/libnotify-main.cpp.boost-signals2 2019-05-16 21:10:54.060889621 +0200
+@@ -51,7 +51,7 @@
+
+ class LibNotify:
+ public Ekiga::Service,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+@@ -77,7 +77,7 @@
+ boost::shared_ptr<Ekiga::Call> call);
+ void on_call_notification_closed (gpointer self);
+
+- typedef std::map<boost::shared_ptr<Ekiga::Notification>, std::pair<boost::signals::connection, boost::shared_ptr<NotifyNotification> > > container_type;
++ typedef std::map<boost::shared_ptr<Ekiga::Notification>, std::pair<boost::signals2::connection, boost::shared_ptr<NotifyNotification> > > container_type;
+ container_type live;
+ };
+
+@@ -234,10 +234,10 @@
+ notify_action_cb, notification.get (), NULL);
+
+ g_signal_connect (notif, "closed", G_CALLBACK (on_notif_closed), notification.get ());
+- boost::signals::connection conn = notification->removed.connect (boost::bind (&LibNotify::on_notification_removed,
++ boost::signals2::connection conn = notification->removed.connect (boost::bind (&LibNotify::on_notification_removed,
+ this, notification));
+
+- live[notification] = std::pair<boost::signals::connection, boost::shared_ptr<NotifyNotification> > (conn, boost::shared_ptr<NotifyNotification> (notif, g_object_unref));
++ live[notification] = std::pair<boost::signals2::connection, boost::shared_ptr<NotifyNotification> > (conn, boost::shared_ptr<NotifyNotification> (notif, g_object_unref));
+
+ notify_notification_show (notif, NULL);
+ }
+--- ekiga-4.0.1/plugins/loudmouth/loudmouth-account.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/loudmouth/loudmouth-account.h.boost-signals2 2019-05-16 21:11:10.299929695 +0200
+@@ -70,7 +70,7 @@
+
+ xmlNodePtr get_node () const;
+
+- boost::signal0<void> trigger_saving;
++ boost::signals2::signal<void(void)> trigger_saving;
+
+ const std::string get_name () const;
+
+--- ekiga-4.0.1/plugins/loudmouth/loudmouth-heap-roster.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/loudmouth/loudmouth-heap-roster.h.boost-signals2 2019-05-16 21:11:24.771965439 +0200
+@@ -46,7 +46,7 @@
+ class HeapRoster:
+ public Ekiga::HeapImpl<Presentity>,
+ public LM::Handler,
+- public boost::signals::trackable
++ public boost::signals2::trackable
+ {
+ public:
+
+--- ekiga-4.0.1/plugins/loudmouth/loudmouth-helpers.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/loudmouth/loudmouth-helpers.h.boost-signals2 2019-05-16 21:11:41.572006967 +0200
+@@ -37,7 +37,7 @@
+ #define __LOUDMOUTH_HELPERS_H__
+
+ #include <boost/smart_ptr.hpp>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ #include <loudmouth/loudmouth.h>
+
+--- ekiga-4.0.1/plugins/loudmouth/loudmouth-presentity.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/loudmouth/loudmouth-presentity.h.boost-signals2 2019-05-16 21:11:53.612036752 +0200
+@@ -78,7 +78,7 @@
+
+ bool has_chat;
+
+- boost::signal0<void> chat_requested;
++ boost::signals2::signal<void(void)> chat_requested;
+
+ private:
+ LmConnection* connection;
+--- ekiga-4.0.1/plugins/resource-list/rl-heap.cpp 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/resource-list/rl-heap.cpp.boost-signals2 2019-05-16 21:12:26.773118885 +0200
+@@ -185,7 +185,7 @@
+ {
+ bool go_on = true;
+
+- for (std::map<PresentityPtr,std::list<boost::signals::connection> >::const_iterator
++ for (std::map<PresentityPtr,std::list<boost::signals2::connection> >::const_iterator
+ iter = presentities.begin ();
+ go_on && iter != presentities.end ();
+ ++iter)
+@@ -254,7 +254,7 @@
+ while ( !presentities.empty ()) {
+
+ presentities.begin()->first->removed ();
+- for (std::list<boost::signals::connection>::const_iterator iter2
++ for (std::list<boost::signals2::connection>::const_iterator iter2
+ = presentities.begin()->second.begin ();
+ iter2 != presentities.begin()->second.end ();
+ ++iter2)
+@@ -366,7 +366,7 @@
+ && xmlStrEqual (BAD_CAST ("entry"), child->name)) {
+
+ PresentityPtr presentity(new Presentity (services, path, doc, child, writable));
+- std::list<boost::signals::connection> conns;
++ std::list<boost::signals2::connection> conns;
+ conns.push_back (presentity->updated.connect (boost::bind (boost::ref (presentity_updated), presentity)));
+ conns.push_back (presentity->removed.connect (boost::bind(boost::ref (presentity_removed),presentity)));
+ conns.push_back (presentity->trigger_reload.connect (boost::bind (&RL::Heap::refresh, this)));
+@@ -381,7 +381,7 @@
+ RL::Heap::push_presence (const std::string uri_,
+ const std::string presence)
+ {
+- for (std::map<PresentityPtr,std::list<boost::signals::connection> >::const_iterator
++ for (std::map<PresentityPtr,std::list<boost::signals2::connection> >::const_iterator
+ iter = presentities.begin ();
+ iter != presentities.end ();
+ ++iter) {
+@@ -395,7 +395,7 @@
+ RL::Heap::push_status (const std::string uri_,
+ const std::string status)
+ {
+- for (std::map<PresentityPtr,std::list<boost::signals::connection> >::const_iterator
++ for (std::map<PresentityPtr,std::list<boost::signals2::connection> >::const_iterator
+ iter = presentities.begin ();
+ iter != presentities.end ();
+ ++iter) {
+@@ -514,7 +514,7 @@
+ "contact on a remote server"));
+
+ std::set<std::string> all_groups;
+- for (std::map<PresentityPtr,std::list<boost::signals::connection> >::const_iterator
++ for (std::map<PresentityPtr,std::list<boost::signals2::connection> >::const_iterator
+ iter = presentities.begin ();
+ iter != presentities.end ();
+ ++iter) {
+--- ekiga-4.0.1/plugins/resource-list/rl-heap.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/resource-list/rl-heap.h.boost-signals2 2019-05-16 21:12:47.397170040 +0200
+@@ -90,7 +90,7 @@
+ void push_status (const std::string uri,
+ const std::string status);
+
+- boost::signal0<void> trigger_saving;
++ boost::signals2::signal<void(void)> trigger_saving;
+
+ private:
+
+@@ -106,7 +106,7 @@
+ boost::shared_ptr<xmlDoc> doc;
+ xmlNodePtr list_node;
+
+- std::map<PresentityPtr, std::list<boost::signals::connection> > presentities;
++ std::map<PresentityPtr, std::list<boost::signals2::connection> > presentities;
+
+ void refresh ();
+
+--- ekiga-4.0.1/plugins/resource-list/rl-list.cpp 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/resource-list/rl-list.cpp.boost-signals2 2019-05-16 21:13:38.853297909 +0200
+@@ -94,9 +94,9 @@
+
+ void publish () const;
+
+- boost::signal1<void, boost::shared_ptr<Entry> > entry_added;
+- boost::signal1<void, boost::shared_ptr<Entry> > entry_updated;
+- boost::signal1<void, boost::shared_ptr<Entry> > entry_removed;
++ boost::signals2::signal<void(boost::shared_ptr<Entry>)> entry_added;
++ boost::signals2::signal<void(boost::shared_ptr<Entry>)> entry_updated;
++ boost::signals2::signal<void(boost::shared_ptr<Entry>)> entry_removed;
+
+
+ /* data for its children */
+@@ -104,7 +104,7 @@
+
+ std::list<ChildType> ordering;
+ std::list<boost::shared_ptr<List> > lists;
+- std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > > entries;
++ std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > > entries;
+ };
+
+
+@@ -235,12 +235,12 @@
+ (*iter)->flush ();
+ lists.clear ();
+
+- for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > >::iterator iter = entries.begin ();
++ for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > >::iterator iter = entries.begin ();
+ iter != entries.end ();
+ ++iter) {
+
+ iter->first->removed ();
+- for (std::list<boost::signals::connection>::iterator conn_iter
++ for (std::list<boost::signals2::connection>::iterator conn_iter
+ = iter->second.begin ();
+ conn_iter != iter->second.end ();
+ ++conn_iter)
+@@ -342,10 +342,10 @@
+ entry_pos,
+ display_name,
+ doc, child));
+- std::list<boost::signals::connection> conns;
++ std::list<boost::signals2::connection> conns;
+ conns.push_back (entry->updated.connect (boost::bind (boost::ref (entry_updated), entry)));
+ conns.push_back (entry->removed.connect (boost::bind (boost::ref (entry_removed), entry)));
+- entries.push_back (std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > (entry, conns));
++ entries.push_back (std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > (entry, conns));
+ ordering.push_back (ENTRY);
+ entry_pos++;
+ entry_added (entry);
+@@ -363,7 +363,7 @@
+ ++iter)
+ (*iter)->push_presence (uri_, presence);
+
+- for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > >::const_iterator iter = entries.begin ();
++ for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > >::const_iterator iter = entries.begin ();
+ iter != entries.end ();
+ ++iter) {
+
+@@ -381,7 +381,7 @@
+ ++iter)
+ (*iter)->push_status (uri_, status);
+
+- for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > >::const_iterator iter = entries.begin ();
++ for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > >::const_iterator iter = entries.begin ();
+ iter != entries.end ();
+ ++iter) {
+
+@@ -400,7 +400,7 @@
+ ++iter)
+ go_on = (*iter)->visit_presentities (visitor);
+
+- for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > >::const_iterator iter = entries.begin ();
++ for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > >::const_iterator iter = entries.begin ();
+ go_on && iter != entries.end ();
+ ++iter) {
+
+@@ -418,7 +418,7 @@
+ ++iter)
+ (*iter)->publish ();
+
+- for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals::connection> > >::const_iterator iter = entries.begin ();
++ for (std::list<std::pair<boost::shared_ptr<Entry>, std::list<boost::signals2::connection> > >::const_iterator iter = entries.begin ();
+ iter != entries.end ();
+ ++iter) {
+
+--- ekiga-4.0.1/plugins/resource-list/rl-list.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/resource-list/rl-list.h.boost-signals2 2019-05-16 21:14:05.516364301 +0200
+@@ -74,9 +74,9 @@
+
+ void publish () const;
+
+- boost::signal1<void, boost::shared_ptr<Entry> > entry_added;
+- boost::signal1<void, boost::shared_ptr<Entry> > entry_updated;
+- boost::signal1<void, boost::shared_ptr<Entry> > entry_removed;
++ boost::signals2::signal<void(boost::shared_ptr<Entry>)> entry_added;
++ boost::signals2::signal<void(boost::shared_ptr<Entry>)> entry_updated;
++ boost::signals2::signal<void(boost::shared_ptr<Entry>)> entry_removed;
+
+ /* this method orders the list to get rid of all its children */
+ void flush ();
+--- ekiga-4.0.1/plugins/resource-list/rl-presentity.h 2012-11-07 21:43:51.000000000 +0100
++++ ekiga-4.0.1/plugins/resource-list/rl-presentity.h.boost-signals2 2019-05-16 21:14:16.140390781 +0200
+@@ -79,7 +79,7 @@
+
+ bool populate_menu (Ekiga::MenuBuilder &);
+
+- boost::signal0<void> trigger_reload;
++ boost::signals2::signal<void(void)> trigger_reload;
+
+ private:
+
+--- ekiga-4.0.1/src/gui/assistant.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/src/gui/assistant.cpp.boost-signals2 2019-05-16 21:27:53.400468197 +0200
+@@ -95,7 +95,7 @@
+ gint last_active_page;
+
+ GtkListStore *summary_model;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ };
+
+ /* presenting the network connection type to the user */
+@@ -1679,7 +1679,7 @@
+ g_signal_connect (assistant, "key-press-event",
+ G_CALLBACK (ekiga_assistant_key_press_cb), NULL);
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+ assistant->priv->videoinput_core = service_core.get<Ekiga::VideoInputCore> ("videoinput-core");
+ assistant->priv->audioinput_core = service_core.get<Ekiga::AudioInputCore> ("audioinput-core");
+ assistant->priv->audiooutput_core = service_core.get<Ekiga::AudioOutputCore> ("audiooutput-core");
+--- ekiga-4.0.1/src/gui/main_window.cpp 2013-02-18 22:36:51.000000000 +0100
++++ ekiga-4.0.1/src/gui/main_window.cpp.boost-signals2 2019-05-16 21:27:43.064441457 +0200
+@@ -129,7 +129,7 @@
+ unsigned calling_state;
+
+ gulong roster_selection_connection_id;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+ };
+
+ /* properties */
+@@ -1706,7 +1706,7 @@
+ static void
+ ekiga_main_window_connect_engine_signals (EkigaMainWindow *mw)
+ {
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+
+ g_return_if_fail (EKIGA_IS_MAIN_WINDOW (mw));
+
+--- ekiga-4.0.1/src/gui/statusmenu.cpp 2013-02-18 22:37:04.000000000 +0100
++++ ekiga-4.0.1/src/gui/statusmenu.cpp.boost-signals2 2019-05-16 21:27:34.032418100 +0200
+@@ -51,7 +51,7 @@
+ struct _StatusMenuPrivate
+ {
+ boost::shared_ptr<Ekiga::PersonalDetails> personal_details;
+- std::vector<boost::signals::connection> connections;
++ std::vector<boost::signals2::connection> connections;
+
+ GtkListStore *list_store; // List store storing the menu
+ GtkWindow *parent; // Parent window
+@@ -796,7 +796,7 @@
+ {
+ StatusMenu *self = NULL;
+
+- boost::signals::connection conn;
++ boost::signals2::connection conn;
+ GtkCellRenderer *renderer = NULL;
+ GSList *custom_status_array [NUM_STATUS_TYPES];
+
diff --git a/network/ekiga/ekiga-4.0.1-libresolv.patch b/network/ekiga/ekiga-4.0.1-libresolv.patch
new file mode 100644
index 0000000000..7754eeb185
--- /dev/null
+++ b/network/ekiga/ekiga-4.0.1-libresolv.patch
@@ -0,0 +1,13 @@
+diff -up ekiga-4.0.1/configure.ac.libresolv ekiga-4.0.1/configure.ac
+--- ekiga-4.0.1/configure.ac.libresolv 2017-02-23 02:30:42.051227852 -0600
++++ ekiga-4.0.1/configure.ac 2017-02-23 02:32:04.609519837 -0600
+@@ -324,7 +324,8 @@ if test "x$enable_ldap" = "xyes"; then
+
+ dnl Checking for libresolv
+ if test ${gm_platform} = "linux" ; then
+- AC_CHECK_LIB(resolv, res_gethostbyaddr, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([You need the libresolv library to compile Ekiga]), -lresolv)
++ # AC_CHECK_LIB(resolv, res_gethostbyaddr, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([You need the libresolv library to compile Ekiga]), -lresolv)
++ AC_WARNING([Just adding libresolv to LDAP_LIBS, without checking anything])
+ LDAP_LIBS="${LDAP_LIBS} -lresolv"
+ fi
+ found_ldap="yes"
diff --git a/network/ekiga/ekiga.SlackBuild b/network/ekiga/ekiga.SlackBuild
index c56634c92e..74fbe5be3b 100644
--- a/network/ekiga/ekiga.SlackBuild
+++ b/network/ekiga/ekiga.SlackBuild
@@ -107,10 +107,12 @@ 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/ekiga-4.0.1-libresolv.patch
+patch -p1 < $CWD/ekiga-4.0.1-boost-signals2.patch
# Fix for -current (20150722 dbs)
sed -e 's/gnome-icon-theme/adwaita-icon-theme/g' -i configure.ac
-autoconf
+autoreconf -vif
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/network/emacs-w3m/emacs-w3m.SlackBuild b/network/emacs-w3m/emacs-w3m.SlackBuild
index 622024e9ed..baca2f789c 100644
--- a/network/emacs-w3m/emacs-w3m.SlackBuild
+++ b/network/emacs-w3m/emacs-w3m.SlackBuild
@@ -5,7 +5,7 @@
# Written by Felix Pfeifer (pfeifer[dot]felix[at]googlemail[dot]com
PRGNAM=emacs-w3m
-VERSION=${VERSION:-cvs_1.4.400_0.20100725}
+VERSION=${VERSION:-cvs_1.4.569_0.20170110}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -41,9 +41,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM
-tar xvf $CWD/w3m-el-snapshot_1.4.400+0.20100725.orig.tar.gz
-cd $PRGNAM
+rm -rf w3m-el-snapshot-1.4.569+0.20170110.orig
+tar xvf $CWD/w3m-el-snapshot_1.4.569+0.20170110.orig.tar.gz
+cd w3m-el-snapshot-1.4.569+0.20170110.orig
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/network/emacs-w3m/emacs-w3m.info b/network/emacs-w3m/emacs-w3m.info
index 92b7823263..10349a11bc 100644
--- a/network/emacs-w3m/emacs-w3m.info
+++ b/network/emacs-w3m/emacs-w3m.info
@@ -1,8 +1,8 @@
PRGNAM="emacs-w3m"
-VERSION="cvs_1.4.400_0.20100725"
+VERSION="cvs_1.4.569_0.20170110"
HOMEPAGE="http://emacs-w3m.namazu.org/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/w3m-el-snapshot_1.4.400+0.20100725.orig.tar.gz"
-MD5SUM="0c5da2a83ea6502bcf7b589b8c4daed8"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/w3m-el-snapshot_1.4.569+0.20170110.orig.tar.gz"
+MD5SUM="f8bb143de0b009038d6fc73295af40c7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="w3m"
diff --git a/network/falkon/falkon.SlackBuild b/network/falkon/falkon.SlackBuild
index df6df2e5ae..8d85775f74 100644
--- a/network/falkon/falkon.SlackBuild
+++ b/network/falkon/falkon.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for falkon
-# Copyright 2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2018,2019 Matteo Bernardini <ponce@slackbuilds.org>, 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=falkon
-VERSION=${VERSION:-3.0.1}
+VERSION=${VERSION:-3.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/network/falkon/falkon.info b/network/falkon/falkon.info
index 39afba46f1..08489ab024 100644
--- a/network/falkon/falkon.info
+++ b/network/falkon/falkon.info
@@ -1,8 +1,8 @@
PRGNAM="falkon"
-VERSION="3.0.1"
+VERSION="3.1.0"
HOMEPAGE="https://www.falkon.org"
-DOWNLOAD="https://download.kde.org/stable/falkon/3.0.1/falkon-3.0.1.tar.xz"
-MD5SUM="c6fb6433ac0f228667e2f763c02317c5"
+DOWNLOAD="https://download.kde.org/stable/falkon/3.1/falkon-3.1.0.tar.xz"
+MD5SUM="9255fb335d3ba361dea44b7b297ddf7d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="extra-cmake-modules qt5"
diff --git a/network/fcgiwrap/fcgiwrap.SlackBuild b/network/fcgiwrap/fcgiwrap.SlackBuild
index 9d64052b68..b5e6f5b0a2 100644
--- a/network/fcgiwrap/fcgiwrap.SlackBuild
+++ b/network/fcgiwrap/fcgiwrap.SlackBuild
@@ -70,7 +70,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
autoreconf -i
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=implicit-fallthrough=" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/network/fqterm/fqterm.SlackBuild b/network/fqterm/fqterm.SlackBuild
index b90004e147..1af9f50ecf 100644
--- a/network/fqterm/fqterm.SlackBuild
+++ b/network/fqterm/fqterm.SlackBuild
@@ -5,14 +5,13 @@
# Written by vvoody <vvoodywang@gmail.com>
PRGNAM=fqterm
-VERSION=${VERSION:-0.9.8.2}
-SVNVER=svn1076
+VERSION=${VERSION:-0.9.8.4}
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
@@ -23,18 +22,14 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
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
@@ -42,15 +37,15 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM
-tar xvf $CWD/$PRGNAM-$VERSION-$SVNVER.tar.gz
-cd $PRGNAM
+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 {} \;
+ \( -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 build
cd build
@@ -58,17 +53,16 @@ cd build
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX:PATH="/usr" \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
..
make
make install DESTDIR=$PKG
cd -
-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
-cp -a LICENSE INSTALL.txt README.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE INSTALL.txt README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/network/fqterm/fqterm.info b/network/fqterm/fqterm.info
index 787760d96c..c948f08484 100644
--- a/network/fqterm/fqterm.info
+++ b/network/fqterm/fqterm.info
@@ -1,8 +1,8 @@
PRGNAM="fqterm"
-VERSION="0.9.8.2"
+VERSION="0.9.8.4"
HOMEPAGE="https://github.com/mytbk/fqterm"
-DOWNLOAD="http://ftp1.fr.freebsd.org/pub/frugalware/frugalware-stable/source/xlib-extra/fqterm/fqterm-0.9.8.2-svn1076.tar.gz"
-MD5SUM="eaf7b51c1e3e0f13351f9f5678996d51"
+DOWNLOAD="https://github.com/mytbk/fqterm/archive/0.9.8.4/fqterm-0.9.8.4.tar.gz"
+MD5SUM="d7d9500806055def62456550fe33173e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/httrack/httrack.SlackBuild b/network/httrack/httrack.SlackBuild
index d5976ddd12..bfdbec4b74 100644
--- a/network/httrack/httrack.SlackBuild
+++ b/network/httrack/httrack.SlackBuild
@@ -9,7 +9,7 @@
# without any warranty.
PRGNAM=httrack
-VERSION=${VERSION:-3.47.21}
+VERSION=${VERSION:-3.49.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/network/httrack/httrack.info b/network/httrack/httrack.info
index 597ebcc033..07b38b7399 100644
--- a/network/httrack/httrack.info
+++ b/network/httrack/httrack.info
@@ -1,8 +1,8 @@
PRGNAM="httrack"
-VERSION="3.47.21"
+VERSION="3.49.2"
HOMEPAGE="http://www.httrack.com"
-DOWNLOAD="http://mirror.httrack.com/historical/httrack-3.47.21.tar.gz"
-MD5SUM="2296de7b3b0be24758d4bbea8c0ebb20"
+DOWNLOAD="http://mirror.httrack.com/historical/httrack-3.49.2.tar.gz"
+MD5SUM="1fd1ab9953432f0474a66b67a71d6381"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/hylafax/gcc.patch b/network/hylafax/gcc.patch
new file mode 100644
index 0000000000..ed9817abfe
--- /dev/null
+++ b/network/hylafax/gcc.patch
@@ -0,0 +1,12 @@
+diff -Naur hylafax-6.0.6.orig/libhylafax/FaxRecvInfo.c++ hylafax-6.0.6/libhylafax/FaxRecvInfo.c++
+--- hylafax-6.0.6.orig/libhylafax/FaxRecvInfo.c++ 2012-06-06 02:58:38.000000000 +0200
++++ hylafax-6.0.6/libhylafax/FaxRecvInfo.c++ 2017-06-03 19:51:39.491707130 +0200
+@@ -112,7 +112,7 @@
+ if (cp == NULL || cp[1] != ',' || cp[2] != '"')
+ return (false);
+ u_int i = 0;
+- while (cp+2 != '\0') {
++ while (*(cp+2) != '\0') {
+ callid[i] = cp+3; // +1 for "/+1 for ,/+1 for "
+ if (*cp == '\"') break;
+ callid[i].resize(callid[i].next(0,'"'));
diff --git a/network/hylafax/hylafax.SlackBuild b/network/hylafax/hylafax.SlackBuild
index f2663427e6..e4abfd8ba7 100644
--- a/network/hylafax/hylafax.SlackBuild
+++ b/network/hylafax/hylafax.SlackBuild
@@ -73,6 +73,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+patch -p1 < $CWD/gcc.patch
+
# Copy our source for the correct configuration
sed "s|@LIBDIRSUFFIX@|${LIBDIRSUFFIX}|g" \
< $CWD/config.local.in \
diff --git a/network/ifstatus/README b/network/ifstatus/README
deleted file mode 100644
index 9dead8790d..0000000000
--- a/network/ifstatus/README
+++ /dev/null
@@ -1,10 +0,0 @@
-IFStatus was developed for Linux users that are usually in console mode.
-It is a simple, easy to use program for displaying commonly needed / wanted
-statistcs in real time about ingoing and outgoing traffic of multiple network
-interfaces that is usually hard to find, with a simple and effecient view.
-
-The configuration file for IFStatus is automatically created in
-~/.ifstatus/ifstatus.cfg
-
-Please read http://ifstatus.sourceforge.net/graphic/informations.html
-for information on various configuration options.
diff --git a/network/ifstatus/ifstatus.SlackBuild b/network/ifstatus/ifstatus.SlackBuild
deleted file mode 100644
index 135ee6b9e8..0000000000
--- a/network/ifstatus/ifstatus.SlackBuild
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for cgdb
-
-# Copyright 2009-2010 Sean Donner (sean.donner@gmail.com)
-# 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=ifstatus
-VERSION=${VERSION:-1.1.0}
-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
-
-# 'v' needed due to poor tarball naming
-tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz
-
-cd $PRGNAM
-chown root:root . -R
-
-# This will not compile on gcc 4.3 or 4.4 without patch,
-# as all .cc files are missing '#include <cstdlib>'
-patch -p1 < $CWD/ifstatus.patch
-
-make \
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS"
-
-# We can't use the 'install' target in the Makefile as it
-# hardcodes the destination directory to /usr/local/bin
-install -D -m 0755 ./ifstatus $PKG/usr/bin/ifstatus
-strip --strip-unneeded $PKG/usr/bin/ifstatus
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS COPYING 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/network/ifstatus/ifstatus.info b/network/ifstatus/ifstatus.info
deleted file mode 100644
index f4021d55cc..0000000000
--- a/network/ifstatus/ifstatus.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="ifstatus"
-VERSION="1.1.0"
-HOMEPAGE="http://ifstatus.sourceforge.net"
-DOWNLOAD="http://ifstatus.sourceforge.net/download/ifstatus-v1.1.0.tar.gz"
-MD5SUM="f4d413f880754fd6677290160f8bc5d7"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Sean Donner"
-EMAIL="sean.donner@gmail.com"
diff --git a/network/ifstatus/ifstatus.patch b/network/ifstatus/ifstatus.patch
deleted file mode 100644
index 75bc3befd5..0000000000
--- a/network/ifstatus/ifstatus.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Patch by Robert Scheck <robert@fedoraproject.org> for ifstatus >= 1.1.0,
-which adds a few missing #include lines to not violate the C++ standards
-and to build successfully with G++ version 4.3 and 4.4.
-
---- ifstatus/IFStatus.cc 2006-01-17 00:18:46.000000000 +0100
-+++ ifstatus/IFStatus.cc.gcc44 2009-04-14 00:42:04.000000000 +0200
-@@ -22,6 +22,7 @@
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-+#include <cstdlib>
- #include "Main.h"
- #include "IFStatus.h"
- #include "Graph.h"
---- ifstatus/GraphDecorator.cc 2006-01-17 01:00:59.000000000 +0100
-+++ ifstatus/GraphDecorator.cc.gcc44 2009-04-14 00:41:38.000000000 +0200
-@@ -21,7 +21,8 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
--
-+
-+#include <cstdlib>
- #include "GraphDecorator.h"
- #include "Config.h"
-
---- ifstatus/Interface.cc 2006-01-17 02:48:27.000000000 +0100
-+++ ifstatus/Interface.cc.gcc44 2009-04-14 00:42:23.000000000 +0200
-@@ -22,6 +22,7 @@
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-+#include <cstdlib>
- #include "Interface.h"
- #include "Config.h"
-
---- ifstatus/Config.cc 2005-02-26 12:54:51.000000000 +0100
-+++ ifstatus/Config.cc.gcc44 2009-04-14 00:40:13.000000000 +0200
-@@ -22,6 +22,7 @@
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-+#include <cstdlib>
- #include "Main.h"
- #include "Config.h"
- #include "Util.h"
---- ifstatus/Email.cc 2005-02-26 12:54:51.000000000 +0100
-+++ ifstatus/Email.cc.gcc44 2009-04-14 00:40:44.000000000 +0200
-@@ -22,6 +22,7 @@
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-+#include <cstdlib>
- #include "Email.h"
- #include "Config.h"
-
---- ifstatus/Interfaces.cc 2006-01-16 23:45:33.000000000 +0100
-+++ ifstatus/Interfaces.cc.gcc44 2009-04-14 00:42:45.000000000 +0200
-@@ -22,6 +22,7 @@
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-+#include <cstdlib>
- #include "Interfaces.h"
- #include "Config.h"
- #include "Util.h"
diff --git a/network/ifstatus/slack-desc b/network/ifstatus/slack-desc
deleted file mode 100644
index a0f087dfc8..0000000000
--- a/network/ifstatus/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------------------------------------------------------|
-ifstatus: ifstatus (A curses network traffic monitor)
-ifstatus:
-ifstatus: IFStatus was developed for Linux users that are usually in console
-ifstatus: mode. It is a simple, easy to use program for displaying commonly
-ifstatus: needed / wanted statistcs in real time about ingoing and outgoing
-ifstatus: traffic of multiple network interfaces that is usually hard to find,
-ifstatus: with a simple and effecient view.
-ifstatus:
-ifstatus:
-ifstatus:
-ifstatus:
diff --git a/network/iperf/iperf.SlackBuild b/network/iperf/iperf.SlackBuild
index f8c40ab1e8..d4c970ca8b 100644
--- a/network/iperf/iperf.SlackBuild
+++ b/network/iperf/iperf.SlackBuild
@@ -8,13 +8,13 @@
# http://www.slackwiki.org/Writing_A_SlackBuild_Script
PRGNAM=iperf
-VERSION=${VERSION:-2.0.5}
+VERSION=${VERSION:-2.0.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
@@ -25,8 +25,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"
@@ -49,10 +49,15 @@ 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 {} \;
+ \( -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 {} \;
+
+# Thanks fedora for these
+for i in $CWD/patches/* ; do patch -p1 < $i ; done
+
+autoreconf -fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -68,13 +73,11 @@ CXXFLAGS="$SLKCFLAGS" \
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
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+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 AUTHORS ChangeLog COPYING INSTALL README doc/index.html $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/network/iperf/iperf.info b/network/iperf/iperf.info
index fbb6e24fa4..730b096a3b 100644
--- a/network/iperf/iperf.info
+++ b/network/iperf/iperf.info
@@ -1,8 +1,8 @@
PRGNAM="iperf"
-VERSION="2.0.5"
+VERSION="2.0.8"
HOMEPAGE="https://sourceforge.net/projects/iperf/"
-DOWNLOAD="https://downloads.sourceforge.net/iperf/iperf-2.0.5.tar.gz"
-MD5SUM="44b5536b67719f4250faed632a3cd016"
+DOWNLOAD="https://downloads.sourceforge.net/iperf2/iperf-2.0.8.tar.gz"
+MD5SUM="e5887f799d8dc64a974c6c2f2e5cc339"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/iperf/patches/0_iperf-2.0.8-debuginfo.patch b/network/iperf/patches/0_iperf-2.0.8-debuginfo.patch
new file mode 100644
index 0000000000..2a3ad246ee
--- /dev/null
+++ b/network/iperf/patches/0_iperf-2.0.8-debuginfo.patch
@@ -0,0 +1,17 @@
+diff -NarpU5 iperf-2.0.8/configure.ac iperf-2.0.8.debuginfo/configure.ac
+--- iperf-2.0.8/configure.ac 2015-04-02 16:51:48.000000000 -0400
++++ iperf-2.0.8.debuginfo/configure.ac 2015-04-10 10:11:33.287445003 -0400
+@@ -42,13 +42,11 @@ AC_ARG_ENABLE(kalman, AC_HELP_STRING([--
+ dnl ===================================================================
+ dnl Checks for programs
+ dnl ===================================================================
+
+ AC_PROG_CXX
+-CXXFLAGS=`echo " $CXXFLAGS " | sed -e "s/ -g / /"` # do not want it implicitly
+ AC_PROG_CC
+-CFLAGS=`echo " $CFLAGS " | sed -e "s/ -g / /"` # do not want it implicitly
+ AC_ISC_POSIX
+ AC_PROG_INSTALL
+ AC_PROG_MAKE_SET
+ AC_PROG_RANLIB
+ AC_LANG(C)
diff --git a/network/iperf/patches/1_iperf-2.0.8-bindfail.patch b/network/iperf/patches/1_iperf-2.0.8-bindfail.patch
new file mode 100644
index 0000000000..b18b2cffed
--- /dev/null
+++ b/network/iperf/patches/1_iperf-2.0.8-bindfail.patch
@@ -0,0 +1,42 @@
+diff -NarpU5 iperf-2.0.8/src/Client.cpp iperf-2.0.8.bindfail/src/Client.cpp
+--- iperf-2.0.8/src/Client.cpp 2015-04-02 16:51:48.000000000 -0400
++++ iperf-2.0.8.bindfail/src/Client.cpp 2015-04-10 10:05:38.279936555 -0400
+@@ -701,20 +701,20 @@ void Client::Connect( ) {
+ AF_INET
+ #endif
+ : AF_INET);
+
+ mSettings->mSock = socket( domain, type, 0 );
+- WARN_errno( mSettings->mSock == INVALID_SOCKET, "socket" );
++ FAIL_errno( mSettings->mSock == INVALID_SOCKET, "socket", mSettings );
+
+ SetSocketOptions( mSettings );
+
+ SockAddr_localAddr( mSettings );
+ if ( mSettings->mLocalhost != NULL ) {
+ // bind socket to local address
+ rc = bind( mSettings->mSock, (sockaddr*) &mSettings->local,
+ SockAddr_get_sizeof_sockaddr( &mSettings->local ) );
+- WARN_errno( rc == SOCKET_ERROR, "bind" );
++ FAIL_errno( rc == SOCKET_ERROR, "bind", mSettings );
+ }
+ // connect socket
+ rc = connect( mSettings->mSock, (sockaddr*) &mSettings->peer,
+ SockAddr_get_sizeof_sockaddr( &mSettings->peer ));
+ FAIL_errno( rc == SOCKET_ERROR, "connect", mSettings );
+diff -NarpU5 iperf-2.0.8/src/Listener.cpp iperf-2.0.8.bindfail/src/Listener.cpp
+--- iperf-2.0.8/src/Listener.cpp 2015-04-02 16:51:48.000000000 -0400
++++ iperf-2.0.8.bindfail/src/Listener.cpp 2015-04-10 10:06:23.279699885 -0400
+@@ -342,11 +342,11 @@ void Listener::Listen( ) {
+ WARN_errno( rc == SOCKET_ERROR, "WSAJoinLeaf (aka bind)" );
+ } else
+ #endif
+ {
+ rc = bind( mSettings->mSock, (sockaddr*) &mSettings->local, mSettings->size_local );
+- WARN_errno( rc == SOCKET_ERROR, "bind" );
++ FAIL_errno( rc == SOCKET_ERROR, "bind", mSettings );
+ }
+ // listen for connections (TCP only).
+ // default backlog traditionally 5
+ if ( !isUDP( mSettings ) ) {
+ rc = listen( mSettings->mSock, 5 );
diff --git a/network/iperf/patches/2_iperf-2.0.8-math.patch b/network/iperf/patches/2_iperf-2.0.8-math.patch
new file mode 100644
index 0000000000..1a943f5f2c
--- /dev/null
+++ b/network/iperf/patches/2_iperf-2.0.8-math.patch
@@ -0,0 +1,75 @@
+diff -NarU5 a/include/headers.h b/include/headers.h
+--- a/include/headers.h 2015-04-02 16:51:48.000000000 -0400
++++ b/include/headers.h 2016-03-16 14:52:14.386853750 -0400
+@@ -80,11 +80,10 @@
+ #include <assert.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <time.h>
+-#include <math.h>
+ #include <float.h>
+ #include <sys/types.h>
+
+ #ifdef WIN32
+
+diff -NarU5 a/src/Client.cpp b/src/Client.cpp
+--- a/src/Client.cpp 2015-04-02 16:51:48.000000000 -0400
++++ b/src/Client.cpp 2016-03-16 14:52:14.387853701 -0400
+@@ -50,10 +50,11 @@
+ * A client thread initiates a connect to the server and handles
+ * sending and receiving data, then closes the socket.
+ * ------------------------------------------------------------------- */
+
+ #include <time.h>
++#include <cmath>
+ #include "headers.h"
+ #include "Client.hpp"
+ #include "Thread.h"
+ #include "SocketAddr.h"
+ #include "PerfSocket.hpp"
+diff -NarU5 a/src/ReportDefault.c b/src/ReportDefault.c
+--- a/src/ReportDefault.c 2015-04-02 16:51:49.000000000 -0400
++++ b/src/ReportDefault.c 2016-03-16 14:52:14.387853701 -0400
+@@ -47,10 +47,11 @@
+ * ReportDefault.c
+ * by Kevin Gibbs <kgibbs@nlanr.net>
+ *
+ * ________________________________________________________________ */
+
++#include <math.h>
+ #include "headers.h"
+ #include "Settings.hpp"
+ #include "util.h"
+ #include "Reporter.h"
+ #include "report_default.h"
+diff -NarU5 a/src/Reporter.c b/src/Reporter.c
+--- a/src/Reporter.c 2015-04-02 16:51:49.000000000 -0400
++++ b/src/Reporter.c 2016-03-16 14:52:14.388853652 -0400
+@@ -47,10 +47,11 @@
+ * Reporter.c
+ * by Kevin Gibbs <kgibbs@nlanr.net>
+ *
+ * ________________________________________________________________ */
+
++#include <math.h>
+ #include "headers.h"
+ #include "Settings.hpp"
+ #include "util.h"
+ #include "Reporter.h"
+ #include "Thread.h"
+diff -NarU5 a/src/Server.cpp b/src/Server.cpp
+--- a/src/Server.cpp 2015-04-02 16:51:49.000000000 -0400
++++ b/src/Server.cpp 2016-03-16 14:52:14.388853652 -0400
+@@ -52,10 +52,11 @@
+ * Handles sending and receiving data, and then closes socket.
+ * Changes to this version : The server can be run as a daemon
+ * ------------------------------------------------------------------- */
+
+ #define HEADERS()
++#include <cmath>
+ #include "headers.h"
+ #include "Server.hpp"
+ #include "List.h"
+ #include "Extractor.h"
+ #include "Reporter.h"
diff --git a/network/jigdo/jigdo-0.7.3-gcc7.patch b/network/jigdo/jigdo-0.7.3-gcc7.patch
new file mode 100644
index 0000000000..d5f0c8a4d0
--- /dev/null
+++ b/network/jigdo/jigdo-0.7.3-gcc7.patch
@@ -0,0 +1,39 @@
+diff -Naur jigdo-0.7.3.orig/src/mkimage.cc jigdo-0.7.3/src/mkimage.cc
+--- jigdo-0.7.3.orig/src/mkimage.cc 2005-07-09 21:14:46.000000000 +0200
++++ jigdo-0.7.3/src/mkimage.cc 2017-02-17 14:47:12.884488507 +0100
+@@ -285,27 +285,27 @@
+ //______________________________________________________________________
+
+ namespace {
+- const int SIZE_WIDTH = 12;
++ const int size_width = 12;
+ }
+
+ ostream& JigdoDesc::ImageInfo::put(ostream& s) const {
+- s << "image-info " << setw(SIZE_WIDTH) << size() << " "
++ s << "image-info " << setw(size_width) << size() << " "
+ << md5() << ' ' << blockLength() << '\n';
+ return s;
+ }
+ ostream& JigdoDesc::UnmatchedData::put(ostream& s) const {
+- s << "in-template " << setw(SIZE_WIDTH) << offset() << ' '
+- << setw(SIZE_WIDTH) << size() << '\n';
++ s << "in-template " << setw(size_width) << offset() << ' '
++ << setw(size_width) << size() << '\n';
+ return s;
+ }
+ ostream& JigdoDesc::MatchedFile::put(ostream& s) const {
+- s << "need-file " << setw(SIZE_WIDTH) << offset() << ' '
+- << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
++ s << "need-file " << setw(size_width) << offset() << ' '
++ << setw(size_width) << size() << ' ' << md5() << ' ' << rsync() << '\n';
+ return s;
+ }
+ ostream& JigdoDesc::WrittenFile::put(ostream& s) const {
+- s << "have-file " << setw(SIZE_WIDTH) << offset() << ' '
+- << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
++ s << "have-file " << setw(size_width) << offset() << ' '
++ << setw(size_width) << size() << ' ' << md5() << ' ' << rsync() << '\n';
+ return s;
+ }
+
diff --git a/network/jigdo/jigdo.SlackBuild b/network/jigdo/jigdo.SlackBuild
index 67e467dde2..ef17522f77 100644
--- a/network/jigdo/jigdo.SlackBuild
+++ b/network/jigdo/jigdo.SlackBuild
@@ -73,6 +73,9 @@ find -L . \
# apply some patches from debian
zcat $CWD/jigdo_0.7.3-3.diff.gz | patch -p1
+# Fic for gcc-7.x, thanks fedora!
+patch -p1 < $CWD/jigdo-0.7.3-gcc7.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/network/kmess/README b/network/kmess/README
deleted file mode 100644
index f04f2e181b..0000000000
--- a/network/kmess/README
+++ /dev/null
@@ -1,5 +0,0 @@
-KMess is an alternative Live Messenger chat client for Linux.
-It allows Linux users to chat with friends who use Live Messenger in
-Windows or Mac OS. The strength of KMess is it's integration with the
-KDE desktop environment, it focus on Messenger-specific features, and
-an easy-to-use interface.
diff --git a/network/kmess/doinst.sh b/network/kmess/doinst.sh
deleted file mode 100644
index 4a25de5e6f..0000000000
--- a/network/kmess/doinst.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
-fi
-
-if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
- if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
- fi
-fi
-
diff --git a/network/kmess/giflib-5.0.patch b/network/kmess/giflib-5.0.patch
deleted file mode 100644
index cc568fdf8a..0000000000
--- a/network/kmess/giflib-5.0.patch
+++ /dev/null
@@ -1,95 +0,0 @@
---- contrib/isf-qt/src/isfqt.cpp.orig 2014-06-11 13:10:43.137321400 +0000
-+++ contrib/isf-qt/src/isfqt.cpp 2014-06-11 13:12:23.123474616 +0000
-@@ -249,7 +249,7 @@
- qWarning() << "Couldn't initialize GIF library!";
- }
-
-- DGifCloseFile( gifImage );
-+ DGifCloseFile( gifImage, NULL );
- gifData.close();
- */
-
-@@ -484,12 +484,13 @@
- int width = isfImage.width();
- int numColors = 0;
- bool gifError = true;
-+ int gifErrCode;
-
- // Convert the image to GIF using libgif
-
- // Open the gif file
- gifData.open( QIODevice::WriteOnly );
-- gifImage = EGifOpen( (void*)&gifData, GifWriteToByteArray );
-+ gifImage = EGifOpen( (void*)&gifData, GifWriteToByteArray, &gifErrCode );
- if( gifImage == 0 )
- {
- qWarning() << "Couldn't initialize gif library!";
-@@ -503,7 +504,7 @@
- numColors = 256;
- }
-
-- cmap = MakeMapObject( numColors, NULL );
-+ cmap = GifMakeMapObject( numColors, NULL );
- if( cmap == 0 && isfImage.numColors() > 1 )
- {
- qWarning() << "Couldn't create map object for gif conversion (colors:" << isfImage.numColors() << ")!";
-@@ -576,7 +577,7 @@
- else
- {
- // Write the extension
-- if( EGifPutExtensionFirst( gifImage, COMMENT_EXT_FUNC_CODE, MAX_GIF_BYTE, isfData.left( MAX_GIF_BYTE ).data() ) == GIF_ERROR )
-+ if( EGifPutExtensionLeader( gifImage, COMMENT_EXT_FUNC_CODE) == GIF_ERROR )
- {
- qWarning() << "EGifPutExtensionFirst failed!";
- goto writeError;
-@@ -590,9 +591,9 @@
- // Write all the full data blocks
- while( length >= MAX_GIF_BYTE )
- {
-- if( EGifPutExtensionNext( gifImage, 0, MAX_GIF_BYTE, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
-+ if( EGifPutExtensionBlock( gifImage, MAX_GIF_BYTE, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
- {
-- qWarning() << "EGifPutExtensionNext failed!";
-+ qWarning() << "EGifPutExtensionBlock failed!";
- goto writeError;
- }
-
-@@ -603,17 +604,17 @@
- // Write the last block
- if( length > 0 )
- {
-- if( EGifPutExtensionLast( gifImage, 0, length, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
-+ if( EGifPutExtensionTrailer( gifImage ) == GIF_ERROR )
- {
-- qWarning() << "EGifPutExtensionLast (n) failed!";
-+ qWarning() << "EGifPutExtensionTrailer (n) failed!";
- goto writeError;
- }
- }
- else
- {
-- if( EGifPutExtensionLast( gifImage, 0, 0, 0 ) == GIF_ERROR )
-+ if( EGifPutExtensionTrailer( gifImage ) == GIF_ERROR )
- {
-- qWarning() << "EGifPutExtensionLast (0) failed!";
-+ qWarning() << "EGifPutExtensionTrailer (0) failed!";
- goto writeError;
- }
- }
-@@ -623,13 +624,13 @@
-
- writeError:
- // Clean up the GIF converter etc
-- EGifCloseFile( gifImage );
-- FreeMapObject( cmap );
-+ EGifCloseFile( gifImage, NULL );
-+ GifFreeMapObject( cmap );
- gifData.close();
-
- if( gifError )
- {
-- qWarning() << "GIF error code:" << GifLastError();
-+ qWarning() << "GIF error code:" << GifErrorString(gifErrCode);
- }
- else
- {
diff --git a/network/kmess/kmess.SlackBuild b/network/kmess/kmess.SlackBuild
deleted file mode 100644
index 27c6a9e73b..0000000000
--- a/network/kmess/kmess.SlackBuild
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for kmess
-
-# Copyright 2008-2009 Tarantino Antonino <metrofox9@gmail.com>
-# 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=kmess
-VERSION=${VERSION:-2.0.6.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="-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
-
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -fr $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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-# Fix for building with new giflib (thanks to Arch)
-patch -p1 contrib/isf-qt/src/isfqt.cpp < $CWD/giflib-5.0.patch
-
-mkdir -p build
-cd build
- cmake \
- -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
-cd ..
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- AUTHORS COPYING ChangeLog FEATURES INSTALL NEWS README TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-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/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/kmess/kmess.info b/network/kmess/kmess.info
deleted file mode 100644
index 51a7e19d01..0000000000
--- a/network/kmess/kmess.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="kmess"
-VERSION="2.0.6.2"
-HOMEPAGE="http://kmess.org/"
-DOWNLOAD="http://downloads.sourceforge.net/kmess/kmess-2.0.6.2.tar.bz2"
-MD5SUM="a2e57911713308bef81b9347135cc5dd"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Tarantino Antonino"
-EMAIL="metrofox9@gmail.com"
diff --git a/network/kmess/slack-desc b/network/kmess/slack-desc
deleted file mode 100644
index 7bced9d9c3..0000000000
--- a/network/kmess/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------------------------------------------------------|
-kmess: kmess (MSN Messenger client)
-kmess:
-kmess: KMess is a MSN Messenger client for Linux. It enables Linux users
-kmess: to chat with friends online who are using MSN Messenger in Windows
-kmess: or Mac OS. The strength of KMess is it's integration with the KDE
-kmess: desktop environment, focus on MSN Messenger specific features and
-kmess: an easy-to-use interface.
-kmess:
-kmess:
-kmess:
-kmess:
diff --git a/network/knock/knock.SlackBuild b/network/knock/knock.SlackBuild
index eeb481a019..bc5a0d98b1 100644
--- a/network/knock/knock.SlackBuild
+++ b/network/knock/knock.SlackBuild
@@ -5,13 +5,13 @@
# Written by Joey Trungale joey@trungale.net
PRGNAM=knock
-VERSION=${VERSION:-0.5}
+VERSION=${VERSION:-0.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
@@ -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,10 +46,10 @@ 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 {} \;
+ \( -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" \
@@ -63,16 +63,14 @@ CXXFLAGS="$SLKCFLAGS" \
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
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+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 ChangeLog TODO $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README.md ChangeLog TODO $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $PKG/etc/knockd.conf > $PKG/usr/doc/$PRGNAM-$VERSION/knockd.conf
mv $PKG/etc/knockd.conf $PKG/etc/knockd.conf.new
diff --git a/network/knock/knock.info b/network/knock/knock.info
index 8274f4fce1..6845299aa4 100644
--- a/network/knock/knock.info
+++ b/network/knock/knock.info
@@ -1,8 +1,8 @@
PRGNAM="knock"
-VERSION="0.5"
+VERSION="0.7"
HOMEPAGE="http://www.zeroflux.org"
-DOWNLOAD="http://www.zeroflux.org/proj/knock/files/knock-0.5.tar.gz"
-MD5SUM="ca09d61458974cff90a700aba6120891"
+DOWNLOAD="http://www.zeroflux.org/proj/knock/files/knock-0.7.tar.gz"
+MD5SUM="cb6373fd4ccb42eeca3ff406b7fdb8a7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/leechcraft/README b/network/leechcraft/README
deleted file mode 100644
index 22782597c3..0000000000
--- a/network/leechcraft/README
+++ /dev/null
@@ -1,26 +0,0 @@
-LeechCraft is a full-featured modular "Internet client" application,
-currently including plugins for a web browser, news feed reader,
-BitTorrent client, FTP client, and many more. Plugins are easily added
-and integrated with each other with no effort.
-
-Currently it includes following plugins:
-* Aggregator, news feed reader * BitTorrent, the BitTorrent client
-* Chatter, the IRC client * CSTP, simple HTTP implementation
-* DBusManager, D-Bus for the LeechCraft * DeadLyrics, LyricWiki.org API
-* HistoryHolder, downloads history * LCFTP, FTP implementation client
-* LMP, simple media player with streaming support
-* NetworkMonitor, which monitors for HTTP requests
-* Poshuku, the web browser * Poshuku CleanWeb, AdBlock+-compatible ad blocker
-* Poshuku FileScheme, support for the file:// browsing
-* Poshuku FUA, which allows to set fake user agents per domain
-* SeekThru, client for OpenSearch-aware web sites
-
-The following variables default to ON, but you can disable building any of
-them by passing NAME_OF_VARIABLE=OFF to the build script:
- ENABLE_SUMMARY ENABLE_TORRENT ENABLE_AGGREGATOR ENABLE_POSHUKU ENABLE_HTTP
- ENABLE_FTP ENABLE_LMP ENABLE_DBUSMANAGER ENABLE_DEADLYRICS ENABLE_SEEKTHRU
- ENABLE_NETWORKMONITOR ENABLE_HISTORYHOLDER ENABLE_CHATTER ENABLE_YASD
- ENABLE_DCMINATOR ENABLE_NEWLIFE ENABLE_ANHERO ENABLE_VGRABBER
-As an example, you can do this: ENABLE_LMP=OFF ./leechcraft.SlackBuild
-
-An optional dependency is libtorrent-rasterbar.
diff --git a/network/leechcraft/doinst.sh b/network/leechcraft/doinst.sh
deleted file mode 100644
index f3f8604d5a..0000000000
--- a/network/leechcraft/doinst.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
-fi
-
-if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
- if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
- fi
-fi
-
-if [ -e usr/share/icons/Pevzi/icon-theme.cache ]; then
- if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache -f usr/share/icons/Pevzi >/dev/null 2>&1
- fi
-fi
-
-if [ -e usr/share/icons/oxygen/icon-theme.cache ]; then
- if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache -f usr/share/icons/oxygen >/dev/null 2>&1
- fi
-fi
-
diff --git a/network/leechcraft/leechcraft.SlackBuild b/network/leechcraft/leechcraft.SlackBuild
deleted file mode 100644
index 80b2acc607..0000000000
--- a/network/leechcraft/leechcraft.SlackBuild
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for LeechCraft
-
-# Copyright 2009 rexim
-# 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=leechcraft
-VERSION=${VERSION:-0.3.65}
-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=""
- EXTRA_CMAKE_FLAGS=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
- EXTRA_CMAKE_FLAGS=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
- EXTRA_CMAKE_FLAGS="-DRESPECTLIB64=True"
-fi
-
-set -eu
-
-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 {} \;
-
-mkdir -p build
-cd build
-cmake \
- -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX="/usr" \
- -DLIB_SUFFIX="$LIBDIRSUFFIX" \
- -DENABLE_SUMMARY="${ENABLE_SUMMARY:-ON}" \
- -DENABLE_TORRENT="${ENABLE_TORRENT:-ON}" \
- -DENABLE_AGGREGATOR="${ENABLE_AGGREGATOR:-ON}" \
- -DENABLE_POSHUKU="${ENABLE_POSHUKU:-ON}" \
- -DENABLE_HTTP="${ENABLE_HTTP:-ON}" \
- -DENABLE_FTP="${ENABLE_FTP:-ON}" \
- -DENABLE_LMP="${ENABLE_LMP:-ON}" \
- -DENABLE_DBUSMANAGER="${ENABLE_DBUSMANAGER:-ON}" \
- -DENABLE_DEADLYRICS="${ENABLE_DEADLYRICS:-ON}" \
- -DENABLE_SEEKTHRU="${ENABLE_SEEKTHRU:-ON}" \
- -DENABLE_NETWORKMONITOR="${ENABLE_NETWORKMONITOR:-ON}" \
- -DENABLE_HISTORYHOLDER="${ENABLE_HISTORYHOLDER:-ON}" \
- -DENABLE_CHATTER="${ENABLE_CHATTER:-ON}" \
- -DENABLE_YASD="${ENABLE_YASD:-ON}" \
- -DENABLE_DCMINATOR="${ENABLE_DCMINATOR:-ON}" \
- -DENABLE_NEWLIFE="${ENABLE_NEWLIFE:-ON}" \
- -DENABLE_ANHERO="${ENABLE_ANHERO:-ON}" \
- -DENABLE_VGRABBER="${ENABLE_VGRABBER:-ON}" \
- $EXTRA_CMAKE_FLAGS \
- ../src/
-
-make
-make install DESTDIR=$PKG
-
-# Move the manual pages to the correct place
-mv $PKG/usr/share/man $PKG/usr
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/leechcraft/leechcraft.info b/network/leechcraft/leechcraft.info
deleted file mode 100644
index 946c9060bd..0000000000
--- a/network/leechcraft/leechcraft.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="leechcraft"
-VERSION="0.3.65"
-HOMEPAGE="https://leechcraft.org/"
-DOWNLOAD="https://downloads.sourceforge.net/leechcraft/leechcraft-0.3.65.tar.bz2"
-MD5SUM="f410eae27731aa80b8921701477b15e7"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="rexim"
-EMAIL="reximkut@gmail.com"
diff --git a/network/leechcraft/slack-desc b/network/leechcraft/slack-desc
deleted file mode 100644
index eddd124950..0000000000
--- a/network/leechcraft/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------------------------------------------------------|
-leechcraft: leechcraft (modular internet client application)
-leechcraft:
-leechcraft: LeechCraft is a full-featured modular "Internet client" application,
-leechcraft: currently including plugins for a web browser, news feed reader,
-leechcraft: BitTorrent client, FTP client and many more. Plugins are easily added
-leechcraft: and integrated with each other with no effort.
-leechcraft:
-leechcraft: Homepage: http://leechcraft.org/
-leechcraft:
-leechcraft:
-leechcraft:
diff --git a/network/linuxdcpp/linuxdcpp.SlackBuild b/network/linuxdcpp/linuxdcpp.SlackBuild
index e83b5a345b..bf57367f58 100644
--- a/network/linuxdcpp/linuxdcpp.SlackBuild
+++ b/network/linuxdcpp/linuxdcpp.SlackBuild
@@ -65,7 +65,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -fpermissive" \
+CXXFLAGS="$SLKCFLAGS -fpermissive -std=gnu++98" \
scons \
PREFIX=/usr \
FAKE_ROOT=$PKG \
diff --git a/network/memcached/memcached.SlackBuild b/network/memcached/memcached.SlackBuild
index 404909ad39..833314e8d8 100644
--- a/network/memcached/memcached.SlackBuild
+++ b/network/memcached/memcached.SlackBuild
@@ -82,7 +82,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=format-overflow -Wno-error=format-truncation" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/network/midori/README b/network/midori/README
index 16ec7ed18a..d8f163a4e0 100644
--- a/network/midori/README
+++ b/network/midori/README
@@ -1,7 +1,7 @@
Midori is a lightweight, webkit-based web browser.
Features:
- * Full integration with GTK+2
+ * Full integration with GTK+3
* Fast rendering with WebKit
* Tabs, windows and session management
* Flexibly configurable Web Search.
@@ -10,11 +10,3 @@ Features:
* Customizable and extensible interface.
* Extensions such as Adblock, form history, mouse gestures
or cookie management.
-
-GTK3 support is disabled by default but can be enabled
-by passing GTK3=yes to the script, e.g.
-
- GTK3=yes ./midori.SlackBuild
-
-If enabled then webkitgtk3 and libunique3 (instead of webkitgtk
-and libunique) are required.
diff --git a/network/midori/doinst.sh b/network/midori/doinst.sh
index 8505e6eaff..4a25de5e6f 100644
--- a/network/midori/doinst.sh
+++ b/network/midori/doinst.sh
@@ -1,19 +1,3 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-config etc/xdg/midori/search.new
-config etc/xdg/midori/extensions/adblock/config.new
-
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
diff --git a/network/midori/midori.SlackBuild b/network/midori/midori.SlackBuild
index 99efa991c7..8aeed3e3ed 100644
--- a/network/midori/midori.SlackBuild
+++ b/network/midori/midori.SlackBuild
@@ -5,7 +5,7 @@
# Copyright 2008 Andrew Brouwers <abrouwers@gmail.com>
# Copyright 2009-2011 Pierre Cazenave <pwcazenave {at} gmail [dot] com>
# Copyright 2012-2013 Roberto Neri, Palermo, Italy
-# Copyright 2013-2016 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
#
# All rights reserved.
#
@@ -27,7 +27,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=midori
-VERSION=${VERSION:-0.5.11}
+SRCNAM=core
+VERSION=${VERSION:-9.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,22 +62,14 @@ else
LIBDIRSUFFIX=""
fi
-# GTK3 support is disabled by default but can be enabled
-# by passing GTK3=yes to the script
-if [ "${GTK3:-no}" = "yes" ]; then
- ENABLE_GTK3="ON"
-else
- ENABLE_GTK3="OFF"
-fi
-
set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/${PRGNAM}_${VERSION}_all_.tar.?z*
-cd $PRGNAM-$VERSION
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$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 \
@@ -87,30 +80,20 @@ find -L . \
mkdir -p build
cd build
cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_FULL_SYSCONFDIR=/etc \
- -DCMAKE_INSTALL_FULL_LIBDIR=/usr/lib$LIBDIRSUFFIX \
- -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \
- -DDATADIR=/usr/share/$PRGNAM \
- -DUSE_ZEITGEIST=OFF \
- -DUSE_GTK3="$ENABLE_GTK3" \
- -DHALF_BRO_INCOM_WEBKIT2=ON \
- -DCMAKE_BUILD_TYPE=Release ..
- make
- make install DESTDIR=$PKG
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib$LIBDIRSUFFIX \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DVALA_CFLAGS="$SLKCFLAGS" \
+ -G Ninja \
+ ..
+ ninja
+ DESTDIR=$PKG ninja install
cd ..
-# Don't clobber existing configs
-mv $PKG/etc/xdg/midori/search $PKG/etc/xdg/midori/search.new
-mv $PKG/etc/xdg/midori/extensions/adblock/config $PKG/etc/xdg/midori/extensions/adblock/config.new
-
-# The other docs have been taken care by make install
+rm -fR $PKG/usr/share/doc
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a HACKING TODO TRANSLATE \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING *.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-ln -s $PRGNAM-$VERSION $PKG/usr/doc/$PRGNAM
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/network/midori/midori.info b/network/midori/midori.info
index a2abab3152..516e7ec757 100644
--- a/network/midori/midori.info
+++ b/network/midori/midori.info
@@ -1,10 +1,10 @@
PRGNAM="midori"
-VERSION="0.5.11"
-HOMEPAGE="http://midori-browser.org/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/midori_0.5.11_all_.tar.bz2"
-MD5SUM="fcc03ef759fce4fe9f2446d9da4a065e"
+VERSION="9.0"
+HOMEPAGE="https://midori-browser.org/"
+DOWNLOAD="https://github.com/midori-browser/core/archive/v9.0/midori-9.0.tar.gz"
+MD5SUM="b39172aeb754e666f044d69828f82bcc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="vala webkit2gtk"
+REQUIRES="libpeas webkit2gtk"
MAINTAINER="Matteo Bernardini"
EMAIL="ponce@slackbuilds.org"
diff --git a/network/midori/slack-desc b/network/midori/slack-desc
index bddbb483ce..15edff5601 100644
--- a/network/midori/slack-desc
+++ b/network/midori/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
midori: midori (simple web-browser)
midori:
-midori: midori is a simple web-browser, based on the webkit framework.
+midori: midori is a simple web-browser, based on the webkit framework
+midori: and gtk+3.
midori:
+midori: Homepage: https://midori-browser.org
midori:
midori:
-midori: Homepage: http://midori-browser.org/
-midori:
midori:
midori:
midori:
diff --git a/network/mldonkey/mldonkey.SlackBuild b/network/mldonkey/mldonkey.SlackBuild
index 5845ea64a1..8c7adeb4bd 100644
--- a/network/mldonkey/mldonkey.SlackBuild
+++ b/network/mldonkey/mldonkey.SlackBuild
@@ -26,13 +26,13 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mldonkey
-VERSION=${VERSION:-3.1.5}
+VERSION=${VERSION:-3.1.6}
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
@@ -45,8 +45,8 @@ PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
GUIOPT=${GUIOPT:-no}
-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"
@@ -69,10 +69,10 @@ 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 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 {} \;
# This avoids downloading tarballs when the SlackBuild is running
mkdir -p patches
@@ -105,7 +105,7 @@ CXXFLAGS="$SLKCFLAGS" \
make -j1
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
if [ "$GUIOPT" = 'yes' ]; then
@@ -116,7 +116,7 @@ fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- distrib/*.txt docs ChangeLog \
+ distrib/*.txt docs \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/network/mldonkey/mldonkey.info b/network/mldonkey/mldonkey.info
index f2de7a097c..8d2907a4bc 100644
--- a/network/mldonkey/mldonkey.info
+++ b/network/mldonkey/mldonkey.info
@@ -1,10 +1,10 @@
PRGNAM="mldonkey"
-VERSION="3.1.5"
+VERSION="3.1.6"
HOMEPAGE="http://mldonkey.sourceforge.net"
-DOWNLOAD="http://downloads.sourceforge.net/mldonkey/mldonkey-3.1.5.tar.bz2 \
+DOWNLOAD="https://github.com/ygrek/mldonkey/releases/download/release-3-1-6/mldonkey-3.1.6.tar.bz2 \
http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12.0.tar.gz \
http://www.math.nagoya-u.ac.jp/~garrigue/soft/olabl/dist/lablgtk-2.14.2.tar.gz"
-MD5SUM="eca07c8ce88702dd437c72db531162d9 \
+MD5SUM="d73a925fb3559eed2c1d91fdeed1153a \
3ba7cc65123c3579f14e7c726d3ee782 \
bad77680a72dab8b915cae99d1ec9b1f"
DOWNLOAD_x86_64=""
diff --git a/network/mosh/mosh.SlackBuild b/network/mosh/mosh.SlackBuild
index 4f5fe7ce09..bd912a0982 100644
--- a/network/mosh/mosh.SlackBuild
+++ b/network/mosh/mosh.SlackBuild
@@ -52,7 +52,7 @@ find -L . \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/network/mumble/boost-1.66.patch b/network/mumble/boost-1.66.patch
new file mode 100644
index 0000000000..cf61106ce6
--- /dev/null
+++ b/network/mumble/boost-1.66.patch
@@ -0,0 +1,32 @@
+From ea861fe86743c8402bbad77d8d1dd9de8dce447e Mon Sep 17 00:00:00 2001
+From: Mikkel Krautz <mikkel@krautz.dk>
+Date: Fri, 29 Dec 2017 14:47:25 +0100
+Subject: [PATCH] AudioOutput: do not use non-existant template version of
+ std::abs.
+
+This change fixes AudioOutput to use the float overload of std::abs:
+
+ float std::abs(float);
+
+instead of a non-existant template version.
+
+Fixes mumble-voip/mumble#3281
+
+Needs-Backport: 1.2.x
+---
+ src/mumble/AudioOutput.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mumble/AudioOutput.cpp b/src/mumble/AudioOutput.cpp
+index cbe0c0e2b..7a0a5e2ab 100644
+--- a/src/mumble/AudioOutput.cpp
++++ b/src/mumble/AudioOutput.cpp
+@@ -437,7 +437,7 @@ bool AudioOutput::mix(void *outbuff, unsigned int nsamp) {
+ top[2] = 0.0f;
+ }
+
+- if (std::abs<float>(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
++ if (std::abs(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
+ // Not perpendicular. Assume Y up and rotate 90 degrees.
+
+ float azimuth = 0.0f;
diff --git a/network/mumble/mumble.SlackBuild b/network/mumble/mumble.SlackBuild
index 9de8dc9468..08a665cc71 100644
--- a/network/mumble/mumble.SlackBuild
+++ b/network/mumble/mumble.SlackBuild
@@ -92,6 +92,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 {} \;
+# From upstream, needed for the newer boost
+patch -p1 < $CWD/boost-1.66.patch
+
# Mumble won't find the speechd header without this
patch -p1 < $CWD/libspeechd_header.patch
diff --git a/network/museek+/README b/network/museek+/README
deleted file mode 100644
index 350f3838de..0000000000
--- a/network/museek+/README
+++ /dev/null
@@ -1,23 +0,0 @@
-Museek+ is a file-sharing application for the Soulseek peer-to-peer network,
-written in C++. It's an enhanced version of Hyriand's original Museek
-(see http://museek.thegraveyard.org). It supports chat, transferring files,
-searching, user-management, shares browsing and more. The new features are:
-room searching, interests, buddy-only shares, banlists, icon themes, and
-font/color selecting.
-
-Museek+ consists of museekd (daemon), muscan (shares scanning tool), muscand
-(automated shares scanning tool), musetup (command-line configuration script),
-musetup-gtk (PyGTK configuration app), museeq (QT GUI client), mucous (curses
-python client), murmur (PyGTK client) and museekcontrol (command-line python
-client).
-
-After installing museek+ follow these steps:
- 1) Configure your settings with musetup: server, username, password,
- interface password, download directory, shared directories.
- 2) Run museekd.
- 3) Run museeq, mucous, or museekcontrol.
- 4) Login into museekd via the interface socket or host:port and the
- interface password.
-
-An example init script (rc.museekd) for the museekd daemon is provided.
-Feel free to modify it for your needs. Use it at your own risk.
diff --git a/network/museek+/doinst.sh b/network/museek+/doinst.sh
deleted file mode 100644
index 74a3bd3a48..0000000000
--- a/network/museek+/doinst.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-# Keep same perms on rc.museekd.new:
-#if [ -e etc/rc.d/rc.museekd ]; then
-# cp -a etc/rc.d/rc.museekd etc/rc.d/rc.museekd.new.incoming
-# cat etc/rc.d/rc.museekd.new > etc/rc.d/rc.museekd.new.incoming
-# mv etc/rc.d/rc.museekd.new.incoming etc/rc.d/rc.museekd.new
-#fi
-#
-#config etc/rc.d/rc.museekd.new
-
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
-fi
-
diff --git a/network/museek+/museek+.SlackBuild b/network/museek+/museek+.SlackBuild
deleted file mode 100644
index 347b8903bf..0000000000
--- a/network/museek+/museek+.SlackBuild
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for museek+
-# Written by Iskar Enev <iskar.enev[@]gmail.com>
-# Currently maintained by B. Watson <yalhcru@gmail.com>
-
-PRGNAM=museek+
-VERSION=${VERSION:-0.2}
-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.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 {} \;
-
-# This patch fixes the python modules install path
-# to be architecture aware
-patch -p0 < $CWD/museek-python.diff
-
-cmake -DPREFIX=/usr \
- -DMANDIR=man \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11" \
- -DSWIG_DIR:PATH=`swig -swiglib` \
- -DEVERYTHING=1 \
- -DTRAYICON=1 \
- -DBINRELOC=0
-
-make VERBOSE=1
-make install VERBOSE=1 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
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
-)
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- COPYING CREDITS FILES LICENSE README TODO INSTALL \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-cat $CWD/rc.museekd > $PKG/usr/doc/$PRGNAM-$VERSION/rc.museekd.new
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/museek+/museek+.info b/network/museek+/museek+.info
deleted file mode 100644
index 8ee1bc1126..0000000000
--- a/network/museek+/museek+.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="museek+"
-VERSION="0.2"
-HOMEPAGE="http://museek-plus.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/museek-plus/museek+-0.2.tar.bz2"
-MD5SUM="66d3eab341e1cd6642f83d329a18c3b5"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="libxml++"
-MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
diff --git a/network/museek+/museek-python.diff b/network/museek+/museek-python.diff
deleted file mode 100644
index 844d17d624..0000000000
--- a/network/museek+/museek-python.diff
+++ /dev/null
@@ -1,44 +0,0 @@
---- murmur/CMakeLists.txt 2008-09-22 11:49:33.000000000 +0300
-+++ murmur/CMakeLists.txt.1 2009-09-01 12:04:34.000000000 +0300
-@@ -25,7 +25,7 @@
- ${PYMURMUR_FILES}
- )
-
--EXECUTE_PROCESS(COMMAND python -c "import sys; import os; print os.path.join('lib', 'python' + str(sys.version_info[0]) + '.' + str(sys.version_info[1]), 'site-packages')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-+EXECUTE_PROCESS(COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1,0,'')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-
- if (NOT sitepackages OR error)
- MESSAGE(FATAL_ERROR "Failed to find Python's site-packages directory" ${sitepackages} ${error})
---- mucous/CMakeLists.txt 2008-09-22 11:49:33.000000000 +0300
-+++ mucous/CMakeLists.txt.1 2009-09-01 12:04:55.000000000 +0300
-@@ -28,7 +28,7 @@
- ${PYMUCOUS_FILES}
- )
-
--EXECUTE_PROCESS(COMMAND python -c "import sys; import os; print os.path.join('lib', 'python' + str(sys.version_info[0]) + '.' + str(sys.version_info[1]), 'site-packages')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-+EXECUTE_PROCESS(COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1,0,'')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-
- if (NOT sitepackages OR error)
- MESSAGE(FATAL_ERROR "Failed to find Python's site-packages directory" ${sitepackages} ${error})
---- python-bindings/CMakeLists.txt 2008-09-22 11:49:33.000000000 +0300
-+++ python-bindings/CMakeLists.txt.1 2009-09-01 12:04:15.000000000 +0300
-@@ -18,7 +18,7 @@
- museek/driver.py
- )
-
--EXECUTE_PROCESS(COMMAND python -c "import sys; import os; print os.path.join('lib', 'python' + str(sys.version_info[0]) + '.' + str(sys.version_info[1]), 'site-packages')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-+EXECUTE_PROCESS(COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1,0,'')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-
- if (NOT sitepackages OR error)
- MESSAGE(FATAL_ERROR "Failed to find Python's site-packages directory" ${sitepackages} ${error})
---- Mucipher/PyMucipher/CMakeLists.txt 2008-10-07 19:58:27.000000000 +0300
-+++ Mucipher/PyMucipher/CMakeLists.txt.1 2009-09-01 12:05:46.000000000 +0300
-@@ -37,7 +37,7 @@
- ${CMAKE_CURRENT_BINARY_DIR}/mucipherc.py
- ${CMAKE_CURRENT_BINARY_DIR}/_mucipherc.so
- )
--EXECUTE_PROCESS(COMMAND python -c "import sys; import os; print os.path.join('lib', 'python' + str(sys.version_info[0]) + '.' + str(sys.version_info[1]), 'site-packages')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-+EXECUTE_PROCESS(COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1,0,'')" museek OUTPUT_VARIABLE sitepackages OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE error)
-
- if (NOT sitepackages OR error)
- MESSAGE(FATAL_ERROR "Failed to find Python's site-packages directory" ${sitepackages} ${error})
diff --git a/network/museek+/rc.museekd b/network/museek+/rc.museekd
deleted file mode 100644
index 8c74eb95ab..0000000000
--- a/network/museek+/rc.museekd
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/sh
-#
-# This shell script takes care of starting and stopping museekd.
-
-MUSEEKD=/usr/bin/museekd
-MUSETUP=/usr/bin/musetup
-MUSCAN=/usr/bin/muscan
-MUSOCKET=/tmp/museekd.root
-PIDFILE=/var/run/museekd.pid
-DBDIR=/var/museek
-CONFIG=$DBDIR/museekd.xml
-CHOWNSOCKET=YES
-
-case "$1" in
- start)
- if [ ! -d $DBDIR ]; then
- mkdir $DBDIR
- fi
- if [ ! -f $CONFIG ]; then
- echo -n "Starting Museek Setup"
- echo
- if [ ! -d $DBDIR ]; then
- mkdir $DBDIR
- fi
- $MUSETUP $CONFIG
- echo
- fi
- if [ -f $PIDFILE ]; then
- echo -n "Museek Daemon already running (or zombie pid file in /var/run/)"
- echo
- exit
- fi
- echo -n "Starting Museek Daemon"
- $MUSEEKD -c $CONFIG &>/dev/null &
- PID="$!"
- sleep 2
- if kill -0 $PID # pid check
- then
- if [ $CHOWNSOCKET = YES ];
- then
- if [ -e $MUSOCKET ]; then chmod 666 $MUSOCKET
- # access the museekd socket from other users, may be a security risk on multiuser systems
- fi
- fi
- echo $PID > $PIDFILE
- echo
- else
- echo -n "Museekd isn't starting up properly. Check your Config file, \nor run 'museekd -c /var/museek/museekd.xml' for verbose messages."
- echo
- fi
- ;;
- stop)
- echo -n "Stopping Museek Daemon"
- echo
- if [ -f $PIDFILE ]; then
- kill -15 $(cat $PIDFILE) &>/dev/null
- rm $PIDFILE
- else
- echo -n "Museek Daemon not running"
- echo
- exit
- fi
- ;;
- reconnect)
- if [ -f $PIDFILE ]; then
- echo -n "Attempting to reconnect Museekd to the Server"
- kill -ALRM $(cat $PIDFILE) &>/dev/null
- echo
- fi
- ;;
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
- rescan)
- echo -n "Starting Muscan, rescanning shared files"
- echo
- $MUSCAN -c $CONFIG -r -v
- echo
- $0 reload
- ;;
- setup)
- echo -n "Starting Museek Setup"
- echo
- if [ ! -d $DBDIR ]; then
- mkdir $DBDIR
- fi
- $MUSETUP $CONFIG
- echo
- ;;
- reload)
- if [ -f $PIDFILE ]; then
- echo -n "Reloading Museek Daemon to update Shares"
- kill -HUP $(cat $PIDFILE)
- echo
- else
- echo -n "Museek Daemon not running, can't reload shares"
- echo
- fi
- ;;
- *)
- echo "usage: $0 {start|stop|restart|rescan|reconnect|setup|reload}"
- echo -n
-esac
diff --git a/network/museek+/slack-desc b/network/museek+/slack-desc
deleted file mode 100644
index 58f0d98ace..0000000000
--- a/network/museek+/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------------------------------------------------------|
-museek+: museek+ (file-sharing application)
-museek+:
-museek+: Museek+ is a file-sharing application for the Soulseek p2p network,
-museek+: written in C++. It's an enhanced version of Hyriand's original Museek
-museek+: (http://museek.thegraveyard.org). It supports chat, transferring
-museek+: files, searching, user-management, sharing, banlists, interests
-museek+: and more. Museek+ consists of museekd (daemon), muscan (shares
-museek+: scanning tool), muscand (automated shares scanning tool), musetup
-museek+: (command-line configuration script), musetup-gtk (PyGTK configuration
-museek+: app), museeq (QT GUI client), mucous (curses python client),
-museek+: museekcontrol (command-line python client) and murmur (PyGTK client).
diff --git a/network/ncrack/ncrack.SlackBuild b/network/ncrack/ncrack.SlackBuild
index e7fa0d50de..c99b3248a4 100644
--- a/network/ncrack/ncrack.SlackBuild
+++ b/network/ncrack/ncrack.SlackBuild
@@ -71,7 +71,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/network/netcat-openbsd/netcat-openbsd.SlackBuild b/network/netcat-openbsd/netcat-openbsd.SlackBuild
index c807a163db..054ca77cf4 100644
--- a/network/netcat-openbsd/netcat-openbsd.SlackBuild
+++ b/network/netcat-openbsd/netcat-openbsd.SlackBuild
@@ -23,15 +23,15 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=netcat-openbsd
-VERSION=${VERSION:-1.105}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.195}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-DEBVER=7
+DEBVER=2
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"
@@ -71,15 +71,16 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM\_$VERSION.orig.tar.gz
cd $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM\_$VERSION-debian_patches.tar.xz
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 {} \;
# Apply Debian patches
-for i in $CWD/patches/* ; do patch -p1 < $i ; done
+for i in patches/*.patch ; do patch -p1 < $i ; done
make CFLAGS="$SLKCFLAGS -DDEBIAN_VERSION=\"\\\"$DEBVER\\\"\""
@@ -89,6 +90,7 @@ ln -s /usr/bin/nc.openbsd $PKG/usr/bin/nc
gzip -9c nc.1 > $PKG/usr/man/man1/nc.openbsd.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a patches/copyright $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/network/netcat-openbsd/netcat-openbsd.info b/network/netcat-openbsd/netcat-openbsd.info
index dc9b850460..f118f2f4b4 100644
--- a/network/netcat-openbsd/netcat-openbsd.info
+++ b/network/netcat-openbsd/netcat-openbsd.info
@@ -1,8 +1,10 @@
PRGNAM="netcat-openbsd"
-VERSION="1.105"
+VERSION="1.195"
HOMEPAGE="http://packages.debian.org/sid/netcat-openbsd"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/netcat-openbsd_1.105.orig.tar.gz"
-MD5SUM="7e67b22f1ad41a1b7effbb59ff28fca1"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/netcat-openbsd_1.195.orig.tar.gz \
+ http://ponce.cc/slackware/sources/repo/netcat-openbsd_1.195-debian_patches.tar.xz"
+MD5SUM="219d5e49c45658e229a3bda63063a986 \
+ 562cf0e6e3e7417338cf2bc91c9121a0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="%README% libbsd"
diff --git a/network/netcat-openbsd/patches/0001-port-to-linux-with-libsd.patch b/network/netcat-openbsd/patches/0001-port-to-linux-with-libsd.patch
deleted file mode 100644
index 08567c7986..0000000000
--- a/network/netcat-openbsd/patches/0001-port-to-linux-with-libsd.patch
+++ /dev/null
@@ -1,475 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 15:59:31 +0800
-Subject: port to linux with libsd
-
----
- Makefile | 17 ++++++++--
- nc.1 | 4 +--
- netcat.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++---------
- socks.c | 46 +++++++++++++--------------
- 4 files changed, 130 insertions(+), 42 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 150f829..96a6587 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,19 @@
--# $OpenBSD: Makefile,v 1.6 2001/09/02 18:45:41 jakob Exp $
-+# $OpenBSD: Makefile,v 1.6 2001/09/02 18:45:41 jakob Exp $
-
- PROG= nc
- SRCS= netcat.c atomicio.c socks.c
-
--.include <bsd.prog.mk>
-+LIBS= `pkg-config --libs libbsd` -lresolv
-+OBJS= $(SRCS:.c=.o)
-+CFLAGS= -g -O2
-+LDFLAGS= -Wl,--no-add-needed
-+
-+all: nc
-+nc: $(OBJS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o nc
-+
-+$(OBJS): %.o: %.c
-+ $(CC) $(CFLAGS) -c $< -o $@
-+
-+clean:
-+ rm -f $(OBJS) nc
-diff --git a/nc.1 b/nc.1
-index 75d1437..b7014a2 100644
---- a/nc.1
-+++ b/nc.1
-@@ -146,9 +146,6 @@ Proxy authentication is only supported for HTTP CONNECT proxies at present.
- Specifies the source port
- .Nm
- should use, subject to privilege restrictions and availability.
--It is an error to use this option in conjunction with the
--.Fl l
--option.
- .It Fl r
- Specifies that source and/or destination ports should be chosen randomly
- instead of sequentially within a range or in the order that the system
-@@ -170,6 +167,7 @@ Change IPv4 TOS value.
- may be one of
- .Ar critical ,
- .Ar inetcontrol ,
-+.Ar lowcost ,
- .Ar lowdelay ,
- .Ar netcontrol ,
- .Ar throughput ,
-diff --git a/netcat.c b/netcat.c
-index cc4683a..9b2def2 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -42,6 +42,46 @@
- #include <netinet/ip.h>
- #include <arpa/telnet.h>
-
-+#ifndef IPTOS_LOWDELAY
-+# define IPTOS_LOWDELAY 0x10
-+# define IPTOS_THROUGHPUT 0x08
-+# define IPTOS_RELIABILITY 0x04
-+# define IPTOS_LOWCOST 0x02
-+# define IPTOS_MINCOST IPTOS_LOWCOST
-+#endif /* IPTOS_LOWDELAY */
-+
-+# ifndef IPTOS_DSCP_AF11
-+# define IPTOS_DSCP_AF11 0x28
-+# define IPTOS_DSCP_AF12 0x30
-+# define IPTOS_DSCP_AF13 0x38
-+# define IPTOS_DSCP_AF21 0x48
-+# define IPTOS_DSCP_AF22 0x50
-+# define IPTOS_DSCP_AF23 0x58
-+# define IPTOS_DSCP_AF31 0x68
-+# define IPTOS_DSCP_AF32 0x70
-+# define IPTOS_DSCP_AF33 0x78
-+# define IPTOS_DSCP_AF41 0x88
-+# define IPTOS_DSCP_AF42 0x90
-+# define IPTOS_DSCP_AF43 0x98
-+# define IPTOS_DSCP_EF 0xb8
-+#endif /* IPTOS_DSCP_AF11 */
-+
-+#ifndef IPTOS_DSCP_CS0
-+# define IPTOS_DSCP_CS0 0x00
-+# define IPTOS_DSCP_CS1 0x20
-+# define IPTOS_DSCP_CS2 0x40
-+# define IPTOS_DSCP_CS3 0x60
-+# define IPTOS_DSCP_CS4 0x80
-+# define IPTOS_DSCP_CS5 0xa0
-+# define IPTOS_DSCP_CS6 0xc0
-+# define IPTOS_DSCP_CS7 0xe0
-+#endif /* IPTOS_DSCP_CS0 */
-+
-+#ifndef IPTOS_DSCP_EF
-+# define IPTOS_DSCP_EF 0xb8
-+#endif /* IPTOS_DSCP_EF */
-+
-+
- #include <err.h>
- #include <errno.h>
- #include <netdb.h>
-@@ -53,6 +93,8 @@
- #include <unistd.h>
- #include <fcntl.h>
- #include <limits.h>
-+#include <bsd/stdlib.h>
-+#include <bsd/string.h>
- #include "atomicio.h"
-
- #ifndef SUN_LEN
-@@ -118,7 +160,7 @@ main(int argc, char *argv[])
- struct servent *sv;
- socklen_t len;
- struct sockaddr_storage cliaddr;
-- char *proxy;
-+ char *proxy = NULL;
- const char *errstr, *proxyhost = "", *proxyport = NULL;
- struct addrinfo proxyhints;
- char unix_dg_tmp_socket_buf[UNIX_DG_TMP_SOCKET_SIZE];
-@@ -164,7 +206,11 @@ main(int argc, char *argv[])
- errx(1, "interval %s: %s", errstr, optarg);
- break;
- case 'j':
-+# if defined(SO_JUMBO)
- jflag = 1;
-+# else
-+ errx(1, "no jumbo frame support available");
-+# endif
- break;
- case 'k':
- kflag = 1;
-@@ -194,10 +240,14 @@ main(int argc, char *argv[])
- uflag = 1;
- break;
- case 'V':
-+# if defined(RT_TABLEID_MAX)
- rtableid = (unsigned int)strtonum(optarg, 0,
- RT_TABLEID_MAX, &errstr);
- if (errstr)
- errx(1, "rtable %s: %s", errstr, optarg);
-+# else
-+ errx(1, "no alternate routing table support available");
-+# endif
- break;
- case 'v':
- vflag = 1;
-@@ -232,7 +282,11 @@ main(int argc, char *argv[])
- errstr, optarg);
- break;
- case 'S':
-+# if defined(TCP_MD5SIG)
- Sflag = 1;
-+# else
-+ errx(1, "no TCP MD5 signature support available");
-+# endif
- break;
- case 'T':
- errstr = NULL;
-@@ -259,6 +313,15 @@ main(int argc, char *argv[])
- if (argv[0] && !argv[1] && family == AF_UNIX) {
- host = argv[0];
- uport = NULL;
-+ } else if (!argv[0] && lflag) {
-+ if (sflag)
-+ errx(1, "cannot use -s and -l");
-+ if (zflag)
-+ errx(1, "cannot use -z and -l");
-+ if (pflag)
-+ uport=pflag;
-+ } else if (!lflag && kflag) {
-+ errx(1, "cannot use -k without -l");
- } else if (argv[0] && !argv[1]) {
- if (!lflag)
- usage(1);
-@@ -270,14 +333,7 @@ main(int argc, char *argv[])
- } else
- usage(1);
-
-- if (lflag && sflag)
-- errx(1, "cannot use -s and -l");
-- if (lflag && pflag)
-- errx(1, "cannot use -p and -l");
-- if (lflag && zflag)
-- errx(1, "cannot use -z and -l");
-- if (!lflag && kflag)
-- errx(1, "must use -l with -k");
-+
-
- /* Get name of temporary socket for unix datagram client */
- if ((family == AF_UNIX) && uflag && !lflag) {
-@@ -286,8 +342,8 @@ main(int argc, char *argv[])
- } else {
- strlcpy(unix_dg_tmp_socket_buf, "/tmp/nc.XXXXXXXXXX",
- UNIX_DG_TMP_SOCKET_SIZE);
-- if (mktemp(unix_dg_tmp_socket_buf) == NULL)
-- err(1, "mktemp");
-+ if (mkstemp(unix_dg_tmp_socket_buf) == -1)
-+ err(1, "mkstemp");
- unix_dg_tmp_socket = unix_dg_tmp_socket_buf;
- }
- }
-@@ -563,18 +619,22 @@ remote_connect(const char *host, const char *port, struct addrinfo hints)
- res0->ai_protocol)) < 0)
- continue;
-
-+# if defined(RT_TABLEID_MAX)
- if (rtableid) {
- if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
- sizeof(rtableid)) == -1)
- err(1, "setsockopt SO_RTABLE");
- }
-+# endif
-
- /* Bind to a local port or source address if specified. */
- if (sflag || pflag) {
- struct addrinfo ahints, *ares;
-
-+# if defined (SO_BINDANY)
- /* try SO_BINDANY, but don't insist */
- setsockopt(s, SOL_SOCKET, SO_BINDANY, &on, sizeof(on));
-+# endif
- memset(&ahints, 0, sizeof(struct addrinfo));
- ahints.ai_family = res0->ai_family;
- ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
-@@ -674,15 +734,23 @@ local_listen(char *host, char *port, struct addrinfo hints)
- res0->ai_protocol)) < 0)
- continue;
-
-+# if defined(RT_TABLEID_MAX)
- if (rtableid) {
- if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid,
- sizeof(rtableid)) == -1)
- err(1, "setsockopt SO_RTABLE");
- }
-+# endif
-+
-+ ret = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &x, sizeof(x));
-+ if (ret == -1)
-+ err(1, NULL);
-
-+# if defined(SO_REUSEPORT)
- ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x));
- if (ret == -1)
- err(1, NULL);
-+# endif
-
- set_common_sockopts(s);
-
-@@ -886,21 +954,25 @@ set_common_sockopts(int s)
- {
- int x = 1;
-
-+# if defined(TCP_MD5SIG)
- if (Sflag) {
- if (setsockopt(s, IPPROTO_TCP, TCP_MD5SIG,
- &x, sizeof(x)) == -1)
- err(1, NULL);
- }
-+# endif
- if (Dflag) {
- if (setsockopt(s, SOL_SOCKET, SO_DEBUG,
- &x, sizeof(x)) == -1)
- err(1, NULL);
- }
-+# if defined(SO_JUMBO)
- if (jflag) {
- if (setsockopt(s, SOL_SOCKET, SO_JUMBO,
- &x, sizeof(x)) == -1)
- err(1, NULL);
- }
-+# endif
- if (Tflag != -1) {
- if (setsockopt(s, IPPROTO_IP, IP_TOS,
- &Tflag, sizeof(Tflag)) == -1)
-@@ -949,6 +1021,7 @@ map_tos(char *s, int *val)
- { "cs7", IPTOS_DSCP_CS7 },
- { "ef", IPTOS_DSCP_EF },
- { "inetcontrol", IPTOS_PREC_INTERNETCONTROL },
-+ { "lowcost", IPTOS_LOWCOST },
- { "lowdelay", IPTOS_LOWDELAY },
- { "netcontrol", IPTOS_PREC_NETCONTROL },
- { "reliability", IPTOS_RELIABILITY },
-@@ -969,6 +1042,9 @@ map_tos(char *s, int *val)
- void
- help(void)
- {
-+# if defined(DEBIAN_VERSION)
-+ fprintf(stderr, "OpenBSD netcat (Debian patchlevel " DEBIAN_VERSION ")\n");
-+# endif
- usage(0);
- fprintf(stderr, "\tCommand Summary:\n\
- \t-4 Use IPv4\n\
-@@ -978,6 +1054,7 @@ help(void)
- \t-h This help text\n\
- \t-I length TCP receive buffer length\n\
- \t-i secs\t Delay interval for lines sent, ports scanned\n\
-+ \t-j Use jumbo frame\n\
- \t-k Keep inbound sockets open for multiple connects\n\
- \t-l Listen mode, for inbound connects\n\
- \t-n Suppress name/port resolutions\n\
-@@ -998,15 +1075,15 @@ help(void)
- \t-x addr[:port]\tSpecify proxy address and port\n\
- \t-z Zero-I/O mode [used for scanning]\n\
- Port numbers can be individual or ranges: lo-hi [inclusive]\n");
-- exit(1);
-+ exit(0);
- }
-
- void
- usage(int ret)
- {
- fprintf(stderr,
-- "usage: nc [-46DdhklnrStUuvz] [-I length] [-i interval] [-O length]\n"
-- "\t [-P proxy_username] [-p source_port] [-s source] [-T ToS]\n"
-+ "usage: nc [-46DdhjklnrStUuvz] [-I length] [-i interval] [-O length]\n"
-+ "\t [-P proxy_username] [-p source_port] [-s source] [-T toskeyword]\n"
- "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n"
- "\t [-x proxy_address[:port]] [destination] [port]\n");
- if (ret)
-diff --git a/socks.c b/socks.c
-index 71108d5..befd0a9 100644
---- a/socks.c
-+++ b/socks.c
-@@ -38,7 +38,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <resolv.h>
--#include <readpassphrase.h>
-+#include <bsd/readpassphrase.h>
- #include "atomicio.h"
-
- #define SOCKS_PORT "1080"
-@@ -167,11 +167,11 @@ socks_connect(const char *host, const char *port,
- buf[2] = SOCKS_NOAUTH;
- cnt = atomicio(vwrite, proxyfd, buf, 3);
- if (cnt != 3)
-- err(1, "write failed (%zu/3)", cnt);
-+ err(1, "write failed (%zu/3)", (size_t)cnt);
-
- cnt = atomicio(read, proxyfd, buf, 2);
- if (cnt != 2)
-- err(1, "read failed (%zu/3)", cnt);
-+ err(1, "read failed (%zu/3)", (size_t)cnt);
-
- if (buf[1] == SOCKS_NOMETHOD)
- errx(1, "authentication method negotiation failed");
-@@ -220,23 +220,23 @@ socks_connect(const char *host, const char *port,
-
- cnt = atomicio(vwrite, proxyfd, buf, wlen);
- if (cnt != wlen)
-- err(1, "write failed (%zu/%zu)", cnt, wlen);
-+ err(1, "write failed (%zu/%zu)", (size_t)cnt, (size_t)wlen);
-
- cnt = atomicio(read, proxyfd, buf, 4);
- if (cnt != 4)
-- err(1, "read failed (%zu/4)", cnt);
-+ err(1, "read failed (%zu/4)", (size_t)cnt);
- if (buf[1] != 0)
- errx(1, "connection failed, SOCKS error %d", buf[1]);
- switch (buf[3]) {
- case SOCKS_IPV4:
- cnt = atomicio(read, proxyfd, buf + 4, 6);
- if (cnt != 6)
-- err(1, "read failed (%d/6)", cnt);
-+ err(1, "read failed (%lu/6)", (unsigned long)cnt);
- break;
- case SOCKS_IPV6:
- cnt = atomicio(read, proxyfd, buf + 4, 18);
- if (cnt != 18)
-- err(1, "read failed (%d/18)", cnt);
-+ err(1, "read failed (%lu/18)", (unsigned long)cnt);
- break;
- default:
- errx(1, "connection failed, unsupported address type");
-@@ -256,11 +256,11 @@ socks_connect(const char *host, const char *port,
-
- cnt = atomicio(vwrite, proxyfd, buf, wlen);
- if (cnt != wlen)
-- err(1, "write failed (%zu/%zu)", cnt, wlen);
-+ err(1, "write failed (%zu/%zu)", (size_t)cnt, (size_t)wlen);
-
- cnt = atomicio(read, proxyfd, buf, 8);
- if (cnt != 8)
-- err(1, "read failed (%zu/8)", cnt);
-+ err(1, "read failed (%zu/8)", (size_t)cnt);
- if (buf[1] != 90)
- errx(1, "connection failed, SOCKS error %d", buf[1]);
- } else if (socksv == -1) {
-@@ -272,39 +272,39 @@ socks_connect(const char *host, const char *port,
-
- /* Try to be sane about numeric IPv6 addresses */
- if (strchr(host, ':') != NULL) {
-- r = snprintf(buf, sizeof(buf),
-+ r = snprintf((char*)buf, sizeof(buf),
- "CONNECT [%s]:%d HTTP/1.0\r\n",
- host, ntohs(serverport));
- } else {
-- r = snprintf(buf, sizeof(buf),
-+ r = snprintf((char*)buf, sizeof(buf),
- "CONNECT %s:%d HTTP/1.0\r\n",
- host, ntohs(serverport));
- }
- if (r == -1 || (size_t)r >= sizeof(buf))
- errx(1, "hostname too long");
-- r = strlen(buf);
-+ r = strlen((char*)buf);
-
- cnt = atomicio(vwrite, proxyfd, buf, r);
- if (cnt != r)
-- err(1, "write failed (%zu/%d)", cnt, r);
-+ err(1, "write failed (%zu/%d)", (size_t)cnt, (int)r);
-
- if (authretry > 1) {
- char resp[1024];
-
- proxypass = getproxypass(proxyuser, proxyhost);
-- r = snprintf(buf, sizeof(buf), "%s:%s",
-+ r = snprintf((char*)buf, sizeof(buf), "%s:%s",
- proxyuser, proxypass);
- if (r == -1 || (size_t)r >= sizeof(buf) ||
-- b64_ntop(buf, strlen(buf), resp,
-+ b64_ntop(buf, strlen((char*)buf), resp,
- sizeof(resp)) == -1)
- errx(1, "Proxy username/password too long");
-- r = snprintf(buf, sizeof(buf), "Proxy-Authorization: "
-+ r = snprintf((char*)buf, sizeof((char*)buf), "Proxy-Authorization: "
- "Basic %s\r\n", resp);
- if (r == -1 || (size_t)r >= sizeof(buf))
- errx(1, "Proxy auth response too long");
-- r = strlen(buf);
-+ r = strlen((char*)buf);
- if ((cnt = atomicio(vwrite, proxyfd, buf, r)) != r)
-- err(1, "write failed (%zu/%d)", cnt, r);
-+ err(1, "write failed (%zu/%d)", (size_t)cnt, r);
- }
-
- /* Terminate headers */
-@@ -312,22 +312,22 @@ socks_connect(const char *host, const char *port,
- err(1, "write failed (2/%d)", r);
-
- /* Read status reply */
-- proxy_read_line(proxyfd, buf, sizeof(buf));
-+ proxy_read_line(proxyfd, (char*)buf, sizeof(buf));
- if (proxyuser != NULL &&
-- strncmp(buf, "HTTP/1.0 407 ", 12) == 0) {
-+ strncmp((char*)buf, "HTTP/1.0 407 ", 12) == 0) {
- if (authretry > 1) {
- fprintf(stderr, "Proxy authentication "
- "failed\n");
- }
- close(proxyfd);
- goto again;
-- } else if (strncmp(buf, "HTTP/1.0 200 ", 12) != 0 &&
-- strncmp(buf, "HTTP/1.1 200 ", 12) != 0)
-+ } else if (strncmp((char*)buf, "HTTP/1.0 200 ", 12) != 0 &&
-+ strncmp((char*)buf, "HTTP/1.1 200 ", 12) != 0)
- errx(1, "Proxy error: \"%s\"", buf);
-
- /* Headers continue until we hit an empty line */
- for (r = 0; r < HTTP_MAXHDRS; r++) {
-- proxy_read_line(proxyfd, buf, sizeof(buf));
-+ proxy_read_line(proxyfd, (char*)buf, sizeof(buf));
- if (*buf == '\0')
- break;
- }
---
diff --git a/network/netcat-openbsd/patches/0002-connect-timeout.patch b/network/netcat-openbsd/patches/0002-connect-timeout.patch
deleted file mode 100644
index 30d1d550e1..0000000000
--- a/network/netcat-openbsd/patches/0002-connect-timeout.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 14:43:56 +0800
-Subject: connect timeout
-
----
- netcat.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 75 insertions(+), 2 deletions(-)
-
-diff --git a/netcat.c b/netcat.c
-index 9b2def2..f3cc8c1 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -106,6 +106,10 @@
- #define PORT_MAX_LEN 6
- #define UNIX_DG_TMP_SOCKET_SIZE 19
-
-+#define CONNECTION_SUCCESS 0
-+#define CONNECTION_FAILED 1
-+#define CONNECTION_TIMEOUT 2
-+
- /* Command Line Options */
- int dflag; /* detached, no stdin */
- unsigned int iflag; /* Interval Flag */
-@@ -151,6 +155,9 @@ void set_common_sockopts(int);
- int map_tos(char *, int *);
- void usage(int);
-
-+static int connect_with_timeout(int fd, const struct sockaddr *sa,
-+ socklen_t salen, int ctimeout);
-+
- int
- main(int argc, char *argv[])
- {
-@@ -651,11 +658,14 @@ remote_connect(const char *host, const char *port, struct addrinfo hints)
-
- set_common_sockopts(s);
-
-- if (timeout_connect(s, res0->ai_addr, res0->ai_addrlen) == 0)
-+ if ((error = connect_with_timeout(s, res0->ai_addr, res0->ai_addrlen, timeout))== CONNECTION_SUCCESS)
- break;
-- else if (vflag)
-+ else if (vflag && error == CONNECTION_FAILED)
- warn("connect to %s port %s (%s) failed", host, port,
- uflag ? "udp" : "tcp");
-+ else if (vflag && error == CONNECTION_TIMEOUT)
-+ warn("connect to %s port %s (%s) timed out", host, port,
-+ uflag ? "udp" : "tcp");
-
- close(s);
- s = -1;
-@@ -703,6 +713,69 @@ timeout_connect(int s, const struct sockaddr *name, socklen_t namelen)
- return (ret);
- }
-
-+static int connect_with_timeout(int fd, const struct sockaddr *sa,
-+ socklen_t salen, int ctimeout)
-+{
-+ int err;
-+ struct timeval tv, *tvp = NULL;
-+ fd_set connect_fdset;
-+ socklen_t len;
-+ int orig_flags;
-+
-+ orig_flags = fcntl(fd, F_GETFL, 0);
-+ if (fcntl(fd, F_SETFL, orig_flags | O_NONBLOCK) < 0 ) {
-+ warn("can't set O_NONBLOCK - timeout not available");
-+ if (connect(fd, sa, salen) == 0)
-+ return CONNECTION_SUCCESS;
-+ else
-+ return CONNECTION_FAILED;
-+ }
-+
-+ /* set connect timeout */
-+ if (ctimeout > 0) {
-+ tv.tv_sec = (time_t)ctimeout/1000;
-+ tv.tv_usec = 0;
-+ tvp = &tv;
-+ }
-+
-+ /* attempt the connection */
-+ err = connect(fd, sa, salen);
-+ if (err != 0 && errno == EINPROGRESS) {
-+ /* connection is proceeding
-+ * it is complete (or failed) when select returns */
-+
-+ /* initialize connect_fdset */
-+ FD_ZERO(&connect_fdset);
-+ FD_SET(fd, &connect_fdset);
-+
-+ /* call select */
-+ do {
-+ err = select(fd + 1, NULL, &connect_fdset,
-+ NULL, tvp);
-+ } while (err < 0 && errno == EINTR);
-+
-+ /* select error */
-+ if (err < 0)
-+ errx(1,"select error: %s", strerror(errno));
-+ /* we have reached a timeout */
-+ if (err == 0)
-+ return CONNECTION_TIMEOUT;
-+ /* select returned successfully, but we must test socket
-+ * error for result */
-+ len = sizeof(err);
-+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &err, &len) < 0)
-+ errx(1, "getsockopt error: %s", strerror(errno));
-+ /* setup errno according to the result returned by
-+ * getsockopt */
-+ if (err != 0)
-+ errno = err;
-+ }
-+
-+ /* return aborted if an error occured, and valid otherwise */
-+ fcntl(fd, F_SETFL, orig_flags);
-+ return (err != 0)? CONNECTION_FAILED : CONNECTION_SUCCESS;
-+}
-+
- /*
- * local_listen()
- * Returns a socket listening on a local port, binds to specified source
---
diff --git a/network/netcat-openbsd/patches/0003-get-sev-by-name.patch b/network/netcat-openbsd/patches/0003-get-sev-by-name.patch
deleted file mode 100644
index 1d1cca8a46..0000000000
--- a/network/netcat-openbsd/patches/0003-get-sev-by-name.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 14:45:08 +0800
-Subject: get sev by name
-
----
- netcat.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/netcat.c b/netcat.c
-index f3cc8c1..d912544 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -949,12 +949,19 @@ atelnet(int nfd, unsigned char *buf, unsigned int size)
- void
- build_ports(char *p)
- {
-+ struct servent *sv;
- const char *errstr;
- char *n;
- int hi, lo, cp;
- int x = 0;
-
-- if ((n = strchr(p, '-')) != NULL) {
-+ sv = getservbyname(p, uflag ? "udp" : "tcp");
-+ if (sv) {
-+ portlist[0] = calloc(1, PORT_MAX_LEN);
-+ if (portlist[0] == NULL)
-+ err(1, NULL);
-+ snprintf(portlist[0], PORT_MAX_LEN, "%d", ntohs(sv->s_port));
-+ } else if ((n = strchr(p, '-')) != NULL) {
- *n = '\0';
- n++;
-
---
diff --git a/network/netcat-openbsd/patches/0004-poll-hup.patch b/network/netcat-openbsd/patches/0004-poll-hup.patch
deleted file mode 100644
index 14923cbfa2..0000000000
--- a/network/netcat-openbsd/patches/0004-poll-hup.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 15:08:33 +0800
-Subject: poll hup
-
----
- netcat.c | 24 +++++++++++++++++-------
- 1 file changed, 17 insertions(+), 7 deletions(-)
-
-diff --git a/netcat.c b/netcat.c
-index d912544..fdaca44 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -884,9 +884,7 @@ readwrite(int nfd)
- if ((n = read(nfd, buf, plen)) < 0)
- return;
- else if (n == 0) {
-- shutdown(nfd, SHUT_RD);
-- pfd[0].fd = -1;
-- pfd[0].events = 0;
-+ goto shutdown_rd;
- } else {
- if (tflag)
- atelnet(nfd, buf, n);
-@@ -894,18 +892,30 @@ readwrite(int nfd)
- return;
- }
- }
-+ else if (pfd[0].revents & POLLHUP) {
-+ shutdown_rd:
-+ shutdown(nfd, SHUT_RD);
-+ pfd[0].fd = -1;
-+ pfd[0].events = 0;
-+ }
-
-- if (!dflag && pfd[1].revents & POLLIN) {
-+ if (!dflag) {
-+ if(pfd[1].revents & POLLIN) {
- if ((n = read(wfd, buf, plen)) < 0)
- return;
- else if (n == 0) {
-- shutdown(nfd, SHUT_WR);
-- pfd[1].fd = -1;
-- pfd[1].events = 0;
-+ goto shutdown_wr;
- } else {
- if (atomicio(vwrite, nfd, buf, n) != n)
- return;
- }
-+ }
-+ else if (pfd[1].revents & POLLHUP) {
-+ shutdown_wr:
-+ shutdown(nfd, SHUT_WR);
-+ pfd[1].fd = -1;
-+ pfd[1].events = 0;
-+ }
- }
- }
- }
---
diff --git a/network/netcat-openbsd/patches/0005-send-crlf.patch b/network/netcat-openbsd/patches/0005-send-crlf.patch
deleted file mode 100644
index 1a5fc6eeb8..0000000000
--- a/network/netcat-openbsd/patches/0005-send-crlf.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 14:57:45 +0800
-Subject: send crlf
-
----
- nc.1 | 6 ++++--
- netcat.c | 21 +++++++++++++++++----
- 2 files changed, 21 insertions(+), 6 deletions(-)
-
-diff --git a/nc.1 b/nc.1
-index b7014a2..af44976 100644
---- a/nc.1
-+++ b/nc.1
-@@ -34,7 +34,7 @@
- .Sh SYNOPSIS
- .Nm nc
- .Bk -words
--.Op Fl 46DdhklnrStUuvz
-+.Op Fl 46CDdhklnrStUuvz
- .Op Fl I Ar length
- .Op Fl i Ar interval
- .Op Fl O Ar length
-@@ -98,6 +98,8 @@ to use IPv4 addresses only.
- Forces
- .Nm
- to use IPv6 addresses only.
-+.It Fl C
-+Send CRLF as line-ending.
- .It Fl D
- Enable debugging on the socket.
- .It Fl d
-@@ -355,7 +357,7 @@ More complicated examples can be built up when the user knows the format
- of requests required by the server.
- As another example, an email may be submitted to an SMTP server using:
- .Bd -literal -offset indent
--$ nc localhost 25 \*(Lt\*(Lt EOF
-+$ nc [\-C] localhost 25 \*(Lt\*(Lt EOF
- HELO host.example.com
- MAIL FROM:\*(Ltuser@host.example.com\*(Gt
- RCPT TO:\*(Ltuser2@host.example.com\*(Gt
-diff --git a/netcat.c b/netcat.c
-index fdaca44..4f4d2bf 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -111,6 +111,7 @@
- #define CONNECTION_TIMEOUT 2
-
- /* Command Line Options */
-+int Cflag = 0; /* CRLF line-ending */
- int dflag; /* detached, no stdin */
- unsigned int iflag; /* Interval Flag */
- int jflag; /* use jumbo frames if we can */
-@@ -180,7 +181,7 @@ main(int argc, char *argv[])
- sv = NULL;
-
- while ((ch = getopt(argc, argv,
-- "46DdhI:i:jklnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) {
-+ "46CDdhI:i:jklnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) {
- switch (ch) {
- case '4':
- family = AF_INET;
-@@ -309,6 +310,9 @@ main(int argc, char *argv[])
- if (Tflag < 0 || Tflag > 255 || errstr || errno)
- errx(1, "illegal tos value %s", optarg);
- break;
-+ case 'C':
-+ Cflag = 1;
-+ break;
- default:
- usage(1);
- }
-@@ -906,8 +910,16 @@ readwrite(int nfd)
- else if (n == 0) {
- goto shutdown_wr;
- } else {
-- if (atomicio(vwrite, nfd, buf, n) != n)
-- return;
-+ if ((Cflag) && (buf[n-1]=='\n')) {
-+ if (atomicio(vwrite, nfd, buf, n-1) != (n-1))
-+ return;
-+ if (atomicio(vwrite, nfd, "\r\n", 2) != 2)
-+ return;
-+ }
-+ else {
-+ if (atomicio(vwrite, nfd, buf, n) != n)
-+ return;
-+ }
- }
- }
- else if (pfd[1].revents & POLLHUP) {
-@@ -1139,6 +1151,7 @@ help(void)
- fprintf(stderr, "\tCommand Summary:\n\
- \t-4 Use IPv4\n\
- \t-6 Use IPv6\n\
-+ \t-C Send CRLF as line-ending\n\
- \t-D Enable the debug socket option\n\
- \t-d Detach from stdin\n\
- \t-h This help text\n\
-@@ -1172,7 +1185,7 @@ void
- usage(int ret)
- {
- fprintf(stderr,
-- "usage: nc [-46DdhjklnrStUuvz] [-I length] [-i interval] [-O length]\n"
-+ "usage: nc [-46CDdhjklnrStUuvz] [-I length] [-i interval] [-O length]\n"
- "\t [-P proxy_username] [-p source_port] [-s source] [-T toskeyword]\n"
- "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n"
- "\t [-x proxy_address[:port]] [destination] [port]\n");
---
diff --git a/network/netcat-openbsd/patches/0006-quit-timer.patch b/network/netcat-openbsd/patches/0006-quit-timer.patch
deleted file mode 100644
index 40d6a2a3a5..0000000000
--- a/network/netcat-openbsd/patches/0006-quit-timer.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 15:16:04 +0800
-Subject: quit timer
-
----
- nc.1 | 5 +++++
- netcat.c | 38 +++++++++++++++++++++++++++++++++-----
- 2 files changed, 38 insertions(+), 5 deletions(-)
-
-diff --git a/nc.1 b/nc.1
-index af44976..0d92b74 100644
---- a/nc.1
-+++ b/nc.1
-@@ -40,6 +40,7 @@
- .Op Fl O Ar length
- .Op Fl P Ar proxy_username
- .Op Fl p Ar source_port
-+.Op Fl q Ar seconds
- .Op Fl s Ar source
- .Op Fl T Ar toskeyword
- .Op Fl V Ar rtable
-@@ -148,6 +149,10 @@ Proxy authentication is only supported for HTTP CONNECT proxies at present.
- Specifies the source port
- .Nm
- should use, subject to privilege restrictions and availability.
-+.It Fl q Ar seconds
-+after EOF on stdin, wait the specified number of seconds and then quit. If
-+.Ar seconds
-+is negative, wait forever.
- .It Fl r
- Specifies that source and/or destination ports should be chosen randomly
- instead of sequentially within a range or in the order that the system
-diff --git a/netcat.c b/netcat.c
-index 4f4d2bf..29ecf1a 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -86,6 +86,7 @@
- #include <errno.h>
- #include <netdb.h>
- #include <poll.h>
-+#include <signal.h>
- #include <stdarg.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -120,6 +121,7 @@ int lflag; /* Bind to local port */
- int nflag; /* Don't do name look up */
- char *Pflag; /* Proxy username */
- char *pflag; /* Localport flag */
-+int qflag = 0; /* Quit after some secs */
- int rflag; /* Random ports flag */
- char *sflag; /* Source Address */
- int tflag; /* Telnet Emulation */
-@@ -158,6 +160,7 @@ void usage(int);
-
- static int connect_with_timeout(int fd, const struct sockaddr *sa,
- socklen_t salen, int ctimeout);
-+static void quit();
-
- int
- main(int argc, char *argv[])
-@@ -181,7 +184,7 @@ main(int argc, char *argv[])
- sv = NULL;
-
- while ((ch = getopt(argc, argv,
-- "46CDdhI:i:jklnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) {
-+ "46CDdhI:i:jklnO:P:p:q:rSs:tT:UuV:vw:X:x:z")) != -1) {
- switch (ch) {
- case '4':
- family = AF_INET;
-@@ -235,6 +238,11 @@ main(int argc, char *argv[])
- case 'p':
- pflag = optarg;
- break;
-+ case 'q':
-+ qflag = strtonum(optarg, INT_MIN, INT_MAX, &errstr);
-+ if (errstr)
-+ errx(1, "quit timer %s: %s", errstr, optarg);
-+ break;
- case 'r':
- rflag = 1;
- break;
-@@ -924,9 +932,18 @@ readwrite(int nfd)
- }
- else if (pfd[1].revents & POLLHUP) {
- shutdown_wr:
-+ /* if the user asked to exit on EOF, do it */
-+ if (qflag == 0) {
- shutdown(nfd, SHUT_WR);
-- pfd[1].fd = -1;
-- pfd[1].events = 0;
-+ close(wfd);
-+ }
-+ /* if user asked to die after a while, arrange for it */
-+ if (qflag > 0) {
-+ signal(SIGALRM, quit);
-+ alarm(qflag);
-+ }
-+ pfd[1].fd = -1;
-+ pfd[1].events = 0;
- }
- }
- }
-@@ -1164,6 +1181,7 @@ help(void)
- \t-O length TCP send buffer length\n\
- \t-P proxyuser\tUsername for proxy authentication\n\
- \t-p port\t Specify local port for remote connects\n\
-+ \t-q secs\t quit after EOF on stdin and delay of secs\n\
- \t-r Randomize remote ports\n\
- \t-S Enable the TCP MD5 signature option\n\
- \t-s addr\t Local source address\n\
-@@ -1186,9 +1204,19 @@ usage(int ret)
- {
- fprintf(stderr,
- "usage: nc [-46CDdhjklnrStUuvz] [-I length] [-i interval] [-O length]\n"
-- "\t [-P proxy_username] [-p source_port] [-s source] [-T toskeyword]\n"
-- "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n"
-+ "\t [-P proxy_username] [-p source_port] [-q seconds] [-s source]\n"
-+ "\t [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]\n"
- "\t [-x proxy_address[:port]] [destination] [port]\n");
- if (ret)
- exit(1);
- }
-+
-+/*
-+ * quit()
-+ * handler for a "-q" timeout (exit 0 instead of 1)
-+ */
-+static void quit()
-+{
-+ /* XXX: should explicitly close fds here */
-+ exit(0);
-+}
---
diff --git a/network/netcat-openbsd/patches/0007-udp-scan-timeout.patch b/network/netcat-openbsd/patches/0007-udp-scan-timeout.patch
deleted file mode 100644
index c63775a495..0000000000
--- a/network/netcat-openbsd/patches/0007-udp-scan-timeout.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 15:29:37 +0800
-Subject: udp scan timeout
-
----
- netcat.c | 25 ++++++++++++++++---------
- 1 file changed, 16 insertions(+), 9 deletions(-)
-
-diff --git a/netcat.c b/netcat.c
-index 29ecf1a..baab909 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -111,6 +111,8 @@
- #define CONNECTION_FAILED 1
- #define CONNECTION_TIMEOUT 2
-
-+#define UDP_SCAN_TIMEOUT 3 /* Seconds */
-+
- /* Command Line Options */
- int Cflag = 0; /* CRLF line-ending */
- int dflag; /* detached, no stdin */
-@@ -497,7 +499,7 @@ main(int argc, char *argv[])
- continue;
-
- ret = 0;
-- if (vflag || zflag) {
-+ if (vflag) {
- /* For UDP, make sure we are connected. */
- if (uflag) {
- if (udptest(s) == -1) {
-@@ -1057,15 +1059,20 @@ build_ports(char *p)
- int
- udptest(int s)
- {
-- int i, ret;
--
-- for (i = 0; i <= 3; i++) {
-- if (write(s, "X", 1) == 1)
-- ret = 1;
-- else
-- ret = -1;
-+ int i, t;
-+
-+ if ((write(s, "X", 1) != 1) ||
-+ ((write(s, "X", 1) != 1) && (errno == ECONNREFUSED)))
-+ return -1;
-+
-+ /* Give the remote host some time to reply. */
-+ for (i = 0, t = (timeout == -1) ? UDP_SCAN_TIMEOUT : (timeout / 1000);
-+ i < t; i++) {
-+ sleep(1);
-+ if ((write(s, "X", 1) != 1) && (errno == ECONNREFUSED))
-+ return -1;
- }
-- return (ret);
-+ return 1;
- }
-
- void
---
diff --git a/network/netcat-openbsd/patches/0008-verbose-numeric-port.patch b/network/netcat-openbsd/patches/0008-verbose-numeric-port.patch
deleted file mode 100644
index fa1cf991a0..0000000000
--- a/network/netcat-openbsd/patches/0008-verbose-numeric-port.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 15:38:15 +0800
-Subject: verbose numeric port
-
----
- netcat.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 55 insertions(+), 4 deletions(-)
-
-diff --git a/netcat.c b/netcat.c
-index baab909..eb3453e 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -41,6 +41,7 @@
- #include <netinet/tcp.h>
- #include <netinet/ip.h>
- #include <arpa/telnet.h>
-+#include <arpa/inet.h>
-
- #ifndef IPTOS_LOWDELAY
- # define IPTOS_LOWDELAY 0x10
-@@ -424,6 +425,18 @@ main(int argc, char *argv[])
- s = local_listen(host, uport, hints);
- if (s < 0)
- err(1, NULL);
-+
-+ char* local;
-+ if (family == AF_INET6
-+ local = "0.0.0.0";
-+ else if (family == AF_INET)
-+ local = ":::";
-+ else
-+ local = "unknown"
-+ fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
-+ host ?: local,
-+ family,
-+ *uport);
- /*
- * For UDP, we will use recvfrom() initially
- * to wait for a caller, then use the regular
-@@ -432,16 +445,15 @@ main(int argc, char *argv[])
- if (uflag) {
- int rv, plen;
- char buf[16384];
-- struct sockaddr_storage z;
-
-- len = sizeof(z);
-+ len = sizeof(cliaddr);
- plen = jflag ? 16384 : 2048;
- rv = recvfrom(s, buf, plen, MSG_PEEK,
-- (struct sockaddr *)&z, &len);
-+ (struct sockaddr *)&cliaddr, &len);
- if (rv < 0)
- err(1, "recvfrom");
-
-- rv = connect(s, (struct sockaddr *)&z, len);
-+ rv = connect(s, (struct sockaddr *)&cliaddr, len);
- if (rv < 0)
- err(1, "connect");
-
-@@ -450,6 +462,45 @@ main(int argc, char *argv[])
- len = sizeof(cliaddr);
- connfd = accept(s, (struct sockaddr *)&cliaddr,
- &len);
-+ if(vflag) {
-+ /* Don't look up port if -n. */
-+ if (nflag)
-+ sv = NULL;
-+ else
-+ sv = getservbyport(ntohs(atoi(uport)),
-+ uflag ? "udp" : "tcp");
-+
-+ if (((struct sockaddr *)&cliaddr)->sa_family == AF_INET) {
-+ char dst[INET_ADDRSTRLEN];
-+ inet_ntop(((struct sockaddr *)&cliaddr)->sa_family,&(((struct sockaddr_in *)&cliaddr)->sin_addr),dst,INET_ADDRSTRLEN);
-+ fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n",
-+ dst,
-+ uport,
-+ uflag ? "udp" : "tcp",
-+ sv ? sv->s_name : "*",
-+ ((struct sockaddr *)(&cliaddr))->sa_family,
-+ ntohs(((struct sockaddr_in *)&cliaddr)->sin_port));
-+ }
-+ else if(((struct sockaddr *)&cliaddr)->sa_family == AF_INET6) {
-+ char dst[INET6_ADDRSTRLEN];
-+ inet_ntop(((struct sockaddr *)&cliaddr)->sa_family,&(((struct sockaddr_in6 *)&cliaddr)->sin6_addr),dst,INET6_ADDRSTRLEN);
-+ fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n",
-+ dst,
-+ uport,
-+ uflag ? "udp" : "tcp",
-+ sv ? sv->s_name : "*",
-+ ((struct sockaddr *)&cliaddr)->sa_family,
-+ ntohs(((struct sockaddr_in6 *)&cliaddr)->sin6_port));
-+ }
-+ else {
-+ fprintf(stderr, "Connection from unknown port %s [%s/%s] accepted (family %d, sport %d)\n",
-+ uport,
-+ uflag ? "udp" : "tcp",
-+ sv ? sv->s_name : "*",
-+ ((struct sockaddr *)(&cliaddr))->sa_family,
-+ ntohs(((struct sockaddr_in *)&cliaddr)->sin_port));
-+ }
-+ }
- readwrite(connfd);
- close(connfd);
- }
---
diff --git a/network/netcat-openbsd/patches/0009-dccp-support.patch b/network/netcat-openbsd/patches/0009-dccp-support.patch
deleted file mode 100644
index 3a81b4b5ce..0000000000
--- a/network/netcat-openbsd/patches/0009-dccp-support.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 15:56:51 +0800
-Subject: dccp support
-
----
- nc.1 | 4 ++-
- netcat.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++------------
- 2 files changed, 93 insertions(+), 22 deletions(-)
-
-diff --git a/nc.1 b/nc.1
-index 0d92b74..60e3668 100644
---- a/nc.1
-+++ b/nc.1
-@@ -34,7 +34,7 @@
- .Sh SYNOPSIS
- .Nm nc
- .Bk -words
--.Op Fl 46CDdhklnrStUuvz
-+.Op Fl 46CDdhklnrStUuvZz
- .Op Fl I Ar length
- .Op Fl i Ar interval
- .Op Fl O Ar length
-@@ -257,6 +257,8 @@ If
- .Ar port
- is not specified, the well-known port for the proxy protocol is used (1080
- for SOCKS, 3128 for HTTPS).
-+.It Fl Z
-+DCCP mode.
- .It Fl z
- Specifies that
- .Nm
-diff --git a/netcat.c b/netcat.c
-index eb3453e..56cc15e 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -129,6 +129,7 @@ int rflag; /* Random ports flag */
- char *sflag; /* Source Address */
- int tflag; /* Telnet Emulation */
- int uflag; /* UDP - Default to TCP */
-+int dccpflag; /* DCCP - Default to TCP */
- int vflag; /* Verbosity */
- int xflag; /* Socks proxy */
- int zflag; /* Port Scan Flag */
-@@ -160,6 +161,7 @@ int unix_listen(char *);
- void set_common_sockopts(int);
- int map_tos(char *, int *);
- void usage(int);
-+char *proto_name(int uflag, int dccpflag);
-
- static int connect_with_timeout(int fd, const struct sockaddr *sa,
- socklen_t salen, int ctimeout);
-@@ -187,7 +189,7 @@ main(int argc, char *argv[])
- sv = NULL;
-
- while ((ch = getopt(argc, argv,
-- "46CDdhI:i:jklnO:P:p:q:rSs:tT:UuV:vw:X:x:z")) != -1) {
-+ "46CDdhI:i:jklnO:P:p:q:rSs:tT:UuV:vw:X:x:Zz")) != -1) {
- switch (ch) {
- case '4':
- family = AF_INET;
-@@ -258,6 +260,13 @@ main(int argc, char *argv[])
- case 'u':
- uflag = 1;
- break;
-+ case 'Z':
-+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
-+ dccpflag = 1;
-+# else
-+ errx(1, "no DCCP support available");
-+# endif
-+ break;
- case 'V':
- # if defined(RT_TABLEID_MAX)
- rtableid = (unsigned int)strtonum(optarg, 0,
-@@ -333,6 +342,12 @@ main(int argc, char *argv[])
-
- /* Cruft to make sure options are clean, and used properly. */
- if (argv[0] && !argv[1] && family == AF_UNIX) {
-+ if (uflag)
-+ errx(1, "cannot use -u and -U");
-+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
-+ if (dccpflag)
-+ errx(1, "cannot use -Z and -U");
-+# endif
- host = argv[0];
- uport = NULL;
- } else if (!argv[0] && lflag) {
-@@ -374,8 +389,20 @@ main(int argc, char *argv[])
- if (family != AF_UNIX) {
- memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_family = family;
-- hints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
-- hints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
-+ if (uflag) {
-+ hints.ai_socktype = SOCK_DGRAM;
-+ hints.ai_protocol = IPPROTO_UDP;
-+ }
-+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
-+ else if (dccpflag) {
-+ hints.ai_socktype = SOCK_DCCP;
-+ hints.ai_protocol = IPPROTO_DCCP;
-+ }
-+# endif
-+ else {
-+ hints.ai_socktype = SOCK_STREAM;
-+ hints.ai_protocol = IPPROTO_TCP;
-+ }
- if (nflag)
- hints.ai_flags |= AI_NUMERICHOST;
- }
-@@ -383,7 +410,10 @@ main(int argc, char *argv[])
- if (xflag) {
- if (uflag)
- errx(1, "no proxy support for UDP mode");
--
-+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
-+ if (dccpflag)
-+ errx(1, "no proxy support for DCCP mode");
-+# endif
- if (lflag)
- errx(1, "no proxy support for listen");
-
-@@ -427,12 +457,12 @@ main(int argc, char *argv[])
- err(1, NULL);
-
- char* local;
-- if (family == AF_INET6
-+ if (family == AF_INET6 )
- local = "0.0.0.0";
- else if (family == AF_INET)
- local = ":::";
- else
-- local = "unknown"
-+ local = "unknown";
- fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
- host ?: local,
- family,
-@@ -463,12 +493,13 @@ main(int argc, char *argv[])
- connfd = accept(s, (struct sockaddr *)&cliaddr,
- &len);
- if(vflag) {
-+ char *proto = proto_name(uflag, dccpflag);
- /* Don't look up port if -n. */
- if (nflag)
- sv = NULL;
- else
- sv = getservbyport(ntohs(atoi(uport)),
-- uflag ? "udp" : "tcp");
-+ proto);
-
- if (((struct sockaddr *)&cliaddr)->sa_family == AF_INET) {
- char dst[INET_ADDRSTRLEN];
-@@ -476,7 +507,7 @@ main(int argc, char *argv[])
- fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n",
- dst,
- uport,
-- uflag ? "udp" : "tcp",
-+ proto,
- sv ? sv->s_name : "*",
- ((struct sockaddr *)(&cliaddr))->sa_family,
- ntohs(((struct sockaddr_in *)&cliaddr)->sin_port));
-@@ -487,7 +518,7 @@ main(int argc, char *argv[])
- fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n",
- dst,
- uport,
-- uflag ? "udp" : "tcp",
-+ proto,
- sv ? sv->s_name : "*",
- ((struct sockaddr *)&cliaddr)->sa_family,
- ntohs(((struct sockaddr_in6 *)&cliaddr)->sin6_port));
-@@ -495,7 +526,7 @@ main(int argc, char *argv[])
- else {
- fprintf(stderr, "Connection from unknown port %s [%s/%s] accepted (family %d, sport %d)\n",
- uport,
-- uflag ? "udp" : "tcp",
-+ proto,
- sv ? sv->s_name : "*",
- ((struct sockaddr *)(&cliaddr))->sa_family,
- ntohs(((struct sockaddr_in *)&cliaddr)->sin_port));
-@@ -559,19 +590,20 @@ main(int argc, char *argv[])
- }
- }
-
-+ char *proto = proto_name(uflag, dccpflag);
- /* Don't look up port if -n. */
- if (nflag)
- sv = NULL;
- else {
- sv = getservbyport(
- ntohs(atoi(portlist[i])),
-- uflag ? "udp" : "tcp");
-+ proto);
- }
-
- fprintf(stderr,
- "Connection to %s %s port [%s/%s] "
- "succeeded!\n", host, portlist[i],
-- uflag ? "udp" : "tcp",
-+ proto,
- sv ? sv->s_name : "*");
- }
- if (!zflag)
-@@ -671,6 +703,24 @@ unix_listen(char *path)
- return (s);
- }
-
-+char *proto_name(uflag, dccpflag) {
-+
-+ char *proto = NULL;
-+ if (uflag) {
-+ proto = "udp";
-+ }
-+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
-+ else if (dccpflag) {
-+ proto = "dccp";
-+ }
-+# endif
-+ else {
-+ proto = "tcp";
-+ }
-+
-+ return proto;
-+}
-+
- /*
- * remote_connect()
- * Returns a socket connected to a remote host. Properly binds to a local
-@@ -709,8 +759,21 @@ remote_connect(const char *host, const char *port, struct addrinfo hints)
- # endif
- memset(&ahints, 0, sizeof(struct addrinfo));
- ahints.ai_family = res0->ai_family;
-- ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
-- ahints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
-+ if (uflag) {
-+ ahints.ai_socktype = SOCK_DGRAM;
-+ ahints.ai_protocol = IPPROTO_UDP;
-+
-+ }
-+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
-+ else if (dccpflag) {
-+ hints.ai_socktype = SOCK_DCCP;
-+ hints.ai_protocol = IPPROTO_DCCP;
-+ }
-+# endif
-+ else {
-+ ahints.ai_socktype = SOCK_STREAM;
-+ ahints.ai_protocol = IPPROTO_TCP;
-+ }
- ahints.ai_flags = AI_PASSIVE;
- if ((error = getaddrinfo(sflag, pflag, &ahints, &ares)))
- errx(1, "getaddrinfo: %s", gai_strerror(error));
-@@ -722,15 +785,19 @@ remote_connect(const char *host, const char *port, struct addrinfo hints)
- }
-
- set_common_sockopts(s);
-+ char *proto = proto_name(uflag, dccpflag);
-
-- if ((error = connect_with_timeout(s, res0->ai_addr, res0->ai_addrlen, timeout))== CONNECTION_SUCCESS)
-+ if ((error = connect_with_timeout(s, res0->ai_addr, res0->ai_addrlen, timeout))== CONNECTION_SUCCESS) {
- break;
-- else if (vflag && error == CONNECTION_FAILED)
-+ }
-+ else if (vflag && error == CONNECTION_FAILED) {
- warn("connect to %s port %s (%s) failed", host, port,
-- uflag ? "udp" : "tcp");
-- else if (vflag && error == CONNECTION_TIMEOUT)
-+ proto);
-+ }
-+ else if (vflag && error == CONNECTION_TIMEOUT) {
- warn("connect to %s port %s (%s) timed out", host, port,
-- uflag ? "udp" : "tcp");
-+ proto);
-+ }
-
- close(s);
- s = -1;
-@@ -1047,7 +1114,8 @@ build_ports(char *p)
- int hi, lo, cp;
- int x = 0;
-
-- sv = getservbyname(p, uflag ? "udp" : "tcp");
-+ char *proto = proto_name(uflag, dccpflag);
-+ sv = getservbyname(p, proto);
- if (sv) {
- portlist[0] = calloc(1, PORT_MAX_LEN);
- if (portlist[0] == NULL)
-@@ -1252,6 +1320,7 @@ help(void)
- \t-w secs\t Timeout for connects and final net reads\n\
- \t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\
- \t-x addr[:port]\tSpecify proxy address and port\n\
-+ \t-Z DCCP mode\n\
- \t-z Zero-I/O mode [used for scanning]\n\
- Port numbers can be individual or ranges: lo-hi [inclusive]\n");
- exit(0);
-@@ -1261,7 +1330,7 @@ void
- usage(int ret)
- {
- fprintf(stderr,
-- "usage: nc [-46CDdhjklnrStUuvz] [-I length] [-i interval] [-O length]\n"
-+ "usage: nc [-46CDdhjklnrStUuvZz] [-I length] [-i interval] [-O length]\n"
- "\t [-P proxy_username] [-p source_port] [-q seconds] [-s source]\n"
- "\t [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]\n"
- "\t [-x proxy_address[:port]] [destination] [port]\n");
---
diff --git a/network/netcat-openbsd/patches/0010-serialized-handling-multiple-clients.patch b/network/netcat-openbsd/patches/0010-serialized-handling-multiple-clients.patch
deleted file mode 100644
index 0d3ea68b96..0000000000
--- a/network/netcat-openbsd/patches/0010-serialized-handling-multiple-clients.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Tue, 14 Feb 2012 23:02:00 +0800
-Subject: serialized handling multiple clients
-
----
- netcat.c | 39 +++++++++++++++++++--------------------
- 1 file changed, 19 insertions(+), 20 deletions(-)
-
-diff --git a/netcat.c b/netcat.c
-index 56cc15e..bf9940f 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -447,26 +447,24 @@ main(int argc, char *argv[])
- s = unix_bind(host);
- else
- s = unix_listen(host);
-- }
-+ } else
-+ s = local_listen(host, uport, hints);
-+ if (s < 0)
-+ err(1, NULL);
-+
-+ char* local;
-+ if (family == AF_INET6)
-+ local = ":::";
-+ else
-+ local = "0.0.0.0";
-+ fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
-+ host ?: local,
-+ family,
-+ *uport);
-
- /* Allow only one connection at a time, but stay alive. */
- for (;;) {
-- if (family != AF_UNIX)
-- s = local_listen(host, uport, hints);
-- if (s < 0)
-- err(1, NULL);
-
-- char* local;
-- if (family == AF_INET6 )
-- local = "0.0.0.0";
-- else if (family == AF_INET)
-- local = ":::";
-- else
-- local = "unknown";
-- fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
-- host ?: local,
-- family,
-- *uport);
- /*
- * For UDP, we will use recvfrom() initially
- * to wait for a caller, then use the regular
-@@ -536,15 +534,16 @@ main(int argc, char *argv[])
- close(connfd);
- }
-
-- if (family != AF_UNIX)
-+ if (kflag)
-+ continue;
-+ if (family != AF_UNIX) {
- close(s);
-+ }
- else if (uflag) {
- if (connect(s, NULL, 0) < 0)
- err(1, "connect");
- }
--
-- if (!kflag)
-- break;
-+ break;
- }
- } else if (family == AF_UNIX) {
- ret = 0;
---
diff --git a/network/netcat-openbsd/patches/0011-misc-failures-and-features.patch b/network/netcat-openbsd/patches/0011-misc-failures-and-features.patch
deleted file mode 100644
index 3ed0523cff..0000000000
--- a/network/netcat-openbsd/patches/0011-misc-failures-and-features.patch
+++ /dev/null
@@ -1,457 +0,0 @@
-From: Aron Xu <aron@debian.org>
-Date: Mon, 13 Feb 2012 19:06:52 +0800
-Subject: misc connection failures
-
----
- nc.1 | 76 ++++++++++++++++++++++++++++++++++++---
- netcat.c | 119 ++++++++++++++++++++++++++++++++++++++++++--------------------
- 2 files changed, 153 insertions(+), 42 deletions(-)
-
-diff --git a/nc.1 b/nc.1
-index 60e3668..477cb1b 100644
---- a/nc.1
-+++ b/nc.1
-@@ -34,7 +34,7 @@
- .Sh SYNOPSIS
- .Nm nc
- .Bk -words
--.Op Fl 46CDdhklnrStUuvZz
-+.Op Fl 46bCDdhklnrStUuvZz
- .Op Fl I Ar length
- .Op Fl i Ar interval
- .Op Fl O Ar length
-@@ -99,6 +99,8 @@ to use IPv4 addresses only.
- Forces
- .Nm
- to use IPv6 addresses only.
-+.It Fl b
-+Allow broadcast.
- .It Fl C
- Send CRLF as line-ending.
- .It Fl D
-@@ -323,6 +325,54 @@ and which side is being used as a
- The connection may be terminated using an
- .Dv EOF
- .Pq Sq ^D .
-+.Pp
-+There is no
-+.Fl c
-+or
-+.Fl e
-+option in this netcat, but you still can execute a command after connection
-+being established by redirecting file descriptors. Be cautious here because
-+opening a port and let anyone connected execute arbitrary command on your
-+site is DANGEROUS. If you really need to do this, here is an example:
-+.Pp
-+On
-+.Sq server
-+side:
-+.Pp
-+.Dl $ rm -f /tmp/f; mkfifo /tmp/f
-+.Dl $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
-+.Pp
-+On
-+.Sq client
-+side:
-+.Pp
-+.Dl $ nc host.example.com 1234
-+.Dl $ (shell prompt from host.example.com)
-+.Pp
-+By doing this, you create a fifo at /tmp/f and make nc listen at port 1234
-+of address 127.0.0.1 on
-+.Sq server
-+side, when a
-+.Sq client
-+establishes a connection successfully to that port, /bin/sh gets executed
-+on
-+.Sq server
-+side and the shell prompt is given to
-+.Sq client
-+side.
-+.Pp
-+When connection is terminated,
-+.Nm
-+quits as well. Use
-+.Fl k
-+if you want it keep listening, but if the command quits this option won't
-+restart it or keep
-+.Nm
-+running. Also don't forget to remove the file descriptor once you don't need
-+it anymore:
-+.Pp
-+.Dl $ rm -f /tmp/f
-+.Pp
- .Sh DATA TRANSFER
- The example in the previous section can be expanded to build a
- basic data transfer model.
-@@ -382,15 +432,30 @@ The
- flag can be used to tell
- .Nm
- to report open ports,
--rather than initiate a connection.
-+rather than initiate a connection. Usually it's useful to turn on verbose
-+output to stderr by use this option in conjunction with
-+.Fl v
-+option.
-+.Pp
- For example:
- .Bd -literal -offset indent
--$ nc -z host.example.com 20-30
-+$ nc \-zv host.example.com 20-30
- Connection to host.example.com 22 port [tcp/ssh] succeeded!
- Connection to host.example.com 25 port [tcp/smtp] succeeded!
- .Ed
- .Pp
--The port range was specified to limit the search to ports 20 \- 30.
-+The port range was specified to limit the search to ports 20 \- 30, and is
-+scanned by increasing order.
-+.Pp
-+You can also specify a list of ports to scan, for example:
-+.Bd -literal -offset indent
-+$ nc \-zv host.example.com 80 20 22
-+nc: connect to host.example.com 80 (tcp) failed: Connection refused
-+nc: connect to host.example.com 20 (tcp) failed: Connection refused
-+Connection to host.example.com port [tcp/ssh] succeeded!
-+.Ed
-+.Pp
-+The ports are scanned by the order you given.
- .Pp
- Alternatively, it might be useful to know which server software
- is running, and which versions.
-@@ -455,6 +520,9 @@ Original implementation by *Hobbit*
- .br
- Rewritten with IPv6 support by
- .An Eric Jackson Aq ericj@monkey.org .
-+.br
-+Modified for Debian port by Aron Xu
-+.Aq aron@debian.org .
- .Sh CAVEATS
- UDP port scans using the
- .Fl uz
-diff --git a/netcat.c b/netcat.c
-index bf9940f..c938d11 100644
---- a/netcat.c
-+++ b/netcat.c
-@@ -88,6 +88,7 @@
- #include <netdb.h>
- #include <poll.h>
- #include <signal.h>
-+#include <stddef.h>
- #include <stdarg.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -115,6 +116,7 @@
- #define UDP_SCAN_TIMEOUT 3 /* Seconds */
-
- /* Command Line Options */
-+int bflag; /* Allow Broadcast */
- int Cflag = 0; /* CRLF line-ending */
- int dflag; /* detached, no stdin */
- unsigned int iflag; /* Interval Flag */
-@@ -146,7 +148,7 @@ char *portlist[PORT_MAX+1];
- char *unix_dg_tmp_socket;
-
- void atelnet(int, unsigned char *, unsigned int);
--void build_ports(char *);
-+void build_ports(char **);
- void help(void);
- int local_listen(char *, char *, struct addrinfo);
- void readwrite(int);
-@@ -171,11 +173,14 @@ int
- main(int argc, char *argv[])
- {
- int ch, s, ret, socksv;
-- char *host, *uport;
-+ char *host, **uport;
- struct addrinfo hints;
- struct servent *sv;
- socklen_t len;
-- struct sockaddr_storage cliaddr;
-+ union {
-+ struct sockaddr_storage storage;
-+ struct sockaddr_un forunix;
-+ } cliaddr;
- char *proxy = NULL;
- const char *errstr, *proxyhost = "", *proxyport = NULL;
- struct addrinfo proxyhints;
-@@ -189,7 +194,7 @@ main(int argc, char *argv[])
- sv = NULL;
-
- while ((ch = getopt(argc, argv,
-- "46CDdhI:i:jklnO:P:p:q:rSs:tT:UuV:vw:X:x:Zz")) != -1) {
-+ "46bCDdhI:i:jklnO:P:p:q:rSs:tT:UuV:vw:X:x:Zz")) != -1) {
- switch (ch) {
- case '4':
- family = AF_INET;
-@@ -197,6 +202,13 @@ main(int argc, char *argv[])
- case '6':
- family = AF_INET6;
- break;
-+ case 'b':
-+# if defined(SO_BROADCAST)
-+ bflag = 1;
-+# else
-+ errx(1, "no broadcast frame support available");
-+# endif
-+ break;
- case 'U':
- family = AF_UNIX;
- break;
-@@ -342,35 +354,40 @@ main(int argc, char *argv[])
-
- /* Cruft to make sure options are clean, and used properly. */
- if (argv[0] && !argv[1] && family == AF_UNIX) {
-- if (uflag)
-- errx(1, "cannot use -u and -U");
- # if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
- if (dccpflag)
- errx(1, "cannot use -Z and -U");
- # endif
- host = argv[0];
- uport = NULL;
-- } else if (!argv[0] && lflag) {
-- if (sflag)
-- errx(1, "cannot use -s and -l");
-- if (zflag)
-- errx(1, "cannot use -z and -l");
-- if (pflag)
-- uport=pflag;
-- } else if (!lflag && kflag) {
-- errx(1, "cannot use -k without -l");
-- } else if (argv[0] && !argv[1]) {
-- if (!lflag)
-- usage(1);
-- uport = argv[0];
-+ } else if (argv[0] && !argv[1] && lflag) {
-+ if (pflag) {
-+ uport = &pflag;
-+ host = argv[0];
-+ } else {
-+ uport = argv;
-+ host = NULL;
-+ }
-+ } else if (!argv[0] && lflag && pflag) {
-+ uport = &pflag;
- host = NULL;
- } else if (argv[0] && argv[1]) {
- host = argv[0];
-- uport = argv[1];
-+ uport = &argv[1];
- } else
- usage(1);
-
--
-+ if (lflag) {
-+ if (sflag)
-+ errx(1, "cannot use -s and -l");
-+ if (zflag)
-+ errx(1, "cannot use -z and -l");
-+ if (pflag)
-+ /* This still does not work well because of getopt mess
-+ errx(1, "cannot use -p and -l"); */
-+ uport = &pflag;
-+ } else if (!lflag && kflag)
-+ errx(1, "cannot use -k without -l");
-
- /* Get name of temporary socket for unix datagram client */
- if ((family == AF_UNIX) && uflag && !lflag) {
-@@ -448,7 +465,7 @@ main(int argc, char *argv[])
- else
- s = unix_listen(host);
- } else
-- s = local_listen(host, uport, hints);
-+ s = local_listen(host, *uport, hints);
- if (s < 0)
- err(1, NULL);
-
-@@ -457,7 +474,8 @@ main(int argc, char *argv[])
- local = ":::";
- else
- local = "0.0.0.0";
-- fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
-+ if (vflag && (family != AF_UNIX))
-+ fprintf(stderr, "Listening on [%s] (family %d, port %s)\n",
- host ?: local,
- family,
- *uport);
-@@ -490,13 +508,17 @@ main(int argc, char *argv[])
- len = sizeof(cliaddr);
- connfd = accept(s, (struct sockaddr *)&cliaddr,
- &len);
-- if(vflag) {
-+ if(vflag && family == AF_UNIX) {
-+ fprintf(stderr, "Connection from \"%.*s\" accepted\n",
-+ (len - (int)offsetof(struct sockaddr_un, sun_path)),
-+ ((struct sockaddr_un*)&cliaddr)->sun_path);
-+ } else if(vflag) {
- char *proto = proto_name(uflag, dccpflag);
- /* Don't look up port if -n. */
- if (nflag)
- sv = NULL;
- else
-- sv = getservbyport(ntohs(atoi(uport)),
-+ sv = getservbyport(ntohs(atoi(*uport)),
- proto);
-
- if (((struct sockaddr *)&cliaddr)->sa_family == AF_INET) {
-@@ -504,7 +526,7 @@ main(int argc, char *argv[])
- inet_ntop(((struct sockaddr *)&cliaddr)->sa_family,&(((struct sockaddr_in *)&cliaddr)->sin_addr),dst,INET_ADDRSTRLEN);
- fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n",
- dst,
-- uport,
-+ *uport,
- proto,
- sv ? sv->s_name : "*",
- ((struct sockaddr *)(&cliaddr))->sa_family,
-@@ -515,7 +537,7 @@ main(int argc, char *argv[])
- inet_ntop(((struct sockaddr *)&cliaddr)->sa_family,&(((struct sockaddr_in6 *)&cliaddr)->sin6_addr),dst,INET6_ADDRSTRLEN);
- fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n",
- dst,
-- uport,
-+ *uport,
- proto,
- sv ? sv->s_name : "*",
- ((struct sockaddr *)&cliaddr)->sa_family,
-@@ -523,17 +545,21 @@ main(int argc, char *argv[])
- }
- else {
- fprintf(stderr, "Connection from unknown port %s [%s/%s] accepted (family %d, sport %d)\n",
-- uport,
-+ *uport,
- proto,
- sv ? sv->s_name : "*",
- ((struct sockaddr *)(&cliaddr))->sa_family,
- ntohs(((struct sockaddr_in *)&cliaddr)->sin_port));
- }
- }
-+ if(!kflag)
-+ close(s);
- readwrite(connfd);
- close(connfd);
- }
-
-+ if (vflag && kflag)
-+ fprintf(stderr, "Connection closed, listening again.\n");
- if (kflag)
- continue;
- if (family != AF_UNIX) {
-@@ -641,6 +667,8 @@ unix_bind(char *path)
- return (-1);
- }
-
-+ unlink(path);
-+
- if (bind(s, (struct sockaddr *)&sun, SUN_LEN(&sun)) < 0) {
- close(s);
- return (-1);
-@@ -662,8 +690,10 @@ unix_connect(char *path)
- if ((s = unix_bind(unix_dg_tmp_socket)) < 0)
- return (-1);
- } else {
-- if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
-+ if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
-+ errx(1,"create unix socket failed");
- return (-1);
-+ }
- }
- (void)fcntl(s, F_SETFD, 1);
-
-@@ -674,9 +704,11 @@ unix_connect(char *path)
- sizeof(sun.sun_path)) {
- close(s);
- errno = ENAMETOOLONG;
-+ warn("unix connect abandoned");
- return (-1);
- }
- if (connect(s, (struct sockaddr *)&sun, SUN_LEN(&sun)) < 0) {
-+ warn("unix connect failed");
- close(s);
- return (-1);
- }
-@@ -1105,22 +1137,23 @@ atelnet(int nfd, unsigned char *buf, unsigned int size)
- * that we should try to connect to.
- */
- void
--build_ports(char *p)
-+build_ports(char **p)
- {
- struct servent *sv;
- const char *errstr;
- char *n;
- int hi, lo, cp;
- int x = 0;
-+ int i;
-
- char *proto = proto_name(uflag, dccpflag);
-- sv = getservbyname(p, proto);
-+ sv = getservbyname(*p, proto);
- if (sv) {
- portlist[0] = calloc(1, PORT_MAX_LEN);
- if (portlist[0] == NULL)
- err(1, NULL);
- snprintf(portlist[0], PORT_MAX_LEN, "%d", ntohs(sv->s_port));
-- } else if ((n = strchr(p, '-')) != NULL) {
-+ } else if ((n = strchr(*p, '-')) != NULL) {
- *n = '\0';
- n++;
-
-@@ -1128,9 +1161,9 @@ build_ports(char *p)
- hi = strtonum(n, 1, PORT_MAX, &errstr);
- if (errstr)
- errx(1, "port number %s: %s", errstr, n);
-- lo = strtonum(p, 1, PORT_MAX, &errstr);
-+ lo = strtonum(*p, 1, PORT_MAX, &errstr);
- if (errstr)
-- errx(1, "port number %s: %s", errstr, p);
-+ errx(1, "port number %s: %s", errstr, *p);
-
- if (lo > hi) {
- cp = hi;
-@@ -1160,10 +1193,12 @@ build_ports(char *p)
- }
- }
- } else {
-- hi = strtonum(p, 1, PORT_MAX, &errstr);
-+ hi = strtonum(*p, 1, PORT_MAX, &errstr);
- if (errstr)
-- errx(1, "port number %s: %s", errstr, p);
-- portlist[0] = strdup(p);
-+ errx(1, "port number %s: %s", errstr, *p);
-+ for (i=0;p[i];i++) {
-+ portlist[i] = strdup(p[i]);
-+ }
- if (portlist[0] == NULL)
- err(1, NULL);
- }
-@@ -1198,6 +1233,13 @@ set_common_sockopts(int s)
- {
- int x = 1;
-
-+# if defined(SO_BROADCAST)
-+ if (bflag) {
-+ if (setsockopt(s, IPPROTO_TCP, SO_BROADCAST,
-+ &x, sizeof(x)) == -1)
-+ err(1, NULL);
-+ }
-+# endif
- # if defined(TCP_MD5SIG)
- if (Sflag) {
- if (setsockopt(s, IPPROTO_TCP, TCP_MD5SIG,
-@@ -1293,6 +1335,7 @@ help(void)
- fprintf(stderr, "\tCommand Summary:\n\
- \t-4 Use IPv4\n\
- \t-6 Use IPv6\n\
-+ \t-b Allow broadcast\n\
- \t-C Send CRLF as line-ending\n\
- \t-D Enable the debug socket option\n\
- \t-d Detach from stdin\n\
-@@ -1329,7 +1372,7 @@ void
- usage(int ret)
- {
- fprintf(stderr,
-- "usage: nc [-46CDdhjklnrStUuvZz] [-I length] [-i interval] [-O length]\n"
-+ "usage: nc [-46bCDdhjklnrStUuvZz] [-I length] [-i interval] [-O length]\n"
- "\t [-P proxy_username] [-p source_port] [-q seconds] [-s source]\n"
- "\t [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]\n"
- "\t [-x proxy_address[:port]] [destination] [port]\n");
---
diff --git a/network/nghttp2/README b/network/nghttp2/README
deleted file mode 100644
index 3d05758f54..0000000000
--- a/network/nghttp2/README
+++ /dev/null
@@ -1,4 +0,0 @@
-nghttp2 is an implementation of HTTP/2 and its header compression
-algorithm HPACK in C.
-The framing layer of HTTP/2 is implemented as a form of reusable C
-library.
diff --git a/network/nghttp2/nghttp2.info b/network/nghttp2/nghttp2.info
deleted file mode 100644
index 11476aa1b8..0000000000
--- a/network/nghttp2/nghttp2.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="nghttp2"
-VERSION="1.16.1"
-HOMEPAGE="https://nghttp2.org/"
-DOWNLOAD="https://github.com/nghttp2/nghttp2/releases/download/v1.16.1/nghttp2-1.16.1.tar.xz"
-MD5SUM="bde0dca3fd5da7bc5c7c8470ed0674b5"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="jansson"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/network/nghttp2/slack-desc b/network/nghttp2/slack-desc
deleted file mode 100644
index a1d218da43..0000000000
--- a/network/nghttp2/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------------------------------------------------------|
-nghttp2: nghttp2 (HTTP/2 implementation)
-nghttp2:
-nghttp2: nghttp2 is an implementation of HTTP/2 and its header compression
-nghttp2: algorithm HPACK in C.
-nghttp2: The framing layer of HTTP/2 is implemented as a form of reusable C
-nghttp2: library.
-nghttp2:
-nghttp2: Homepage: https://nghttp2.org/
-nghttp2:
-nghttp2:
-nghttp2:
diff --git a/network/open-iscsi/open-iscsi.SlackBuild b/network/open-iscsi/open-iscsi.SlackBuild
index 54dda75cd6..201b28bb73 100644
--- a/network/open-iscsi/open-iscsi.SlackBuild
+++ b/network/open-iscsi/open-iscsi.SlackBuild
@@ -77,6 +77,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/include_sysmacros.patch
+
make
make install DESTDIR=$PKG
diff --git a/network/opendkim/opendkim.SlackBuild b/network/opendkim/opendkim.SlackBuild
index 85b2b88f4b..83b188ea96 100644
--- a/network/opendkim/opendkim.SlackBuild
+++ b/network/opendkim/opendkim.SlackBuild
@@ -104,6 +104,9 @@ else
UNBOUND=""
fi
+patch -p1 < $CWD/openssl_1.1.0_compat.patch
+autoreconf -vif
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/network/opendkim/openssl_1.1.0_compat.patch b/network/opendkim/openssl_1.1.0_compat.patch
new file mode 100644
index 0000000000..383990832a
--- /dev/null
+++ b/network/opendkim/openssl_1.1.0_compat.patch
@@ -0,0 +1,90 @@
+Description: Build and work with either openssl 1.0.2 or 1.1.0
+ * Add patch to build with either openssl 1.0.2 or 1.1.0 (Closes: #828466)
+ - Thanks to Sebastian Andrzej Siewior for the patch
+Author: Sebastian Andrzej Siewior
+Bug-Debian: http://bugs.debian.org/828466
+Origin: vendor
+Forwarded: no
+Reviewed-By: Scott Kitterman <scott@kitterman.com>
+Last-Update: <YYYY-MM-DD>
+
+--- opendkim-2.11.0~alpha.orig/configure.ac
++++ opendkim-2.11.0~alpha/configure.ac
+@@ -864,26 +864,28 @@ then
+ AC_SEARCH_LIBS([ERR_peek_error], [crypto], ,
+ AC_MSG_ERROR([libcrypto not found]))
+
+- AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+- [
+- if test x"$enable_shared" = x"yes"
+- then
+- AC_MSG_ERROR([Cannot build shared opendkim
+- against static openssl libraries.
+- Configure with --disable-shared
+- to get this working or obtain a
+- shared libssl library for
+- opendkim to use.])
+- fi
+
+- # avoid caching issue - last result of SSL_library_init
+- # shouldn't be cached for this next check
+- unset ac_cv_search_SSL_library_init
+- LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
+- AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+- AC_MSG_ERROR([libssl not found]), [-ldl])
+- ]
+- )
++ AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM([[#include <openssl/ssl.h>]],
++ [[SSL_library_init();]])],
++ [od_have_ossl="yes";],
++ [od_have_ossl="no";])
++ if test x"$od_have_ossl" = x"no"
++ then
++ if test x"$enable_shared" = x"yes"
++ then
++ AC_MSG_ERROR([Cannot build shared opendkim
++ against static openssl libraries.
++ Configure with --disable-shared
++ to get this working or obtain a
++ shared libssl library for
++ opendkim to use.])
++ fi
++
++ LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
++ AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
++ AC_MSG_ERROR([libssl not found]), [-ldl])
++ fi
+
+ AC_CHECK_DECL([SHA256_DIGEST_LENGTH],
+ AC_DEFINE([HAVE_SHA256], 1,
+--- opendkim-2.11.0~alpha.orig/opendkim/opendkim-crypto.c
++++ opendkim-2.11.0~alpha/opendkim/opendkim-crypto.c
+@@ -222,7 +222,11 @@ dkimf_crypto_free_id(void *ptr)
+ {
+ assert(pthread_setspecific(id_key, ptr) == 0);
+
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++ OPENSSL_thread_stop();
++#else
+ ERR_remove_state(0);
++#endif
+
+ free(ptr);
+
+@@ -392,11 +396,15 @@ dkimf_crypto_free(void)
+ {
+ if (crypto_init_done)
+ {
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++ OPENSSL_thread_stop();
++#else
+ CRYPTO_cleanup_all_ex_data();
+ CONF_modules_free();
+ EVP_cleanup();
+ ERR_free_strings();
+ ERR_remove_state(0);
++#endif
+
+ if (nmutexes > 0)
+ {
diff --git a/network/openfortivpn/openfortivpn.SlackBuild b/network/openfortivpn/openfortivpn.SlackBuild
index b0dd518e5e..3d8f4786a3 100644
--- a/network/openfortivpn/openfortivpn.SlackBuild
+++ b/network/openfortivpn/openfortivpn.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=openfortivpn
-VERSION=${VERSION:-1.1.4}
+VERSION=${VERSION:-1.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/network/openfortivpn/openfortivpn.info b/network/openfortivpn/openfortivpn.info
index 3bae8f084d..b75ff5bc72 100644
--- a/network/openfortivpn/openfortivpn.info
+++ b/network/openfortivpn/openfortivpn.info
@@ -1,8 +1,8 @@
PRGNAM="openfortivpn"
-VERSION="1.1.4"
+VERSION="1.8.1"
HOMEPAGE="https://github.com/adrienverge/openfortivpn"
-DOWNLOAD="https://github.com/adrienverge/openfortivpn/archive/v1.1.4/openfortivpn-1.1.4.zip"
-MD5SUM="0c091f3306cadcd870b92925d241c011"
+DOWNLOAD="https://github.com/adrienverge/openfortivpn/archive/v1.8.1/openfortivpn-1.8.1.zip"
+MD5SUM="e21b24d4209fa94b6f73ba34b1166400"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/phodav/phodav.SlackBuild b/network/phodav/phodav.SlackBuild
index 1b3c1bcebc..6b597d6460 100644
--- a/network/phodav/phodav.SlackBuild
+++ b/network/phodav/phodav.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for phodav
-# Copyright 2016-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2016-2019 Matteo Bernardini <ponce@slackbuilds.org>, 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=phodav
-VERSION=${VERSION:-2.2}
+VERSION=${VERSION:-2.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -73,21 +73,15 @@ find -L . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-./configure \
+meson \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
- --localstatedir=/var \
--mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --disable-static \
- --build=$ARCH-slackware-linux
+ build
-make
-make install DESTDIR=$PKG
-
-mkdir $PKG/lib
-mv $PKG/usr/lib/udev $PKG/lib/
+ninja -C build
+DESTDIR=$PKG ninja -C build 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
diff --git a/network/phodav/phodav.info b/network/phodav/phodav.info
index 7b7b8d7050..5fc7a8b668 100644
--- a/network/phodav/phodav.info
+++ b/network/phodav/phodav.info
@@ -1,8 +1,8 @@
PRGNAM="phodav"
-VERSION="2.2"
+VERSION="2.3"
HOMEPAGE="https://wiki.gnome.org/phodav"
-DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/phodav/2.2/phodav-2.2.tar.xz"
-MD5SUM="18dc8890ef3606f2a053054658dbf016"
+DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/phodav/2.3/phodav-2.3.tar.xz"
+MD5SUM="0f4bbe83181037577c808acea166b26a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/pidgin-musictracker/pidgin-musictracker.SlackBuild b/network/pidgin-musictracker/pidgin-musictracker.SlackBuild
index 2307eb44cc..5a4ea68244 100644
--- a/network/pidgin-musictracker/pidgin-musictracker.SlackBuild
+++ b/network/pidgin-musictracker/pidgin-musictracker.SlackBuild
@@ -70,7 +70,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS -Wno-error=deprecated-declarations" \
+CFLAGS="$SLKCFLAGS -Wno-error=deprecated-declarations -Wno-error=expansion-to-defined -Wno-error=implicit-fallthrough= -Wno-error=format-truncation=" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/network/pidgin-sipe/pidgin-sipe.SlackBuild b/network/pidgin-sipe/pidgin-sipe.SlackBuild
index e59c906f6e..c041a67d75 100644
--- a/network/pidgin-sipe/pidgin-sipe.SlackBuild
+++ b/network/pidgin-sipe/pidgin-sipe.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pidgin-sipe
-VERSION=${VERSION:-1.23.0}
+VERSION=${VERSION:-1.24.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/network/pidgin-sipe/pidgin-sipe.info b/network/pidgin-sipe/pidgin-sipe.info
index a2cc1045d7..31c45157f6 100644
--- a/network/pidgin-sipe/pidgin-sipe.info
+++ b/network/pidgin-sipe/pidgin-sipe.info
@@ -1,8 +1,8 @@
PRGNAM="pidgin-sipe"
-VERSION="1.23.0"
+VERSION="1.24.0"
HOMEPAGE="http://sipe.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/sipe/pidgin-sipe-1.23.0.tar.xz"
-MD5SUM="75fb9417834bc78114786d78a41bcd37"
+DOWNLOAD="http://downloads.sourceforge.net/sipe/pidgin-sipe-1.24.0.tar.xz"
+MD5SUM="b91106d28c235b347a63dcb676f7b66a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/postfix/README b/network/postfix/README
deleted file mode 100644
index 80840d5668..0000000000
--- a/network/postfix/README
+++ /dev/null
@@ -1,39 +0,0 @@
-Postfix is Wietse Venema's mailer that started life as an alternative to the
-widely-used Sendmail program. It attempts to be fast, easy to administer, and
-secure, while at the same time, being sendmail compatible enough to not upset
-existing users. Thus, the outside has a sendmail-ish flavor, but the inside is
-completely different.
-
-This script builds postfix with optional support for Dovecot SASL, Cyrus SASL
-can be enabled with:
-
- SASL=cyrus ./postfix.SlackBuild
-
-You can also enable support for MySQL:
-
- DATABASE=mysql ./postfix.SlackBuild
-
-PostgreSQL support can be enabled with:
-
- DATABASE=pgsql ./postfix.SlackBuild
-
-On systems with multiple instances, add major version, eg: DATABASE=pgsql-9.5
-
-This script will find support for BerkleyDB and PCRE automagically; TLS support
-requires openssl package, openssl-solibs alone is not enough. Additionally, this
-script doesn't add postfix user and groups, instead it offers sane defaults that
-won't conflict with system users and groups, and other scripts from the SBo.
-
-Package created with this script will conflict with stock sendmail package, you
-*should* remove sendmail before installing postfix, otherwise sendmail updates
-could break your postfix instance.
-
-When upgrading from an older postfix version, make sure the variables such as
-html_directory and readme_directory in /etc/postfix/main.cf point to the new
-location. These can also be fixed later, afterwards make sure to run:
-
- postfix set-permissions
-
-Furthermore, many of the utilities in postfix have multiple manpages such as
-postconf(5) and postconf(8). Use man -k to find them, and don't forget to
-subscribe to the postfix-users mailing list!
diff --git a/network/postfix/doinst.sh b/network/postfix/doinst.sh
deleted file mode 100644
index 97e6510432..0000000000
--- a/network/postfix/doinst.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
-
-find etc/postfix -type f -name '*.new' \
- | while read new ; do config $new ; done
-
-preserve_perms etc/rc.d/rc.postfix.new
-
-# This is an incompatability with the sendmail package
-( cd usr/lib; rm -f sendmail )
-( cd usr/lib; ln -s /usr/sbin/sendmail sendmail)
-
-# This will set the permissions on all postfix files correctly
-postfix set-permissions
-
-# Symlinks added by makepkg(8)
-
diff --git a/network/postfix/patches/postconf.diff b/network/postfix/patches/postconf.diff
deleted file mode 100644
index c51c1822fe..0000000000
--- a/network/postfix/patches/postconf.diff
+++ /dev/null
@@ -1,31 +0,0 @@
---- postfix-3.0.3/postfix-install.orig 2015-01-29 23:15:30.000000000 +0100
-+++ postfix-3.0.3/postfix-install 2015-10-17 03:57:42.269896095 +0200
-@@ -248,7 +248,7 @@
- case "$junk" in
- *MAIL_VERSION*)
- case "$mail_version" in
-- "") mail_version="`bin/postconf -dhx mail_version`" || exit 1
-+ "") mail_version="`bin/postconf -c conf -dhx mail_version`" || exit 1
- esac
- val=`echo "$junk" | sed 's/MAIL_VERSION$/'"$mail_version/g"` || exit 1
- case "$val" in
-@@ -810,7 +810,7 @@
- # the wrong place when Postfix is being upgraded.
-
- case "$mail_version" in
--"") mail_version="`bin/postconf -dhx mail_version`" || exit 1
-+"") mail_version="`bin/postconf -c conf -dhx mail_version`" || exit 1
- esac
-
- # Undo MAIL_VERSION expansion at the end of a parameter value. If
---- postfix-3.0.3/Makefile.in.orig 2014-09-25 21:16:29.000000000 +0200
-+++ postfix-3.0.3/Makefile.in 2015-10-17 04:01:27.170920308 +0200
-@@ -20,7 +20,7 @@
- EXPAND = sed -e "s;\$${LIB_PREFIX};$(LIB_PREFIX);" \
- -e "s;\$${LIB_SUFFIX};$(LIB_SUFFIX);"
- SHLIB_DIR_OVERRIDE = \
-- $${shlib_directory:-`$(SHLIB_ENV) bin/postconf -dhx shlib_directory`}
-+ $${shlib_directory:-`$(SHLIB_ENV) bin/postconf -c conf -dhx shlib_directory`}
-
- default: update
-
diff --git a/network/postfix/postfix.SlackBuild b/network/postfix/postfix.SlackBuild
deleted file mode 100644
index 6bf3f38e2d..0000000000
--- a/network/postfix/postfix.SlackBuild
+++ /dev/null
@@ -1,199 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2006, 2011 Alan Hicks, Lizella, GA
-# Copyright 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019 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=postfix
-VERSION=${VERSION:-3.3.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=""5
-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
-
-# Build with dovecot sasl support by default
-SASL=${SASL:-dovecot}
-case "$SASL" in
- dovecot) SASLARGS="-DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\""
- SASLLIBS="" ;;
- cyrus) SASLARGS="-I/usr/include/sasl -DUSE_CYRUS_SASL"
- SASLLIBS="-L/usr/lib${LIBDIRSUFFIX}/sasl2 -lsasl2" ;;
- *) SASLARGS=""
- SASLLIBS="" ;;
-esac
-
-# Build without database support by default
-DATABASE=${DATABASE:-none}
-case "$DATABASE" in
- mysql) DBARGS="-I/usr/include/mysql -DHAS_MYSQL"
- DBLIBS="-L/usr/lib${LIBDIRSUFFIX}/mysql -lmysqlclient -lz -lm" ;;
- pgsql*) PGVER=${DATABASE/pgsql-}
- [ "$PGVER" = "pgsql" ] && PGVER=$(ls /usr/lib${LIBDIRSUFFIX}/postgresql/)
- [ -d "/usr/lib${LIBDIRSUFFIX}/postgresql/$PGVER/lib" ] && {
- DBARGS="-I/usr/include/postgresql -DHAS_PGSQL"
- DBLIBS="-L/usr/lib${LIBDIRSUFFIX}/postgresql/$PGVER/lib -lpq -lz -lm"
- } || echo "PostgreSQL not found" ;;
- *) DBARGS=""
- DBLIBS="" ;;
-esac
-
-# Build without ldap support by default
-LDAP=${LDAP:-no}
-case "$LDAP" in
- yes) LDAPARGS="-DUSE_LDAP_SASL -DHAS_LDAP"
- LDAPLIBS="-lldap -llber" ;;
- *) LDAPARGS=""
- LDAPLIBS="" ;;
-esac
-
-# MySQL compile hack
-if [ $DATABASE == "mysql" ] && [ -f /usr/include/mysql/events.h ]; then
-
-cat << EOF
-
- Postfix will fail to compile with mysql support if a system-wide
- events.h file is not removed (postfix has its own events.h).
- Either disable mysql support or (re)move events.h, eg:
-
- # mv /usr/include/mysql/events.h /usr/include/mysql/events.h.bak
-
-EOF
-
- exit
-fi
-
-# Bail if user or group isn't valid on your system
-if ! grep ^postfix: /etc/passwd 2>&1 > /dev/null; then
-
-cat << EOF
-
- You must have a postfix user to run this script
-
- # groupadd -g 200 postfix
- # useradd -u 200 -d /dev/null -s /bin/false -g postfix postfix
-
-EOF
-
- exit
-elif ! grep ^postdrop: /etc/group 2>&1 > /dev/null; then
-
-cat << EOF
-
- You must have a postdrop group to run this script
-
- # groupadd -g 201 postdrop
-
-EOF
-
- exit
-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 {} \;
-
-# Use config files from build tree, not system ones
-# This should probably go to upstream...
-patch -p1 <$CWD/patches/postconf.diff
-
-# Postfix does not use a ./configure script
-
-make makefiles shared=yes \
- CCARGS="-DUSE_SASL_AUTH -DUSE_TLS $SASLARGS $DBARGS $LDAPARGS" \
- AUXLIBS="-lssl -lcrypto $SASLLIBS $DBLIBS $LDAPLIBS" \
- OPT="$SLKCFLAGS" DEBUG=""
-
-make non-interactive-package \
- install_root=$PKG \
- tempdir=$TMP/$PRGNAM-temp \
- config_directory=/etc/postfix \
- daemon_directory=/usr/libexec/postfix \
- command_directory=/usr/sbin \
- queue_directory=/var/spool/postfix \
- sendmail_path=/usr/sbin/sendmail \
- newaliases_path=/usr/bin/newaliases \
- mailq_path=/usr/bin/mailq \
- mail_owner=postfix \
- setgid_group=postdrop \
- html_directory=/usr/doc/$PRGNAM-$VERSION/html \
- manpage_directory=/usr/man \
- readme_directory=/usr/doc/$PRGNAM-$VERSION/README_FILES
-
-install -D -m 0644 -oroot -groot $CWD/rc.postfix $PKG/etc/rc.d/rc.postfix.new
-find $PKG/etc/postfix -type f ! -name "*.default" ! -name "*.proto" ! -name "*.out" \
- ! -name "postfix-files" -exec mv {} {}.new \;
-
-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
-
-sed -i 's#\($manpage_directory/man[158]/.\+\.[158]\)\(:.*\)#\1.gz\2#' \
- $PKG/etc/postfix/postfix-files
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AAAREADME COMPATIBILITY COPYRIGHT HISTORY IPv6-ChangeLog LICENSE PORTING \
- RELEASE_NOTES TLS_ACKNOWLEDGEMENTS TLS_CHANGES TLS_LICENSE US_PATENT_6321267 \
- examples implementation-notes $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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/postfix/postfix.info b/network/postfix/postfix.info
deleted file mode 100644
index 9809f40eb0..0000000000
--- a/network/postfix/postfix.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="postfix"
-VERSION="3.3.2"
-HOMEPAGE="http://www.postfix.org/"
-DOWNLOAD="http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-3.3.2.tar.gz"
-MD5SUM="4e6ed7056576e0c54cfce6040a0bb0ad"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Mario Preksavec"
-EMAIL="mario at slackware dot hr"
diff --git a/network/postfix/rc.postfix b/network/postfix/rc.postfix
deleted file mode 100644
index 6e133ad9ec..0000000000
--- a/network/postfix/rc.postfix
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/bash
-# Copyright 2006, Alan Hicks, Lizella, GA
-# 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.
-#
-
-postfix_start()
-{
- /usr/sbin/postfix start
-}
-
-postfix_stop()
-{
- /usr/sbin/postfix stop
-}
-
-postfix_restart()
-{
- postfix_stop
- postfix_start
-}
-
-postfix_reload()
-{
- /usr/sbin/postfix reload
-}
-
-postfix_status()
-{
- /usr/sbin/postfix status
-}
-
-case $1 in
-'start')
- postfix_start
- ;;
-'stop')
- postfix_stop
- ;;
-'restart')
- postfix_restart
- ;;
-'reload')
- postfix_reload
- ;;
-'status')
- postfix_status
- ;;
-*)
- echo "usage $0 start|stop|restart|reload|status"
-esac
diff --git a/network/postfix/slack-desc b/network/postfix/slack-desc
deleted file mode 100644
index 0e8c796afc..0000000000
--- a/network/postfix/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------------------------------------------------------|
-postfix: postfix (alternative to the widely-used Sendmail program)
-postfix:
-postfix: Postfix attempts to be fast, easy to administer, and secure, while at
-postfix: the same time being sendmail compatible enough to not upset existing
-postfix: users. Thus, the outside has a sendmail-ish flavor, but the inside is
-postfix: completely different.
-postfix:
-postfix: Packaging script written by Alan Hicks <alan@lizella.net>
-postfix: and the SlackBuilds.org Team <http://www.slackbuilds.org>
-postfix:
-postfix:
diff --git a/network/qTox/qTox.SlackBuild b/network/qTox/qTox.SlackBuild
index 1fff74fa2d..c44cc94480 100644
--- a/network/qTox/qTox.SlackBuild
+++ b/network/qTox/qTox.SlackBuild
@@ -72,6 +72,8 @@ find -L . \
# gcc-7 fix
#patch -p1 <$CWD/rawdatabase.h.diff
+sed -e 's|-Werror||' -i CMakeLists.txt
+
mkdir -p build
cd build
cmake \
diff --git a/network/remmina/find_libssh.patch b/network/remmina/find_libssh.patch
new file mode 100644
index 0000000000..77976db696
--- /dev/null
+++ b/network/remmina/find_libssh.patch
@@ -0,0 +1,25 @@
+From: "Matteo F. Vescovi" <mfv@debian.org>
+Date: Sun, 12 Aug 2018 14:22:40 +0200
+Subject: Fix_Cmake_rule_for_LibSSH
+
+---
+ cmake/FindLIBSSH.cmake | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/FindLIBSSH.cmake b/cmake/FindLIBSSH.cmake
+index f003e2d..d1bfe23 100644
+--- a/cmake/FindLIBSSH.cmake
++++ b/cmake/FindLIBSSH.cmake
+@@ -51,7 +51,11 @@ include(FindPackageHandleStandardArgs)
+
+ find_package_handle_standard_args(LIBSSH DEFAULT_MSG LIBSSH_LIBRARY LIBSSH_INCLUDE_DIR)
+
+-set(LIBSSH_LIBRARIES ${LIBSSH_LIBRARY} ${LIBSSH_THREADS_LIBRARY})
++if (LIBSSH_THREADS_LIBRARY)
++ set(LIBSSH_LIBRARIES ${LIBSSH_LIBRARY} ${LIBSSH_THREADS_LIBRARY})
++else()
++ set(LIBSSH_LIBRARIES ${LIBSSH_LIBRARY})
++endif()
+ set(LIBSSH_INCLUDE_DIRS ${LIBSSH_INCLUDE_DIR})
+
+ mark_as_advanced(LIBSSH_INCLUDE_DIR LIBSSH_LIBRARY)
diff --git a/network/remmina/remmina.SlackBuild b/network/remmina/remmina.SlackBuild
index 846c97f4bb..b42372c763 100644
--- a/network/remmina/remmina.SlackBuild
+++ b/network/remmina/remmina.SlackBuild
@@ -77,6 +77,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/find_libssh.patch
+
mkdir -p build
cd build
cmake \
diff --git a/network/rtorrent/README b/network/rtorrent/README
index 6c05b5620f..74e8064101 100644
--- a/network/rtorrent/README
+++ b/network/rtorrent/README
@@ -2,3 +2,5 @@ rtorrent is a BitTorrent client for ncurses, using the libtorrent
library. The client and library is written in C++ with emphasis on speed
and efficiency, while delivering equivalent features to those found in
GUI based clients in an ncurses client.
+
+Optional dependency: xmlrpc-c
diff --git a/network/rtorrent/rtorrent.SlackBuild b/network/rtorrent/rtorrent.SlackBuild
index f5ee018aff..421bf99503 100644
--- a/network/rtorrent/rtorrent.SlackBuild
+++ b/network/rtorrent/rtorrent.SlackBuild
@@ -17,7 +17,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
@@ -28,8 +28,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -42,6 +42,8 @@ else
LIBDIRSUFFIX=""
fi
+xmlrpcc="" ; [ -x /usr/bin/xmlrpc-c-config ] && xmlrpcc="--with-xmlrpc-c"
+
set -e
rm -rf $PKG
@@ -66,6 +68,8 @@ CXXFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
+ $xmlrpcc \
+ --disable-debug \
--build=$ARCH-slackware-linux
make
diff --git a/network/s-nail/README b/network/s-nail/README
deleted file mode 100644
index c18e83c0f2..0000000000
--- a/network/s-nail/README
+++ /dev/null
@@ -1,16 +0,0 @@
-S-nail (mail sending and receiving utility)
-
-S-nail provides a simple and friendly environment for sending and
-receiving mail. It is intended to provide the functionality of the
-POSIX mailx command, but is MIME capable and optionally offers
-extensions for line editing, S/MIME, SMTP and POP3, among others. It
-divides incoming mail into its constituent messages and allows the
-user to deal with them in any order. It offers many COMMANDS and
-INTERNAL VARIABLES for manipulating messages and sending mail. It
-offers simple editing capabilities, and increasingly powerful and
-reliable non-interactive scripting capabilities.
-
-NOTE
-
-This package conflicts with Slackware's mailx package. You should
-remove mailx before installing this package.
diff --git a/network/s-nail/doinst.sh b/network/s-nail/doinst.sh
deleted file mode 100644
index b541fb201d..0000000000
--- a/network/s-nail/doinst.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-config etc/nail.rc.new
diff --git a/network/s-nail/s-nail.SlackBuild b/network/s-nail/s-nail.SlackBuild
deleted file mode 100644
index 4e6d96403f..0000000000
--- a/network/s-nail/s-nail.SlackBuild
+++ /dev/null
@@ -1,135 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for S-nail
-
-# Copyright 2008, 2009, 2010, 2016 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2018 - 2019 Johannes Schoepfer, Germany
-# 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=s-nail
-VERSION=${VERSION:-14.9.15}
-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 {} \;
-
-CFLAGS="$SLKCFLAGS" \
-make \
- VAL_PREFIX=/usr \
- VAL_SYSCONFDIR=/etc \
- VAL_MANDIR=/usr/man \
- VAL_MAIL=/var/spool/mail \
- VAL_MTA=/usr/sbin/sendmail \
- OPT_AUTOCC=0 \
- VAL_SID= \
- VAL_MAILX=mailx \
- VAL_SYSCONFRC=nail.rc \
- VAL_RANDOM="libgetrandom,sysgetrandom,urandom" \
- config
-
-make build
-make test
-make install DESTDIR=$PKG
-
-# Tighten up the perms a bit:
-chmod 4711 $PKG/usr/libexec/mailx-dotlock
-
-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
-
-# We put symlinks in /bin since some things still expect '/bin/mail' or '/bin/Mail':
-mkdir -p $PKG/bin
-( cd $PKG/bin
- ln -sf /usr/bin/mailx Mail
- ln -sf /usr/bin/mailx mail
- ln -sf /usr/bin/mailx nail
-)
-
-# Likewise, we make some compat symlinks in /usr/bin:
-( cd $PKG/usr/bin
- ln -sf mailx Mail
- ln -sf mailx mail
- ln -sf mailx nail
-)
-
-mv $PKG/etc/nail.rc $PKG/etc/nail.rc.new
-
-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
-
-# Manpage links:
-( cd $PKG/usr/man/man1
- ln -sf mailx.1.gz mail.1.gz
- ln -sf mailx.1.gz nail.1.gz
- ln -sf mailx.1.gz Mail.1.gz
-)
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- COPYING* INSTALL* 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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/s-nail/s-nail.info b/network/s-nail/s-nail.info
deleted file mode 100644
index f724e20880..0000000000
--- a/network/s-nail/s-nail.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="s-nail"
-VERSION="14.9.15"
-HOMEPAGE="https://www.sdaoden.eu/code.html"
-DOWNLOAD="https://www.sdaoden.eu/downloads/s-nail-14.9.15.tar.xz"
-MD5SUM="2091022caf39eee9330b4c2b7e91eff3"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="%README%"
-MAINTAINER="Johannes Schoepfer"
-EMAIL="slackbuilds@schoepfer.info"
diff --git a/network/s-nail/slack-desc b/network/s-nail/slack-desc
deleted file mode 100644
index ab63a8e702..0000000000
--- a/network/s-nail/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------------------------------------------------------|
-s-nail: s-nail (mail sending and receiving utility)
-s-nail:
-s-nail: S-nail provides a simple and friendly environment for sending and
-s-nail: receiving mail. It is intended to provide the functionality of the
-s-nail: POSIX mailx command, but is MIME capable and optionally offers
-s-nail: extensions for line editing, S/MIME, SMTP and POP3, among others. It
-s-nail: divides incoming mail into its constituent messages and allows the
-s-nail: user to deal with them in any order. It offers many COMMANDS and
-s-nail: INTERNAL VARIABLES for manipulating messages and sending mail. It
-s-nail: offers simple editing capabilities, and increasingly powerful and
-s-nail: reliable non-interactive scripting capabilities.
diff --git a/network/seafile-client/seafile-client.SlackBuild b/network/seafile-client/seafile-client.SlackBuild
deleted file mode 100644
index 205c0af148..0000000000
--- a/network/seafile-client/seafile-client.SlackBuild
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for "seafile-client".
-
-# Copyright 2015 Marcel Saegebarth <marc@mos6581.de>
-# 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=seafile-client
-SRCNAM=seafile
-VERSION=${VERSION:-4.4.6}
-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 $SRCNAM-$VERSION
-tar xvf $CWD/v$VERSION-server.tar.gz || tar xvf $CWD/$SRCNAM-$VERSION-server.tar.gz
-cd $SRCNAM-$VERSION-server
-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 {} \;
-
-sh autogen.sh
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-client \
- --enable-static=no \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE.txt README.markdown $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 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
-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/network/seafile-client/seafile-client.info b/network/seafile-client/seafile-client.info
deleted file mode 100644
index ef875c1f8f..0000000000
--- a/network/seafile-client/seafile-client.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="seafile-client"
-VERSION="4.4.6"
-HOMEPAGE="http://seafile.com/"
-DOWNLOAD="https://github.com/haiwen/seafile/archive/v4.4.6-server.tar.gz"
-MD5SUM="753db8ec00c8f4e43270afff097a23af"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="ccnet libevhtp"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/network/seafile-client/README b/network/seafile/README
index 937324eae1..937324eae1 100644
--- a/network/seafile-client/README
+++ b/network/seafile/README
diff --git a/system/parallel/parallel.SlackBuild b/network/seafile/seafile.SlackBuild
index 7ffc2f6552..63f62460ce 100644
--- a/system/parallel/parallel.SlackBuild
+++ b/network/seafile/seafile.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for "parallel".
+# Slackware build script for seafile
-# Copyright 2015-2017 Marcel Saegebarth <marc@mos6581.de>
+# Copyright 2015 Marcel Saegebarth <marc@mos6581.de>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -24,8 +24,8 @@
# (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=parallel
-VERSION=${VERSION:-20170622}
+PRGNAM=seafile
+VERSION=${VERSION:-6.2.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -62,7 +62,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -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 {} \;
+sh autogen.sh
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -80,18 +81,20 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-client \
+ --enable-static=no \
--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 CITATION COPYING NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE.txt README.markdown $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 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/network/seafile/seafile.info b/network/seafile/seafile.info
new file mode 100644
index 0000000000..85067fd4fe
--- /dev/null
+++ b/network/seafile/seafile.info
@@ -0,0 +1,10 @@
+PRGNAM="seafile"
+VERSION="6.2.5"
+HOMEPAGE="https://seafile.com"
+DOWNLOAD="https://github.com/haiwen/seafile/archive/v6.2.5/seafile-6.2.5.tar.gz"
+MD5SUM="220790c24a8cb1ff88bacc03e4e87976"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="ccnet libevhtp"
+MAINTAINER="Marcel Saegebarth"
+EMAIL="marc@mos6581.de"
diff --git a/libraries/jansson/slack-desc b/network/seafile/slack-desc
index 9379939173..cad22d1bb6 100644
--- a/libraries/jansson/slack-desc
+++ b/network/seafile/slack-desc
@@ -6,14 +6,14 @@
# 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:
+seafile: seafile (Cloud Storage System)
+seafile:
+seafile: Seafile is a next-generation open source cloud storage system with
+seafile: advanced support for file syncing, privacy protection and teamwork.
+seafile:
+seafile: Homepage: http://seafile.com/
+seafile:
+seafile:
+seafile:
+seafile:
+seafile:
diff --git a/network/spice-gtk/spice-gtk.SlackBuild b/network/spice-gtk/spice-gtk.SlackBuild
index 6561b22050..a006bfc9db 100644
--- a/network/spice-gtk/spice-gtk.SlackBuild
+++ b/network/spice-gtk/spice-gtk.SlackBuild
@@ -1,7 +1,8 @@
#!/bin/sh
# Slackware build script for spice-gtk
-# Copyright 2013-2018 Matteo Bernardini <ponce@slackbuilds.org> Pisa, Italy
+
+# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org> Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=spice-gtk
-VERSION=${VERSION:-0.35}
+VERSION=${VERSION:-0.37}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -58,7 +59,7 @@ if pkg-config --exists libusbredirhost; then usbredir="en"; else usbredir="dis";
if pkg-config --exists libcacard; then cacard="en"; else cacard="dis"; fi
if pkg-config --exists libphodav-2.0; then phodav="en"; else phodav="dis"; fi
-DOCS="AUTHORS COPYING NEWS README THANKS TODO"
+DOCS="AUTHORS CHANGELOG.md COPYING README.md"
set -e
diff --git a/network/spice-gtk/spice-gtk.info b/network/spice-gtk/spice-gtk.info
index e17de616e8..4bb1378921 100644
--- a/network/spice-gtk/spice-gtk.info
+++ b/network/spice-gtk/spice-gtk.info
@@ -1,8 +1,8 @@
PRGNAM="spice-gtk"
-VERSION="0.35"
+VERSION="0.37"
HOMEPAGE="https://www.spice-space.org"
-DOWNLOAD="https://www.spice-space.org/download/gtk/spice-gtk-0.35.tar.bz2"
-MD5SUM="a8c919ee4a48dfeab619deb70900d788"
+DOWNLOAD="https://www.spice-space.org/download/gtk/spice-gtk-0.37.tar.bz2"
+MD5SUM="f1554a2442817109d2bdc37d30336208"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="opus spice vala"
diff --git a/network/spice/spice.SlackBuild b/network/spice/spice.SlackBuild
index e887c96ddf..566a495b55 100644
--- a/network/spice/spice.SlackBuild
+++ b/network/spice/spice.SlackBuild
@@ -22,7 +22,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=spice
-VERSION=${VERSION:-0.14.1}
+VERSION=${VERSION:-0.14.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/network/spice/spice.info b/network/spice/spice.info
index 04a4e89706..62370277dd 100644
--- a/network/spice/spice.info
+++ b/network/spice/spice.info
@@ -1,8 +1,8 @@
PRGNAM="spice"
-VERSION="0.14.1"
+VERSION="0.14.2"
HOMEPAGE="https://www.spice-space.org"
-DOWNLOAD="https://www.spice-space.org/download/releases/spice-server/spice-0.14.1.tar.bz2"
-MD5SUM="1e2442b08605a5a17430d1aaa0912c24"
+DOWNLOAD="https://www.spice-space.org/download/releases/spice-server/spice-0.14.2.tar.bz2"
+MD5SUM="7ca431580b662e7c3cb8021983a3d387"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="opus pyparsing six spice-protocol"
diff --git a/network/sqlrelay/sqlrelay.SlackBuild b/network/sqlrelay/sqlrelay.SlackBuild
index aa56ae3355..434b548bdb 100644
--- a/network/sqlrelay/sqlrelay.SlackBuild
+++ b/network/sqlrelay/sqlrelay.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sqlrelay
-VERSION=${VERSION:-0.65.0}
+VERSION=${VERSION:-1.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
@@ -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/network/sqlrelay/sqlrelay.info b/network/sqlrelay/sqlrelay.info
index 99177781f8..260729b0fe 100644
--- a/network/sqlrelay/sqlrelay.info
+++ b/network/sqlrelay/sqlrelay.info
@@ -1,8 +1,8 @@
PRGNAM="sqlrelay"
-VERSION="0.65.0"
+VERSION="1.1.0"
HOMEPAGE="http://sqlrelay.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/sqlrelay/sqlrelay-0.65.0.tar.gz"
-MD5SUM="231cc46bc32f6c05dc372c2f04cdcd02"
+DOWNLOAD="http://downloads.sourceforge.net/sqlrelay/sqlrelay-1.1.0.tar.gz"
+MD5SUM="be726dd405aef7d5530fd22c0c146f98"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="rudiments"
diff --git a/network/sshfs-fuse/README b/network/sshfs-fuse/README
deleted file mode 100644
index 300d34090d..0000000000
--- a/network/sshfs-fuse/README
+++ /dev/null
@@ -1,10 +0,0 @@
-SSHFS (Secure SHell FileSystem) is a file system for Linux capable of
-operating on files on a remote computer using just a secure shell login
-on the remote computer. On the local computer where the SSHFS is mounted,
-the implementation makes use of the FUSE (Filesystem in Userspace)
-kernel module.
-
-The practical effect of this is that the end user can seamlessly interact
-with remote files being securely served over SSH just as if they were
-local files on his/her computer. On the remote computer the SFTP subsystem
-of SSH is used.
diff --git a/network/sshfs-fuse/slack-desc b/network/sshfs-fuse/slack-desc
deleted file mode 100644
index 7e342f6fac..0000000000
--- a/network/sshfs-fuse/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------------------------------------------------------|
-sshfs-fuse: sshfs-fuse (ssh file system module for FUSE)
-sshfs-fuse:
-sshfs-fuse: This is a filesystem client based on the SSH File Transfer
-sshfs-fuse: Protocol. Since most SSH servers already support this protocol it
-sshfs-fuse: is very easy to set up: i.e. on the server side there's nothing
-sshfs-fuse: to do. On the client side mounting the filesystem is as easy as
-sshfs-fuse: logging into the server with ssh.
-sshfs-fuse:
-sshfs-fuse:
-sshfs-fuse:
-sshfs-fuse:
diff --git a/network/sshfs-fuse/sshfs-fuse.SlackBuild b/network/sshfs-fuse/sshfs-fuse.SlackBuild
deleted file mode 100644
index 1e43941878..0000000000
--- a/network/sshfs-fuse/sshfs-fuse.SlackBuild
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-
-# Copyright 2012, Michiel van Wessem, Leicester, United Kingdom
-# Copyright 2006-2009 Alan Hicks, Lizella, GA
-# 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=sshfs-fuse
-SRCNAM=sshfs
-VERSION=${VERSION:-2.8}
-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.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 {} \;
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --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 AUTHORS COPYING ChangeLog $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/network/sshfs-fuse/sshfs-fuse.info b/network/sshfs-fuse/sshfs-fuse.info
deleted file mode 100644
index ec97eeb668..0000000000
--- a/network/sshfs-fuse/sshfs-fuse.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="sshfs-fuse"
-VERSION="2.8"
-HOMEPAGE="https://github.com/libfuse/sshfs"
-DOWNLOAD="https://github.com/libfuse/sshfs/releases/download/sshfs_2.8/sshfs-2.8.tar.gz"
-MD5SUM="0ba25e848ee59e2595d6576c8f6284b6"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Michiel van Wessem"
-EMAIL="michiel@slackbuilds.org"
diff --git a/network/transmission-remote-gtk/README b/network/transmission-remote-gtk/README
index 41c17ca20c..82d2a5b511 100644
--- a/network/transmission-remote-gtk/README
+++ b/network/transmission-remote-gtk/README
@@ -8,4 +8,6 @@ management of the Transmission BitTorrent client using its RPC interface.
priorities, add/edit/remove trackers.
* Change remote settings like global limits, download directory, and
connectivity preferences.
- * Russian, Polish, Korean, and German, Spanish, Ukranian translations.
+ * Russian, Polish, Korean, and German, Spanish, Ukranian translations.
+
+GeoIP is an optional dependency.
diff --git a/network/transmission-remote-gtk/transmission-remote-gtk.SlackBuild b/network/transmission-remote-gtk/transmission-remote-gtk.SlackBuild
index 677e991256..b08fabcc8a 100644
--- a/network/transmission-remote-gtk/transmission-remote-gtk.SlackBuild
+++ b/network/transmission-remote-gtk/transmission-remote-gtk.SlackBuild
@@ -32,13 +32,13 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=transmission-remote-gtk
-VERSION=${VERSION:-1.2}
+VERSION=${VERSION:-1.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
@@ -49,8 +49,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"
@@ -69,14 +69,14 @@ 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 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" \
diff --git a/network/transmission-remote-gtk/transmission-remote-gtk.info b/network/transmission-remote-gtk/transmission-remote-gtk.info
index 80f1eaffc3..1f185d0e80 100644
--- a/network/transmission-remote-gtk/transmission-remote-gtk.info
+++ b/network/transmission-remote-gtk/transmission-remote-gtk.info
@@ -1,8 +1,8 @@
PRGNAM="transmission-remote-gtk"
-VERSION="1.2"
+VERSION="1.4.1"
HOMEPAGE="https://github.com/transmission-remote-gtk/transmission-remote-gtk/"
-DOWNLOAD="https://github.com/transmission-remote-gtk/transmission-remote-gtk/releases/download/1.2/transmission-remote-gtk-1.2.tar.gz"
-MD5SUM="dfb485390b49c1f0af5063b44a4fef03"
+DOWNLOAD="https://github.com/transmission-remote-gtk/transmission-remote-gtk/releases/download/1.4.1/transmission-remote-gtk-1.4.1.tar.xz"
+MD5SUM="5955f2d80e51c14fa6bf137c9c2bac74"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="transmission json-glib"
diff --git a/network/vde2/vde2.SlackBuild b/network/vde2/vde2.SlackBuild
index f0d9d64035..910dbd409f 100644
--- a/network/vde2/vde2.SlackBuild
+++ b/network/vde2/vde2.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 to build against openssl-1.1.x - thanks archlinux!
+patch -p1 < $CWD/vde_cryptcab-compile-against-openssl-1.1.0.patch
+
EXPERIMENTAL=${EXPERIMENTAL:-false}
OPTIONS=""
diff --git a/network/vde2/vde_cryptcab-compile-against-openssl-1.1.0.patch b/network/vde2/vde_cryptcab-compile-against-openssl-1.1.0.patch
new file mode 100644
index 0000000000..227312eabb
--- /dev/null
+++ b/network/vde2/vde_cryptcab-compile-against-openssl-1.1.0.patch
@@ -0,0 +1,92 @@
+--- a/src/vde_cryptcab/cryptcab.c 2011-11-23 16:41:17.000000000 +0000
++++ b/src/vde_cryptcab/cryptcab.c 2017-03-20 22:54:20.452975075 +0000
+@@ -22,7 +22,7 @@
+ exit(1);
+ }
+
+-static EVP_CIPHER_CTX ctx;
++static EVP_CIPHER_CTX *ctx;
+ static int ctx_initialized = 0;
+ static int encryption_disabled = 0;
+ static int nfd;
+@@ -30,6 +30,10 @@
+ static struct vde_open_args open_args={.port=0,.group=NULL,.mode=0700};
+ static int verbose = 0;
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++#define EVP_CIPHER_CTX_reset(x) EVP_CIPHER_CTX_cleanup(x)
++#endif
++
+ void vc_printlog(int priority, const char *format, ...)
+ {
+ va_list arg;
+@@ -103,19 +107,21 @@
+ }
+
+ if (!ctx_initialized) {
+- EVP_CIPHER_CTX_init (&ctx);
++ ctx = EVP_CIPHER_CTX_new ();
++ if (!ctx)
++ return -1;
+ ctx_initialized = 1;
+ }
+
+- EVP_EncryptInit (&ctx, EVP_bf_cbc (), p->key, p->iv);
+- if (EVP_EncryptUpdate (&ctx, dst, &olen, src, len) != 1)
++ EVP_EncryptInit (ctx, EVP_bf_cbc (), p->key, p->iv);
++ if (EVP_EncryptUpdate (ctx, dst, &olen, src, len) != 1)
+ {
+ fprintf (stderr,"error in encrypt update\n");
+ olen = -1;
+ goto cleanup;
+ }
+
+- if (EVP_EncryptFinal (&ctx, dst + olen, &tlen) != 1)
++ if (EVP_EncryptFinal (ctx, dst + olen, &tlen) != 1)
+ {
+ fprintf (stderr,"error in encrypt final\n");
+ olen = -1;
+@@ -124,7 +130,7 @@
+ olen += tlen;
+
+ cleanup:
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_reset(ctx);
+ return olen;
+ }
+
+@@ -138,19 +144,21 @@
+ }
+
+ if (!ctx_initialized) {
+- EVP_CIPHER_CTX_init (&ctx);
++ ctx = EVP_CIPHER_CTX_new ();
++ if (!ctx)
++ return -1;
+ ctx_initialized = 1;
+ }
+
+- EVP_DecryptInit (&ctx, EVP_bf_cbc (), p->key, p->iv);
+- if (EVP_DecryptUpdate (&ctx, dst, &olen, src, len) != 1)
++ EVP_DecryptInit (ctx, EVP_bf_cbc (), p->key, p->iv);
++ if (EVP_DecryptUpdate (ctx, dst, &olen, src, len) != 1)
+ {
+ fprintf (stderr,"error in decrypt update\n");
+ olen = -1;
+ goto cleanup;
+ }
+
+- if (EVP_DecryptFinal (&ctx, dst + olen, &tlen) != 1)
++ if (EVP_DecryptFinal (ctx, dst + olen, &tlen) != 1)
+ {
+ fprintf (stderr,"error in decrypt final\n");
+ olen = -1;
+@@ -159,7 +167,7 @@
+ olen += tlen;
+
+ cleanup:
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_reset (ctx);
+ return olen;
+ }
+
diff --git a/network/verlihub/verlihub-gcc7.patch b/network/verlihub/verlihub-gcc7.patch
new file mode 100644
index 0000000000..4b2ede4d42
--- /dev/null
+++ b/network/verlihub/verlihub-gcc7.patch
@@ -0,0 +1,18 @@
+diff -Naur verlihub-0.9.8e-r2.orig/src/script_api.cpp verlihub-0.9.8e-r2/src/script_api.cpp
+--- verlihub-0.9.8e-r2.orig/src/script_api.cpp 2009-05-16 16:42:07.000000000 +0200
++++ verlihub-0.9.8e-r2/src/script_api.cpp 2017-06-01 20:33:58.923440440 +0200
+@@ -218,12 +218,12 @@
+ cServerDC *server = GetCurrentVerlihub();
+ if(!server) {
+ cerr << "Server verlihub is unfortunately not running or not found." << endl;
+- return false;
++ return NULL;
+ }
+ cUser *usr = GetUser((char *) server->mC.hub_security.c_str());
+ printf("%p\n", usr);
+ printf("%p", usr->mxConn);
+- if ((!usr) || (usr && !usr->mxConn)) return false;
++ if ((!usr) || (usr && !usr->mxConn)) return NULL;
+ cout << "here" << endl;
+ if (!server->mP.ParseForCommands(command_line, usr->mxConn)) {
+ // unknown command
diff --git a/network/verlihub/verlihub.SlackBuild b/network/verlihub/verlihub.SlackBuild
index 25c0729a42..e9d5f550c4 100644
--- a/network/verlihub/verlihub.SlackBuild
+++ b/network/verlihub/verlihub.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 {} \;
+# https://gcc.gnu.org/gcc-7/porting_to.html
+patch -p1 < $CWD/verlihub-gcc7.patch
+
patch -p1 < $CWD/verlihub-header.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/network/zeek/zeek.SlackBuild b/network/zeek/zeek.SlackBuild
index 6ce082a95f..c0354d524d 100644
--- a/network/zeek/zeek.SlackBuild
+++ b/network/zeek/zeek.SlackBuild
@@ -69,11 +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 {} \;
+LIBS="-L/usr/lib$LIBDIRSUFFIX/openssl-1.0" \
+CPPFLAGS="/usr/include/openssl-1.0" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/opt/$PRGNAM
+# Temporary fix until openssl-1.1 is supported
+sed -i "s/^OPENSSL_CRYPTO_LIBRARY.*/OPENSSL_CRYPTO_LIBRARY:FILEPATH=\/usr\/lib$LIBDIRSUFFIX\/openssl-1.0\/libcrypto.so/" build/CMakeCache.txt
+sed -i "s/^OPENSSL_INCLUDE_DIR.*/OPENSSL_INCLUDE_DIR:PATH=\/usr\/include\/openssl-1.0/" build/CMakeCache.txt
+sed -i "s/^OPENSSL_SSL_LIBRARY.*/OPENSSL_SSL_LIBRARY:FILEPATH=\/usr\/lib$LIBDIRSUFFIX\/openssl-1.0\/libssl.so/" build/CMakeCache.txt
+
make
make install DESTDIR=$PKG
diff --git a/office/LibreOffice/LibreOffice.SlackBuild b/office/LibreOffice/LibreOffice.SlackBuild
index 000bc0dd38..416819871f 100644
--- a/office/LibreOffice/LibreOffice.SlackBuild
+++ b/office/LibreOffice/LibreOffice.SlackBuild
@@ -26,7 +26,7 @@
PRGNAM=LibreOffice
SRCNAM=libreoffice
-VERSION=${VERSION:-6.2.5.2}
+VERSION=${VERSION:-6.3.1.2}
SHORT_VERSION=${VERSION%.*.*}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
@@ -91,7 +91,7 @@ jval="$(echo $MAKEFLAGS |grep -o "\-j *[0-9]*" | grep -o "[0-9]*")" || true
# If PARALLEL environment variable is set, use that to override everything.
[ "${PARALLEL:-0}" != "0" ] && parallel="--with-parallelism=$PARALLEL"
-JAVA=${JAVA:-openjdk7}
+JAVA=${JAVA:-jdk}
if [ "$JAVA" = "openjdk7" ]; then
. /etc/profile.d/openjdk7.sh
use_java="--with-java=java"
@@ -154,7 +154,6 @@ if pkg-config --exists python3 ; then Python3="--enable-python=system" ; else Py
if pkg-config --exists Qt5 ; then qt5="--enable-qt5" ; else qt5="" ; fi
if pkg-config --exists valgrind ; then valgrind="--with-valgrind" ; else valgrind="" ; fi
-kde4="--enable-kde4" ; [ "${KDE4:-yes}" != "yes" ] && kde4="--disable-kde4"
use_ccache="--disable-ccache" ; [ "${USE_CCACHE:-no}" != "no" ] && use_ccache=""
# Extensions
@@ -168,7 +167,6 @@ extnlpsolver="--enable-ext-nlpsolver"; [ "${EXTNLPSOLVER:-yes}" != "yes" ] &
./autogen.sh \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
- NSS_CFLAGS="$(pkg-config --cflags-only-I mozilla-nss)"\
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
@@ -188,7 +186,6 @@ extnlpsolver="--enable-ext-nlpsolver"; [ "${EXTNLPSOLVER:-yes}" != "yes" ] &
$avahi \
$Python3 \
$vlc \
- $kde4 \
$use_ccache \
$use_java \
$parallel \
diff --git a/office/LibreOffice/LibreOffice.info b/office/LibreOffice/LibreOffice.info
index e3f58bb5a3..32a6570afe 100644
--- a/office/LibreOffice/LibreOffice.info
+++ b/office/LibreOffice/LibreOffice.info
@@ -1,12 +1,12 @@
PRGNAM="LibreOffice"
-VERSION="6.2.5.2"
+VERSION="6.3.1.2"
HOMEPAGE="https://www.libreoffice.org"
-DOWNLOAD="https://download.documentfoundation.org/libreoffice/src/6.2.5/libreoffice-6.2.5.2.tar.xz \
- http://sourceforge.net/projects/slackbuildsdirectlinks/files/LibreOffice/libreoffice-6.2.5.2-srcs.tar.xz"
-MD5SUM="8239de1ab99236bd97623f8ceedfe926 \
- 1fcf52003e0d3c514caf8bfd40b6b88e"
+DOWNLOAD="https://download.documentfoundation.org/libreoffice/src/6.3.1/libreoffice-6.3.1.2.tar.xz \
+ http://sourceforge.net/projects/slackbuildsdirectlinks/files/LibreOffice/libreoffice-6.3.1.2-srcs.tar.xz"
+MD5SUM="d6d546055af3569b3c4064f273d3baf1 \
+ 030c8647db051c7ef51c6594b854427f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="python3 openjdk7 apache-ant perl-Archive-Zip"
+REQUIRES="python3 apache-ant perl-Archive-Zip jdk"
MAINTAINER="Christoph Willing"
EMAIL="chris.willing@linux.com"
diff --git a/office/LibreOffice/README b/office/LibreOffice/README
index 69c212624c..addec25a27 100644
--- a/office/LibreOffice/README
+++ b/office/LibreOffice/README
@@ -35,10 +35,7 @@ Build time environment variables that may be set to vary features are as follows
VLC="yes"
This requires the vlc package (available from SBo) to be installed.
-3. disable kde4 support (enabled by default) with:
- KDE4="no"
-
-4. support additional languages by overriding the LOLANGS variable, whose
+2. support additional languages by overriding the LOLANGS variable, whose
default setting is LOLANGS="de es fr id it ja nl vi zh-CN". Note that en-US
is always added to whatever LOLANGS is set. Thus building with, for example,
LOLANGS="de" sh LibreOffice
@@ -46,19 +43,20 @@ Build time environment variables that may be set to vary features are as follows
Additionally, setting LOLANGS="ALL" will build in support for all available
languages.
-5. A number of Java Development Kits are suitable for building LibreOffice.
- The default JDK for this SlackBuild is openjdk7. Others may be chosen by
+3. A number of Java Development Kits are suitable for building LibreOffice.
+ The default JDK for this SlackBuild is jdk. Others may be chosen by
setting the JAVA environment variable when running the SlackBuild. Recognised
- values are openjdk7 (the default, not explicitly required), openjdk8 and jdk
- e.g. JAVA=jdk (to use SBo jdk package with Oracle binary version). Using an
- alternate JDK will require presence of the appropriate package when building
+ values are jdk, openjdk7 and openjdk8. For example:
+ JAVA=jdk
+ (to use SBo jdk package with Oracle binary version). Using an alternate
+ JDK will require the presence of the appropriate package when building
LibreOffice. Since the apache-ant package is already required by openjdk7,
hence openjdk8, its listing in the REQUIRES field is redundant in these cases.
However it remains listed to accomodate the case of JAVA=jdk, in which the
apache-ant package is needed to build LibreOffice.
Finally, setting JAVA=no will build LibreOffice without any Java support.
-6. The number of parallel make jobs used by the LibreOffice build system defaults
+4. The number of parallel make jobs used by the LibreOffice build system defaults
to the number of available cpu cores. If the MAKEFLAGS environment variable
contains the -j option e.g.
MAKEFLAGS=-j6
@@ -69,7 +67,7 @@ Build time environment variables that may be set to vary features are as follows
which would limit building to a single make process, overriding any value set
with the -j option in MAKEFLAGS.
-7. Use of ccache during building is turned off by default to save disk space (and
+5. Use of ccache during building is turned off by default to save disk space (and
possible build failure due to lack of disk space). It may be reinstated by
setting the USE_CCACHE environment to "yes" e.g.
USE_CCACHE=yes sh LibreOffice.SlackBuild
diff --git a/office/abiword/abiword.SlackBuild b/office/abiword/abiword.SlackBuild
index 77fdffe278..d3c9925d88 100644
--- a/office/abiword/abiword.SlackBuild
+++ b/office/abiword/abiword.SlackBuild
@@ -80,6 +80,8 @@ find -L . \
# https://bugs.archlinux.org/task/46659
patch -p1 < $CWD/bug13815.patch
+patch -p1 < $CWD/libical-deprecated.patch
+
CPPFLAGS="-I$TMP/$PRGNAM-$VERSION" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
diff --git a/office/abiword/libical-deprecated.patch b/office/abiword/libical-deprecated.patch
new file mode 100644
index 0000000000..9ca15bee12
--- /dev/null
+++ b/office/abiword/libical-deprecated.patch
@@ -0,0 +1,13 @@
+--- abiword-3.0.2/src/text/ptbl/xp/pd_DocumentRDF.cpp.orig 2015-04-02 03:09:20.000000000 +0000
++++ abiword-3.0.2/src/text/ptbl/xp/pd_DocumentRDF.cpp 2017-11-19 22:57:49.533304878 +0000
+@@ -2269,8 +2269,8 @@
+ icalcomponent_set_uid( c, m_uid.c_str() );
+ icalcomponent_set_location( c, m_location.c_str() );
+ icalcomponent_set_description( c, m_desc.c_str() );
+- icalcomponent_set_dtstart( c, icaltime_from_timet( m_dtstart, 0 ) );
+- icalcomponent_set_dtend( c, icaltime_from_timet( m_dtend, 0 ) );
++ icalcomponent_set_dtstart( c, icaltime_from_timet_with_zone( m_dtstart, 0, 0 ) );
++ icalcomponent_set_dtend( c, icaltime_from_timet_with_zone( m_dtend, 0, 0 ) );
+
+ char* data = icalcomponent_as_ical_string( c );
+ std::ofstream oss( filename.c_str() );
diff --git a/office/apvlv/apvlv.SlackBuild b/office/apvlv/apvlv.SlackBuild
index 5246eb400f..62eff77de8 100644
--- a/office/apvlv/apvlv.SlackBuild
+++ b/office/apvlv/apvlv.SlackBuild
@@ -23,15 +23,14 @@
# (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=apvlv
-VERSION=${VERSION:-0.1.4}
+VERSION=${VERSION:-20160627_9ab7626}
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 +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"
@@ -61,21 +60,21 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION-Source
-tar xvf $CWD/$PRGNAM-$VERSION-Source.tar.gz
-cd $PRGNAM-$VERSION-Source
+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 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 {} \;
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS -fpermissive" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DAPVLV_WITH_UMD=false \
-DMANDIR=/usr/man \
diff --git a/office/apvlv/apvlv.info b/office/apvlv/apvlv.info
index da882def19..4df540a600 100644
--- a/office/apvlv/apvlv.info
+++ b/office/apvlv/apvlv.info
@@ -1,8 +1,8 @@
PRGNAM="apvlv"
-VERSION="0.1.4"
+VERSION="20160627_9ab7626"
HOMEPAGE="http://naihe2010.github.com/apvlv/"
-DOWNLOAD="https://github.com/downloads/naihe2010/apvlv/apvlv-0.1.4-Source.tar.gz"
-MD5SUM="bcd3e96350a2378662e2f2d0fa02d342"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/apvlv-20160627_9ab7626.tar.xz"
+MD5SUM="e7a285ca7ac4d3abc1842519c0f20987"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/office/calibre/calibre.SlackBuild b/office/calibre/calibre.SlackBuild
index 048798bcf9..cff4dbdc86 100644
--- a/office/calibre/calibre.SlackBuild
+++ b/office/calibre/calibre.SlackBuild
@@ -79,10 +79,6 @@ patch -p1 < $CWD/patches/calibre-no-update.patch
# Remove calibre portable scripts.
rm -f resources/calibre-portable.*
-PYTHONVER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
-export SIP_BIN=/usr/bin/python2-sip
-export SIP_INC_DIR="/usr/include/python$PYTHONVER/python2-sip"
-
OVERRIDE_CFLAGS="$SLKCFLAGS" \
OVERRIDE_LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
python setup.py build
diff --git a/office/coolreader/coolreader.SlackBuild b/office/coolreader/coolreader.SlackBuild
index d4cd5b4820..dd38f2cb84 100644
--- a/office/coolreader/coolreader.SlackBuild
+++ b/office/coolreader/coolreader.SlackBuild
@@ -22,19 +22,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Upsteam url: https://sourceforge.net/p/crengine/crengine/ci/master/tree/
+
PRGNAM=coolreader
-VERSION=${VERSION:-3.0.56}
+VERSION=${VERSION:-20160825_d8a3a1b}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-ORIG_PRGNAM=cr3
-ORIG_VERSION=$VERSION-7
-ORIG_DIRNAME=cr$ORIG_VERSION
-ORIG_FILENAME=${ORIG_PRGNAM}_$VERSION.orig.tar.gz
-
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -45,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"
@@ -59,28 +56,34 @@ else
LIBDIRSUFFIX=""
fi
+ORIG_PRGNAM=cr3
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $ORIG_DIRNAME
-tar xvf $CWD/$ORIG_FILENAME
-cd $ORIG_DIRNAME
+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 {} \;
mkdir -p build
cd build
cmake \
- -D CMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -D CMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -D CMAKE_INSTALL_PREFIX=/usr \
- -D LIB_SUFFIX=${LIBDIRSUFFIX} \
- -D CMAKE_BUILD_TYPE=Release \
- -D MAX_IMAGE_SCALE_MUL=2 \
- -D DOC_DATA_COMPRESSION_LEVEL=3 \
- -D DOC_BUFFER_SIZE=0x1400000 \
- -D GUI=QT ..
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DMAX_IMAGE_SCALE_MUL=2 \
+ -DDOC_DATA_COMPRESSION_LEVEL=3 \
+ -DDOC_BUFFER_SIZE=0x1400000 \
+ -DGUI=QT ..
make VERBOSE=1
make install DESTDIR=$PKG
cd ..
diff --git a/office/coolreader/coolreader.info b/office/coolreader/coolreader.info
index c5b6d8c40f..6da261f458 100644
--- a/office/coolreader/coolreader.info
+++ b/office/coolreader/coolreader.info
@@ -1,8 +1,8 @@
PRGNAM="coolreader"
-VERSION="3.0.56"
+VERSION="20160825_d8a3a1b"
HOMEPAGE="https://sourceforge.net/projects/crengine/"
-DOWNLOAD="https://downloads.sourceforge.net/crengine/CoolReader3/cr3_3.0.56.orig.tar.gz"
-MD5SUM="cc221a608a1b5fea2db5a519c14eeb39"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/coolreader-20160825_d8a3a1b.tar.xz"
+MD5SUM="0c65e080d2cba8213dd19fb26f4ad9b3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/office/fbreader/fbreader.SlackBuild b/office/fbreader/fbreader.SlackBuild
index d5c54adeac..d19b2904a3 100644
--- a/office/fbreader/fbreader.SlackBuild
+++ b/office/fbreader/fbreader.SlackBuild
@@ -56,6 +56,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 >= 6.x
+sed -i "s|-Wall|-Wall -Wno-narrowing|" makefiles/arch/desktop.mk
+
patch -p1 < $CWD/fbreader-0.99.4.patch
export TARGET_ARCH=desktop
diff --git a/office/gbgoffice/gbgoffice.SlackBuild b/office/gbgoffice/gbgoffice.SlackBuild
index 08a3eac59b..268a1f6f00 100644
--- a/office/gbgoffice/gbgoffice.SlackBuild
+++ b/office/gbgoffice/gbgoffice.SlackBuild
@@ -78,6 +78,7 @@ patch -p1 -i $CWD/patches/08_fix_const_conversion.patch
patch -p1 -i $CWD/patches/09_deprecated_SigC.patch
patch -p1 -i $CWD/patches/10_workhelper-buttonbox.patch
patch -p1 -i $CWD/patches/11_explicit-linkage.patch
+patch -p1 -i $CWD/patches/12_gcc6.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
diff --git a/office/gbgoffice/patches/12_gcc6.patch b/office/gbgoffice/patches/12_gcc6.patch
new file mode 100644
index 0000000000..2ec2c344f4
--- /dev/null
+++ b/office/gbgoffice/patches/12_gcc6.patch
@@ -0,0 +1,21 @@
+Description: fixes compilation with GCC-6
+ return type must be Translator* and can't be boolean
+Author: Damyan Ivanov <dmn@debian.org>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811619
+
+--- a/src/translator_manager.cpp
++++ b/src/translator_manager.cpp
+@@ -176,11 +176,11 @@ Translator *TranslatorManager::getTestDi
+ isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(prop->getDirectory()) + prop->getString("data")).c_str());
+ } else {
+ cerr << "TranslatorManager::getTestDictionaryObject - Wrong description file: " << testDictionaries[index].fileName << "\n";
+- return false;
++ return NULL;
+ }
+ if (!isDataOk) {
+ cerr << "TranslatorManager::getTestDictionaryObject - Problem initialazing dictionary: " << testDictionaries[index].fileName << "\n";
+- return false;
++ return NULL;
+ }
+ char c[16];
+ sprintf(c, "%d", level);
diff --git a/office/gnokii/gnokii-0.6.31-gcc7.patch b/office/gnokii/gnokii-0.6.31-gcc7.patch
new file mode 100644
index 0000000000..6637a6af62
--- /dev/null
+++ b/office/gnokii/gnokii-0.6.31-gcc7.patch
@@ -0,0 +1,17 @@
+Patch by Robert Scheck <robert@fedoraproject.org> for gnokii <= 0.6.31 to avoid
+build failures with GCC 7.x as "../common/.libs/libgnokii.so: undefined reference
+to `local_atoi'". The "inline" is only a hint that the compiler doesn't complain
+about double defined symbols, but does not guarantee that a function is inlined
+or that a symbol is generated when needed.
+
+--- gnokii-0.6.31/common/gsm-filetypes.c 2011-12-02 15:53:04.000000000 +0100
++++ gnokii-0.6.31/common/gsm-filetypes.c.gcc7 2017-02-12 00:55:39.000000000 +0100
+@@ -1409,7 +1409,7 @@
+ #define GET_NEXT_TOKEN() o = get_next_token(line + offset, ';')
+ #define STORE_TOKEN(a) strip_slashes(a, line + offset, sizeof(a) - 1, o - 1)
+
+-inline int local_atoi(char *str, int len)
++static int local_atoi(char *str, int len)
+ {
+ int retval;
+ char *aux = strndup(str, len);
diff --git a/office/gnokii/gnokii.SlackBuild b/office/gnokii/gnokii.SlackBuild
index eb3b4f1519..5301e1c7cf 100644
--- a/office/gnokii/gnokii.SlackBuild
+++ b/office/gnokii/gnokii.SlackBuild
@@ -73,6 +73,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Thnx to fedora for this patch
+patch -p1 < $CWD/gnokii-0.6.31-gcc7.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/office/gnucash-legacy/gnucash-legacy.info b/office/gnucash-legacy/gnucash-legacy.info
index 7c4ad9d1f9..5449ab2e68 100644
--- a/office/gnucash-legacy/gnucash-legacy.info
+++ b/office/gnucash-legacy/gnucash-legacy.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://downloads.sourceforge.net/gnucash/gnucash-2.6.21.tar.bz2"
MD5SUM="63226e9b49e11dc0d7106bd15c09996b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libgnomecanvas goffice0.8 webkitgtk"
+REQUIRES="libgnomecanvas goffice0.8 guile1.8 webkitgtk"
MAINTAINER="Lenard Spencer"
EMAIL="lenardrspencer@gmail.com"
diff --git a/office/gnucash/gnucash.SlackBuild b/office/gnucash/gnucash.SlackBuild
index bc30bbfaf8..a912be3411 100644
--- a/office/gnucash/gnucash.SlackBuild
+++ b/office/gnucash/gnucash.SlackBuild
@@ -116,6 +116,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 '1iinclude(CheckSymbolExists)' gnucash/register/register-gnome/CMakeLists.txt
+
mkdir -p build
cd build
cmake \
diff --git a/office/gnumeric/gnumeric.SlackBuild b/office/gnumeric/gnumeric.SlackBuild
index 0a5d0ee899..e87c652629 100644
--- a/office/gnumeric/gnumeric.SlackBuild
+++ b/office/gnumeric/gnumeric.SlackBuild
@@ -66,6 +66,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 {} \;
+# Avoid the cs help or build will break
+sed -i "s|cs\ de\ es|de es|" doc/Makefile.am || exit 1
+autoreconf -fi
+
# Thanks to mancha for this gem :-)
# The docs will still be missing, but at least we can build the app itself
touch doc/C/gnumeric-C.omf.out
diff --git a/office/htmldoc/build_fix.patch b/office/htmldoc/build_fix.patch
new file mode 100644
index 0000000000..f0e2e64993
--- /dev/null
+++ b/office/htmldoc/build_fix.patch
@@ -0,0 +1,11 @@
+--- htmldoc/ps-pdf.cxx.orig 2018-04-10 11:56:03 UTC
++++ htmldoc/ps-pdf.cxx
+@@ -5361,7 +5361,7 @@ parse_pre(tree_t *t, /* I - Tree to parse */
+ line[10240],
+ *lineptr,
+ *dataptr;
+- int col;
++ volatile int col;
+ float width,
+ height,
+ rgb[3];
diff --git a/office/htmldoc/htmldoc.SlackBuild b/office/htmldoc/htmldoc.SlackBuild
index f88d47c057..4336fd627f 100644
--- a/office/htmldoc/htmldoc.SlackBuild
+++ b/office/htmldoc/htmldoc.SlackBuild
@@ -31,7 +31,7 @@
# not being copied into the package
PRGNAM=htmldoc
-VERSION=${VERSION:-1.8.29}
+VERSION=${VERSION:-1.9.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -48,7 +48,7 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCFILES="CHANGES.txt README.txt COMPILE.txt COPYING.txt htmldoc.readme"
+DOCFILES="CHANGES.md README.md COPYING"
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
@@ -70,7 +70,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION-source.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -79,6 +79,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://github.com/michaelrsweet/htmldoc/issues/349#issuecomment-486094260
+patch -p0 < $CWD/build_fix.patch
+
# workaround to avoid /usr/share/doc/htmldoc's use for help function
sed -r -i 's|^#define DOCUMENTATION "$prefix/share/doc/htmldoc"|\
#define DOCUMENTATION "$prefix/doc/htmldoc-$VERSION"|g' ./configure
@@ -117,23 +120,16 @@ mkdir -p $PKG/usr/man/man1
cp -a doc/$PRGNAM.1 $PKG/usr/man/man1
mkdir -p $PKG/usr/share/applications
cp -a desktop/$PRGNAM.desktop $PKG/usr/share/applications
-mkdir -p $PKG/usr/share/mimelnk/application
-cp -a desktop/vnd.htmldoc-book.desktop $PKG/usr/share/mimelnk/application
mkdir -p $PKG/usr/share/mime/packages
cp -a desktop/htmldoc.xml $PKG/usr/share/mime/packages
-mkdir -p $PKG/usr/share/icons/hicolor/{16x16,24x24,32x32,48x48,64x64,96x96,128x128}/apps/
-cp -a desktop/htmldoc-16.png $PKG/usr/share/icons/hicolor/16x16/apps/$PRGNAM.png
-cp -a desktop/htmldoc-24.png $PKG/usr/share/icons/hicolor/24x24/apps/$PRGNAM.png
+mkdir -p $PKG/usr/share/icons/hicolor/{32x32,128x128}/apps/ $PKG/usr/share/pixmaps
cp -a desktop/htmldoc-32.png $PKG/usr/share/icons/hicolor/32x32/apps/$PRGNAM.png
-cp -a desktop/htmldoc-48.png $PKG/usr/share/icons/hicolor/48x48/apps/$PRGNAM.png
-cp -a desktop/htmldoc-64.png $PKG/usr/share/icons/hicolor/64x64/apps/$PRGNAM.png
-cp -a desktop/htmldoc-96.png $PKG/usr/share/icons/hicolor/96x96/apps/$PRGNAM.png
cp -a desktop/htmldoc-128.png $PKG/usr/share/icons/hicolor/128x128/apps/$PRGNAM.png
+cp -a desktop/htmldoc.xpm $PKG/usr/share/pixmaps/$PRGNAM.xpm
mkdir -p $PKG/usr/share/htmldoc/
cp -a fonts $PKG/usr/share/htmldoc/
cp -a data $PKG/usr/share/htmldoc/
-
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/office/htmldoc/htmldoc.info b/office/htmldoc/htmldoc.info
index 5bdd183509..d74acb287c 100644
--- a/office/htmldoc/htmldoc.info
+++ b/office/htmldoc/htmldoc.info
@@ -1,8 +1,8 @@
PRGNAM="htmldoc"
-VERSION="1.8.29"
+VERSION="1.9.5"
HOMEPAGE="https://www.msweet.org/htmldoc/index.html"
-DOWNLOAD="http://www.mirrorservice.org/sites/distfiles.finkmirrors.net/md5/dd2a05e2608d4f34db13c17a6667bb5e/htmldoc-1.8.29-source.tar.bz2"
-MD5SUM="dd2a05e2608d4f34db13c17a6667bb5e"
+DOWNLOAD="https://github.com/michaelrsweet/htmldoc/archive/v1.9.5/htmldoc-1.9.5.tar.gz"
+MD5SUM="afcb95956be031ed8964322385c73e0d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fltk"
diff --git a/office/juffed/README b/office/juffed/README
deleted file mode 100644
index b322d42743..0000000000
--- a/office/juffed/README
+++ /dev/null
@@ -1,6 +0,0 @@
-JuffEd is a free, cross-platform text editor for programmers and
-advanced users. Has syntax highlighting for many languages, code
-folding, find/replace using plain text and regexps, code completion,
-multiple charsets and many other useful features.
-
-enca is an optional dependency (for auto language detection).
diff --git a/office/juffed/juffed.SlackBuild b/office/juffed/juffed.SlackBuild
deleted file mode 100644
index f37a401a21..0000000000
--- a/office/juffed/juffed.SlackBuild
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for juffed
-
-# Copyright 2011-2018 Matteo Bernardini <ponce@slackbuilds.org>, 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=juffed
-VERSION=${VERSION:-20180114_9b7af21}
-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="COPYING ChangeLog 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 {} \;
-
-mkdir -p build
-cd build
- cmake \
- -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
-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 $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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/office/juffed/juffed.info b/office/juffed/juffed.info
deleted file mode 100644
index 0b6740222a..0000000000
--- a/office/juffed/juffed.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="juffed"
-VERSION="20180114_9b7af21"
-HOMEPAGE="http://juffed.com"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/juffed-20180114_9b7af21.tar.xz"
-MD5SUM="6b6c56fecdcfd408638a8023deda09cf"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Matteo Bernardini"
-EMAIL="ponce@slackbuilds.org"
diff --git a/office/juffed/slack-desc b/office/juffed/slack-desc
deleted file mode 100644
index ae39cf2747..0000000000
--- a/office/juffed/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------------------------------------------------------|
-juffed: juffed (light qt editor)
-juffed:
-juffed: JuffEd is a free, cross-platform text editor for programmers and
-juffed: advanced users. Has syntax highlighting for many languages, code
-juffed: folding, find/replace using plain text and regexps, code completion,
-juffed: multiple charsets and many other useful features.
-juffed:
-juffed: homepage: http://juffed.com
-juffed:
-juffed:
-juffed:
diff --git a/office/kbgoffice/gcc6.patch b/office/kbgoffice/gcc6.patch
new file mode 100644
index 0000000000..6e2d45e572
--- /dev/null
+++ b/office/kbgoffice/gcc6.patch
@@ -0,0 +1,17 @@
+diff -Naur kbgoffice-2.1.orig/src/translator_manager.cpp kbgoffice-2.1/src/translator_manager.cpp
+--- kbgoffice-2.1.orig/src/translator_manager.cpp 2010-04-30 14:37:42.000000000 +0200
++++ kbgoffice-2.1/src/translator_manager.cpp 2017-06-01 18:10:20.308920738 +0200
+@@ -141,11 +141,11 @@
+ isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(dataDir) + prop->getString("data")).c_str());
+ } else {
+ cerr << "TranslatorManager::getTestDictionaryObject - Wrong description file: " << testDictionaries[index].file << "\n";
+- return false;
++ return NULL;
+ }
+ if (!isDataOk) {
+ cerr << "TranslatorManager::getTestDictionaryObject - Problem initialazing dictionary: " << testDictionaries[index].file << "\n";
+- return false;
++ return NULL;
+ }
+ char c[16];
+ sprintf(c, "%d", level);
diff --git a/office/kbgoffice/kbgoffice.SlackBuild b/office/kbgoffice/kbgoffice.SlackBuild
index c4f4cbb1af..91069ba041 100644
--- a/office/kbgoffice/kbgoffice.SlackBuild
+++ b/office/kbgoffice/kbgoffice.SlackBuild
@@ -52,6 +52,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Thanks debian
+patch -p1 < $CWD/gcc6.patch
+
cd src
sed "s:/usr/local:/usr:" -i.orig $PRGNAM.pro
sed "s:/usr/local:/usr:" -i.orig main.cpp
diff --git a/office/pdfjam/README b/office/pdfjam/README
deleted file mode 100644
index 7d3d58266c..0000000000
--- a/office/pdfjam/README
+++ /dev/null
@@ -1,4 +0,0 @@
-PDFjam is a collection of shell scripts providing a simple interface
-to functionality of the pdfpages package for pdfLaTeX. PDFjam can
-rotate pages, join PDFs, n-up several pages onto one page, generate a
-printer spread for books, and much much more.
diff --git a/office/pdfjam/pdfjam.SlackBuild b/office/pdfjam/pdfjam.SlackBuild
deleted file mode 100644
index 79a862e459..0000000000
--- a/office/pdfjam/pdfjam.SlackBuild
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for pdfjam
-# Copyright 2016 Klaatu klaatu@member.fsf.org
-#
-# GNU All-Permissive License
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved. This file is offered as-is,
-# without any warranty.
-
-PRGNAM=pdfjam
-VERSION=${VERSION:-2.08}
-VERTAR=${VERTAR:-latest}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-ARCH='noarch'
-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 $PRGNAM-$VERSION
-tar xvf $CWD/"$PRGNAM"_"$VERTAR".tgz
-cd $PRGNAM
-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 {} \;
-
-# already in PRGNAM
-mkdir $PKG/usr
-mv bin $PKG/usr/bin
-mkdir -p $PKG/usr/man/man1
-mkdir $PKG/etc
-mv pdfjam.conf $PKG/etc
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-
-for i in man1/* ; do gzip -9c "$i" > $PKG/usr/man/"$i".gz ; done
-
-cp -a COPYING VERSION tests.zip PDFjam-README.html pdfdroplets.png \
- $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/office/pdfjam/pdfjam.info b/office/pdfjam/pdfjam.info
deleted file mode 100644
index d97fbbdeed..0000000000
--- a/office/pdfjam/pdfjam.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="pdfjam"
-VERSION="2.08"
-HOMEPAGE="https://www2.warwick.ac.uk/fac/sci/statistics/staff/academic-research/firth/software/pdfjam"
-DOWNLOAD="https://www2.warwick.ac.uk/fac/sci/statistics/staff/academic/firth/software/pdfjam/pdfjam_latest.tgz"
-MD5SUM="7df075df7f129091f826275ce8c1f374"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Klaatu"
-EMAIL="klaatu@member.fsf.org"
diff --git a/office/pdfjam/slack-desc b/office/pdfjam/slack-desc
deleted file mode 100644
index 8f35a106b2..0000000000
--- a/office/pdfjam/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------------------------------------------------------|
-pdfjam: pdfjam (pdf toolkit)
-pdfjam:
-pdfjam: PDFjam is a collection of shell scripts for PDF manipulation, like
-pdfjam: joining, rotating, modifying page layout, generating printer
-pdfjam: spreads, and more.
-pdfjam:
-pdfjam: https://www2.warwick.ac.uk/fac/sci/statistics/staff/\
-pdfjam: academic-research/firth/software/pdfjam/
-pdfjam:
-pdfjam:
-pdfjam:
diff --git a/office/pdftk/README b/office/pdftk/README
index c84c0b6589..6f0d6399e0 100644
--- a/office/pdftk/README
+++ b/office/pdftk/README
@@ -4,3 +4,10 @@ command-line tool for doing everyday things with PDF documents. Keep one
in the top drawer of your desktop and use it to merge PDF documents,
split PDF documents, apply watermarks, repair corrupt PDF, update PDF
metadata, and more. pdftk does not require Acrobat and is free software.
+
+NOTE: Starting with Slackware 15.0 pdftk compilation requires SBo gcc-5
+because gcc-java was dropped from the GNU Compiler Collection as of gcc-7:
+don't forget to source /etc/profile.d/gcc5.sh before starting to build
+this, like
+
+ . /etc/profile.d/gcc5.sh
diff --git a/office/pdftk/pdftk-1.44-add_custom_optflags.patch b/office/pdftk/pdftk-1.44-add_custom_optflags.patch
deleted file mode 100644
index 660073115f..0000000000
--- a/office/pdftk/pdftk-1.44-add_custom_optflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Nurp pdftk-1.44-dist-orig/pdftk/Makefile.Slackware-13.1 pdftk-1.44-dist/pdftk/Makefile.Slackware-13.1
---- pdftk-1.44-dist-orig/pdftk/Makefile.Slackware-13.1 2010-10-25 20:04:51.000000000 +0100
-+++ pdftk-1.44-dist/pdftk/Makefile.Slackware-13.1 2010-10-31 01:44:31.000000000 +0000
-@@ -34,7 +34,7 @@ export CXX= $(TOOLPATH)g++
- export GCJ= $(TOOLPATH)gcj
- export GCJH= $(TOOLPATH)gcjh
- export GJAR= $(TOOLPATH)gjar
--export LIBGCJ= /usr/share/java/libgcj$(VERSUFF).jar
-+export LIBGCJ= /usr/share/java
- export AR= ar
- export RM= rm
- export ARFLAGS= rs
-@@ -71,9 +71,10 @@ export RMFLAGS= -vf
- # only effects libraries following option on the command line
- #
- #
--export CPPFLAGS= -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -DUNBLOCK_SIGNALS -fdollars-in-identifiers
--export CXXFLAGS= -Wall -Wextra -Weffc++ -O2
--export GCJFLAGS= -Wall -fsource=1.3 -O2
-+export OPT= -O2
-+export CPPFLAGS= $(OPT) -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -DUNBLOCK_SIGNALS -fdollars-in-identifiers
-+export CXXFLAGS= $(OPT) -Wall -Wextra -Weffc++
-+export GCJFLAGS= $(OPT) -Wall -fsource=1.3
- export GCJHFLAGS= -force
- export LDLIBS= -lgcj
-
diff --git a/office/pdftk/pdftk-2.02-use-gcc5.patch b/office/pdftk/pdftk-2.02-use-gcc5.patch
new file mode 100644
index 0000000000..d1e6e124de
--- /dev/null
+++ b/office/pdftk/pdftk-2.02-use-gcc5.patch
@@ -0,0 +1,15 @@
+# diff -Nurp pdftk/Makefile.Slackware-13.1.orig pdftk/Makefile.Slackware-13.1
+--- orig/pdftk/Makefile.Slackware-13.1 2013-07-24 13:27:46.000000000 -0500
++++ pdftk/Makefile.Slackware-13.1 2018-03-04 06:20:55.312900883 -0600
+@@ -21,8 +21,9 @@
+ # tools
+ # need direct path to libgcj for gcjh (starting in gcj 4.1.2 per Aurélien GÃRÃME)
+ TOOLPATH=
+-export VERSUFF=-4.4.4
+-export CXX= $(TOOLPATH)g++
++GCCMAJORTAG=-5 # kjh was here
++export VERSUFF=-5.5.0 # kjh was here
++export CXX= $(TOOLPATH)g++$(GCCMAJORTAG) # kjh was here
+ export GCJ= $(TOOLPATH)gcj
+ export GCJH= $(TOOLPATH)gcjh
+ export GJAR= $(TOOLPATH)gjar
diff --git a/office/pdftk/pdftk.SlackBuild b/office/pdftk/pdftk.SlackBuild
index aa5bad4885..854b6da935 100644
--- a/office/pdftk/pdftk.SlackBuild
+++ b/office/pdftk/pdftk.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"
@@ -68,10 +68,9 @@ 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 {} \;
-# Use our SLKCFLAGS
-patch -p1 < $CWD/pdftk-1.44-add_custom_optflags.patch
+patch -p1 < $CWD/pdftk-2.02-use-gcc5.patch
cd $PRGNAM
# Hardcode "-j1" since this fails with multiple make jobs
diff --git a/office/pdftk/pdftk.info b/office/pdftk/pdftk.info
index 01151c62f1..b4e36211a9 100644
--- a/office/pdftk/pdftk.info
+++ b/office/pdftk/pdftk.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip
MD5SUM="6534365fd6727724f288a556ede33faa"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="gcc5"
MAINTAINER="ArTourter"
EMAIL="artourter@gmail.com"
diff --git a/office/referencer/referencer-lib_path.patch b/office/referencer/referencer-lib_path.patch
new file mode 100644
index 0000000000..78a1952089
--- /dev/null
+++ b/office/referencer/referencer-lib_path.patch
@@ -0,0 +1,11 @@
+--- referencer-1.2.2/src/Document.C 2014-01-27 03:43:00.000000000 +0700
++++ referencer-1.2.2_/src/Document.C 2016-11-03 16:25:00.698676538 +0700
+@@ -297,7 +297,7 @@
+
+ lib_path = lib_path->get_parent();
+ up_dir_level += "../";
+- if (lib_path == 0) {
++ if (!lib_path) {
+ doc_is_relative_to_library = false;
+ break;
+ }
diff --git a/office/referencer/referencer.SlackBuild b/office/referencer/referencer.SlackBuild
index 8d279093fd..0a3da09354 100644
--- a/office/referencer/referencer.SlackBuild
+++ b/office/referencer/referencer.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 {} \;
+# Fix comparison with zero - thanks archlinux
+patch -p1 < $CWD/referencer-lib_path.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
./configure \
diff --git a/office/sc-im/README b/office/sc-im/README
deleted file mode 100644
index d63f9fca91..0000000000
--- a/office/sc-im/README
+++ /dev/null
@@ -1,2 +0,0 @@
-SC-IM - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program
-for terminal. SC-IM is a spreadsheet program that is based on SC.
diff --git a/office/sc-im/sc-im.SlackBuild b/office/sc-im/sc-im.SlackBuild
deleted file mode 100644
index 25e318343e..0000000000
--- a/office/sc-im/sc-im.SlackBuild
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for sc-im
-
-# Copyright 2016-2018 Jostein Berntsen <jbernts@broadpark.no>
-# 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=sc-im
-VERSION=${VERSION:-0.7.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.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 {} \;
-
-cd src/
-
-perl -pi -e 's#name = scim#name = sc-im#g|s#prefix = /usr/local#prefix = /usr#g' Makefile
-
-CFLAGS="-DXLS $SLKCFLAGS" \
-CXXFLAGS="-DXLS $SLKCFLAGS" \
-LDLIBS="-lxlsreader" \
-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
-
-mv $PKG/usr/share/man $PKG/usr
-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
-cd ..
-cp -a BUGS CHANGES HELP KNOWN_ISSUES LICENSE Readme.md USER_REQUESTS WIKI \
- $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/office/sc-im/sc-im.info b/office/sc-im/sc-im.info
deleted file mode 100644
index 69ea4bfb9b..0000000000
--- a/office/sc-im/sc-im.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="sc-im"
-VERSION="0.7.0"
-HOMEPAGE="https://github.com/andmarti1424/sc-im"
-DOWNLOAD="https://github.com/andmarti1424/sc-im/archive/v0.7.0/sc-im-0.7.0.tar.gz"
-MD5SUM="2f270d957a215f0124d15d0a82c5abfa"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="libxls libxlsxwriter"
-MAINTAINER="Jostein Berntsen"
-EMAIL="jbernts@broadpark.no"
diff --git a/office/scribus/scribus.SlackBuild b/office/scribus/scribus.SlackBuild
index 5842344c68..5f92f22b53 100644
--- a/office/scribus/scribus.SlackBuild
+++ b/office/scribus/scribus.SlackBuild
@@ -27,13 +27,13 @@
# Including input by Yalla-One and some code cleanup by rworkman
PRGNAM=scribus
-VERSION=${VERSION:-1.4.6}
+VERSION=${VERSION:-1.4.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
@@ -44,8 +44,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"
@@ -78,7 +78,7 @@ cmake \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DRENDER_LIB=CAIRO
+ -DRENDER_LIB=CAIRO .
make
make install DESTDIR=$PKG
diff --git a/office/scribus/scribus.info b/office/scribus/scribus.info
index 10e5f6a05f..41872c4856 100644
--- a/office/scribus/scribus.info
+++ b/office/scribus/scribus.info
@@ -1,8 +1,8 @@
PRGNAM="scribus"
-VERSION="1.4.6"
+VERSION="1.4.8"
HOMEPAGE="https://www.scribus.net"
-DOWNLOAD="https://downloads.sourceforge.net/scribus/scribus-1.4.6.tar.xz"
-MD5SUM="f6161785e24755ea77c8f14b319ff1aa"
+DOWNLOAD="https://downloads.sourceforge.net/scribus/scribus-1.4.8.tar.xz"
+MD5SUM="ef61b996b6d07f8a19475f51330d3535"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/office/texlive/README b/office/texlive/README
deleted file mode 100644
index d08796d591..0000000000
--- a/office/texlive/README
+++ /dev/null
@@ -1,14 +0,0 @@
-TeXLive (TeXLive binaries, support files, TeX formats)
-
-This package contains binaries and many support files, TeX formats and
-packages, and other files included in the TeXLive TeX distribution.
-This should be adequate for the needs of most TeX users.
-
-The remaining stuff can be found in texlive-extra and texlive-docs,
-all of which are also available at SlackBuilds.org.
-
-Have a look at the scripts in the prep/ directory to see how the texmf
-archives were created from the original Texlive netarchives.
-
-Note that this package conflicts with the tetex packages in Slackware,
-so you'll need to remove tetex and tetex-doc before installing TeXLive.
diff --git a/office/texlive/README.tlpkg b/office/texlive/README.tlpkg
deleted file mode 100644
index 7a6f790ca8..0000000000
--- a/office/texlive/README.tlpkg
+++ /dev/null
@@ -1,17 +0,0 @@
-The TeXLive Package Manager, i.e. tlmgr(1), is not shipped with this
-TeXLive package, as it's not expected to work properly (if at all).
-The general consensus from the TeXLive users mailing list is that
-distributions should not be shipping tlpkg.
-
-The *proper* way to upgrade the TeXLive Slackware package (or any
-part of it) is through your Slackware's package manager. If you
-elect to try tlmgr(1), and it doesn't work at all, or worse, it messes
-up part of your TeXLive installation, too bad. On the other hand,
-if you are able to document exactly what we need to do in order to
-make it:
- 1) work
- 2) put updates and such in a user-specific directory, i.e.
- *not* alter/replace system package contents
-then we would love to hear from you. :-)
-
---rworkman :-)
diff --git a/office/texlive/doinst.sh b/office/texlive/doinst.sh
deleted file mode 100644
index f864e767d6..0000000000
--- a/office/texlive/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-chroot . /usr/bin/mktexlsr 1>/dev/null 2>/dev/null
-printf "y\n" | chroot . /usr/bin/updmap-sys --syncwithtrees 1>/dev/null 2>/dev/null
-chroot . /usr/bin/updmap-sys 1>/dev/null 2>/dev/null
-chroot . /usr/bin/fmtutil-sys --all 1>/dev/null 2>/dev/null
-chroot . /usr/bin/mtxrun --generate 1>/dev/null 2>/dev/null
diff --git a/office/texlive/patches/tabu.sty.diff b/office/texlive/patches/tabu.sty.diff
deleted file mode 100644
index 8ebe034d18..0000000000
--- a/office/texlive/patches/tabu.sty.diff
+++ /dev/null
@@ -1,32 +0,0 @@
---- ./tabu.sty.orig 2019-01-14 16:10:48.000000000 -0600
-+++ ./tabu.sty 2019-06-30 16:24:01.975474339 -0500
-@@ -57,7 +57,7 @@
- %%
-
- \NeedsTeXFormat{LaTeX2e}
--\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)]
-+\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed) + intermediate FMi]
- \RequirePackage{array}[2008/09/09]
- \RequirePackage{varwidth}[2009/03/30]
- \AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
-@@ -727,6 +727,10 @@
- \tabu@currentgrouptype\expandafter{\the\currentgrouptype}}%
- \fi
- }% \tabu@init
-+%%TABU-FIXED set up \tabu@currentgrouptype
-+%FMi cancel for nested arrays ...
-+\def\@tabarray{\m@th\def\tabu@currentgrouptype{\currentgrouptype}\@ifnextchar[\@array{\@array[c]}}
-+
- \def\tabu@indent{% correction for indentation
- \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
- \everypar\expandafter{%
-@@ -1663,6 +1667,9 @@
- \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target
- \tabu@target=\tabu@temp\tabucolX \fi\fi
- \setbox\tabu@box \hbox \bgroup
-+%%TABU-FIXED add \color@begingroup
-+%%FMi not yet understood why this one is also needed ...
-+ \color@begingroup
- \begin{varwidth}\tabu@target
- \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width...
- \narrowragged \arraybackslash \parfillskip \@flushglue
diff --git a/office/texlive/patches/texlive-20190410-source-upstream_fixes-1.patch b/office/texlive/patches/texlive-20190410-source-upstream_fixes-1.patch
deleted file mode 100644
index 8e29d492d9..0000000000
--- a/office/texlive/patches/texlive-20190410-source-upstream_fixes-1.patch
+++ /dev/null
@@ -1,4096 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2019-05-31
-Initial Package Version: 2019
-Upstream Status: Applied
-Origin: Upstream
-Description: Fixes from branch2019 up to svn r51236, and fixes
-from trunk for harfbuzz-2.5.0 changes (svn r51269, 51271).
-
-diff -Naur a/texk/dvipdfm-x/ChangeLog b/texk/dvipdfm-x/ChangeLog
---- a/texk/dvipdfm-x/ChangeLog 2019-04-07 02:42:55.000000000 +0100
-+++ b/texk/dvipdfm-x/ChangeLog 2019-05-31 22:00:04.006964029 +0100
-@@ -1,3 +1,47 @@
-+2019-05-08 Akira Kakuto <kakuto@w32tex.org>
-+
-+ * dpxfile.c: Avoid buffer overflow.
-+
-+2019-05-08 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
-+
-+ * spc_pdfm.c: Transformation also applies to annotations
-+ created by pdf:ann.
-+
-+2019-05-07 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
-+
-+ * tt_cmap.c: Fix a bug that CFF charset data were not read.
-+ * unicode.c: Fix a bug that end-of-buffer calculation was
-+ wrong.
-+
-+2019-05-05 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
-+
-+ * pdfdoc.c: g option affects only annotations created by
-+ "pdf:bann/eann" and html "a link" specials.
-+ Report from Joseph Wright:
-+ https://tug.org/pipermail/tex-live/2019-May/043612.html
-+
-+2019-05-03 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
-+
-+ * specials.c: transformation applied to current point was not
-+ done properly.
-+
-+2019-05-03 Akira Kakuto <kakuto@w32tex.org>
-+
-+ * dpxfile.c, mfileio.h, pdfximage.c: Support non-ascii file
-+ names in default code page of OS irrespective of values of a
-+ variable 'command_line_encoding' (Windows only).
-+
-+2019-05-03 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
-+
-+ * pdfobj.c, pdfobj.h: Add support for ASCIIHex and ASCII85
-+ decode filter. Support for decoding stream data with multiple
-+ filters applied. Remove unused function.
-+ * tt_cmap.c, tt_gsub.[ch]: Revise ToUnicode CMap creation for
-+ OpenType. Use GSUB for mapping unencoded glyphs to Unicode
-+ (XeTeX support), lowering priority of CJK compatibility
-+ ideographs.
-+ * configure.ac: Version 20190503.
-+
- 2019-04-07 Karl Berry <karl@freefriends.org>
-
- * TeX Live 2019.
-diff -Naur a/texk/dvipdfm-x/configure b/texk/dvipdfm-x/configure
---- a/texk/dvipdfm-x/configure 2019-02-24 22:07:11.000000000 +0000
-+++ b/texk/dvipdfm-x/configure 2019-05-31 22:00:04.007964030 +0100
-@@ -1,8 +1,8 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20190225.
-+# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20190503.
- #
--# Report bugs to <tex-k@tug.org>.
-+# Report bugs to <dvipdfmx@tug.org>.
- #
- #
- # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-@@ -274,7 +274,7 @@
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
-- $as_echo "$0: Please tell bug-autoconf@gnu.org and tex-k@tug.org
-+ $as_echo "$0: Please tell bug-autoconf@gnu.org and dvipdfmx@tug.org
- $0: about your system, including any error possibly output
- $0: before this message. Then install a modern shell, or
- $0: manually run the script under such a shell if you do
-@@ -590,9 +590,9 @@
- # Identity of this package.
- PACKAGE_NAME='dvipdfm-x (TeX Live)'
- PACKAGE_TARNAME='dvipdfm-x--tex-live-'
--PACKAGE_VERSION='20190225'
--PACKAGE_STRING='dvipdfm-x (TeX Live) 20190225'
--PACKAGE_BUGREPORT='tex-k@tug.org'
-+PACKAGE_VERSION='20190503'
-+PACKAGE_STRING='dvipdfm-x (TeX Live) 20190503'
-+PACKAGE_BUGREPORT='dvipdfmx@tug.org'
- PACKAGE_URL=''
-
- ac_unique_file="agl.c"
-@@ -1350,7 +1350,7 @@
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
--\`configure' configures dvipdfm-x (TeX Live) 20190225 to adapt to many kinds of systems.
-+\`configure' configures dvipdfm-x (TeX Live) 20190503 to adapt to many kinds of systems.
-
- Usage: $0 [OPTION]... [VAR=VALUE]...
-
-@@ -1421,7 +1421,7 @@
-
- if test -n "$ac_init_help"; then
- case $ac_init_help in
-- short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20190225:";;
-+ short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20190503:";;
- esac
- cat <<\_ACEOF
-
-@@ -1488,7 +1488,7 @@
- Use these variables to override the choices made by `configure' or to help
- it to find libraries and programs with nonstandard names/locations.
-
--Report bugs to <tex-k@tug.org>.
-+Report bugs to <dvipdfmx@tug.org>.
- _ACEOF
- ac_status=$?
- fi
-@@ -1551,7 +1551,7 @@
- test -n "$ac_init_help" && exit $ac_status
- if $ac_init_version; then
- cat <<\_ACEOF
--dvipdfm-x (TeX Live) configure 20190225
-+dvipdfm-x (TeX Live) configure 20190503
- generated by GNU Autoconf 2.69
-
- Copyright (C) 2012 Free Software Foundation, Inc.
-@@ -1896,9 +1896,9 @@
- $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
- $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
--( $as_echo "## ---------------------------- ##
--## Report this to tex-k@tug.org ##
--## ---------------------------- ##"
-+( $as_echo "## ------------------------------- ##
-+## Report this to dvipdfmx@tug.org ##
-+## ------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
- esac
-@@ -2390,7 +2390,7 @@
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
-
--It was created by dvipdfm-x (TeX Live) $as_me 20190225, which was
-+It was created by dvipdfm-x (TeX Live) $as_me 20190503, which was
- generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-@@ -8077,7 +8077,7 @@
-
- # Define the identity of the package.
- PACKAGE='dvipdfm-x--tex-live-'
-- VERSION='20190225'
-+ VERSION='20190503'
-
-
- cat >>confdefs.h <<_ACEOF
-@@ -14746,7 +14746,7 @@
- Report bugs to <bug-libtool@gnu.org>."
-
- lt_cl_version="\
--dvipdfm-x (TeX Live) config.lt 20190225
-+dvipdfm-x (TeX Live) config.lt 20190503
- configured by $0, generated by GNU Autoconf 2.69.
-
- Copyright (C) 2011 Free Software Foundation, Inc.
-@@ -16636,7 +16636,7 @@
- # report actual input values of CONFIG_FILES etc. instead of their
- # values after options handling.
- ac_log="
--This file was extended by dvipdfm-x (TeX Live) $as_me 20190225, which was
-+This file was extended by dvipdfm-x (TeX Live) $as_me 20190503, which was
- generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
-@@ -16700,13 +16700,13 @@
- Configuration commands:
- $config_commands
-
--Report bugs to <tex-k@tug.org>."
-+Report bugs to <dvipdfmx@tug.org>."
-
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
- ac_cs_version="\\
--dvipdfm-x (TeX Live) config.status 20190225
-+dvipdfm-x (TeX Live) config.status 20190503
- configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
-diff -Naur a/texk/dvipdfm-x/configure.ac b/texk/dvipdfm-x/configure.ac
---- a/texk/dvipdfm-x/configure.ac 2019-02-24 22:07:11.000000000 +0000
-+++ b/texk/dvipdfm-x/configure.ac 2019-05-31 22:00:04.007964030 +0100
-@@ -7,7 +7,7 @@
- dnl gives unlimited permission to copy and/or distribute it,
- dnl with or without modifications, as long as this notice is preserved.
- dnl
--AC_INIT([dvipdfm-x (TeX Live)], [20190225], [tex-k@tug.org])
-+AC_INIT([dvipdfm-x (TeX Live)], [20190503], [dvipdfmx@tug.org])
- AC_PREREQ([2.65])
- AC_CONFIG_SRCDIR([agl.c])
- AC_CONFIG_AUX_DIR([../../build-aux])
-diff -Naur a/texk/dvipdfm-x/dpxfile.c b/texk/dvipdfm-x/dpxfile.c
---- a/texk/dvipdfm-x/dpxfile.c 2018-10-07 22:27:40.000000000 +0100
-+++ b/texk/dvipdfm-x/dpxfile.c 2019-05-31 22:00:04.007964030 +0100
-@@ -1,5 +1,5 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-- Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2007-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -159,11 +159,17 @@
- static char _tmpbuf[PATH_MAX+1];
- #endif /* MIKTEX */
-
-+#if defined(WIN32)
-+extern int utf8name_failed;
-+#endif /* WIN32 */
-+
-+#define CMDBUFSIZ 1024
- static int exec_spawn (char *cmd)
- {
- char **cmdv, **qv;
- char *p, *pp;
-- char buf[1024];
-+ char buf[CMDBUFSIZ];
-+ int charcnt;
- int i, ret = -1;
- #ifdef WIN32
- wchar_t **cmdvw, **qvw;
-@@ -182,11 +188,12 @@
- i++;
- p++;
- }
-- cmdv = xcalloc (i + 2, sizeof (char *));
-+ cmdv = xcalloc (i + 4, sizeof (char *));
- p = cmd;
- qv = cmdv;
- while (*p) {
- pp = buf;
-+ charcnt = 0;
- if (*p == '"') {
- p++;
- while (*p != '"') {
-@@ -194,6 +201,10 @@
- goto done;
- }
- *pp++ = *p++;
-+ charcnt++;
-+ if (charcnt > CMDBUFSIZ - 1) {
-+ ERROR("Too long a command line.");
-+ }
- }
- p++;
- } else if (*p == '\'') {
-@@ -203,6 +214,10 @@
- goto done;
- }
- *pp++ = *p++;
-+ charcnt++;
-+ if (charcnt > CMDBUFSIZ - 1) {
-+ ERROR("Too long a command line.");
-+ }
- }
- p++;
- } else {
-@@ -214,10 +229,18 @@
- goto done;
- }
- *pp++ = *p++;
-+ charcnt++;
-+ if (charcnt > CMDBUFSIZ - 1) {
-+ ERROR("Too long a command line.");
-+ }
- }
- p++;
- } else {
- *pp++ = *p++;
-+ charcnt++;
-+ if (charcnt > CMDBUFSIZ - 1) {
-+ ERROR("Too long a command line.");
-+ }
- }
- }
- }
-@@ -235,20 +258,39 @@
- p++;
- qv++;
- }
-+ *qv = NULL;
-+
- #ifdef WIN32
- #if defined(MIKTEX)
- ret = _spawnvp(_P_WAIT, *cmdv, (const char* const*)cmdv);
- #else
-- cmdvw = xcalloc (i + 2, sizeof (wchar_t *));
-- qv = cmdv;
-- qvw = cmdvw;
-- while (*qv) {
-- *qvw = get_wstring_from_fsyscp(*qv, *qvw=NULL);
-- qv++;
-- qvw++;
-+ cmdvw = xcalloc (i + 4, sizeof (wchar_t *));
-+ if (utf8name_failed == 0) {
-+ qv = cmdv;
-+ qvw = cmdvw;
-+ while (*qv) {
-+ *qvw = get_wstring_from_fsyscp(*qv, *qvw=NULL);
-+ qv++;
-+ qvw++;
-+ }
-+ *qvw = NULL;
-+ ret = _wspawnvp (_P_WAIT, *cmdvw, (const wchar_t* const*) cmdvw);
-+ } else {
-+ int tmpcp;
-+ tmpcp = file_system_codepage;
-+ file_system_codepage = win32_codepage;
-+ qv = cmdv;
-+ qvw = cmdvw;
-+ while (*qv) {
-+ *qvw = get_wstring_from_fsyscp(*qv, *qvw=NULL);
-+ qv++;
-+ qvw++;
-+ }
-+ *qvw = NULL;
-+ file_system_codepage = tmpcp;
-+ utf8name_failed = 0;
-+ ret = _wspawnvp (_P_WAIT, *cmdvw, (const wchar_t* const*) cmdvw);
- }
-- *qvw = NULL;
-- ret = _wspawnvp (_P_WAIT, *cmdvw, (const wchar_t* const*) cmdvw);
- if (cmdvw) {
- qvw = cmdvw;
- while (*qvw) {
-@@ -1242,3 +1284,21 @@
-
- return r;
- }
-+
-+#if defined(WIN32)
-+FILE *generic_fsyscp_fopen (const char *filename, const char *mode)
-+{
-+ FILE *f;
-+
-+ f = fsyscp_fopen (filename, mode);
-+
-+ if (f == NULL && file_system_codepage != win32_codepage) {
-+ int tmpcp = file_system_codepage;
-+ file_system_codepage = win32_codepage;
-+ f = fsyscp_fopen (filename, mode);
-+ file_system_codepage = tmpcp;
-+ }
-+
-+ return f;
-+}
-+#endif /* WIN32 */
-diff -Naur a/texk/dvipdfm-x/dvipdfmx.c b/texk/dvipdfm-x/dvipdfmx.c
---- a/texk/dvipdfm-x/dvipdfmx.c 2019-02-11 18:22:31.000000000 +0000
-+++ b/texk/dvipdfm-x/dvipdfmx.c 2019-05-31 22:00:04.007964030 +0100
-@@ -232,7 +232,7 @@
- printf ("Papersize is specified by paper format (e.g., \"a4\")\n");
- printf ("\tor by w<unit>,h<unit> (e.g., \"20cm,30cm\").\n");
- printf ("\n");
-- printf ("Email bug reports to tex-k@tug.org.\n");
-+ printf ("Email bug reports to dvipdfmx@tug.org.\n");
- }
-
- static void
-diff -Naur a/texk/dvipdfm-x/mfileio.h b/texk/dvipdfm-x/mfileio.h
---- a/texk/dvipdfm-x/mfileio.h 2016-01-11 03:57:04.000000000 +0000
-+++ b/texk/dvipdfm-x/mfileio.h 2019-05-31 22:00:04.008964031 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2002-2016 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2002-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -36,7 +36,8 @@
- mfclose((file),__FUNCTION__,__LINE__)
- #else
- #if defined(WIN32)
--#define MFOPEN(name,mode) fsyscp_fopen((name),(mode))
-+extern FILE *generic_fsyscp_fopen(const char *fname, const char *mode);
-+#define MFOPEN(name,mode) generic_fsyscp_fopen((name),(mode))
- #else
- #define MFOPEN(name,mode) fopen((name),(mode))
- #endif
-diff -Naur a/texk/dvipdfm-x/pdfdoc.c b/texk/dvipdfm-x/pdfdoc.c
---- a/texk/dvipdfm-x/pdfdoc.c 2018-12-21 03:39:51.000000000 +0000
-+++ b/texk/dvipdfm-x/pdfdoc.c 2019-05-31 22:00:04.008964031 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2008-2018 by Jin-Hwan Cho, Matthias Franz, and Shunsaku Hirata,
-+ Copyright (C) 2008-2019 by Jin-Hwan Cho, Matthias Franz, and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -1780,7 +1780,6 @@
- pdf_doc *p = &pdoc;
- pdf_page *page;
- pdf_obj *rect_array;
-- double annot_grow = p->opt.annot_grow;
- double xpos, ypos;
- pdf_rect annbox;
-
-@@ -1812,10 +1811,10 @@
- }
-
- rect_array = pdf_new_array();
-- pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.llx - annot_grow, 0.001)));
-- pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.lly - annot_grow, 0.001)));
-- pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.urx + annot_grow, 0.001)));
-- pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.ury + annot_grow, 0.001)));
-+ pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.llx, 0.001)));
-+ pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.lly, 0.001)));
-+ pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.urx, 0.001)));
-+ pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.ury, 0.001)));
- pdf_add_dict (annot_dict, pdf_new_name("Rect"), rect_array);
-
- pdf_add_array(page->annots, pdf_ref_obj(annot_dict));
-@@ -2802,13 +2801,22 @@
- void
- pdf_doc_break_annot (void)
- {
-+ pdf_doc *p = &pdoc;
-+ double g = p->opt.annot_grow;
-+
- if (breaking_state.dirty) {
- pdf_obj *annot_dict;
-+ pdf_rect rect;
-
- /* Copy dict */
- annot_dict = pdf_new_dict();
- pdf_merge_dict(annot_dict, breaking_state.annot_dict);
-- pdf_doc_add_annot(pdf_doc_current_page_number(), &(breaking_state.rect),
-+ rect = breaking_state.rect;
-+ rect.llx -= g;
-+ rect.lly -= g;
-+ rect.urx += g;
-+ rect.ury += g;
-+ pdf_doc_add_annot(pdf_doc_current_page_number(), &rect,
- annot_dict, !breaking_state.broken);
- pdf_release_obj(annot_dict);
-
-diff -Naur a/texk/dvipdfm-x/pdfobj.c b/texk/dvipdfm-x/pdfobj.c
---- a/texk/dvipdfm-x/pdfobj.c 2018-12-26 23:07:57.000000000 +0000
-+++ b/texk/dvipdfm-x/pdfobj.c 2019-05-31 22:00:04.008964031 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2007-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -2223,48 +2223,9 @@
-
- #if HAVE_ZLIB
- #define WBUF_SIZE 4096
--int
--pdf_add_stream_flate (pdf_obj *dst, const void *data, int len)
--{
-- z_stream z;
-- Bytef wbuf[WBUF_SIZE];
--
-- z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
--
-- z.next_in = (z_const Bytef *) data; z.avail_in = len;
-- z.next_out = (Bytef *) wbuf; z.avail_out = WBUF_SIZE;
--
-- if (inflateInit(&z) != Z_OK) {
-- WARN("inflateInit() failed.");
-- return -1;
-- }
--
-- for (;;) {
-- int status;
-- status = inflate(&z, Z_NO_FLUSH);
-- if (status == Z_STREAM_END)
-- break;
-- else if (status != Z_OK) {
-- WARN("inflate() failed. Broken PDF file?");
-- inflateEnd(&z);
-- return -1;
-- }
--
-- if (z.avail_out == 0) {
-- pdf_add_stream(dst, wbuf, WBUF_SIZE);
-- z.next_out = wbuf;
-- z.avail_out = WBUF_SIZE;
-- }
-- }
--
-- if (WBUF_SIZE - z.avail_out > 0)
-- pdf_add_stream(dst, wbuf, WBUF_SIZE - z.avail_out);
--
-- return (inflateEnd(&z) == Z_OK ? 0 : -1);
--}
-
- static int
--get_decode_parms (struct decode_parms *parms, pdf_obj *dict)
-+filter_get_DecodeParms_FlateDecode (struct decode_parms *parms, pdf_obj *dict)
- {
- pdf_obj *tmp;
-
-@@ -2278,18 +2239,25 @@
- parms->columns = 1;
-
- tmp = pdf_deref_obj(pdf_lookup_dict(dict, "Predictor"));
-- if (tmp)
-+ if (tmp) {
- parms->predictor = pdf_number_value(tmp);
-+ pdf_release_obj(tmp);
-+ }
- tmp = pdf_deref_obj(pdf_lookup_dict(dict, "Colors"));
-- if (tmp)
-+ if (tmp) {
- parms->colors = pdf_number_value(tmp);
-+ pdf_release_obj(tmp);
-+ }
- tmp = pdf_deref_obj(pdf_lookup_dict(dict, "BitsPerComponent"));
-- if (tmp)
-+ if (tmp) {
- parms->bits_per_component = pdf_number_value(tmp);
-+ pdf_release_obj(tmp);
-+ }
- tmp = pdf_deref_obj(pdf_lookup_dict(dict, "Columns"));
-- if (tmp)
-+ if (tmp) {
- parms->columns = pdf_number_value(tmp);
--
-+ pdf_release_obj(tmp);
-+ }
- if (parms->bits_per_component != 1 &&
- parms->bits_per_component != 2 &&
- parms->bits_per_component != 4 &&
-@@ -2354,17 +2322,19 @@
- * Especially, calling pdf_add_stream() for each 4 bytes append is highly
- * inefficient.
- */
--static int
--filter_decoded (pdf_obj *dst, const void *src, int srclen,
-- struct decode_parms *parms)
-+static pdf_obj *
-+filter_stream_decode_Predictor (const void *src, size_t srclen, struct decode_parms *parms)
- {
-+ pdf_obj *dst;
- const unsigned char *p = (const unsigned char *) src;
- const unsigned char *endptr = p + srclen;
-- unsigned char *prev, *buf;
-- int bits_per_pixel = parms->colors * parms->bits_per_component;
-- int bytes_per_pixel = (bits_per_pixel + 7) / 8;
-- int length = (parms->columns * bits_per_pixel + 7) / 8;
-- int i, error = 0;
-+ unsigned char *prev, *buf;
-+ int bits_per_pixel = parms->colors * parms->bits_per_component;
-+ int bytes_per_pixel = (bits_per_pixel + 7) / 8;
-+ int length = (parms->columns * bits_per_pixel + 7) / 8;
-+ int i, error = 0;
-+
-+ dst = pdf_new_stream(0);
-
- prev = NEW(length, unsigned char);
- buf = NEW(length, unsigned char);
-@@ -2491,16 +2461,21 @@
- RELEASE(prev);
- RELEASE(buf);
-
-- return error;
-+ if (error) {
-+ pdf_release_obj(dst);
-+ dst = NULL;
-+ }
-+
-+ return dst;
- }
-
--static int
--pdf_add_stream_flate_filtered (pdf_obj *dst, const void *data, int len, struct decode_parms *parms)
-+static pdf_obj *
-+filter_stream_decode_FlateDecode (const void *data, size_t len, struct decode_parms *parms)
- {
-- pdf_obj *tmp;
-- z_stream z;
-- Bytef wbuf[WBUF_SIZE];
-- int error;
-+ pdf_obj *dst;
-+ pdf_obj *tmp;
-+ z_stream z;
-+ Bytef wbuf[WBUF_SIZE];
-
- z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
-
-@@ -2509,7 +2484,7 @@
-
- if (inflateInit(&z) != Z_OK) {
- WARN("inflateInit() failed.");
-- return -1;
-+ return NULL;
- }
-
- tmp = pdf_new_stream(0);
-@@ -2521,7 +2496,8 @@
- else if (status != Z_OK) {
- WARN("inflate() failed. Broken PDF file?");
- inflateEnd(&z);
-- return -1;
-+ pdf_release_obj(tmp);
-+ return NULL;
- }
-
- if (z.avail_out == 0) {
-@@ -2534,79 +2510,310 @@
- if (WBUF_SIZE - z.avail_out > 0)
- pdf_add_stream(tmp, wbuf, WBUF_SIZE - z.avail_out);
-
-- error = filter_decoded(dst, pdf_stream_dataptr(tmp), pdf_stream_length(tmp), parms);
-+ if (inflateEnd(&z) == Z_OK) {
-+ if (parms) {
-+ dst = filter_stream_decode_Predictor(pdf_stream_dataptr(tmp), pdf_stream_length(tmp), parms);
-+ } else {
-+ dst = pdf_link_obj(tmp);
-+ }
-+ } else {
-+ dst = NULL;
-+ }
- pdf_release_obj(tmp);
-
-- return ((!error && inflateEnd(&z) == Z_OK) ? 0 : -1);
-+ return dst;
- }
- #endif
-
--int
--pdf_concat_stream (pdf_obj *dst, pdf_obj *src)
-+static pdf_obj *
-+filter_stream_decode_ASCIIHexDecode (const void *data, size_t len)
-+{
-+ pdf_obj *dst;
-+ int eod, error;
-+ const char *p = (const char *) data;
-+ const char *endptr = p + len;
-+ unsigned char *buf, ch;
-+ size_t pos, n;
-+
-+ buf = NEW((len+1)/2, unsigned char);
-+ skip_white(&p, endptr);
-+ ch = 0; n = 0; pos = 0; eod = 0; error = 0;
-+ while (p < endptr && !error && !eod) {
-+ char c1, val;
-+ c1 = p[0];
-+ if (c1 >= 'A' && c1 <= 'F') {
-+ val = c1 - 'A' + 10;
-+ } else if (c1 >= 'a' && c1 <= 'f') {
-+ val = c1 - 'a' + 10;
-+ } else if (c1 >= '0' && c1 <= '9') {
-+ val = c1 - '0';
-+ } else if (c1 == '>') {
-+ val = 0;
-+ eod = 1;
-+ if ((pos % 2) == 0)
-+ break;
-+ } else {
-+ error = -1;
-+ break;
-+ }
-+ if (pos % 2) {
-+ buf[n] = ch + val;
-+ n++;
-+ ch = 0;
-+ } else {
-+ ch = val << 4;
-+ }
-+ pos++; p++;
-+ skip_white(&p, endptr);
-+ }
-+ if (error || !eod) {
-+ WARN("Invalid ASCIIHex data seen: %s", error ? "Invalid character" : "No EOD marker");
-+ dst = NULL;
-+ } else {
-+ dst = pdf_new_stream(0);
-+ pdf_add_stream(dst, buf, n);
-+ }
-+ RELEASE(buf);
-+
-+ return dst;
-+}
-+
-+/* Percent sign is not start of comment here.
-+ * We need this for reading Ascii85 encoded data.
-+ */
-+#define is_space(c) ((c) == ' ' || (c) == '\t' || (c) == '\f' || \
-+ (c) == '\r' || (c) == '\n' || (c) == '\0')
-+static void
-+skip_white_a85 (const char **p, const char *endptr)
-+{
-+ while (*p < endptr && (is_space(**p))) {
-+ (*p)++;
-+ }
-+}
-+
-+static pdf_obj *
-+filter_stream_decode_ASCII85Decode (const void *data, size_t len)
- {
-+ pdf_obj *dst;
-+ int eod, error;
-+ const char *p = (const char *) data;
-+ const char *endptr = p + len;
-+ unsigned char *buf;
-+ size_t n;
-+
-+ buf = NEW(((len+4)/5)*4, unsigned char);
-+ skip_white_a85(&p, endptr);
-+ n = 0; eod = 0; error = 0;
-+ while (p < endptr && !error && !eod) {
-+ char q[5] = {'u', 'u', 'u', 'u', 'u'};
-+ int m;
-+ char ch;
-+
-+ ch = p[0];
-+ p++;
-+ skip_white_a85(&p, endptr);
-+ if (ch == 'z') {
-+ memset(buf+n, 0, 4);
-+ n += 4;
-+ continue;
-+ } else if (ch == '~') {
-+ if (p < endptr && p[0] == '>') {
-+ eod = 1;
-+ p++;
-+ } else {
-+ error = -1;
-+ }
-+ break;
-+ }
-+ q[0] = ch;
-+ for (m = 1; m < 5 && p < endptr; m++) {
-+ ch = p[0];
-+ p++;
-+ skip_white_a85(&p, endptr);
-+ if (ch == '~') {
-+ if (p < endptr && p[0] == '>') {
-+ eod = 1;
-+ p++;
-+ } else {
-+ error = -1;
-+ }
-+ break;
-+ } else if (ch < '!' || ch > 'u') {
-+ error = -1;
-+ break;
-+ } else {
-+ q[m] = ch;
-+ }
-+ }
-+ if (!error) {
-+ uint32_t val = 0;
-+ int i;
-+ if (m <= 1) {
-+ error = -1;
-+ break;
-+ }
-+ val = 85*85*85*(q[0] - '!') + 85*85*(q[1] - '!')
-+ + 85*(q[2] - '!') + (q[3] - '!');
-+ /* Check overflow */
-+ if (val > UINT32_MAX / 85) {
-+ error = -1;
-+ break;
-+ } else {
-+ val = 85 * val;
-+ if (val > UINT32_MAX - (q[4] - '!')) {
-+ error = -1;
-+ break;
-+ }
-+ val += (q[4] - '!');
-+ }
-+ if (!error) {
-+ for (i = 3; i >= 0; i--) {
-+ buf[n + i] = val & 0xff;
-+ val /= 256;
-+ }
-+ n += m - 1;
-+ }
-+ }
-+ }
-+
-+ if (error) {
-+ WARN("Error in reading ASCII85 data.");
-+ dst = NULL;
-+ } else if (!eod) {
-+ WARN("Error in reading ASCII85 data: No EOD");
-+ dst = NULL;
-+ } else {
-+ dst = pdf_new_stream(0);
-+ pdf_add_stream(dst, buf, n);
-+ }
-+ RELEASE(buf);
-+
-+ return dst;
-+}
-+
-+static pdf_obj *
-+filter_stream_decode (const char *filter_name, pdf_obj *src, pdf_obj *parm)
-+{
-+ pdf_obj *dec;
- const char *stream_data;
-- int stream_length;
-- pdf_obj *stream_dict;
-- pdf_obj *filter;
-- int error = 0;
-+ size_t stream_length;
-
-- if (!PDF_OBJ_STREAMTYPE(dst) || !PDF_OBJ_STREAMTYPE(src))
-- ERROR("Invalid type.");
-+ if (!filter_name)
-+ return pdf_link_obj(src);
-
- stream_data = pdf_stream_dataptr(src);
-- stream_length = pdf_stream_length (src);
-- stream_dict = pdf_stream_dict (src);
-+ stream_length = pdf_stream_length(src);
-
-- filter = pdf_lookup_dict(stream_dict, "Filter");
-- if (!filter)
-- pdf_add_stream(dst, stream_data, stream_length);
-+ if (!strcmp(filter_name, "ASCIIHexDecode")) {
-+ dec = filter_stream_decode_ASCIIHexDecode(stream_data, stream_length);
-+ } else if (!strcmp(filter_name, "ASCII85Decode")) {
-+ dec = filter_stream_decode_ASCII85Decode(stream_data, stream_length);
- #if HAVE_ZLIB
-- else {
-- struct decode_parms parms;
-- int have_parms = 0;
-+ } else if (!strcmp(filter_name, "FlateDecode")) {
-+ struct decode_parms decode_parm;
-+ if (parm)
-+ filter_get_DecodeParms_FlateDecode(&decode_parm, parm);
-+ dec = filter_stream_decode_FlateDecode(stream_data, stream_length, parm ? &decode_parm : NULL);
-+#endif /* HAVE_ZLIB */
-+ } else {
-+ WARN("DecodeFilter \"%s\" not supported.", filter_name);
-+ dec = NULL;
-+ }
-
-- if (pdf_lookup_dict(stream_dict, "DecodeParms")) {
-- pdf_obj *tmp;
-+ return dec;
-+}
-
-- /* Dictionary or array */
-- tmp = pdf_deref_obj(pdf_lookup_dict(stream_dict, "DecodeParms"));
-- if (PDF_OBJ_ARRAYTYPE(tmp)) {
-- if (pdf_array_length(tmp) > 1) {
-- WARN("Unexpected size for DecodeParms array.");
-- return -1;
-- }
-- tmp = pdf_deref_obj(pdf_get_array(tmp, 0));
-- }
-- if (!PDF_OBJ_DICTTYPE(tmp)) {
-- WARN("PDF dict expected for DecodeParms...");
-- return -1;
-- }
-- error = get_decode_parms(&parms, tmp);
-- if (error)
-- ERROR("Invalid value(s) in DecodeParms dictionary.");
-- have_parms = 1;
-- }
-- if (PDF_OBJ_ARRAYTYPE(filter)) {
-- if (pdf_array_length(filter) > 1) {
-- WARN("Multiple DecodeFilter not supported.");
-+int
-+pdf_concat_stream (pdf_obj *dst, pdf_obj *src)
-+{
-+ pdf_obj *filtered;
-+ pdf_obj *stream_dict;
-+ pdf_obj *filter, *parms;
-+ int error = 0;
-+
-+ if (!PDF_OBJ_STREAMTYPE(dst) || !PDF_OBJ_STREAMTYPE(src)) {
-+ WARN("Passed invalid type in pdf_concat_stream().");
-+ return -1;
-+ }
-+
-+ stream_dict = pdf_stream_dict(src);
-+
-+ filter = pdf_lookup_dict(stream_dict, "Filter");
-+ if (!filter) {
-+ pdf_add_stream(dst, pdf_stream_dataptr(src), pdf_stream_length(src));
-+ return 0;
-+ }
-+ if (pdf_lookup_dict(stream_dict, "DecodeParms")) {
-+ /* Dictionary or array */
-+ parms = pdf_deref_obj(pdf_lookup_dict(stream_dict, "DecodeParms"));
-+ if (!parms) {
-+ WARN("Failed to deref DeocdeParms...");
-+ return -1;
-+ } else if (!PDF_OBJ_ARRAYTYPE(parms) && !PDF_OBJ_DICTTYPE(parms)) {
-+ WARN("PDF dict or array expected for DecodeParms...");
-+ pdf_release_obj(parms);
-+ return -1;
-+ }
-+ } else {
-+ parms = NULL;
-+ }
-+ if (PDF_OBJ_ARRAYTYPE(filter)) {
-+ int i, num;
-+ pdf_obj *prev = NULL;
-+
-+ num = pdf_array_length(filter);
-+ if (parms) {
-+ if (!PDF_OBJ_ARRAYTYPE(parms) || pdf_array_length(parms) != num) {
-+ WARN("Invalid DecodeParam object found.");
-+ pdf_release_obj(parms);
- return -1;
- }
-- filter = pdf_get_array(filter, 0);
- }
-- if (PDF_OBJ_NAMETYPE(filter)) {
-- char *filter_name = pdf_name_value(filter);
-- if (filter_name && !strcmp(filter_name, "FlateDecode")) {
-- if (have_parms)
-- error = pdf_add_stream_flate_filtered(dst, stream_data, stream_length, &parms);
-- else
-- error = pdf_add_stream_flate(dst, stream_data, stream_length);
-- } else {
-- WARN("DecodeFilter \"%s\" not supported.", filter_name);
-- error = -1;
-+ if (num == 0) {
-+ filtered = pdf_link_obj(src);
-+ } else {
-+ filtered = NULL;
-+ prev = pdf_link_obj(src);
-+ for (i = 0; i < num && prev != NULL; i++) {
-+ pdf_obj *tmp1, *tmp2;
-+
-+ tmp1 = pdf_deref_obj(pdf_get_array(filter, i));
-+ if (parms) {
-+ tmp2 = pdf_deref_obj(pdf_get_array(parms, i));
-+ } else {
-+ tmp2 = NULL;
-+ }
-+ if (PDF_OBJ_NAMETYPE(tmp1)) {
-+ filtered = filter_stream_decode(pdf_name_value(tmp1), prev, tmp2);
-+ } else if (PDF_OBJ_NULLTYPE(tmp1)) {
-+ filtered = pdf_link_obj(prev);
-+ } else {
-+ WARN("Unexpected object found for /Filter...");
-+ filtered = NULL;
-+ }
-+ if (prev)
-+ pdf_release_obj(prev);
-+ if (tmp1)
-+ pdf_release_obj(tmp1);
-+ if (tmp2)
-+ pdf_release_obj(tmp2);
-+ prev = filtered;
- }
-- } else
-- ERROR("Broken PDF file?");
--#endif /* HAVE_ZLIB */
-+ }
-+ } else if (PDF_OBJ_NAMETYPE(filter)) {
-+ filtered = filter_stream_decode(pdf_name_value(filter), src, parms);
-+ } else {
-+ WARN("Invalid value for /Filter found.");
-+ filtered = NULL;
-+ }
-+ if (parms)
-+ pdf_release_obj(parms);
-+ if (filtered) {
-+ pdf_add_stream(dst, pdf_stream_dataptr(filtered), pdf_stream_length(filtered));
-+ pdf_release_obj(filtered);
-+ error = 0;
-+ } else {
-+ error = -1;
- }
-
- return error;
-diff -Naur a/texk/dvipdfm-x/pdfobj.h b/texk/dvipdfm-x/pdfobj.h
---- a/texk/dvipdfm-x/pdfobj.h 2018-09-15 22:18:43.000000000 +0100
-+++ b/texk/dvipdfm-x/pdfobj.h 2019-05-31 22:00:04.008964031 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2007-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -152,11 +152,6 @@
- extern void pdf_add_stream (pdf_obj *stream,
- const void *stream_data_ptr,
- int stream_data_len);
--#if HAVE_ZLIB
--extern int pdf_add_stream_flate (pdf_obj *stream,
-- const void *stream_data_ptr,
-- int stream_data_len);
--#endif
- extern int pdf_concat_stream (pdf_obj *dst, pdf_obj *src);
- extern pdf_obj *pdf_stream_dict (pdf_obj *stream);
- extern int pdf_stream_length (pdf_obj *stream);
-diff -Naur a/texk/dvipdfm-x/pdfximage.c b/texk/dvipdfm-x/pdfximage.c
---- a/texk/dvipdfm-x/pdfximage.c 2018-09-14 04:34:50.000000000 +0100
-+++ b/texk/dvipdfm-x/pdfximage.c 2019-05-31 22:00:04.008964031 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2007-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -363,6 +363,10 @@
- #define dpx_fopen(n,m) (MFOPEN((n),(m)))
- #define dpx_fclose(f) (MFCLOSE((f)))
-
-+#if defined(WIN32)
-+int utf8name_failed = 0;
-+#endif /* WIN32 */
-+
- int
- pdf_ximage_findresource (const char *ident, load_options options)
- {
-@@ -394,8 +398,23 @@
- strcpy(fullname, f);
- } else {
- /* try loading image */
-+#if defined(WIN32)
-+ utf8name_failed = 0;
-+#endif /* WIN32 */
- fullname = dpx_find_file(ident, "_pic_", "");
-+#if defined(WIN32)
-+ if (!fullname && file_system_codepage != win32_codepage) {
-+ int tmpcp = file_system_codepage;
-+ utf8name_failed = 1;
-+ file_system_codepage = win32_codepage;
-+ fullname = dpx_find_file(ident, "_pic_", "");
-+ file_system_codepage = tmpcp;
-+ }
-+#endif /* WIN32 */
- if (!fullname) {
-+#if defined(WIN32)
-+ utf8name_failed = 0;
-+#endif /* WIN32 */
- WARN("Error locating image file \"%s\"", ident);
- return -1;
- }
-diff -Naur a/texk/dvipdfm-x/README b/texk/dvipdfm-x/README
---- a/texk/dvipdfm-x/README 2015-07-06 17:13:08.000000000 +0100
-+++ b/texk/dvipdfm-x/README 2019-05-31 22:00:04.006964029 +0100
-@@ -1,9 +1,17 @@
- dvipdfmx and xdvipdfmx for TeX Live
- ===================================
-
-+This package is released under the GNU GPL, version 2, or (at your
-+option) any later version.
-+
-+dvipdfmx is now maintained as part of TeX Live.
-+
-+Mailing list for bug reports and all discussion:
-+https://lists.tug.org/dvipdfmx; anyone can join the list, but it is not
-+necessary to join to post. Archives are public.
-+
- xdvipdfmx
- =========
--
- xdvipdfmx is an extended version of dvipdfmx, and is now incorporated in
- the same sources.
-
-@@ -15,8 +23,6 @@
- redistributed under the terms of the GNU General Public License,
- version 2 or (at your option) any later version.
-
--There is a hope to merge xdvipdfmx into dvipdfmx.
--
- Jonathan Kew mentions that in the past, XeTeX used a Mac-specific
- program xdv2pdf as the backend instead of xdvipdfmx. xdv2pdf supported
- a couple of special effects that are not yet available through
-@@ -26,18 +32,8 @@
- if anyone is looking for some nontrivial but not-impossible job and
- happens across this file.
-
--The dvipdfmx Project
--====================
--
--Copyright (C) 2002-2014 by Jin-Hwan Cho, Shunsaku Hirata,
--Matthias Franz, and the dvipdfmx project team. This package is released
--under the GNU GPL, version 2, or (at your option) any later version.
--
--dvipdfmx is now maintained as part of TeX Live.
--
- Contents
- --------
--
- 1. Introduction
-
- 2. Installation
-diff -Naur a/texk/dvipdfm-x/spc_pdfm.c b/texk/dvipdfm-x/spc_pdfm.c
---- a/texk/dvipdfm-x/spc_pdfm.c 2019-03-30 03:42:07.000000000 +0000
-+++ b/texk/dvipdfm-x/spc_pdfm.c 2019-05-31 22:00:04.008964031 +0100
-@@ -597,6 +597,7 @@
- return dict;
- }
-
-+#define SPC_PDFM_SUPPORT_ANNOT_TRANS 1
- static int
- spc_handler_pdfm_annot (struct spc_env *spe, struct spc_arg *args)
- {
-@@ -604,7 +605,6 @@
- pdf_obj *annot_dict;
- pdf_rect rect;
- char *ident = NULL;
-- pdf_coord cp;
- transform_info ti;
-
- skip_white(&args->curptr, args->endptr);
-@@ -642,19 +642,96 @@
- return -1;
- }
-
-- cp.x = spe->x_user; cp.y = spe->y_user;
-- pdf_dev_transform(&cp, NULL);
-- if (ti.flags & INFO_HAS_USER_BBOX) {
-- rect.llx = ti.bbox.llx + cp.x;
-- rect.lly = ti.bbox.lly + cp.y;
-- rect.urx = ti.bbox.urx + cp.x;
-- rect.ury = ti.bbox.ury + cp.y;
-- } else {
-- rect.llx = cp.x;
-- rect.lly = cp.y - spe->mag * ti.depth;
-- rect.urx = cp.x + spe->mag * ti.width;
-- rect.ury = cp.y + spe->mag * ti.height;
-+#ifdef SPC_PDFM_SUPPORT_ANNOT_TRANS
-+ {
-+ pdf_coord cp1, cp2, cp3, cp4;
-+ /* QuadPoints not working? */
-+#ifdef USE_QUADPOINTS
-+ pdf_obj *qpoints;
-+#endif
-+ if (ti.flags & INFO_HAS_USER_BBOX) {
-+ cp1.x = spe->x_user + ti.bbox.llx;
-+ cp1.y = spe->y_user + ti.bbox.lly;
-+ cp2.x = spe->x_user + ti.bbox.urx;
-+ cp2.y = spe->y_user + ti.bbox.lly;
-+ cp3.x = spe->x_user + ti.bbox.urx;
-+ cp3.y = spe->y_user + ti.bbox.ury;
-+ cp4.x = spe->x_user + ti.bbox.llx;
-+ cp4.y = spe->y_user + ti.bbox.ury;
-+ } else {
-+ cp1.x = spe->x_user;
-+ cp1.y = spe->y_user - spe->mag * ti.depth;
-+ cp2.x = spe->x_user + spe->mag * ti.width;
-+ cp2.y = spe->y_user - spe->mag * ti.depth;
-+ cp3.x = spe->x_user + spe->mag * ti.width;
-+ cp3.y = spe->y_user + spe->mag * ti.height;
-+ cp4.x = spe->x_user;
-+ cp4.y = spe->y_user + spe->mag * ti.height;
-+ }
-+ pdf_dev_transform(&cp1, NULL);
-+ pdf_dev_transform(&cp2, NULL);
-+ pdf_dev_transform(&cp3, NULL);
-+ pdf_dev_transform(&cp4, NULL);
-+ rect.llx = cp1.x;
-+ if (cp2.x < rect.llx)
-+ rect.llx = cp2.x;
-+ if (cp3.x < rect.llx)
-+ rect.llx = cp3.x;
-+ if (cp4.x < rect.llx)
-+ rect.llx = cp4.x;
-+ rect.urx = cp1.x;
-+ if (cp2.x > rect.urx)
-+ rect.urx = cp2.x;
-+ if (cp3.x > rect.urx)
-+ rect.urx = cp3.x;
-+ if (cp4.x > rect.urx)
-+ rect.urx = cp4.x;
-+ rect.lly = cp1.y;
-+ if (cp2.y < rect.lly)
-+ rect.lly = cp2.y;
-+ if (cp3.y < rect.lly)
-+ rect.lly = cp3.y;
-+ if (cp4.y < rect.lly)
-+ rect.lly = cp4.y;
-+ rect.ury = cp1.y;
-+ if (cp2.y > rect.ury)
-+ rect.ury = cp2.y;
-+ if (cp3.y > rect.ury)
-+ rect.ury = cp3.y;
-+ if (cp4.y > rect.ury)
-+ rect.ury = cp4.y;
-+#ifdef USE_QUADPOINTS
-+ qpoints = pdf_new_array();
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp1.x, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp1.y, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp2.x, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp2.y, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp3.x, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp3.y, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp4.x, 0.01)));
-+ pdf_add_array(qpoints, pdf_new_number(ROUND(cp4.y, 0.01)));
-+ pdf_add_dict(annot_dict, pdf_new_name("QuadPoints"), qpoints);
-+#endif
- }
-+#else
-+ {
-+ pdf_coord cp;
-+
-+ cp.x = spe->x_user; cp.y = spe->y_user;
-+ pdf_dev_transform(&cp, NULL);
-+ if (ti.flags & INFO_HAS_USER_BBOX) {
-+ rect.llx = ti.bbox.llx + cp.x;
-+ rect.lly = ti.bbox.lly + cp.y;
-+ rect.urx = ti.bbox.urx + cp.x;
-+ rect.ury = ti.bbox.ury + cp.y;
-+ } else {
-+ rect.llx = cp.x;
-+ rect.lly = cp.y - spe->mag * ti.depth;
-+ rect.urx = cp.x + spe->mag * ti.width;
-+ rect.ury = cp.y + spe->mag * ti.height;
-+ }
-+ }
-+#endif
-
- /* Order is important... */
- if (ident)
-diff -Naur a/texk/dvipdfm-x/specials.c b/texk/dvipdfm-x/specials.c
---- a/texk/dvipdfm-x/specials.c 2019-03-29 22:13:05.000000000 +0000
-+++ b/texk/dvipdfm-x/specials.c 2019-05-31 22:00:04.008964031 +0100
-@@ -169,12 +169,12 @@
- switch (k) {
- /* xpos and ypos must be position in device space here. */
- case K_OBJ__XPOS:
-- cp.x = dvi_dev_xpos(); cp.y = 0.0;
-+ cp.x = dvi_dev_xpos(); cp.y = dvi_dev_ypos();
- pdf_dev_transform(&cp, NULL);
- value = pdf_new_number(ROUND(cp.x, .01));
- break;
- case K_OBJ__YPOS:
-- cp.x = 0.0; cp.y = dvi_dev_ypos();
-+ cp.x = dvi_dev_xpos(); cp.y = dvi_dev_ypos();
- pdf_dev_transform(&cp, NULL);
- value = pdf_new_number(ROUND(cp.y, .01));
- break;
-@@ -233,12 +233,12 @@
- for (k = 0; _rkeys[k] && strcmp(key, _rkeys[k]); k++);
- switch (k) {
- case K_OBJ__XPOS:
-- cp.x = dvi_dev_xpos(); cp.y = 0.0;
-+ cp.x = dvi_dev_xpos(); cp.y = dvi_dev_ypos();
- pdf_dev_transform(&cp, NULL);
- value = pdf_new_number(ROUND(cp.x, .01));
- break;
- case K_OBJ__YPOS:
-- cp.x = 0.0; cp.y = dvi_dev_ypos();
-+ cp.x = dvi_dev_xpos(); cp.y = dvi_dev_ypos();
- pdf_dev_transform(&cp, NULL);
- value = pdf_new_number(ROUND(cp.y, .01));
- break;
-diff -Naur a/texk/dvipdfm-x/tt_cmap.c b/texk/dvipdfm-x/tt_cmap.c
---- a/texk/dvipdfm-x/tt_cmap.c 2019-02-25 10:27:33.000000000 +0000
-+++ b/texk/dvipdfm-x/tt_cmap.c 2019-05-31 22:00:04.009964032 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2002-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- This program is free software; you can redistribute it and/or modify
-@@ -68,11 +68,12 @@
- struct cmap0 *map;
- int i;
-
-- if (len < 256)
-- ERROR("invalid cmap subtable");
-+ if (len < 256) {
-+ WARN("invalid format 0 TT cmap subtable");
-+ return NULL;
-+ }
-
- map = NEW(1, struct cmap0);
--
- for (i = 0; i < 256; i++)
- map->glyphIndexArray[i] = sfnt_get_byte(sfont);
-
-@@ -114,14 +115,14 @@
- struct cmap2 *map;
- USHORT i, n;
-
-- if (len < 512)
-- ERROR("invalid cmap subtable");
--
-- map = NEW(1, struct cmap2);
-+ if (len < 512) {
-+ WARN("invalid fromt2 TT cmap subtable");
-+ return NULL;
-+ }
-
-+ map = NEW(1, struct cmap2);
- for (i = 0; i < 256; i++)
- map->subHeaderKeys[i] = sfnt_get_ushort(sfont);
--
- for (n = 0, i = 0; i < 256; i++) {
- map->subHeaderKeys[i] /= 8;
- if (n < map->subHeaderKeys[i])
-@@ -129,7 +130,13 @@
- }
- n += 1; /* the number of subHeaders is one plus the max of subHeaderKeys */
-
-- map->subHeaders = NEW(n, struct SubHeader);
-+ if (len < 512 + n * 8 ) {
-+ WARN("invalid/truncated format2 TT cmap subtable");
-+ RELEASE(map);
-+ return NULL;
-+ }
-+
-+ map->subHeaders = NEW(n, struct SubHeader);
- for (i = 0; i < n; i++) {
- map->subHeaders[i].firstCode = sfnt_get_ushort(sfont);
- map->subHeaders[i].entryCount = sfnt_get_ushort(sfont);
-@@ -222,8 +229,10 @@
- struct cmap4 *map;
- USHORT i, n, segCount;
-
-- if (len < 8)
-- ERROR("invalid cmap subtable");
-+ if (len < 8) {
-+ WARN("invalid format 4 TT cmap subtable");
-+ return NULL;
-+ }
-
- map = NEW(1, struct cmap4);
-
-@@ -288,19 +297,19 @@
- * Last segment maps 0xffff to gid 0 (?)
- */
- i = segCount = map->segCountX2 / 2;
-- while (i-- > 0 && cc <= map->endCount[i]) {
-+ while (i-- > 0 && cc <= map->endCount[i]) {
- if (cc >= map->startCount[i]) {
- if (map->idRangeOffset[i] == 0) {
-- gid = (cc + map->idDelta[i]) & 0xffff;
-+ gid = (cc + map->idDelta[i]) & 0xffff;
- } else if (cc == 0xffff && map->idRangeOffset[i] == 0xffff) {
-- /* this is for protection against some old broken fonts... */
-- gid = 0;
-+ /* this is for protection against some old broken fonts... */
-+ gid = 0;
- } else {
-- j = map->idRangeOffset[i] - (segCount - i) * 2;
-- j = (cc - map->startCount[i]) + (j / 2);
-- gid = map->glyphIndexArray[j];
-- if (gid != 0)
-- gid = (gid + map->idDelta[i]) & 0xffff;
-+ j = map->idRangeOffset[i] - (segCount - i) * 2;
-+ j = (cc - map->startCount[i]) + (j / 2);
-+ gid = map->glyphIndexArray[j];
-+ if (gid != 0)
-+ gid = (gid + map->idDelta[i]) & 0xffff;
- }
- break;
- }
-@@ -323,14 +332,15 @@
- struct cmap6 *map;
- USHORT i;
-
-- if (len < 4)
-- ERROR("invalid cmap subtable");
-+ if (len < 4) {
-+ WARN("invalid format 6 TT cmap subtable");
-+ return NULL;
-+ }
-
- map = NEW(1, struct cmap6);
- map->firstCode = sfnt_get_ushort(sfont);
- map->entryCount = sfnt_get_ushort(sfont);
-- map->glyphIndexArray = NEW(map->entryCount, USHORT);
--
-+ map->glyphIndexArray = NEW(map->entryCount, USHORT);
- for (i = 0; i < map->entryCount; i++)
- map->glyphIndexArray[i] = sfnt_get_ushort(sfont);
-
-@@ -390,13 +400,14 @@
- struct cmap12 *map;
- ULONG i;
-
-- if (len < 4)
-- ERROR("invalid cmap subtable");
-+ if (len < 4) {
-+ WARN("invalid format 12 TT cmap subtable");
-+ return NULL;
-+ }
-
- map = NEW(1, struct cmap12);
- map->nGroups = sfnt_get_ulong(sfont);
- map->groups = NEW(map->nGroups, struct charGroup);
--
- for (i = 0; i < map->nGroups; i++) {
- map->groups[i].startCharCode = sfnt_get_ulong(sfont);
- map->groups[i].endCharCode = sfnt_get_ulong(sfont);
-@@ -427,8 +438,8 @@
- cccc <= map->groups[i].endCharCode) {
- if (cccc >= map->groups[i].startCharCode) {
- gid = (USHORT) ((cccc -
-- map->groups[i].startCharCode +
-- map->groups[i].startGlyphID) & 0xffff);
-+ map->groups[i].startCharCode +
-+ map->groups[i].startGlyphID) & 0xffff);
- break;
- }
- }
-@@ -510,6 +521,7 @@
- WARN("Unrecognized OpenType/TrueType cmap format.");
- tt_cmap_release(cmap);
- return NULL;
-+ break;
- }
-
- if (!cmap->map) {
-@@ -526,24 +538,25 @@
-
- if (cmap) {
- if (cmap->map) {
-- switch(cmap->format) {
-+ switch (cmap->format) {
- case 0:
-- release_cmap0(cmap->map);
-- break;
-+ release_cmap0(cmap->map);
-+ break;
- case 2:
-- release_cmap2(cmap->map);
-- break;
-+ release_cmap2(cmap->map);
-+ break;
- case 4:
-- release_cmap4(cmap->map);
-- break;
-+ release_cmap4(cmap->map);
-+ break;
- case 6:
-- release_cmap6(cmap->map);
-- break;
-+ release_cmap6(cmap->map);
-+ break;
- case 12:
-- release_cmap12(cmap->map);
-- break;
-+ release_cmap12(cmap->map);
-+ break;
- default:
-- ERROR("Unrecognized OpenType/TrueType cmap format.");
-+ WARN("Unrecognized OpenType/TrueType cmap format: %d", cmap->format);
-+ break;
- }
- }
- RELEASE(cmap);
-@@ -582,129 +595,20 @@
- gid = lookup_cmap12(cmap->map, (ULONG) cc);
- break;
- default:
-- ERROR("Unrecognized OpenType/TrueType cmap subtable format");
-+ WARN("Unrecognized OpenType/TrueType cmap subtable format: %d", cmap->format);
- break;
- }
-
- return gid;
- }
-
--/* Sorry for placing this here.
-- * We need to rewrite TrueType font support code...
-- */
-
--#define WBUF_SIZE 1024
--static unsigned char wbuf[WBUF_SIZE];
-
- static unsigned char srange_min[2] = {0x00, 0x00};
- static unsigned char srange_max[2] = {0xff, 0xff};
- static unsigned char lrange_min[4] = {0x00, 0x00, 0x00, 0x00};
- static unsigned char lrange_max[4] = {0x7f, 0xff, 0xff, 0xff};
-
--static void
--load_cmap4 (struct cmap4 *map,
-- unsigned char *GIDToCIDMap,
-- otl_gsub *gsub_vert, otl_gsub *gsub_list,
-- CMap *cmap, CMap *tounicode_add)
--{
-- USHORT c0, c1, gid, cid;
-- USHORT j, d, segCount;
-- USHORT ch;
-- int i;
--
-- segCount = map->segCountX2 / 2;
-- for (i = segCount - 1; i >= 0 ; i--) {
-- c0 = map->startCount[i];
-- c1 = map->endCount[i];
-- d = map->idRangeOffset[i] / 2 - (segCount - i);
-- for (j = 0; j <= c1 - c0; j++) {
-- ch = c0 + j;
-- if (map->idRangeOffset[i] == 0) {
-- gid = (ch + map->idDelta[i]) & 0xffff;
-- } else if (c0 == 0xffff && c1 == 0xffff &&
-- map->idRangeOffset[i] == 0xffff) {
-- /* this is for protection against some old broken fonts... */
-- gid = 0;
-- } else {
-- gid = (map->glyphIndexArray[j+d] + map->idDelta[i]) & 0xffff;
-- }
-- if (gid != 0 && gid != 0xffff) {
-- if (gsub_list)
-- otl_gsub_apply_chain(gsub_list, &gid);
-- if (gsub_vert)
-- otl_gsub_apply(gsub_vert, &gid);
-- if (GIDToCIDMap) {
-- cid = ((GIDToCIDMap[2*gid] << 8)|GIDToCIDMap[2*gid+1]);
-- if (cid == 0)
-- WARN("GID %u does not have corresponding CID %u.", gid, cid);
-- } else {
-- cid = gid;
-- }
-- wbuf[0] = 0;
-- wbuf[1] = 0;
-- wbuf[2] = (ch >> 8) & 0xff;
-- wbuf[3] = ch & 0xff;
-- wbuf[4] = (cid >> 8) & 0xff;
-- wbuf[5] = cid & 0xff;
-- CMap_add_cidchar(cmap, wbuf, 4, cid);
-- if (tounicode_add) {
-- unsigned char *p = wbuf + 6;
-- size_t uc_len;
-- uc_len = UC_UTF16BE_encode_char(ch, &p, wbuf + WBUF_SIZE -1 );
-- CMap_add_bfchar(tounicode_add, wbuf+4, 2, wbuf+6, uc_len);
-- }
-- }
-- }
-- }
--
-- return;
--}
--
--static void
--load_cmap12 (struct cmap12 *map,
-- unsigned char *GIDToCIDMap,
-- otl_gsub *gsub_vert, otl_gsub *gsub_list,
-- CMap *cmap, CMap *tounicode_add)
--{
-- ULONG i, ch; /* LONG ? */
-- USHORT gid, cid;
--
-- for (i = 0; i < map->nGroups; i++) {
-- for (ch = map->groups[i].startCharCode;
-- ch <= map->groups[i].endCharCode;
-- ch++) {
-- int d = ch - map->groups[i].startCharCode;
-- gid = (USHORT) ((map->groups[i].startGlyphID + d) & 0xffff);
-- if (gsub_list)
-- otl_gsub_apply_chain(gsub_list, &gid);
-- if (gsub_vert)
-- otl_gsub_apply(gsub_vert, &gid);
-- if (GIDToCIDMap) {
-- cid = ((GIDToCIDMap[2*gid] << 8)|GIDToCIDMap[2*gid+1]);
-- if (cid == 0)
-- WARN("GID %u does not have corresponding CID %u.", gid, cid);
-- } else {
-- cid = gid;
-- }
-- wbuf[0] = (ch >> 24) & 0xff;
-- wbuf[1] = (ch >> 16) & 0xff;
-- wbuf[2] = (ch >> 8) & 0xff;
-- wbuf[3] = ch & 0xff;
-- wbuf[4] = (cid >> 8) & 0xff;
-- wbuf[5] = cid & 0xff;
-- CMap_add_cidchar(cmap, wbuf, 4, cid);
-- if (tounicode_add) {
-- unsigned char *p = wbuf + 6;
-- size_t uc_len;
-- uc_len = UC_UTF16BE_encode_char(ch, &p, wbuf + WBUF_SIZE -1 );
-- CMap_add_bfchar(tounicode_add, wbuf+4, 2, wbuf+6, uc_len);
-- }
-- }
-- }
--
-- return;
--}
--
- /* OpenType CIDFont:
- *
- * We don't use GID for them. OpenType cmap table is for
-@@ -717,78 +621,37 @@
- #include "cff_dict.h"
- #include "cff.h"
-
--static int
--handle_CIDFont (sfnt *sfont,
-- unsigned char **GIDToCIDMap, CIDSysInfo *csi)
--{
-- cff_font *cffont;
-- int offset, i;
-- card16 num_glyphs, gid;
-- cff_charsets *charset;
-- unsigned char *map;
-- struct tt_maxp_table *maxp;
--
-- ASSERT(csi);
--
-- offset = sfnt_find_table_pos(sfont, "CFF ");
-- if (offset == 0) {
-- csi->registry = NULL;
-- csi->ordering = NULL;
-- *GIDToCIDMap = NULL;
-- return 0;
-- }
--
-- maxp = tt_read_maxp_table(sfont);
-- num_glyphs = (card16) maxp->numGlyphs;
-- RELEASE(maxp);
-- if (num_glyphs < 1)
-- ERROR("No glyph contained in this font...");
--
-- cffont = cff_open(sfont->stream, offset, 0);
-- if (!cffont)
-- ERROR("Could not open CFF font...");
--
--
-- if (!(cffont->flag & FONTTYPE_CIDFONT)) {
-- cff_close(cffont);
-- csi->registry = NULL;
-- csi->ordering = NULL;
-- *GIDToCIDMap = NULL;
-- return 0;
-- }
-+/* This should be moved to cff.c */
-+static void
-+create_GIDToCIDMap (uint16_t *GIDToCIDMap, uint16_t num_glyphs, cff_font *cffont)
-+{
-+ cff_charsets *charset;
-+ uint16_t gid, i;
-
-- if (!cff_dict_known(cffont->topdict, "ROS")) {
-- ERROR("No CIDSystemInfo???");
-- } else {
-- card16 reg, ord;
-+ ASSERT(GIDToCIDMap);
-
-- reg = (card16) cff_dict_get(cffont->topdict, "ROS", 0);
-- ord = (card16) cff_dict_get(cffont->topdict, "ROS", 1);
-+ if (!cffont || !(cffont->flag & FONTTYPE_CIDFONT)) {
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ GIDToCIDMap[gid] = gid;
-+ }
-
-- csi->registry = cff_get_string(cffont, reg);
-- csi->ordering = cff_get_string(cffont, ord);
-- csi->supplement = (int) cff_dict_get(cffont->topdict, "ROS", 2);
-+ return;
- }
-
-- cff_read_charsets(cffont);
-- charset = cffont->charsets;
-- if (!charset) {
-- ERROR("No CFF charset data???");
-- }
-+ memset(GIDToCIDMap, 0, num_glyphs*sizeof(uint16_t));
-
-- map = NEW(65536 * 2, unsigned char);
-- memset(map, 0, 65536 * 2);
-+ charset = cffont->charsets;
-+ if (!charset)
-+ return;
- switch (charset->format) {
- case 0:
- {
- s_SID *cids; /* CID... */
--
-+
- cids = charset->data.glyphs;
-- for (gid = 1, i = 0;
-- i < charset->num_entries; i++) {
-- map[2*gid ] = (cids[i] >> 8) & 0xff;
-- map[2*gid+1] = cids[i] & 0xff;
-- gid++;
-+ for (gid = 1, i = 0; i < charset->num_entries; i++) {
-+ GIDToCIDMap[gid] = cids[i];
-+ gid++;
- }
- }
- break;
-@@ -798,16 +661,14 @@
- card16 cid, count;
-
- ranges = charset->data.range1;
-- for (gid = 1, i = 0;
-- i < charset->num_entries; i++) {
-- cid = ranges[i].first;
-- count = ranges[i].n_left + 1; /* card8 */
-- while (count-- > 0 &&
-- gid <= num_glyphs) {
-- map[2*gid ] = (cid >> 8) & 0xff;
-- map[2*gid + 1] = cid & 0xff;
-- gid++; cid++;
-- }
-+ for (gid = 1, i = 0; i < charset->num_entries; i++) {
-+ cid = ranges[i].first;
-+ count = ranges[i].n_left + 1; /* card8 */
-+ while (count-- > 0 && gid <= num_glyphs) {
-+ GIDToCIDMap[gid] = cid;
-+ gid++;
-+ cid++;
-+ }
- }
- }
- break;
-@@ -817,55 +678,52 @@
- card16 cid, count;
-
- ranges = charset->data.range2;
-- if (charset->num_entries == 1 &&
-- ranges[0].first == 1) {
-- /* "Complete" CIDFont */
-- RELEASE(map); map = NULL;
-+ if (charset->num_entries == 1 && ranges[0].first == 1) {
-+ /* "Complete" CIDFont */
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ GIDToCIDMap[gid] = gid;
-+ }
- } else {
-- /* Not trivial mapping */
-- for (gid = 1, i = 0;
-- i < charset->num_entries; i++) {
-- cid = ranges[i].first;
-- count = ranges[i].n_left + 1;
-- while (count-- > 0 &&
-- gid <= num_glyphs) {
-- map[2*gid] = (cid >> 8) & 0xff;
-- map[2*gid+1] = cid & 0xff;
-- gid++; cid++;
-- }
-- }
-+ /* Not trivial mapping */
-+ for (gid = 1, i = 0; i < charset->num_entries; i++) {
-+ cid = ranges[i].first;
-+ count = ranges[i].n_left + 1;
-+ while (count-- > 0 && gid <= num_glyphs) {
-+ GIDToCIDMap[gid] = cid;
-+ gid++;
-+ cid++;
-+ }
-+ }
- }
- }
- break;
- default:
-- RELEASE(map); map = NULL;
-- ERROR("Unknown CFF charset format...: %d", charset->format);
-+ WARN("Unknown CFF charset format...: %d", charset->format);
- break;
- }
-- cff_close(cffont);
-
-- *GIDToCIDMap = map;
-- return 1;
-+ return;
- }
-
- static int is_PUA_or_presentation (unsigned int uni)
- {
- /* Some of CJK Radicals Supplement and Kangxi Radicals
- * are commonly double encoded, lower the priority.
-+ * CJK Compatibility Ideographs & Supplement added.
- */
- return ((uni >= 0x2E80 && uni <= 0x2EF3) || (uni >= 0x2F00 && uni <= 0x2FD5) ||
- (uni >= 0xE000 && uni <= 0xF8FF) || (uni >= 0xFB00 && uni <= 0xFB4F) ||
-+ (uni >= 0xF900 && uni <= 0xFAFF) || (uni >= 0x2F800 && uni <= 0x2FA1F) ||
- (uni >= 0xF0000 && uni <= 0xFFFFD) || (uni >= 0x100000 && uni <= 0x10FFFD));
- }
-
--static char*
--sfnt_get_glyphname(struct tt_post_table *post, cff_font *cffont, USHORT gid)
-+static char *
-+lookup_glyph_name (struct tt_post_table *post, cff_font *cffont, USHORT gid)
- {
-- char* name = NULL;
-+ char *name = NULL;
-
- if (post)
- name = tt_get_glyphname(post, gid);
--
- if (!name && cffont)
- name = cff_get_glyphname(cffont, gid);
-
-@@ -881,94 +739,82 @@
- #define is_used_char2(b,c) (((b)[(c)/8]) & (1 << (7-((c)%8))))
- #endif
-
--static USHORT
--handle_subst_glyphs (CMap *cmap,
-- CMap *cmap_add,
-- const char *used_glyphs,
-- sfnt *sfont,
-- cff_font *cffont)
-+static int32_t
-+handle_subst_glyphs (CMap *cmap, CMap *cmap_add, char *used_chars)
- {
-- USHORT count;
-- USHORT i;
-- struct tt_post_table *post = NULL;
--
-- if (!cmap_add)
-- post = tt_read_post_table(sfont);
--
-- for (count = 0, i = 0; i < 8192; i++) {
-- int j;
-- int32_t len;
-- int inbytesleft, outbytesleft;
-- const unsigned char *inbuf;
-- unsigned char *outbuf;
-+ int32_t count = 0;
-+ int32_t cid;
-
-- if (used_glyphs[i] == 0)
-+ for (cid = 0; cid < 65536; cid++) {
-+ if (!is_used_char2(used_chars, cid))
- continue;
-+ else {
-+ unsigned char buf[256];
-+ int inbytesleft = 2, outbytesleft = 254;
-+ size_t len;
-+ unsigned char *outbuf = buf + 2;
-+ const unsigned char *inbuf = buf;
-+
-+ buf[0] = (cid >> 8) & 0xff;
-+ buf[1] = cid & 0xff;
-+ CMap_decode(cmap_add, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
-+ if (inbytesleft == 0) {
-+ len = 254 - outbytesleft;
-+ CMap_add_bfchar(cmap, buf, 2, buf + 2, len);
-+ used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
-+ count++;
-+ }
-+ }
-+ }
-
-- for (j = 0; j < 8; j++) {
-- USHORT gid = 8 * i + j;
-+ return count;
-+}
-
-- if (!is_used_char2(used_glyphs, gid))
-- continue;
-+static int32_t
-+add_ToUnicode_via_glyph_name (CMap *cmap, char *used_chars, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap,
-+ sfnt *sfont, cff_font *cffont)
-+{
-+ int32_t count = 0;
-+ USHORT gid;
-+ struct tt_post_table *post = NULL;
-
-- if (!cmap_add) {
--#define MAX_UNICODES 16
-- /* try to look up Unicode values from the glyph name... */
-- char* name;
-- int32_t unicodes[MAX_UNICODES];
-- int unicode_count = -1;
-- name = sfnt_get_glyphname(post, cffont, gid);
-- if (name) {
-- unicode_count = agl_get_unicodes(name, unicodes, MAX_UNICODES);
-- }
-+ post = tt_read_post_table(sfont);
-+ if (!post && !cffont)
-+ return count;
-+
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ uint16_t cid = GIDToCIDMap[gid];
-+ if (is_used_char2(used_chars, cid)) {
-+#define MAX_UNICODES 32
-+ char *name;
-+ int32_t unicodes[MAX_UNICODES];
-+ int unicode_count = -1;
-+
-+ name = lookup_glyph_name(post, cffont, gid);
-+ if (name) {
-+ unicode_count = agl_get_unicodes(name, unicodes, MAX_UNICODES);
- #undef MAX_UNICODES
-- if (unicode_count == -1) {
-- if(dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
-- if (name)
-- MESG("No Unicode mapping available: GID=%u, name=%s\n", gid, name);
-- else
-- MESG("No Unicode mapping available: GID=%u\n", gid);
-- }
-- } else {
-- /* the Unicode characters go into wbuf[2] and following, in UTF16BE */
-- /* we rely on WBUF_SIZE being more than adequate for MAX_UNICODES */
-- unsigned char* p = wbuf + 2;
-- int k;
-- len = 0;
-+ RELEASE(name);
-+ if (unicode_count > 0) {
-+ unsigned char *buf;
-+ unsigned char *p, *endptr;
-+ int k;
-+ size_t len = 0;
-+
-+ buf = NEW(unicode_count*4+2, unsigned char);
-+ p = buf + 2;
-+ endptr = buf + (unicode_count * 4 + 2);
- for (k = 0; k < unicode_count; ++k) {
-- len += UC_UTF16BE_encode_char(unicodes[k], &p, wbuf+WBUF_SIZE);
-+ len += UC_UTF16BE_encode_char(unicodes[k], &p, endptr);
- }
-- wbuf[0] = (gid >> 8) & 0xff;
-- wbuf[1] = gid & 0xff;
-- CMap_add_bfchar(cmap, wbuf, 2, wbuf + 2, len);
-- }
-- RELEASE(name);
-- } else {
-- wbuf[0] = (gid >> 8) & 0xff;
-- wbuf[1] = gid & 0xff;
--
-- inbuf = wbuf;
-- inbytesleft = 2;
-- outbuf = wbuf + 2;
-- outbytesleft = WBUF_SIZE - 2;
-- CMap_decode(cmap_add, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
--
-- if (inbytesleft != 0) {
-- WARN("CMap conversion failed...");
-- } else {
-- len = WBUF_SIZE - 2 - outbytesleft;
-- CMap_add_bfchar(cmap, wbuf, 2, wbuf + 2, len);
-+ buf[0] = (cid >> 8) & 0xff;
-+ buf[1] = cid & 0xff;
-+ CMap_add_bfchar(cmap, buf, 2, buf + 2, len);
-+ used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
- count++;
-
-- if (dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
-- int _i;
--
-- MESG("otf_cmap>> Additional ToUnicode mapping: <%04X> <", gid);
-- for (_i = 0; _i < len; _i++) {
-- MESG("%02X", wbuf[2 + _i]);
-- }
-- MESG(">\n");
-- }
-+ RELEASE(buf);
- }
- }
- }
-@@ -980,70 +826,11 @@
- return count;
- }
-
--static cff_font *
--prepare_CIDFont_from_sfnt(sfnt* sfont)
--{
-- cff_font *cffont;
-- unsigned offset = 0;
--
-- if (sfont->type != SFNT_TYPE_POSTSCRIPT ||
-- sfnt_read_table_directory(sfont, 0) < 0 ||
-- (offset = sfnt_find_table_pos(sfont, "CFF ")) == 0) {
-- return NULL;
-- }
--
-- cffont = cff_open(sfont->stream, offset, 0);
-- if (!cffont)
-- return NULL;
--
-- cff_read_charsets(cffont);
-- return cffont;
--}
--
--static USHORT
--add_to_cmap_if_used (CMap *cmap,
-- cff_font *cffont,
-- char *used_chars,
-- USHORT gid,
-- ULONG ch)
--{
-- USHORT count = 0;
-- USHORT cid = cffont ? cff_charsets_lookup_inverse(cffont, gid) : gid;
-- if (is_used_char2(used_chars, cid)) {
-- int len;
-- unsigned char *p = wbuf + 2;
--
-- count++;
--
-- wbuf[0] = (cid >> 8) & 0xff;
-- wbuf[1] = (cid & 0xff);
-- len = UC_UTF16BE_encode_char((int32_t) ch, &p, wbuf + WBUF_SIZE);
-- CMap_add_bfchar(cmap, wbuf, 2, wbuf + 2, len);
--
-- /* Skip PUA characters and alphabetic presentation forms, allowing
-- * handle_subst_glyphs() as it might find better mapping. Fixes the
-- * mapping of ligatures encoded in PUA in fonts like Linux Libertine
-- * and old Adobe fonts.
-- */
-- if (!is_PUA_or_presentation(ch)) {
-- /* Avoid duplicate entry
-- * There are problem when two Unicode code is mapped to
-- * single glyph...
-- */
-- used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
-- }
-- }
--
-- return count;
--}
--
--static USHORT
--create_ToUnicode_cmap4 (CMap *cmap,
-- struct cmap4 *map,
-- char *used_chars,
-- cff_font *cffont)
-+static void
-+create_inverse_cmap4 (int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ struct cmap4 *map)
- {
-- USHORT count = 0, segCount = map->segCountX2 / 2;
-+ USHORT segCount = map->segCountX2 / 2;
- USHORT i, j;
-
- for (i = 0; i < segCount; i++) {
-@@ -1062,32 +849,33 @@
- } else {
- gid = (map->glyphIndexArray[j + d] + map->idDelta[i]) & 0xffff;
- }
--
-- count += add_to_cmap_if_used(cmap, cffont, used_chars, gid, ch);
-+ if (is_PUA_or_presentation(ch)) {
-+ map_sub[gid] = ch;
-+ } else {
-+ map_base[gid] = ch;
-+ }
- }
- }
--
-- return count;
- }
-
--static USHORT
--create_ToUnicode_cmap12 (CMap *cmap,
-- struct cmap12 *map,
-- char *used_chars,
-- cff_font *cffont)
-+static void
-+create_inverse_cmap12 (int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ struct cmap12 *map)
- {
-- ULONG i, ch, count = 0;
-+ ULONG i, ch;
-
- for (i = 0; i < map->nGroups; i++) {
- for (ch = map->groups[i].startCharCode;
- ch <= map->groups[i].endCharCode; ch++) {
- int d = ch - map->groups[i].startCharCode;
- USHORT gid = (USHORT) ((map->groups[i].startGlyphID + d) & 0xffff);
-- count += add_to_cmap_if_used(cmap, cffont, used_chars, gid, ch);
-+ if (is_PUA_or_presentation(ch)) {
-+ map_sub[gid] = ch;
-+ } else {
-+ map_base[gid] = ch;
-+ }
- }
- }
--
-- return count;
- }
-
- /* NOTE: Reverse mapping code which had been placed here is removed since:
-@@ -1096,60 +884,163 @@
- * Especially, the second one causes problems.
- */
- static pdf_obj *
--create_ToUnicode_cmap (tt_cmap *ttcmap,
-+create_ToUnicode_cmap (tt_cmap *ttcmap,
- const char *cmap_name,
-- CMap *cmap_add,
-+ CMap *cmap_add,
- const char *used_chars,
-- sfnt *sfont)
-+ sfnt *sfont)
- {
-- pdf_obj *stream = NULL;
-- CMap *cmap;
-- USHORT count = 0;
-- cff_font *cffont = prepare_CIDFont_from_sfnt(sfont);
-- char is_cidfont = cffont && (cffont->flag & FONTTYPE_CIDFONT);
--
-- cmap = CMap_new();
-- CMap_set_name (cmap, cmap_name);
-- CMap_set_wmode(cmap, 0);
-- CMap_set_type (cmap, CMAP_TYPE_TO_UNICODE);
-- CMap_set_CIDSysInfo(cmap, &CSI_UNICODE);
-- CMap_add_codespacerange(cmap, srange_min, srange_max, 2);
-+ pdf_obj *stream = NULL;
-+ int32_t *map_base = NULL, *map_sub = NULL;
-+ USHORT gid, num_glyphs = 0;
-
-- /* cmap_add here stores information about all unencoded glyphs which can be
-- * accessed only through OT Layout GSUB table.
-- */
-- {
-- char used_chars_copy[8192];
-- memcpy(used_chars_copy, used_chars, 8192);
-+ ASSERT(ttcmap);
-
-- /* For create_ToUnicode_cmap{4,12}(), cffont is for GID -> CID lookup,
-- * so it is only needed for CID fonts. */
-- switch (ttcmap->format) {
-- case 4:
-- count = create_ToUnicode_cmap4(cmap, ttcmap->map, used_chars_copy,
-- is_cidfont ? cffont : NULL);
-- break;
-- case 12:
-- count = create_ToUnicode_cmap12(cmap, ttcmap->map, used_chars_copy,
-- is_cidfont ? cffont : NULL);
-- break;
-+ /* Get num_glyphs from maxp talbe */
-+ {
-+ struct tt_maxp_table *maxp;
-+
-+ maxp = tt_read_maxp_table(sfont);
-+ if (maxp) {
-+ num_glyphs = maxp->numGlyphs;
-+ RELEASE(maxp);
- }
-+ }
-
-- /* For handle_subst_glyphs(), cffont is for GID -> glyph name lookup, so
-- * it is only needed for non-CID fonts. */
-- count += handle_subst_glyphs(cmap, cmap_add, used_chars_copy, sfont,
-- is_cidfont ? NULL : cffont);
-+ /* Initialize GID to Unicode mapping table */
-+ map_base = NEW(num_glyphs, int32_t);
-+ map_sub = NEW(num_glyphs, int32_t);
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ map_base[gid] = -1;
-+ map_sub [gid] = -1;
- }
-
-- if (count < 1)
-- stream = NULL;
-- else {
-- stream = CMap_create_stream(cmap);
-+ /* Create "base" mapping from inverse mapping of OpenType cmap */
-+ switch (ttcmap->format) {
-+ case 4:
-+ create_inverse_cmap4(map_base, map_sub, num_glyphs, ttcmap->map);
-+ break;
-+ case 12:
-+ create_inverse_cmap12(map_base, map_sub, num_glyphs, ttcmap->map);
-+ break;
- }
-- CMap_release(cmap);
-
-- if (cffont)
-- cff_close(cffont);
-+ /* Now create ToUnicode CMap stream */
-+ {
-+ CMap *cmap;
-+ int32_t count;
-+ cff_font *cffont = NULL;
-+ char is_cidfont = 0;
-+ uint16_t *GIDToCIDMap = NULL;
-+ char *used_chars_copy = NULL;
-+
-+ if (sfont->type == SFNT_TYPE_POSTSCRIPT) {
-+ ULONG offset;
-+ offset = sfnt_find_table_pos(sfont, "CFF ");
-+ cffont = cff_open(sfont->stream, offset, 0);
-+ cff_read_charsets(cffont);
-+ }
-+ is_cidfont = cffont && (cffont->flag & FONTTYPE_CIDFONT);
-+
-+ /* GIT to CID mapping info. */
-+ GIDToCIDMap = NEW(num_glyphs, uint16_t);
-+ if (is_cidfont) {
-+ create_GIDToCIDMap(GIDToCIDMap, num_glyphs, cffont);
-+ } else {
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ GIDToCIDMap[gid] = gid;
-+ }
-+ }
-+ cmap = CMap_new();
-+ CMap_set_name (cmap, cmap_name);
-+ CMap_set_wmode(cmap, 0);
-+ CMap_set_type (cmap, CMAP_TYPE_TO_UNICODE);
-+ CMap_set_CIDSysInfo(cmap, &CSI_UNICODE);
-+ CMap_add_codespacerange(cmap, srange_min, srange_max, 2);
-+
-+ count = 0;
-+ used_chars_copy = NEW(8192, char);
-+ memcpy(used_chars_copy, used_chars, 8192);
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ uint16_t cid = GIDToCIDMap[gid];
-+ if (is_used_char2(used_chars_copy, cid)) {
-+ int32_t ch;
-+ unsigned char src[2], dst[4];
-+ unsigned char *p = dst, *endptr = dst + 4;
-+ size_t len;
-+
-+ ch = map_base[gid];
-+ if (UC_is_valid(ch)) {
-+ src[0] = (cid >> 8) & 0xff;
-+ src[1] = cid & 0xff;
-+ len = UC_UTF16BE_encode_char(ch, &p, endptr);
-+ CMap_add_bfchar(cmap, src, 2, dst, len);
-+ used_chars_copy[cid / 8] &= ~(1 << (7 - (cid % 8)));
-+ count++;
-+ }
-+ }
-+ }
-+
-+ /* cmap_add here stores information about all unencoded glyphs which can be
-+ * accessed only through OT Layout GSUB table.
-+ * This is only availabel when encoding is "unicode".
-+ */
-+ if (cmap_add) {
-+ count += handle_subst_glyphs(cmap, cmap_add, used_chars_copy);
-+ } else {
-+ /* Else, try gathering information from GSUB tables */
-+ count += otl_gsub_add_ToUnicode(cmap, used_chars_copy,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, sfont);
-+ }
-+ /* Find Unicode mapping via PostScript glyph names... */
-+ count += add_ToUnicode_via_glyph_name(cmap, used_chars_copy, num_glyphs,
-+ GIDToCIDMap, sfont, is_cidfont ? NULL : cffont);
-+ if (cffont)
-+ cff_close(cffont);
-+
-+ /* Finaly, PUA and presentation forms... */
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ uint16_t cid = GIDToCIDMap[gid];
-+ if (is_used_char2(used_chars_copy, cid)) {
-+ int32_t ch;
-+ unsigned char src[2], dst[4];
-+ unsigned char *p = dst, *endptr = dst + 4;
-+ size_t len;
-+
-+ ch = map_sub[gid];
-+ if (UC_is_valid(ch)) {
-+ src[0] = (cid >> 8) & 0xff;
-+ src[1] = cid & 0xff;
-+ len = UC_UTF16BE_encode_char(ch, &p, endptr);
-+ CMap_add_bfchar(cmap, src, 2, dst, len);
-+ used_chars_copy[cid / 8] &= ~(1 << (7 - (cid % 8)));
-+ count++;
-+ }
-+ }
-+ }
-+
-+ /* Check for missing mapping */
-+ if (dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ uint16_t cid = GIDToCIDMap[gid];
-+ if (is_used_char2(used_chars_copy, cid)) {
-+ WARN("Unable to find ToUnicode mapping for glyph CID=%u (GID=%u)", cid, gid);
-+ }
-+ }
-+ }
-+ RELEASE(GIDToCIDMap);
-+ RELEASE(used_chars_copy);
-+
-+ if (count < 1)
-+ stream = NULL;
-+ else {
-+ stream = CMap_create_stream(cmap);
-+ }
-+ CMap_release(cmap);
-+ }
-+ RELEASE(map_base);
-+ RELEASE(map_sub);
-
- return stream;
- }
-@@ -1169,29 +1060,27 @@
-
- pdf_obj *
- otf_create_ToUnicode_stream (const char *font_name,
-- int ttc_index, /* 0 for non-TTC */
-+ int ttc_index, /* 0 for non-TTC */
- const char *basefont,
- const char *used_chars)
- {
-- pdf_obj *cmap_ref = NULL;
-- int res_id;
-- pdf_obj *cmap_obj = NULL;
-- CMap *cmap_add;
-- int cmap_add_id;
-- tt_cmap *ttcmap;
-- char *cmap_name, *cmap_add_name;
-- FILE *fp = NULL;
-- sfnt *sfont;
-- ULONG offset = 0;
-- int i;
-+ pdf_obj *cmap_ref = NULL; /* returned value */
-+ CMap *cmap_add = NULL;
-+ char *cmap_name;
-+ FILE *fp = NULL;
-+ sfnt *sfont;
-+ ULONG offset = 0;
-+ tt_cmap *ttcmap;
-+ int cmap_id, cmap_add_id;
-+ int i;
-
- cmap_name = NEW(strlen(basefont)+strlen("-UTF16")+1, char);
- sprintf(cmap_name, "%s-UTF16", basefont);
-
-- res_id = pdf_findresource("CMap", cmap_name);
-- if (res_id >= 0) {
-+ cmap_id = pdf_findresource("CMap", cmap_name);
-+ if (cmap_id >= 0) {
- RELEASE(cmap_name);
-- cmap_ref = pdf_get_resource_reference(res_id);
-+ cmap_ref = pdf_get_resource_reference(cmap_id);
- return cmap_ref;
- }
-
-@@ -1212,7 +1101,10 @@
- }
-
- if (!sfont) {
-- ERROR("Could not open OpenType/TrueType font file \"%s\"", font_name);
-+ WARN("Could not open OpenType/TrueType font file \"%s\"", font_name);
-+ RELEASE(cmap_name);
-+ DPXFCLOSE(fp);
-+ return NULL;
- }
-
- switch (sfont->type) {
-@@ -1222,7 +1114,11 @@
- case SFNT_TYPE_TTC:
- offset = ttc_read_offset(sfont, ttc_index);
- if (offset == 0) {
-- ERROR("Invalid TTC index");
-+ WARN("Invalid TTC index for font: %s", font_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ RELEASE(cmap_name);
-+ return NULL;
- }
- break;
- default:
-@@ -1231,111 +1127,180 @@
- }
-
- if (sfnt_read_table_directory(sfont, offset) < 0) {
-- ERROR("Could not read OpenType/TrueType table directory.");
-+ WARN("Could not read OpenType/TrueType table directory: %s", font_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ RELEASE(cmap_name);
-+ return NULL;
- }
-
-- cmap_add_name = NEW(strlen(font_name)+strlen(",000-UCS32-Add")+1, char);
-- sprintf(cmap_add_name, "%s,%03d-UCS32-Add", font_name, ttc_index);
-- cmap_add_id = CMap_cache_find(cmap_add_name);
-- RELEASE(cmap_add_name);
-- if (cmap_add_id < 0) {
-- cmap_add = NULL;
-- } else {
-- cmap_add = CMap_cache_get(cmap_add_id);
-+ /* cmap_add is used for storing information on ToUnicode mapping for
-+ * unencoded glyphs which can be reached only through GSUB substitution.
-+ * This is available only when "unicode" is specified in the encoding
-+ * field of fontmap. We remember the inverse mapping via cmap_add in this
-+ * case.
-+ */
-+ {
-+ char *cmap_add_name;
-+
-+ cmap_add_name = NEW(strlen(font_name)+strlen(",000-UCS32-Add")+1, char);
-+ sprintf(cmap_add_name, "%s,%03d-UCS32-Add", font_name, ttc_index);
-+ cmap_add_id = CMap_cache_find(cmap_add_name);
-+ RELEASE(cmap_add_name);
-+ if (cmap_add_id < 0) {
-+ cmap_add = NULL;
-+ } else {
-+ cmap_add = CMap_cache_get(cmap_add_id);
-+ }
- }
-
-- CMap_set_silent(1); /* many warnings without this... */
-+ ttcmap = NULL;
- for (i = 0; i < sizeof(cmap_plat_encs) / sizeof(cmap_plat_enc_rec); ++i) {
- ttcmap = tt_cmap_read(sfont, cmap_plat_encs[i].platform, cmap_plat_encs[i].encoding);
- if (!ttcmap)
- continue;
-
- if (ttcmap->format == 4 || ttcmap->format == 12) {
-- cmap_obj = create_ToUnicode_cmap(ttcmap, cmap_name, cmap_add, used_chars, sfont);
- break;
-+ } else {
-+ tt_cmap_release(ttcmap);
-+ ttcmap = NULL;
- }
- }
--#if defined(LIBDPX)
-- if (cmap_obj == NULL && dpx_conf.verbose_level > VERBOSE_LEVEL_MIN)
--#else
-- if (cmap_obj == NULL)
--#endif /* LIBDPX */
-- WARN("Unable to read OpenType/TrueType Unicode cmap table.");
-- tt_cmap_release(ttcmap);
-- CMap_set_silent(0);
--
-- if (cmap_obj) {
-- res_id = pdf_defineresource("CMap", cmap_name,
-- cmap_obj, PDF_RES_FLUSH_IMMEDIATE);
-- cmap_ref = pdf_get_resource_reference(res_id);
-- } else {
-- cmap_ref = NULL;
-+ if (ttcmap) {
-+ pdf_obj *cmap_obj;
-+
-+ CMap_set_silent(1); /* many warnings without this... */
-+ cmap_obj = create_ToUnicode_cmap(ttcmap, cmap_name, cmap_add, used_chars, sfont);
-+ CMap_set_silent(0);
-+ if (cmap_obj) {
-+ cmap_id = pdf_defineresource("CMap", cmap_name,
-+ cmap_obj, PDF_RES_FLUSH_IMMEDIATE);
-+ cmap_ref = pdf_get_resource_reference(cmap_id);
-+ }
-+ tt_cmap_release(ttcmap);
- }
-- RELEASE(cmap_name);
-
-+ /* Cleanup */
-+ RELEASE(cmap_name);
- sfnt_close(sfont);
-- if (fp)
-- DPXFCLOSE(fp);
-+ DPXFCLOSE(fp);
-+
-+#ifndef LIBDPX
-+ if (!cmap_ref) {
-+ WARN("Creating ToUnicode CMap failed for \"%s\"", font_name);
-+ }
-+#endif
-
- return cmap_ref;
- }
-
--static int
--load_base_CMap (const char *cmap_name, CMap *tounicode_add, int wmode,
-- CIDSysInfo *csi, unsigned char *GIDToCIDMap,
-- otl_gsub *gsub_vert, otl_gsub *gsub_list,
-- tt_cmap *ttcmap)
--{
-- int cmap_id;
-
-- cmap_id = CMap_cache_find(cmap_name);
-- if (cmap_id < 0) {
-- CMap *cmap;
-+/* Creating input CMaps from OT cmap table */
-
-- cmap = CMap_new();
-- CMap_set_name (cmap, cmap_name);
-- CMap_set_type (cmap, CMAP_TYPE_CODE_TO_CID);
-- CMap_set_wmode(cmap, wmode);
-- CMap_add_codespacerange(cmap, lrange_min, lrange_max, 4);
-+static void
-+load_cmap4 (struct cmap4 *map, uint16_t *GIDToCIDMap, USHORT num_glyphs,
-+ otl_gsub *gsub_vert, otl_gsub *gsub_list,
-+ CMap *cmap, int32_t *map_base, int32_t *map_sub)
-+{
-+ USHORT c0, c1, gid, cid;
-+ USHORT j, d, segCount;
-+ USHORT ch;
-+ int i;
-+ unsigned char buf[4];
-
-- if (csi) { /* CID */
-- CMap_set_CIDSysInfo(cmap, csi);
-- } else {
-- CMap_set_CIDSysInfo(cmap, &CSI_IDENTITY);
-+ segCount = map->segCountX2 / 2;
-+ for (i = segCount - 1; i >= 0 ; i--) {
-+ c0 = map->startCount[i];
-+ c1 = map->endCount[i];
-+ d = map->idRangeOffset[i] / 2 - (segCount - i);
-+ for (j = 0; j <= c1 - c0; j++) {
-+ ch = c0 + j;
-+ if (map->idRangeOffset[i] == 0) {
-+ gid = (ch + map->idDelta[i]) & 0xffff;
-+ } else if (c0 == 0xffff && c1 == 0xffff && map->idRangeOffset[i] == 0xffff) {
-+ /* this is for protection against some old broken fonts... */
-+ gid = 0;
-+ } else {
-+ gid = (map->glyphIndexArray[j+d] + map->idDelta[i]) & 0xffff;
-+ }
-+ if (gid != 0 && gid != 0xffff) {
-+ /* Apply GSUB features */
-+ if (gsub_list)
-+ otl_gsub_apply_chain(gsub_list, &gid);
-+ if (gsub_vert)
-+ otl_gsub_apply(gsub_vert, &gid);
-+ cid = (gid < num_glyphs) ? GIDToCIDMap[gid] : 0;
-+ buf[0] = 0;
-+ buf[1] = 0;
-+ buf[2] = (ch >> 8) & 0xff;
-+ buf[3] = ch & 0xff;
-+ CMap_add_cidchar(cmap, buf, 4, cid);
-+ /* For ToUnicode creation */
-+ if (map_base && map_sub) {
-+ if (is_PUA_or_presentation(ch)) {
-+ map_sub[gid] = ch;
-+ } else {
-+ map_base[gid] = ch;
-+ }
-+ }
-+ }
- }
-+ }
-
-- if (ttcmap->format == 12) {
-- load_cmap12(ttcmap->map, GIDToCIDMap, gsub_vert, gsub_list,
-- cmap, tounicode_add);
-- } else if (ttcmap->format == 4) {
-- load_cmap4(ttcmap->map, GIDToCIDMap, gsub_vert, gsub_list,
-- cmap, tounicode_add);
-- }
-+ return;
-+}
-
-- cmap_id = CMap_cache_add(cmap);
-+static void
-+load_cmap12 (struct cmap12 *map, uint16_t *GIDToCIDMap, USHORT num_glyphs,
-+ otl_gsub *gsub_vert, otl_gsub *gsub_list,
-+ CMap *cmap, int32_t *map_base, int32_t *map_sub)
-+{
-+ ULONG i, ch;
-+ USHORT gid, cid;
-+ unsigned char buf[4];
-+
-+ for (i = 0; i < map->nGroups; i++) {
-+ for (ch = map->groups[i].startCharCode;
-+ ch <= map->groups[i].endCharCode; ch++) {
-+ int d = ch - map->groups[i].startCharCode;
-+ gid = (USHORT) ((map->groups[i].startGlyphID + d) & 0xffff);
-+ if (gsub_list)
-+ otl_gsub_apply_chain(gsub_list, &gid);
-+ if (gsub_vert)
-+ otl_gsub_apply(gsub_vert, &gid);
-+ cid = (gid < num_glyphs) ? GIDToCIDMap[gid] : 0;
-+ buf[0] = (ch >> 24) & 0xff;
-+ buf[1] = (ch >> 16) & 0xff;
-+ buf[2] = (ch >> 8) & 0xff;
-+ buf[3] = ch & 0xff;
-+ CMap_add_cidchar(cmap, buf, 4, cid);
-+ if (map_base && map_sub) {
-+ if (is_PUA_or_presentation(ch)) {
-+ map_sub[gid] = ch;
-+ } else {
-+ map_base[gid] = ch;
-+ }
-+ }
-+ }
- }
-
-- return cmap_id;
-+ return;
- }
-
- int
- otf_load_Unicode_CMap (const char *map_name, int ttc_index, /* 0 for non-TTC font */
-- const char *otl_tags, int wmode)
-+ const char *otl_tags, int wmode)
- {
-- int cmap_id = -1;
-- /* Additional ToUncidoe mappings required by OTL GSUB substitusion */
-- int tounicode_add_id = -1;
-- CMap *tounicode_add = NULL;
-- char *tounicode_add_name = NULL;
-- int is_cidfont = 0;
-- sfnt *sfont;
-- ULONG offset = 0;
-- char *cmap_name = NULL;
-- FILE *fp = NULL;
-- otl_gsub *gsub_vert = NULL, *gsub_list = NULL;
-- tt_cmap *ttcmap;
-- CIDSysInfo csi = {NULL, NULL, 0};
-- unsigned char *GIDToCIDMap = NULL;
-+ int cmap_id = -1;
-+ char *cmap_name = NULL;
-+ sfnt *sfont = NULL;
-+ ULONG offset = 0;
-+ uint16_t num_glyphs = 0;
-+ FILE *fp = NULL;
-+ tt_cmap *ttcmap = NULL;
-+ CIDSysInfo csi = {NULL, NULL, 0};
-+ uint16_t *GIDToCIDMap = NULL;
-
- if (!map_name)
- return -1;
-@@ -1359,11 +1324,6 @@
- sprintf(cmap_name, "%s,%03d-UCS4-H", map_name, ttc_index);
- }
- }
-- if (dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
-- MESG("\n");
-- MESG("otf_cmap>> Unicode charmap for font=\"%s\" layout=\"%s\"\n",
-- map_name, (otl_tags ? otl_tags : "none"));
-- }
- cmap_id = CMap_cache_find(cmap_name);
- if (cmap_id >= 0) {
- RELEASE(cmap_name);
-@@ -1374,6 +1334,12 @@
- }
-
- /* CMap not found */
-+ if (dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
-+ MESG("\n");
-+ MESG("otf_cmap>> Creating Unicode charmap for font=\"%s\" layout=\"%s\"\n",
-+ map_name, (otl_tags ? otl_tags : "none"));
-+ }
-+
- fp = DPXFOPEN(map_name, DPX_RES_TYPE_TTFONT);
- if (!fp) {
- fp = DPXFOPEN(map_name, DPX_RES_TYPE_OTFONT);
-@@ -1390,13 +1356,20 @@
- }
-
- if (!sfont) {
-- ERROR("Could not open OpenType/TrueType/dfont font file \"%s\"", map_name);
-+ WARN("Could not open OpenType/TrueType/dfont font file \"%s\"", map_name);
-+ RELEASE(cmap_name);
-+ DPXFCLOSE(fp);
-+ return -1;
- }
- switch (sfont->type) {
- case SFNT_TYPE_TTC:
- offset = ttc_read_offset(sfont, ttc_index);
- if (offset == 0) {
-- ERROR("Invalid TTC index");
-+ WARN("Offset=0 returned for font=%s, TTC_index=%d", map_name, ttc_index);
-+ RELEASE(cmap_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ return -1;
- }
- break;
- case SFNT_TYPE_TRUETYPE:
-@@ -1407,41 +1380,79 @@
- offset = sfont->offset;
- break;
- default:
-- ERROR("Not a OpenType/TrueType/TTC font?: %s", map_name);
-+ WARN("Not a OpenType/TrueType/TTC font?: %s", map_name);
-+ RELEASE(cmap_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ return -1;
- break;
- }
-
-- if (sfnt_read_table_directory(sfont, offset) < 0)
-- ERROR("Could not read OpenType/TrueType table directory.");
-+ if (sfnt_read_table_directory(sfont, offset) < 0) {
-+ WARN("Could not read OpenType/TrueType table directory: %s", map_name);
-+ RELEASE(cmap_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ return -1;
-+ }
-
-+ {
-+ struct tt_maxp_table *maxp;
-
-- if (otl_tags) {
-- /* tounicode_add here is later refered by otf_create_ToUnicode_stream()
-- * for finding additional CID to Unicode mapping entries required by
-- * OTL gsub substitution.
-- */
-- tounicode_add_name = NEW(strlen(map_name)+strlen(",000-UCS32-Add")+1, char);
-- sprintf(tounicode_add_name, "%s,%03d-UCS32-Add", map_name, ttc_index);
-- tounicode_add_id = CMap_cache_find(tounicode_add_name);
-- if (tounicode_add_id >= 0)
-- tounicode_add = CMap_cache_get(tounicode_add_id);
-- else {
-- tounicode_add = CMap_new();
-- CMap_set_name (tounicode_add, tounicode_add_name);
-- CMap_set_type (tounicode_add, CMAP_TYPE_TO_UNICODE);
-- CMap_set_wmode(tounicode_add, 0);
-- CMap_add_codespacerange(tounicode_add, srange_min, srange_max, 2);
-- CMap_set_CIDSysInfo(tounicode_add, &CSI_UNICODE);
-- CMap_add_bfchar(tounicode_add, srange_min, 2, srange_max, 2);
-- tounicode_add_id = CMap_cache_add(tounicode_add);
-- }
-- RELEASE(tounicode_add_name);
-+ maxp = tt_read_maxp_table(sfont);
-+ num_glyphs = (card16) maxp->numGlyphs;
-+ RELEASE(maxp);
- }
-
-+ GIDToCIDMap = NEW(num_glyphs, uint16_t);
-+ memset(GIDToCIDMap, 0, num_glyphs*sizeof(uint16_t));
- if (sfont->type == SFNT_TYPE_POSTSCRIPT) {
-- is_cidfont = handle_CIDFont(sfont, &GIDToCIDMap, &csi);
-+ cff_font *cffont;
-+ card16 gid;
-+
-+ offset = sfnt_find_table_pos(sfont, "CFF ");
-+ cffont = cff_open(sfont->stream, offset, 0);
-+ if (!cffont) {
-+ RELEASE(cmap_name);
-+ RELEASE(GIDToCIDMap);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ return -1;
-+ }
-+ if (!(cffont->flag & FONTTYPE_CIDFONT)) {
-+ csi.registry = strdup("Adobe");
-+ csi.ordering = strdup("Identity");
-+ csi.supplement = 0;
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ GIDToCIDMap[gid] = gid;
-+ }
-+ } else {
-+ if (!cff_dict_known(cffont->topdict, "ROS")) {
-+ csi.registry = strdup("Adobe");
-+ csi.ordering = strdup("Identity");
-+ csi.supplement = 0;
-+ } else {
-+ card16 reg, ord;
-+
-+ reg = (card16) cff_dict_get(cffont->topdict, "ROS", 0);
-+ ord = (card16) cff_dict_get(cffont->topdict, "ROS", 1);
-+ csi.registry = cff_get_string(cffont, reg);
-+ csi.ordering = cff_get_string(cffont, ord);
-+ csi.supplement = (int) cff_dict_get(cffont->topdict, "ROS", 2);
-+ }
-+ cff_read_charsets(cffont);
-+ create_GIDToCIDMap(GIDToCIDMap, num_glyphs, cffont);
-+ }
-+ cff_close(cffont);
- } else {
-- is_cidfont = 0;
-+ uint16_t gid;
-+
-+ csi.registry = strdup("Adobe");
-+ csi.ordering = strdup("Identity");
-+ csi.supplement = 0;
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ GIDToCIDMap[gid] = gid;
-+ }
- }
-
- ttcmap = tt_cmap_read(sfont, 3, 10); /* Microsoft UCS4 */
-@@ -1449,63 +1460,122 @@
- ttcmap = tt_cmap_read(sfont, 3, 1); /* Microsoft UCS2 */
- if (!ttcmap) {
- ttcmap = tt_cmap_read(sfont, 0, 3); /* Unicode 2.0 or later */
--#if defined(LIBDPX)
-- if (!ttcmap && dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
--#else
-- if (!ttcmap) {
--#endif /* LIBDPX */
-- ERROR("Unable to read OpenType/TrueType Unicode cmap table.");
-- }
- }
- }
-- if (wmode == 1) {
-- gsub_vert = otl_gsub_new();
-- if (otl_gsub_add_feat(gsub_vert, "*", "*", "vrt2", sfont) < 0) {
-- if (otl_gsub_add_feat(gsub_vert, "*", "*", "vert", sfont) < 0) {
-- WARN("GSUB feature vrt2/vert not found.");
-- otl_gsub_release(gsub_vert);
-- gsub_vert = NULL;
-+
-+ if (ttcmap) {
-+ CMap *cmap = NULL;
-+ int32_t *map_base, *map_sub;
-+ otl_gsub *gsub_vert = NULL;
-+ otl_gsub *gsub_list = NULL;
-+ uint32_t gid;
-+
-+ if (wmode == 1) {
-+ gsub_vert = otl_gsub_new();
-+ if (otl_gsub_add_feat(gsub_vert, "*", "*", "vrt2", sfont) < 0) {
-+ if (otl_gsub_add_feat(gsub_vert, "*", "*", "vert", sfont) < 0) {
-+ WARN("GSUB feature vrt2/vert not found.");
-+ otl_gsub_release(gsub_vert);
-+ gsub_vert = NULL;
-+ } else {
-+ otl_gsub_select(gsub_vert, "*", "*", "vert");
-+ }
- } else {
-- otl_gsub_select(gsub_vert, "*", "*", "vert");
-+ otl_gsub_select(gsub_vert, "*", "*", "vrt2");
- }
- } else {
-- otl_gsub_select(gsub_vert, "*", "*", "vrt2");
-+ gsub_vert = NULL;
- }
-- } else {
-- gsub_vert = NULL;
-- }
-- if (otl_tags) {
-- gsub_list = otl_gsub_new();
-- if (otl_gsub_add_feat_list(gsub_list, otl_tags, sfont) < 0) {
-- WARN("Readin GSUB feature table(s) failed for \"%s\"", otl_tags);
-+ if (otl_tags) {
-+ gsub_list = otl_gsub_new();
-+ if (otl_gsub_add_feat_list(gsub_list, otl_tags, sfont) < 0) {
-+ WARN("Reading GSUB feature table(s) failed for \"%s\"", otl_tags);
-+ } else {
-+ otl_gsub_set_chain(gsub_list, otl_tags);
-+ }
- } else {
-- otl_gsub_set_chain(gsub_list, otl_tags);
-+ gsub_list = NULL;
- }
-- } else {
-- gsub_list = NULL;
-+ cmap = CMap_new();
-+ CMap_set_name(cmap, cmap_name);
-+ CMap_set_type(cmap, CMAP_TYPE_CODE_TO_CID);
-+ CMap_set_wmode(cmap, wmode);
-+ CMap_add_codespacerange(cmap, lrange_min, lrange_max, 4);
-+ CMap_set_CIDSysInfo(cmap, &csi);
-+ map_base = NEW(num_glyphs, int32_t);
-+ map_sub = NEW(num_glyphs, int32_t);
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ map_base[gid] = -1;
-+ map_sub[gid] = -1;
-+ }
-+ switch (ttcmap->format) {
-+ case 12:
-+ load_cmap12(ttcmap->map, GIDToCIDMap, num_glyphs,
-+ gsub_vert, gsub_list,
-+ cmap, map_base, map_sub);
-+ break;
-+ case 4:
-+ load_cmap4(ttcmap->map, GIDToCIDMap, num_glyphs,
-+ gsub_vert, gsub_list,
-+ cmap, map_base, map_sub);
-+ break;
-+ }
-+ if (gsub_vert)
-+ otl_gsub_release(gsub_vert);
-+ if (gsub_list)
-+ otl_gsub_release(gsub_list);
-+ tt_cmap_release(ttcmap);
-+
-+ if (otl_tags) {
-+ CMap *tounicode = NULL;
-+ char *tounicode_name;
-+ int tounicode_id;
-+
-+ tounicode_name = NEW(strlen(map_name)+strlen(",000-UCS32-Add")+1, char);
-+ sprintf(tounicode_name, "%s,%03d-UCS32-Add", map_name, ttc_index);
-+ tounicode_id = CMap_cache_find(tounicode_name);
-+ if (tounicode_id >= 0)
-+ tounicode = CMap_cache_get(tounicode_id);
-+ else {
-+ tounicode = CMap_new();
-+ CMap_set_name (tounicode, tounicode_name);
-+ CMap_set_type (tounicode, CMAP_TYPE_TO_UNICODE);
-+ CMap_set_wmode(tounicode, 0);
-+ CMap_add_codespacerange(tounicode, srange_min, srange_max, 2);
-+ CMap_set_CIDSysInfo(tounicode, &CSI_UNICODE);
-+ CMap_add_bfchar(tounicode, srange_min, 2, srange_max, 2);
-+ tounicode_id = CMap_cache_add(tounicode);
-+ }
-+ RELEASE(tounicode_name);
-+
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ uint16_t cid = GIDToCIDMap[gid];
-+ unsigned char src[2], dst[4];
-+ if (cid > 0) {
-+ int32_t ch = UC_is_valid(map_base[gid]) ? map_base[gid] : map_sub[gid];
-+ if (UC_is_valid(ch)) {
-+ unsigned char *p = dst;
-+ unsigned char *endptr = dst + 4;
-+ size_t len;
-+ src[0] = (cid >> 8) & 0xff;
-+ src[1] = cid & 0xff;
-+ len = UC_UTF16BE_encode_char(ch, &p, endptr);
-+ if (len > 0) {
-+ CMap_add_bfchar(tounicode, src, 2, dst, len);
-+ }
-+ }
-+ }
-+ }
-+ }
-+ cmap_id = CMap_cache_add(cmap);
- }
-- cmap_id = load_base_CMap(cmap_name, tounicode_add, wmode,
-- (is_cidfont ? &csi : NULL), GIDToCIDMap,
-- gsub_vert, gsub_list, ttcmap);
-- if (cmap_id < 0)
-- ERROR("Failed to read OpenType/TrueType cmap table.");
-- if (gsub_vert)
-- otl_gsub_release(gsub_vert);
-- gsub_vert = NULL;
-- if (gsub_list)
-- otl_gsub_release(gsub_list);
-- gsub_list = NULL;
-
- RELEASE(cmap_name);
-- if (GIDToCIDMap)
-- RELEASE(GIDToCIDMap);
-- if (is_cidfont) {
-- if (csi.registry)
-- RELEASE(csi.registry);
-- if (csi.ordering)
-- RELEASE(csi.ordering);
-- }
-- tt_cmap_release(ttcmap);
-+ RELEASE(GIDToCIDMap);
-+ if (csi.registry)
-+ RELEASE(csi.registry);
-+ if (csi.ordering)
-+ RELEASE(csi.ordering);
- sfnt_close(sfont);
- DPXFCLOSE(fp);
-
-@@ -1515,14 +1585,11 @@
- int
- otf_try_load_GID_to_CID_map (const char *map_name, int ttc_index, int wmode)
- {
-- int cmap_id = -1;
-- sfnt *sfont;
-- ULONG offset = 0;
-- char *cmap_name = NULL;
-- FILE *fp = NULL;
-- CIDSysInfo csi = {NULL, NULL, 0};
-- int is_cidfont = 0;
-- unsigned char *GIDToCIDMap = NULL;
-+ int cmap_id = -1;
-+ sfnt *sfont = NULL;
-+ ULONG offset = 0;
-+ char *cmap_name = NULL;
-+ FILE *fp = NULL;
-
- if (!map_name)
- return -1;
-@@ -1559,13 +1626,20 @@
- }
-
- if (!sfont) {
-- ERROR("Could not open OpenType/TrueType/dfont font file \"%s\"", map_name);
-+ WARN("Could not open OpenType/TrueType/dfont font file \"%s\"", map_name);
-+ RELEASE(cmap_name);
-+ DPXFCLOSE(fp);
-+ return -1;
- }
- switch (sfont->type) {
- case SFNT_TYPE_TTC:
- offset = ttc_read_offset(sfont, ttc_index);
- if (offset == 0) {
-- ERROR("Invalid TTC index");
-+ WARN("Invalid TTC index for font \"%s\": %d", map_name, ttc_index);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ RELEASE(cmap_name);
-+ return -1;
- }
- break;
- case SFNT_TYPE_TRUETYPE:
-@@ -1576,12 +1650,20 @@
- offset = sfont->offset;
- break;
- default:
-- ERROR("Not a OpenType/TrueType/TTC font?: %s", map_name);
-- break;
-+ WARN("Not a OpenType/TrueType/TTC font?: %s", map_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ RELEASE(cmap_name);
-+ return -1;
- }
-
-- if (sfnt_read_table_directory(sfont, offset) < 0)
-- ERROR("Could not read OpenType/TrueType table directory.");
-+ if (sfnt_read_table_directory(sfont, offset) < 0) {
-+ WARN("Could not read OpenType/TrueType table directory: %s", map_name);
-+ sfnt_close(sfont);
-+ DPXFCLOSE(fp);
-+ RELEASE(cmap_name);
-+ return -1;
-+ }
- if (sfont->type != SFNT_TYPE_POSTSCRIPT) {
- RELEASE(cmap_name);
- sfnt_close(sfont);
-@@ -1590,41 +1672,71 @@
- }
-
- /* Read GID-to-CID mapping if CFF OpenType is found. */
-- is_cidfont = handle_CIDFont(sfont, &GIDToCIDMap, &csi);
-- if (is_cidfont) {
-- if (GIDToCIDMap) {
-- CMap *cmap;
-- int32_t gid;
-- const unsigned char csrange[4] = {0x00, 0x00, 0xff, 0xff};
-+ if (sfont->type == SFNT_TYPE_POSTSCRIPT) {
-+ cff_font *cffont;
-+ struct tt_maxp_table *maxp;
-+ const unsigned char csrange[4] = {0x00, 0x00, 0xff, 0xff};
-+ uint16_t num_glyphs = 0;
-+
-+ maxp = tt_read_maxp_table(sfont);
-+ num_glyphs = (card16) maxp->numGlyphs;
-+ RELEASE(maxp);
-+
-+ offset = sfnt_find_table_pos(sfont, "CFF ");
-+ cffont = cff_open(sfont->stream, offset, 0);
-+ if (cffont && cffont->flag & FONTTYPE_CIDFONT) {
-+ CMap *cmap;
-+ uint16_t gid;
-+ uint16_t *GIDToCIDMap = NULL;
-+ CIDSysInfo csi = {NULL, NULL, 0};
-+
-+ if (!cff_dict_known(cffont->topdict, "ROS")) {
-+ csi.registry = strdup("Adobe");
-+ csi.ordering = strdup("Identity");
-+ csi.supplement = 0;
-+ } else {
-+ card16 reg, ord;
-
-+ reg = (card16) cff_dict_get(cffont->topdict, "ROS", 0);
-+ ord = (card16) cff_dict_get(cffont->topdict, "ROS", 1);
-+ csi.registry = cff_get_string(cffont, reg);
-+ csi.ordering = cff_get_string(cffont, ord);
-+ csi.supplement = (int) cff_dict_get(cffont->topdict, "ROS", 2);
-+ }
-+ cff_read_charsets(cffont);
-+ GIDToCIDMap = NEW(num_glyphs, uint16_t);
-+ memset(GIDToCIDMap, 0, num_glyphs*sizeof(uint16_t));
-+ create_GIDToCIDMap(GIDToCIDMap, num_glyphs, cffont);
- cmap = CMap_new();
- CMap_set_name (cmap, cmap_name);
- CMap_set_type (cmap, CMAP_TYPE_CODE_TO_CID);
- CMap_set_wmode(cmap, wmode);
- CMap_add_codespacerange(cmap, &csrange[0], &csrange[2], 2);
- CMap_set_CIDSysInfo(cmap, &csi);
--
-- for (gid = 0; gid < 65536; gid++) {
-- unsigned char src[2];
-+ for (gid = 0; gid < num_glyphs; gid++) {
-+ unsigned char src[2], dst[2];
- src[0] = (gid >> 8) & 0xff;
- src[1] = gid & 0xff;
-- CMap_add_bfchar(cmap, src, 2, &GIDToCIDMap[gid*2], 2);
-+ dst[0] = (GIDToCIDMap[gid] >> 8) & 0xff;
-+ dst[1] = GIDToCIDMap[gid] & 0xff;
-+ CMap_add_bfchar(cmap, src, 2, dst, 2);
- }
- cmap_id = CMap_cache_add(cmap);
- if (dpx_conf.verbose_level > VERBOSE_LEVEL_MIN) {
- MESG("\n");
- MESG("otf_cmap>> Creating GID-to-CID mapping for font=\"%s\"\n", map_name);
- }
-+ RELEASE(GIDToCIDMap);
-+ if (csi.registry)
-+ RELEASE(csi.registry);
-+ if (csi.ordering)
-+ RELEASE(csi.ordering);
- }
-- /* Identity mapping for null GIDToCIDMap */
-+ if (cffont)
-+ cff_close(cffont);
- }
-+
- RELEASE(cmap_name);
-- if (GIDToCIDMap)
-- RELEASE(GIDToCIDMap);
-- if (csi.registry)
-- RELEASE(csi.registry);
-- if (csi.ordering)
-- RELEASE(csi.ordering);
- sfnt_close(sfont);
- DPXFCLOSE(fp);
-
-diff -Naur a/texk/dvipdfm-x/tt_gsub.c b/texk/dvipdfm-x/tt_gsub.c
---- a/texk/dvipdfm-x/tt_gsub.c 2018-12-21 03:39:51.000000000 +0000
-+++ b/texk/dvipdfm-x/tt_gsub.c 2019-05-31 22:00:04.009964032 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2002-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2002-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- This program is free software; you can redistribute it and/or modify
-@@ -977,10 +977,11 @@
-
- sfnt_seek_set(sfont, offset);
- clt_read_feature_table(&feature_table, sfont);
-+#if 0
- if (feature_table.FeatureParams != 0) {
- ERROR("unrecognized FeatureParams");
- }
--
-+#endif
- /* Lookup table */
- for (i = 0; i < feature_table.LookupListIndex.count; i++) {
- struct clt_lookup_table lookup_table;
-@@ -1680,98 +1681,303 @@
- return retval;
- }
-
--#if 0
-+#if 1
-+#include "unicode.h"
-+
-+#ifndef is_used_char2
-+#define is_used_char2(b,c) (((b)[(c)/8]) & (1 << (7-((c)%8))))
-+#endif
-+
-+static int
-+add_glyph_if_valid (CMap *cmap, char *used_chars,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap, USHORT gid, USHORT gid_sub)
-+{
-+ int count = 0;
-+ unsigned char src[2], dst[4];
-+ unsigned char *p = dst, *endptr = dst + 4;
-+ size_t len;
-+ uint16_t cid_sub;
-+
-+ if (gid_sub >= num_glyphs || gid >= num_glyphs)
-+ return 0;
-+
-+ cid_sub = GIDToCIDMap[gid_sub];
-+ if (is_used_char2(used_chars, cid_sub)) {
-+ int32_t ch = map_base[gid];
-+ if (UC_is_valid(ch)) {
-+ src[0] = (cid_sub >> 8) & 0xff;
-+ src[1] = cid_sub & 0xff;
-+ len = UC_UTF16BE_encode_char(ch, &p, endptr);
-+ CMap_add_bfchar(cmap, src, 2, dst, len);
-+ used_chars[cid_sub / 8] &= ~(1 << (7 - (cid_sub % 8)));
-+ count = 1;
-+ } else {
-+ ch = map_sub[gid];
-+ if (UC_is_valid(ch)) {
-+ src[0] = (cid_sub >> 8) & 0xff;
-+ src[1] = cid_sub & 0xff;
-+ len = UC_UTF16BE_encode_char(ch, &p, endptr);
-+ CMap_add_bfchar(cmap, src, 2, dst, len);
-+ used_chars[cid_sub / 8] &= ~(1 << (7 - (cid_sub % 8)));
-+ count = 1;
-+ }
-+ }
-+ }
-+ return count;
-+}
-+
- static int
--otl_gsub_dump_single (struct otl_gsub_subtab *subtab)
-+add_ToUnicode_single (CMap *cmap, char *used_chars,
-+ struct otl_gsub_subtab *subtab,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap)
- {
-- int gid, idx;
-+ int count = 0;
-+ USHORT i, idx, gid;
-+ USHORT gid_sub;
-
- ASSERT(subtab);
-
- if (subtab->SubstFormat == 1) {
- struct otl_gsub_single1 *data;
-+ struct clt_coverage *cov;
-
- data = (subtab->table).single1;
-- for (gid = 0; gid < 0x10000; gid++) {
-- idx = clt_lookup_coverage(&data->coverage, gid);
-- if (idx >= 0) {
-- fprintf(stdout, "substitute \\%u by \\%u;\n",
-- (USHORT) gid, (USHORT) (gid + data->DeltaGlyphID));
-+ cov = &data->coverage;
-+ switch (cov->format) {
-+ case 1: /* list */
-+ for (idx = 0; idx < cov->count; idx++) {
-+ gid = cov->list[idx];
-+ gid_sub = gid + data->DeltaGlyphID;
-+ count += add_glyph_if_valid(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, gid_sub);
- }
-+ break;
-+ case 2: /* range */
-+ for (i = 0; i < cov->count; i++) {
-+ for (gid = cov->range[i].Start;
-+ gid <= cov->range[i].End && gid < num_glyphs; gid++) {
-+ idx = cov->range[i].StartCoverageIndex + gid - cov->range[i].Start;
-+ gid_sub = gid + data->DeltaGlyphID;
-+ count += add_glyph_if_valid(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, gid_sub);
-+ }
-+ }
-+ break;
- }
- } else if (subtab->SubstFormat == 2) {
- struct otl_gsub_single2 *data;
-+ struct clt_coverage *cov;
-
- data = (subtab->table).single2;
-- for (gid = 0; gid < 0x10000; gid++) {
-- idx = clt_lookup_coverage(&data->coverage, gid);
-- if (idx >= 0 &&
-- idx < data->GlyphCount) {
-- fprintf(stdout, "substitute \\%u by \\%u;\n",
-- (USHORT) gid, (data->Substitute)[idx]);
-+ cov = &data->coverage;
-+ switch (cov->format) {
-+ case 1: /* list */
-+ for (idx = 0; idx < cov->count; idx++) {
-+ gid = cov->list[idx];
-+ if (idx >= 0 && idx < data->GlyphCount) {
-+ gid_sub = (data->Substitute)[idx];
-+ count += add_glyph_if_valid(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, gid_sub);
-+ }
- }
-+ break;
-+ case 2: /* range */
-+ for (i = 0; i < cov->count; i++) {
-+ for (gid = cov->range[i].Start;
-+ gid <= cov->range[i].End && gid < num_glyphs; gid++) {
-+ idx = cov->range[i].StartCoverageIndex + gid - cov->range[i].Start;
-+ if (idx >= 0 && idx < data->GlyphCount) {
-+ gid_sub = (data->Substitute)[idx];
-+ count += add_glyph_if_valid(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, gid_sub);
-+ }
-+ }
-+ }
-+ break;
- }
- }
-
-- return 0;
-+ return count;
- }
-
--static int
--otl_gsub_dump_alternate (struct otl_gsub_subtab *subtab)
-+static int32_t
-+add_alternate1_inverse_map (CMap *cmap, char *used_chars,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap, USHORT gid, int idx,
-+ struct otl_gsub_alternate1 *data)
- {
-- int gid, idx;
-+ int32_t count = 0;
-+
-+ if (idx >= 0 && idx < data->AlternateSetCount) {
-+ struct otl_gsub_altset *altset;
-+ USHORT i;
-+
-+ altset = &(data->AlternateSet[idx]);
-+ if (altset->GlyphCount == 0)
-+ return count;
-+ for (i = 0; i < altset->GlyphCount; i++) {
-+ USHORT gid_alt = altset->Alternate[i];
-+ count += add_glyph_if_valid(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, gid_alt);
-+ }
-+ }
-+ return count;
-+}
-+
-+static int32_t
-+add_ToUnicode_alternate (CMap *cmap, char *used_chars,
-+ struct otl_gsub_subtab *subtab,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap)
-+{
-+ int32_t count = 0;
-+ USHORT i, gid, idx;
-
- ASSERT(subtab);
-
- if (subtab->SubstFormat == 1) {
- struct otl_gsub_alternate1 *data;
--
-+ struct clt_coverage *cov;
- data = subtab->table.alternate1;
-- for (gid = 0; gid < 0x10000; gid++) {
-- idx = clt_lookup_coverage(&data->coverage, gid);
-- if (idx >= 0 && idx < data->AlternateSetCount) {
-- struct otl_gsub_altset *altset;
-- USHORT i;
-- altset = &(data->AlternateSet[idx]);
-- if (altset->GlyphCount == 0)
-- continue;
-- fprintf(stdout, "substitute \\%u from [", (USHORT) gid);
-- for (i = 0; i < altset->GlyphCount; i++) {
-- fprintf(stdout, " \\%u", altset->Alternate[i]);
-+ cov = &data->coverage;
-+ switch (cov->format) {
-+ case 1: /* list */
-+ for (idx = 0; idx < cov->count; idx++) {
-+ gid = cov->list[idx];
-+ if (gid < num_glyphs) {
-+ count += add_alternate1_inverse_map(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, idx, data);
-+ }
-+ }
-+ break;
-+ case 2: /* range */
-+ for (i = 0; i < cov->count; i++) {
-+ for (gid = cov->range[i].Start;
-+ gid <= cov->range[i].End && gid < num_glyphs; gid++) {
-+ idx = cov->range[i].StartCoverageIndex + gid - cov->range[i].Start;
-+ count += add_alternate1_inverse_map(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, idx, data);
- }
-- fprintf(stdout, " ];\n");
- }
-+ break;
- }
- }
-+ return count;
-+}
-
-- return 0;
-+static int32_t
-+add_ligature1_inverse_map (CMap *cmap, char *used_chars,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap, USHORT gid_1, int idx,
-+ struct otl_gsub_ligature1 *data)
-+{
-+ int32_t count = 0;
-+
-+ if (idx >= 0 && idx < data->LigSetCount) {
-+ struct otl_gsub_ligset *ligset;
-+ USHORT i, j;
-+
-+ ligset = &(data->LigatureSet[idx]);
-+ for (j = 0; j < ligset->LigatureCount; j++) {
-+ USHORT gid_sub = ligset->Ligature[j].LigGlyph;
-+ if (gid_sub < num_glyphs) {
-+ uint16_t cid = GIDToCIDMap[gid_sub];
-+ if (is_used_char2(used_chars, cid)) {
-+ int32_t ch, *ucv;
-+ USHORT comp_count = ligset->Ligature[j].CompCount;
-+ int fail_count = 0;
-+
-+ ucv = NEW(comp_count, int32_t);
-+ ch = UC_is_valid(map_base[gid_1]) ? map_base[gid_1] : map_sub[gid_1];
-+ ucv[0] = ch;
-+ fail_count += UC_is_valid(ch) ? 0 : 1;
-+ for (i = 0; i < ligset->Ligature[j].CompCount - 1; i++) {
-+ USHORT gid = ligset->Ligature[j].Component[i];
-+ if (gid < num_glyphs) {
-+ ch = UC_is_valid(map_base[gid]) ? map_base[gid] : map_sub[gid];
-+ ucv[i+1] = ch;
-+ fail_count += UC_is_valid(ch) ? 0 : 1;
-+ } else {
-+ fail_count += 1;
-+ }
-+ }
-+ if (fail_count == 0) {
-+ unsigned char src[2], *dst;
-+ unsigned char *p, *endptr;
-+ size_t len = 0;
-+
-+ src[0] = (cid >> 8) & 0xff;
-+ src[1] = cid & 0xff;
-+ dst = NEW(comp_count*4, unsigned char);
-+ p = dst;
-+ endptr = dst + comp_count * 4;
-+ for (i = 0; i < comp_count; i++) {
-+ len += UC_UTF16BE_encode_char(ucv[i], &p, endptr);
-+ }
-+ CMap_add_bfchar(cmap, src, 2, dst, len);
-+ used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
-+ count++;
-+ RELEASE(dst);
-+ }
-+ RELEASE(ucv);
-+ }
-+ }
-+ }
-+ }
-+
-+ return count;
- }
-
--static int
--otl_gsub_dump_ligature (struct otl_gsub_subtab *subtab)
-+static int32_t
-+add_ToUnicode_ligature (CMap *cmap, char *used_chars,
-+ struct otl_gsub_subtab *subtab,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap)
- {
-- int gid, idx;
-+ int32_t count = 0;
-+ USHORT i, idx, gid;
-
- ASSERT(subtab);
-
- if (subtab->SubstFormat == 1) {
- struct otl_gsub_ligature1 *data;
-+ struct clt_coverage *cov;
-
- data = subtab->table.ligature1;
-- for (gid = 0; gid < 0x10000; gid++) {
-- idx = clt_lookup_coverage(&data->coverage, gid);
-- if (idx >= 0 && idx < data->LigSetCount) {
-- struct otl_gsub_ligset *ligset;
-- USHORT i, j;
-- ligset = &(data->LigatureSet[idx]);
-- for (j = 0; j < ligset->LigatureCount; j++) {
-- fprintf(stdout, "substitute \\%u", (USHORT) gid);
-- for (i = 0; i < ligset->Ligature[j].CompCount - 1; i++) {
-- fprintf(stdout, " \\%u", ligset->Ligature[j].Component[i]);
-+ cov = &data->coverage;
-+ switch (cov->format) {
-+ case 1: /* list */
-+ for (idx = 0; idx < cov->count; idx++) {
-+ gid = cov->list[idx];
-+ if (gid < num_glyphs) {
-+ count += add_ligature1_inverse_map(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, idx, data);
-+ }
-+ }
-+ break;
-+ case 2: /* range */
-+ for (i = 0; i < cov->count; i++) {
-+ for (gid = cov->range[i].Start;
-+ gid <= cov->range[i].End && gid < num_glyphs; gid++) {
-+ idx = cov->range[i].StartCoverageIndex + gid - cov->range[i].Start;
-+ if (gid < num_glyphs) {
-+ count += add_ligature1_inverse_map(cmap, used_chars,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap, gid, idx, data);
- }
-- fprintf(stdout, " by \\%u;\n", ligset->Ligature[j].LigGlyph);
- }
- }
-+ break;
- }
- }
-
-@@ -1779,48 +1985,44 @@
- }
-
- int
--otl_gsub_dump (otl_gsub *gsub_list,
-- const char *script, const char *language, const char *feature)
-+otl_gsub_add_ToUnicode (CMap *cmap, char *used_chars,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap, sfnt *sfont)
- {
-- int error = -1;
-+ int count = 0;
-+ otl_gsub *gsub_list;
- struct otl_gsub_tab *gsub;
- struct otl_gsub_subtab *subtab;
-- int sel, i, j;
--
-- if (!gsub_list)
-- return -1;
-+ int i, j;
-
-- sel = gsub_list->select;
-- error = otl_gsub_select(gsub_list, script, language, feature);
-- if (error < 0) {
-- ERROR("GSUB feature %s.%s.%s not found.", script, language, feature);
-- }
--
-- i = gsub_list->select;
-- if (i < 0 || i >= gsub_list->num_gsubs) {
-- ERROR("GSUB not selected...");
-- return -1;
-- }
-- gsub = &(gsub_list->gsubs[i]);
-+ gsub_list = otl_gsub_new();
-+ otl_gsub_add_feat(gsub_list, "*", "*", "*", sfont);
-
-- for (j = 0;
-- !error &&
-- j < gsub->num_subtables; j++) {
-- subtab = &(gsub->subtables[j]);
-- switch ((int) subtab->LookupType){
-- case OTL_GSUB_TYPE_SINGLE:
-- error = otl_gsub_dump_single(subtab);
-- break;
-- case OTL_GSUB_TYPE_ALTERNATE:
-- error = otl_gsub_dump_alternate(subtab);
-- break;
-- case OTL_GSUB_TYPE_LIGATURE:
-- error = otl_gsub_dump_ligature(subtab);
-- break;
-+ for (i = 0; i < gsub_list->num_gsubs; i++) {
-+ gsub = &(gsub_list->gsubs[i]);
-+ for (j = 0; j < gsub->num_subtables; j++) {
-+ subtab = &(gsub->subtables[j]);
-+ switch ((int) subtab->LookupType){
-+ case OTL_GSUB_TYPE_SINGLE:
-+ count += add_ToUnicode_single(cmap, used_chars, subtab,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap);
-+ break;
-+ case OTL_GSUB_TYPE_ALTERNATE:
-+ count += add_ToUnicode_alternate(cmap, used_chars, subtab,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap);
-+ break;
-+ case OTL_GSUB_TYPE_LIGATURE:
-+ count += add_ToUnicode_ligature(cmap, used_chars, subtab,
-+ map_base, map_sub, num_glyphs,
-+ GIDToCIDMap);
-+ break;
-+ }
- }
- }
-- gsub_list->select = sel;
-+ otl_gsub_release(gsub_list);
-
-- return error;
-+ return count;
- }
- #endif
-diff -Naur a/texk/dvipdfm-x/tt_gsub.h b/texk/dvipdfm-x/tt_gsub.h
---- a/texk/dvipdfm-x/tt_gsub.h 2018-09-14 04:34:50.000000000 +0100
-+++ b/texk/dvipdfm-x/tt_gsub.h 2019-05-31 22:00:04.009964032 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2002-2018 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2002-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- This program is free software; you can redistribute it and/or modify
-@@ -23,6 +23,7 @@
-
- #include "sfnt.h"
- #include "otl_opt.h"
-+#include "cmap.h"
-
- typedef struct otl_gsub otl_gsub;
-
-@@ -59,11 +60,7 @@
- extern int otl_gsub_set_chain (otl_gsub *gsub_list, const char *otl_tags);
- extern int otl_gsub_apply_chain (otl_gsub *gsub_list, USHORT *gid);
-
--#if 0
--extern int otl_gsub_dump (otl_gsub *gsub_list,
-- const char *script,
-- const char *language,
-- const char *feature);
--#endif
--
-+extern int otl_gsub_add_ToUnicode (CMap *cmap, char *used_chars,
-+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
-+ uint16_t *GIDToCIDMap, sfnt *sfont);
- #endif /* _TT_GSUB_H_ */
-diff -Naur a/texk/dvipdfm-x/unicode.c b/texk/dvipdfm-x/unicode.c
---- a/texk/dvipdfm-x/unicode.c 2016-01-06 10:13:28.000000000 +0000
-+++ b/texk/dvipdfm-x/unicode.c 2019-05-31 22:00:04.009964032 +0100
-@@ -1,6 +1,6 @@
- /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
-
-- Copyright (C) 2002-2016 by Jin-Hwan Cho and Shunsaku Hirata,
-+ Copyright (C) 2002-2019 by Jin-Hwan Cho and Shunsaku Hirata,
- the dvipdfmx project team.
-
- Copyright (C) 1998, 1999 by Mark A. Wicks <mwicks@kettering.edu>
-@@ -123,7 +123,7 @@
- unsigned char *p = *pp;
-
- if (ucv >= 0 && ucv <= 0xFFFF) {
-- if (p + 2 >= endptr)
-+ if (p + 2 > endptr)
- return 0;
- p[0] = (ucv >> 8) & 0xff;
- p[1] = ucv & 0xff;
-@@ -131,7 +131,7 @@
- } else if (ucv >= 0x010000 && ucv <= 0x10FFFF) {
- unsigned short high, low;
-
-- if (p + 4 >= endptr)
-+ if (p + 4 > endptr)
- return 0;
- ucv -= 0x00010000;
- high = (ucv >> UC_SUR_SHIFT) + UC_SUR_HIGH_START;
-@@ -142,7 +142,7 @@
- p[3] = (low & 0xff);
- count = 4;
- } else {
-- if (p + 2 >= endptr)
-+ if (p + 2 > endptr)
- return 0;
- p[0] = (UC_REPLACEMENT_CHAR >> 8) & 0xff;
- p[1] = (UC_REPLACEMENT_CHAR & 0xff);
-@@ -207,25 +207,25 @@
- return 0;
-
- if (ucv < 0x7f) {
-- if (p >= endptr - 1)
-+ if (p + 1 > endptr)
- return 0;
- p[0] = (unsigned char) ucv;
- count = 1;
- } else if (ucv <= 0x7ff) {
-- if (p >= endptr -2)
-+ if (p + 2 > endptr)
- return 0;
- p[0] = (unsigned char) (0xc0 | (ucv >> 6));
- p[1] = (unsigned char) (0x80 | (ucv & 0x3f));
- count = 2;
- } else if (ucv <= 0xffff) {
-- if (p >= endptr - 3)
-+ if (p + 3 > endptr)
- return 0;
- p[0] = (unsigned char) (0xe0 | (ucv >> 12));
- p[1] = (unsigned char) (0x80 | ((ucv >> 6) & 0x3f));
- p[2] = (unsigned char) (0x80 | (ucv & 0x3f));
- count = 3;
- } else if (ucv <= 0x1fffff) {
-- if (p >= endptr - 4)
-+ if (p + 4 > endptr)
- return 0;
- p[0] = (unsigned char) (0xf0 | (ucv >> 18));
- p[1] = (unsigned char) (0x80 | ((ucv >> 12) & 0x3f));
-@@ -233,7 +233,7 @@
- p[3] = (unsigned char) (0x80 | (ucv & 0x3f));
- count = 4;
- } else if (ucv <= 0x3ffffff) {
-- if (p >= endptr - 5)
-+ if (p + 5 > endptr)
- return 0;
- p[0] = (unsigned char) (0xf8 | (ucv >> 24));
- p[1] = (unsigned char) (0x80 | ((ucv >> 18) & 0x3f));
-@@ -242,7 +242,7 @@
- p[4] = (unsigned char) (0x80 | (ucv & 0x3f));
- count = 5;
- } else if (ucv <= 0x7fffffff) {
-- if (p >= endptr - 6)
-+ if (p + 6 > endptr)
- return 0;
- p[0] = (unsigned char) (0xfc | (ucv >> 30));
- p[1] = (unsigned char) (0x80 | ((ucv >> 24) & 0x3f));
-diff -Naur a/texk/dvipsk/ChangeLog b/texk/dvipsk/ChangeLog
---- a/texk/dvipsk/ChangeLog 2019-04-07 02:42:55.000000000 +0100
-+++ b/texk/dvipsk/ChangeLog 2019-05-31 22:00:04.009964032 +0100
-@@ -1,3 +1,9 @@
-+2019-04-30 Karl Berry <karl@tug.org>
-+
-+ * dosection.c (dosection): close PostScript string constant
-+ for long filenames. tex-k mail from Arnaud Blouin,
-+ 24 Apr 2019 13:54:10.
-+
- 2019-04-07 Karl Berry <karl@freefriends.org>
-
- * TeX Live 2019.
-diff -Naur a/texk/dvipsk/dosection.c b/texk/dvipsk/dosection.c
---- a/texk/dvipsk/dosection.c 2019-03-30 01:50:10.000000000 +0000
-+++ b/texk/dvipsk/dosection.c 2019-05-31 22:00:04.009964032 +0100
-@@ -23,7 +23,7 @@
- int np;
- int k;
- integer thispage = 0;
-- char buf[104];
-+ char buf[300]; /* really 253 */
-
- dopsfont(s);
- #ifdef HPS
-@@ -40,7 +40,9 @@
- doubleout(mag);
- numout((integer)DPI);
- numout((integer)VDPI);
-- snprintf(buf, sizeof(buf), "(%.500s)", fulliname);
-+ /* possibly lines in eps files are supposed to be <= 255;
-+ not worth testing the limits merely to output a long file name. */
-+ snprintf(buf, sizeof(buf), "(%.250s)", fulliname);
- cmdout(buf);
- newline();
- cmdout("@start");
-diff -Naur a/texk/web2c/ptexdir/ChangeLog b/texk/web2c/ptexdir/ChangeLog
---- a/texk/web2c/ptexdir/ChangeLog 2019-02-06 11:01:31.000000000 +0000
-+++ b/texk/web2c/ptexdir/ChangeLog 2019-05-31 22:00:04.010964033 +0100
-@@ -1,3 +1,11 @@
-+2019-05-06 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-+
-+ * ptex-base.ch:
-+ Make appropriate comparison of U+0100 by \if in upTeX.
-+ https://github.com/texjporg/tex-jp-build/issues/68
-+ Re-eval kcatcode of Japanese character token in \if and \ifcat.
-+ https://github.com/texjporg/ptex-manual/issues/4
-+
- 2019-02-03 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * ptex-base.ch: Ignore newline char after Japanese control
-diff -Naur a/texk/web2c/ptexdir/ptex-base.ch b/texk/web2c/ptexdir/ptex-base.ch
---- a/texk/web2c/ptexdir/ptex-base.ch 2019-02-06 11:00:54.000000000 +0000
-+++ b/texk/web2c/ptexdir/ptex-base.ch 2019-05-31 22:00:04.010964033 +0100
-@@ -59,6 +59,7 @@
- % (2017-09-07) HK pTeX p3.7.2 More restrictions on direction change commands.
- % (2018-01-21) HK Added \ptexversion primitive and co. pTeX p3.8.
- % (2018-04-14) HK pTeX p3.8.1 Bug fix for discontinuous KINSOKU table.
-+% (2019-02-03) HK pTeX p3.8.2 Change \inhibitglue, add \disinhibitglue.
- %
-
- @x
-@@ -324,6 +325,13 @@
- wterm(')');
- @z
-
-+@x
-+@d max_halfword==@"FFFFFFF {largest allowable value in a |halfword|}
-+@y
-+@d max_halfword==@"FFFFFFF {largest allowable value in a |halfword|}
-+@d max_cjk_val=@"10000
-+@z
-+
- @x [8.111] l.2436 - pTeX: check hi/ho
- (mem_top+sup_main_memory>=max_halfword) then bad:=14;
- @y
-@@ -2533,19 +2541,19 @@
- end;
- @y
- if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
-- begin m:=cur_cmd; n:=cur_chr;
-+ begin n:=cur_chr; m:=kcat_code(kcatcodekey(n));
- end
- else if (cur_cmd>active_char)or(cur_chr>255) then
-- begin m:=relax; n:=256;
-+ begin m:=relax; n:=max_cjk_val;
- end
- else begin m:=cur_cmd; n:=cur_chr;
- end;
- get_x_token_or_active_char;
- if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
-- begin cur_cmd:=cur_cmd;
-- end {dummy}
-+ begin cur_cmd:=kcat_code(kcatcodekey(cur_chr));
-+ end
- else if (cur_cmd>active_char)or(cur_chr>255) then
-- begin cur_cmd:=relax; cur_chr:=256;
-+ begin cur_cmd:=relax; cur_chr:=max_cjk_val;
- end;
- @z
-
-diff -Naur a/texk/web2c/uptexdir/ChangeLog b/texk/web2c/uptexdir/ChangeLog
---- a/texk/web2c/uptexdir/ChangeLog 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/ChangeLog 2019-05-31 22:00:04.010964033 +0100
-@@ -1,3 +1,28 @@
-+2019-05-25 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
-+
-+ * uptex-m.ch:
-+ Correct upTeX_revision ".25", upTeX_version_string "-u1.25".
-+
-+2019-05-06 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
-+
-+ * uptex-m.ch, upbibtex.ch, updvitype.ch, uppltotf.ch, uptftopl.ch,
-+ uptex_version.h: upTeX version u1.25.
-+ * kanji.c, kanji.h:
-+ Fix bug of kcatcode at Fullwidth ASCII variants and
-+ Halfwidth Katakana variants from Yusuke Terada san:
-+ https://github.com/texjporg/tex-jp-build/pull/79
-+ Set default internal encoding EUC/SJIS if a command name is
-+ with prefix of "p" or "ep", intending to be compatible with
-+ pTeX family (ptex, eptex, pbibtex, pdvitype, ppltotf, ptftopl)
-+ (experimental).
-+
-+2019-05-06 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-+
-+ * uptex-m.ch:
-+ Make appropreate comparison of U+0100 by \if.
-+ https://github.com/texjporg/tex-jp-build/issues/68
-+ * tests/test_if.tex: Test case.
-+
- 2019-02-23 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
-
- * uptex-m.ch, upbibtex.ch, updvitype.ch, uppltotf.ch, uptftopl.ch,
-@@ -24,7 +49,7 @@
- 2018-09-16 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
-
- * upbibtex.ch: Fix bug of substring$
-- from Takashi Sakai:
-+ from Takashi Sakai san:
- https://github.com/texjporg/tex-jp-build/issues/64
- https://github.com/texjporg/tex-jp-build/pull/66
-
-diff -Naur a/texk/web2c/uptexdir/kanji.c b/texk/web2c/uptexdir/kanji.c
---- a/texk/web2c/uptexdir/kanji.c 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/kanji.c 2019-05-31 22:00:04.010964033 +0100
-@@ -444,7 +444,7 @@
- || (LATIN_SMALL_LETTER_O_WITH_STROKE <=c && c<=LATIN_SMALL_LETTER_Y_WITH_DIAERESIS ) )
- return 0x1FD;
- }
-- if (block==0xa0) {
-+ if (block==0xa1) {
- /* Fullwidth ASCII variants except for U+FF01..FF0F, U+FF1A..FF20, U+FF3B..FF40, U+FF5B..FF5E */
- if ( (FULLWIDTH_DIGIT_0 <=c && c<=FULLWIDTH_DIGIT_9 )
- || (FULLWIDTH_CAPITAL_A<=c && c<=FULLWIDTH_CAPITAL_Z)
-@@ -485,8 +485,6 @@
- {
- char *p;
-
-- enable_UPTEX (true); /* enable */
--
- init_kanji (file_str, internal_str);
-
- p = getenv ("PTEX_KANJI_ENC");
-@@ -504,3 +502,33 @@
- }
- #endif
- }
-+
-+void init_default_kanji_select(void)
-+{
-+ char *base;
-+
-+ base = kpse_program_basename (argv[0]);
-+
-+ if (FILESTRNCASEEQ(base, "p", 1) || FILESTRNCASEEQ(base, "ep", 2)) {
-+
-+ enable_UPTEX (false); /* disable */
-+#if defined(WIN32)
-+/* pBibTeX is EUC only */
-+ if (FILESTRNCASEEQ(base, "pbibtex", 7)) {
-+ init_default_kanji(NULL, "euc");
-+ } else {
-+/* for pTeX, e-pTeX, pDVItype, pPLtoTF, and pTFtoPL */
-+ init_default_kanji(NULL, "sjis");
-+ }
-+#else
-+ init_default_kanji(NULL, "euc");
-+#endif
-+
-+ } else {
-+
-+/* for upTeX, e-upTeX, upBibTeX, upDVItype, upPLtoTF, and upTFtoPL */
-+ enable_UPTEX (true); /* enable */
-+ init_default_kanji ("utf8", "uptex");
-+
-+ }
-+}
-diff -Naur a/texk/web2c/uptexdir/kanji.h b/texk/web2c/uptexdir/kanji.h
---- a/texk/web2c/uptexdir/kanji.h 2019-02-06 11:01:31.000000000 +0000
-+++ b/texk/web2c/uptexdir/kanji.h 2019-05-31 22:00:04.010964033 +0100
-@@ -38,8 +38,9 @@
- extern integer multilenbuffchar (integer c);
-
- extern void init_default_kanji (const_string file_str, const_string internal_str);
-+extern void init_default_kanji_select (void);
- /* for upTeX, e-upTeX, upBibTeX, upDVItype, upPLtoTF, and upTFtoPL */
--#define initkanji() init_default_kanji("utf8", "uptex")
-+#define initkanji() init_default_kanji_select()
- /* for upDVItype */
- #define setpriorfileenc() set_prior_file_enc()
-
-diff -Naur a/texk/web2c/uptexdir/tests/test_if.tex b/texk/web2c/uptexdir/tests/test_if.tex
---- a/texk/web2c/uptexdir/tests/test_if.tex 1970-01-01 01:00:00.000000000 +0100
-+++ b/texk/web2c/uptexdir/tests/test_if.tex 2019-05-31 22:00:04.010964033 +0100
-@@ -0,0 +1,29 @@
-+\kcatcode`ã‚=18
-+\def\xA{ã‚}\let\yA=ã‚
-+\kcatcode`ã‚=17
-+\def\xB{ã‚}\let\yB=ã‚
-+\kcatcode`ã‚=16
-+
-+\message{\ifcat ã‚\xA Y\else N\fi}
-+\message{\ifcat ã‚\yA Y\else N\fi}
-+\message{\ifcat ã‚\xB Y\else N\fi}
-+\message{\ifcat ã‚\yB Y\else N\fi}
-+
-+\message{\if ã‚\xA Y\else N\fi}
-+\message{\if ã‚\yA Y\else N\fi}
-+\message{\if ã„\xA Y\else N\fi}
-+\message{\if ã„\yA Y\else N\fi}
-+
-+\ifx\ucs\undefined\else
-+ \kcatcode"100=16
-+ \message{upTeX}
-+ \def\xA{Ä€}% U+0100
-+ \def\xB{Ä}% U+0101
-+ \message{\if \xA\relax Y\else N\fi}
-+ \message{\if \xB\relax Y\else N\fi}
-+ \message{\ifcat\xA\relax Y\else N\fi}
-+ \message{\ifcat\xB\relax Y\else N\fi}
-+\fi
-+\end
-+
-+
-diff -Naur a/texk/web2c/uptexdir/upbibtex.ch b/texk/web2c/uptexdir/upbibtex.ch
---- a/texk/web2c/uptexdir/upbibtex.ch 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/upbibtex.ch 2019-05-31 22:00:04.010964033 +0100
-@@ -3,7 +3,7 @@
- @d banner=='This is pBibTeX, Version 0.99d-j0.33'
- @y
- @d my_name=='upbibtex'
--@d banner=='This is upBibTeX, Version 0.99d-j0.33-u1.24'
-+@d banner=='This is upBibTeX, Version 0.99d-j0.33-u1.25'
- @z
-
- @x
-diff -Naur a/texk/web2c/uptexdir/updvitype.ch b/texk/web2c/uptexdir/updvitype.ch
---- a/texk/web2c/uptexdir/updvitype.ch 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/updvitype.ch 2019-05-31 22:00:04.010964033 +0100
-@@ -3,7 +3,7 @@
- @d banner=='This is pDVItype, Version 3.6-p0.4'
- @y
- @d my_name=='updvitype'
--@d banner=='This is upDVItype, Version 3.6-p0.4-u1.24'
-+@d banner=='This is upDVItype, Version 3.6-p0.4-u1.25'
- @z
-
- @x procedure initialize
-diff -Naur a/texk/web2c/uptexdir/uppltotf.ch b/texk/web2c/uptexdir/uppltotf.ch
---- a/texk/web2c/uptexdir/uppltotf.ch 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/uppltotf.ch 2019-05-31 22:00:04.010964033 +0100
-@@ -3,7 +3,7 @@
- @d banner=='This is pPLtoTF, Version 3.6-p2.0'
- @y
- @d my_name=='uppltotf'
--@d banner=='This is upPLtoTF, Version 3.6-p2.0-u1.24'
-+@d banner=='This is upPLtoTF, Version 3.6-p2.0-u1.25'
- @z
-
- @x
-diff -Naur a/texk/web2c/uptexdir/uptex-m.ch b/texk/web2c/uptexdir/uptex-m.ch
---- a/texk/web2c/uptexdir/uptex-m.ch 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/uptex-m.ch 2019-05-31 22:00:04.010964033 +0100
-@@ -1,4 +1,4 @@
--% This is a change file for upTeX u1.24
-+% This is a change file for upTeX u1.25
- % By Takuji Tanaka.
- %
- % (02/26/2007) TTK upTeX u0.01
-@@ -39,6 +39,8 @@
- % (2018-01-21) HK Added \uptexversion primitive and co.
- % (2018-02-24) TTK upTeX u1.23
- % (2019-02-23) TTK upTeX u1.24
-+% (2019-05-06) HK Hironori Kitagawa fixed a bug in \if.
-+% (2019-05-06) TTK upTeX u1.25
-
- @x upTeX: banner
- {printed when \pTeX\ starts}
-@@ -46,8 +48,8 @@
- {printed when \pTeX\ starts}
- @#
- @d upTeX_version=1
--@d upTeX_revision==".24"
--@d upTeX_version_string=='-u1.24' {current u\pTeX\ version}
-+@d upTeX_revision==".25"
-+@d upTeX_version_string=='-u1.25' {current u\pTeX\ version}
- @#
- @d upTeX_banner=='This is upTeX, Version 3.14159265',pTeX_version_string,upTeX_version_string
- @d upTeX_banner_k==upTeX_banner
-@@ -142,6 +144,7 @@
- @d max_quarterword=255 {largest allowable value in a |quarterword|}
- @d min_halfword==-@"FFFFFFF {smallest allowable value in a |halfword|}
- @d max_halfword==@"FFFFFFF {largest allowable value in a |halfword|}
-+@d max_cjk_val=@"10000
- @y
- @d min_quarterword=0 {smallest allowable value in a |quarterword|}
- @d max_quarterword=@"FFFF {largest allowable value in a |quarterword|}
-@@ -699,16 +702,24 @@
-
- @x
- if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
-+ begin n:=cur_chr; m:=kcat_code(kcatcodekey(n));
-+ end
- @y
- if (cur_cmd>=kanji)and(cur_cmd<=hangul) then
-+ begin m:=cur_cmd; n:=cur_chr;
-+ end
- @z
-
- @x
- get_x_token_or_active_char;
- if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
-+ begin cur_cmd:=kcat_code(kcatcodekey(cur_chr));
-+ end
- @y
- get_x_token_or_active_char;
- if (cur_cmd>=kanji)and(cur_cmd<=hangul) then
-+ begin cur_cmd:=cur_cmd;
-+ end {dummy}
- @z
-
- @x
-diff -Naur a/texk/web2c/uptexdir/uptex_version.h b/texk/web2c/uptexdir/uptex_version.h
---- a/texk/web2c/uptexdir/uptex_version.h 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/uptex_version.h 2019-05-31 22:00:04.010964033 +0100
-@@ -1 +1 @@
--#define UPTEX_VERSION "u1.24"
-+#define UPTEX_VERSION "u1.25"
-diff -Naur a/texk/web2c/uptexdir/uptftopl.ch b/texk/web2c/uptexdir/uptftopl.ch
---- a/texk/web2c/uptexdir/uptftopl.ch 2019-02-23 01:59:36.000000000 +0000
-+++ b/texk/web2c/uptexdir/uptftopl.ch 2019-05-31 22:00:04.010964033 +0100
-@@ -3,7 +3,7 @@
- @d banner=='This is pTFtoPL, Version 3.3-p2.0'
- @y
- @d my_name=='uptftopl'
--@d banner=='This is upTFtoPL, Version 3.3-p2.0-u1.24'
-+@d banner=='This is upTFtoPL, Version 3.3-p2.0-u1.25'
- @z
-
- @x
-diff -Naur a/texk/web2c/xetexdir/ChangeLog b/texk/web2c/xetexdir/ChangeLog
---- a/texk/web2c/xetexdir/ChangeLog 2019-01-02 22:41:45.000000000 +0000
-+++ b/texk/web2c/xetexdir/ChangeLog 2019-05-31 22:02:30.345042172 +0100
-@@ -1,3 +1,8 @@
-+2019-05-30 Khaled Hosny <dr.khaled.hosny@gmail.com>
-+
-+ * XeTeXLayoutInterface.cpp: Do not use hb-icu if HarfBuzz
-+ version is 2.5.0 or newer.
-+
- 2019-01-03 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
-
- * NEWS, xetex_version.h, xetex.web: Sync with the upstream.
-diff -Naur a/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp b/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
---- a/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp 2017-03-12 08:47:36.000000000 +0000
-+++ b/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp 2019-05-31 22:05:06.636170781 +0100
-@@ -2,7 +2,7 @@
- Part of the XeTeX typesetting system
- Copyright (c) 1994-2008 by SIL International
- Copyright (c) 2009-2012 by Jonathan Kew
-- Copyright (c) 2012-2015 by Khaled Hosny
-+ Copyright (c) 2012-2019 by Khaled Hosny
-
- SIL Author(s): Jonathan Kew
-
-@@ -39,8 +39,11 @@
-
- #include <graphite2/Font.h>
- #include <graphite2/Segment.h>
-+#include <hb.h>
- #include <hb-graphite2.h>
-+#if !HB_VERSION_ATLEAST(2,5,0)
- #include <hb-icu.h>
-+#endif
- #include <hb-ot.h>
-
- #include "XeTeX_web.h"
-@@ -661,6 +664,7 @@
- free(engine->shaper);
- }
-
-+#if !HB_VERSION_ATLEAST(2,5,0)
- static unsigned int
- _decompose_compat(hb_unicode_funcs_t* ufuncs,
- hb_codepoint_t u,
-@@ -677,8 +681,7 @@
- hb_unicode_funcs_set_decompose_compatibility_func(ufuncs, _decompose_compat, NULL, NULL);
- return ufuncs;
- }
--
--static hb_unicode_funcs_t* hbUnicodeFuncs = NULL;
-+#endif
-
- int
- layoutChars(XeTeXLayoutEngine engine, uint16_t chars[], int32_t offset, int32_t count, int32_t max,
-@@ -699,11 +702,15 @@
-
- script = hb_ot_tag_to_script (engine->script);
-
-+ hb_buffer_reset(engine->hbBuffer);
-+
-+#if !HB_VERSION_ATLEAST(2,5,0)
-+ static hb_unicode_funcs_t* hbUnicodeFuncs = NULL;
- if (hbUnicodeFuncs == NULL)
- hbUnicodeFuncs = _get_unicode_funcs();
--
-- hb_buffer_reset(engine->hbBuffer);
- hb_buffer_set_unicode_funcs(engine->hbBuffer, hbUnicodeFuncs);
-+#endif
-+
- hb_buffer_add_utf16(engine->hbBuffer, chars, max, offset, count);
- hb_buffer_set_direction(engine->hbBuffer, direction);
- hb_buffer_set_script(engine->hbBuffer, script);
diff --git a/office/texlive/prep/texmf_get.sh b/office/texlive/prep/texmf_get.sh
deleted file mode 100644
index e5494a26cd..0000000000
--- a/office/texlive/prep/texmf_get.sh
+++ /dev/null
@@ -1,1106 +0,0 @@
-#!/bin/bash
-
-# texmf_get.sh (c) 2016 - 2019 Johannes Schoepfer, Germany, slackbuilds[at]schoepfer[dot]info
-# 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.
-#
-# V 15.0.3
-#
-# Prepare xz-compressed tarballs of texlive-texmf-trees based on texlive.tlpdb
-# This script takes care of dependencies(as far as these are present in texlive.tlpdb)
-# of collections and packages, and that every texlive-package is included only once.
-# The editions(base/extra/docs) should contain no binaries(exception biber)
-# -base: the most usefull stuff, most binaries/scripts,
-# manpages for compiled binaries 65mb 2017-11-07
-# -docs: -base documentation only, no manpages/GNU infofiles
-# -extra: remaining stuff and corresponding docs
-#
-# texlive netarchive policy: Every package is included as dependency
-# in exactly one collection. A package may have dependencies on other
-# packages from any collection.
-
-# package source: http://mirror.ctan.org/systems/texlive/tlnet/archive/
-
-#set -e
-MAJORVERSION=2019
-mirror="http://mirror.ctan.org/systems/texlive/tlnet/"
-TMP=$PWD/tmp
-
-# Globally excluded packages, which are/contain
-# -useless without tlmgr-installer
-# -non-linux
-# -covered by an external package, e.g. asymptote on SBo
-# -obsolete, e.g. omega
-# -java dependend packages
-# -binaries provided already by texlive.Slackbuild
-# -binaries provided already other system packages, e.g. texlive-scripts.ARCH
-# -only sources, or hyphen directives, e.g. metatype1, patch, ...
-# -only hyphen directives, e.g. hyphen-farsi ...
-
-global_exclude="
- aleph
- antomega
- asymptote
- bibtexu
- cslatex
- dviout.win32
- hyphen-arabic
- hyphen-farsi
- lambda
- metatype1
- ocherokee
- oinuit
- omega
- omegaware
- otibet
- patch
- texlive-common
- texlive-docindex
- texlive-msg-translations
- texlive-scripts
- texlive.infra
- texliveonfly
- texosquery
- texworks
- tlcockpit
- tlshell
- wintools.win32
- dvisvgm
- "
-
- # special packages, move their type1 fonts(if metafonts are present)
- # and/or docs to -extra
-special_packages="
- koma-script
- velthuis
- armtex
- montex
- vntex
- pl
- cc-pl
- cs
- musixtex-fonts
- tipa
- cbfonts
- ptex-fonts
- uptex-fonts
- "
-#Todo: split type1 fonts, or keep subset of type1 fonts in base
-# cm-super
-
-# keep precompiled binaries, list binary, not package name
-keep_precompiled="
- biber
- "
-
-texmf_editions () {
-
- # "excludes from -base", also dependencies are excluded
- PACKAGES="
- cm-super
- biber
- bib2gls
- knitting
- pgfornament
- pgfplots
- pst-cox
- pst-poker
- pst-vectorian
- pst-geo
- bclogo
- $(grep ^"name .*biblatex" $db | cut -d' ' -f2 )
- " texmfget extra || exit 1
-
- # packages/collections and their dependencies for -base
- PACKAGES="
- $(cat $corepackages)
- etoolbox
- xcolor
- memoir
- velthuis
- wasy
- ptex
- platex
- revtex
- uptex
- uplatex
- ucs
- collection-basic
- collection-latex
- collection-metapost
- collection-plaingeneric
- collection-luatex
- collection-context
- collection-fontutils
- collection-langczechslovak
- collection-langeuropean
- collection-langenglish
- collection-langfrench
- collection-langitalian
- collection-langpolish
- collection-langportuguese
- collection-langspanish
- collection-latexrecommended
- $(collection_by_size fontsextra 70000 || exit 1)
- $(collection_by_size publishers 10000 || exit 1)
- " texmfget base
-
- # packages/collections and their dependencies for -extra
- PACKAGES="
- amiri
- arabi
- arabi-add
- arara
- arev
- bangorcsthesis
- beamer2thesis
- beamertheme-detlevcm
- beamertheme-epyt
- beamertheme-npbt
- beamertheme-saintpetersburg
- beebe
- bhcexam
- bxtexlogo
- churchslavonic
- collection-fontsextra
- collection-langchinese
- collection-langcjk
- collection-langjapanese
- collection-langkorean
- collection-publishers
- collection-texworks
- collection-wintools
- ctan-o-mat
- ctanify
- ctanupload
- dad
- duckuments
- ethiop-t1
- fibeamer
- fithesis
- ghsystem
- gregoriotex
- hustthesis
- ijsra
- iwhdp
- jpsj
- kerkis
- ketcindy
- kpfonts
- langsci
- latex2nemeth
- libertine
- lilyglyphs
- lni
- luatexko
- media9
- musuos
- mwe
- newtx
- nwejm
- padauk
- pdfwin
- pdfx
- powerdot-tuliplab
- powerdot-FUBerlin
- quran
- quran-de
- realhats
- resumecls
- sanskrit-t1
- sapthesis
- sduthesis
- seuthesix
- simurgh
- skaknew
- stellenbosch
- suanpan
- tudscr
- uantwerpendocs
- ucs
- udesoftec
- universalis
- uowthesis
- wasy2-ps
- xduthesis
- xetexko
- xq
- " texmfget extra || exit 1
-
- # What's left, for base again
- PACKAGES="
- collection-fontsrecommended
- collection-xetex
- collection-langcyrillic
- collection-langarabic
- collection-langgerman
- collection-langgreek
- collection-langother
- collection-humanities
- collection-mathscience
- collection-pictures
- collection-pstricks
- collection-music
- collection-games
- collection-binextra
- collection-bibtexextra
- collection-formatsextra
- collection-latexextra
- " texmfget base || exit 1
-
-}
-
-# ==== Nothing to edit beyond this line ====
-
-usage () {
- echo
- echo "Generate texmf trees/editions based on collections/packages"
- echo "and their (hard)dependencies."
- echo "./texmf_get.sh [base|docs|extra|lint]"
- echo
- echo "-base: texfiles, no docs"
- echo "-docs: docs of -base"
- echo "-extra: remaining texfiles and docs"
- echo "[lint]: compare filename contents of all generated editions,"
- echo " to detect overlapping files"
- echo
- echo "Only new/updated/missing tex packages are downloaded."
- echo "The first run takes \"long\", tex packages(about 2500Mb)"
- echo "need to be downloaded."
- echo "To check out a new version/release, delete"
- echo "$db"
- echo "A new ascii index file/database(texlive.tlpdb) is will be"
- echo "pulled on the next run, and a new version yymmdd will be set."
- echo
- echo "All generated tarballs, logs etc. are going to"
- echo "$TMP"
- echo
-}
-
-collection_by_size () {
- # from collection $1, pull packages smaller $2 bytes
- start_n="$(grep -n ^"name collection-$1"$ $db | cut -d':' -f1)"
- # find end of package/collection
- for emptyline in $emptylines
- do
- if [ "$emptyline" -gt "$start_n" ]
- then
- end_n=$emptyline
- break
- fi
- done
- extrapackages="$(sed "${start_n},${end_n}!d" $db | grep ^"depend " | grep -v ^"depend collection" | sed "s/^depend//g" )"
-
- # add if smaller than ...
- for checksize in $extrapackages
- do
- package_meta $checksize || exit 1
- size=$(grep ^"containersize " $texmf/$checksize.meta | cut -d' ' -f2)
- # for $2, e.g. 3000 means 3kb
- [ $size -lt $2 ] && echo $checksize
- done
-}
-
-package_meta () {
- if [ ! -s "$texmf/$1.meta" ]
- then
- # collection start linenumer
- start_n="$(grep -n ^"name ${1}"$ $db | cut -d':' -f1)"
- [ -z "$start_n" ] && echo "$1 was not found in $db, bye." && exit 1
- # find end of package/collection
- for emptyline in $emptylines
- do
- if [ "$emptyline" -gt "$start_n" ]
- then
- end_n=$emptyline
- break
- fi
- done
- # Don't handle collections as dependency of other collections
- sed "${start_n},${end_n}!d;/^depend collection/d" $db > $texmf/$1.meta
- fi
-}
-
-download () {
- # Download packages, if not already available. Not every packages has a corresponding .doc package.
- # Try three times if package isn't present, with -t1 to get another mirror the second time
- cd $texmf
- if [ ! -s "${1}${flavour}.tar.xz" ]
- then
- for run in {1..10}
- do
- wget -q --show-progress -t1 -c ${mirror}archive/${1}${flavour}.tar.xz
- [ -s "${1}${flavour}.tar.xz" ] && break
- done
- fi
- # If no success by downloading, write error log
- [ ! -s ${1}${flavour}.tar.xz ] && echo "Downloading ${1}${flavour}.tar.xz did not work, writing to $errorlog" && echo "$VERSION" >> $errorlog && echo "Error downloading ${1}${flavour}.tar.xz" >> $errorlog && exit 1
-
- # check sha512, give three tries for downloading again(diffrent mirrors are used automatically)
- if [ "$flavour" = ".doc" ]
- then
- sha512="$(grep ^doccontainerchecksum $texmf/$1.meta | cut -d' ' -f2 )"
- else
- sha512="$(grep ^containerchecksum $texmf/$1.meta | cut -d' ' -f2 )"
- fi
-
- for run in {1..10}
- do
- if [ "$(sha512sum ${1}${flavour}.tar.xz | cut -d' ' -f1 )" != "$sha512" ]
- then
- # Download (hopefully) newer file
- rm ${1}${flavour}.tar.xz
- wget -q --show-progress -t1 -c ${mirror}archive/${1}${flavour}.tar.xz
- else
- break
- fi
- done
- # check sha512 again, exit if it fails
- if [ "$(sha512sum ${1}${flavour}.tar.xz | cut -d' ' -f1 )" != "$sha512" ]
- then
- echo "sha512sum $(sha512sum ${1}${flavour}.tar.xz | cut -d' ' -f1 ) of"
- echo "${package}${flavour}.tar.xz doesn't match with $db"
- # delete metafile on failure to get generated again on next run, where new $db may be in use
- rm $texmf/$1.meta
- echo "sha512sum $sha512"
- echo "Delete ${db}* to be current again, and try again."
- exit 1
- fi
-}
-
-untar () {
- # leave if $1 has no content
- if [ -s "$1" ]
- then
- while read package
- do
- echo "untar $package"
- # untar all packages, check for relocation, "relocate 1" -> untar in texmf-dist
- download $package || exit 1
- # untar package, relocate to texmf-dist if necessary, binary packages always need relocation
- relocated='.'
- [ -n "$(grep -w ^"relocated 1" $texmf/$package.meta)" -o -n "$(grep ^"binfiles " $texmf/$package.meta)" ] && relocated="texmf-dist"
- # if not .doc package, investigate files for dependencies/provides
- if [ -n "$flavour" ]
- then
- tar xf ${package}${flavour}.tar.xz --exclude tlpkg -C $relocated || exit 1
- else
- tar vxf ${package}${flavour}.tar.xz --exclude tlpkg -C $relocated | grep -E '\.sty$|\.bbx$|\.cls$' > $texmf/$package.deps
- if [ -n "$texmf/$package.deps" ]
- then
- unset provide
- unset depends
- for depfile in $(cat $texmf/$package.deps)
- do
- filename="$( echo $depfile | rev | cut -d'.' -f2- | cut -d'/' -f1 | rev)"
- # always add $filename as "ProvidesPackage", if it's a .sty
- echo $depfile | grep '\.sty'$ &>/dev/null
- [ $? = 0 ] && provide+="${filename},"
- # remove comments, if there are backslashes ignore that content, except it is \filename
- #provide+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\\\ProvidesPackage{\([^}]*\)}.*/\1/p" | sed "s/\\\filename/$filename/g;/\\\/d" | sort -u | tr '\n' ',')"
- #sed -z "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\)*.\n//g" | sed "s/[[:space:]]//
- #provide+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -z "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\)*.\n//g" | sed "s/[[:space:]]// | sed -n "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\){\([^}]*\)}.*/\2/p" | sed "s/\\\filename/$filename/g;s/\\\ExplFileName/$filename/g;/\\\/d" | sed "s/\(\.sty$\|\.cls$\)//g" | sort -u | tr '\n' ',')"
- provide+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -z "s/\(Package\|ExplPackage\|File\|Class\)\n/\1/g" | sed "s/[[:space:]]//" | sed -n "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\){\([^}]*\)}.*/\2/p" | sed "s/\\\filename/$filename/g;s/\\\ExplFileName/$filename/g" | sed "s/\(\.sty$\|\.cls$\)//g" | sort -u | tr '\n' ',')"
- #depends+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\(\\\require\|\\\use\)package{\([^}]*\)}.*/\2/p" | sed "/\\\/d" | sort -u | tr '\n' ',')"
- depends+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\(\\\require\|\\\use\)package{\([^}]*\)}.*/\2/p" | sort -u | tr '\n' ',')"
- #depends+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\\\\(require\|use\)package{\([^}]*\)}.*/\2/p" | sed "/\\\/d" | sort -u | tr '\n' ',')"
- done
- if [ -n "$provide" ]
- then
- echo "$package $provide" >> $TMP/provides.run.$edition
- fi
- if [ -n "$depends" ]
- then
- echo "$package $depends" >> $TMP/depends.run.$edition
- fi
- fi
- fi
-
- # Delete binaries, these are provided
- # by texlive.Slackbuild, keep symlinks and scripts
-
- for arch in $platforms
- do
- if [ -d $texmf/texmf-dist/bin/$arch ]
- then
- [ ! -d $texmf/texmf-dist/linked_scripts ] \
- && mkdir $texmf/texmf-dist/linked_scripts
- # rewrite link target to fit systemwide installation
- for link in $(find $texmf/texmf-dist/bin/$arch -type l)
- do
- ln -sf $(readlink $link | sed "s/^..\/..\(.*\)/..\/share\1/" ) $link || exit 1
- done
- # move symlinks to linked_scripts
- find $texmf/texmf-dist/bin/$arch -type l -exec mv '{}' $texmf/texmf-dist/linked_scripts/ \;
-
- # keep only binaries of special packages
- # remove xindy.mem(gzip compresses data) to prevent overwriting
- for bin in $(find $texmf/texmf-dist/bin/$arch -type f -exec file '{}' + | \
- grep -e "executable" -e "shared object" -e "gzip compressed data" | \
- grep -e ELF -e "gzip compressed data" | cut -f 1 -d : )
- do
- for binary in $keep_precompiled
- do
- if [ "$(echo $bin | rev | cut -d'/' -f1 | rev)" != "$binary" ]
- then
- rm $bin
- echo $bin | rev | cut -d'/' -f1 | rev >> $binary_removed.$edition
- fi
- done
- done
- # move scripts to linked-scripts
- scripts="$(find $texmf/texmf-dist/bin/$arch -type f -exec file '{}' + | grep -wv ELF | cut -f 1 -d : )"
- for script in $scripts
- do
- mv $script $texmf/texmf-dist/linked_scripts/
- done
- fi
- done
-
- if [ "$flavour" = ".doc" ]
- then
- size=$(grep ^doccontainersize $texmf/$package.meta | cut -d' ' -f2)
- else
- size=$(grep ^containersize $texmf/$package.meta | cut -d' ' -f2)
- # add maps to updmap.cfg, don't add special_packages map files to -base
- add_map=yes
- if [ $edition = base ]
- then
- for no_map in $special_packages
- do
- [ $no_map = $package ] && add_map=no && break
- done
- fi
- [ $add_map = yes ] && grep ^'execute ' $texmf/$package.meta | grep Map | cut -d' ' -f2- | sed "s/^add//g" >> $updmap.$edition
- fi
- shortdesc="$(grep ^shortdesc $texmf/$package.meta | cut -d' ' -f2- )"
- echo "$size byte, $package$flavour: $shortdesc" >> $output.meta
- # make index of uncompressed size of each package
- echo "$(xz -l --verbose ${package}${flavour}.tar.xz | grep "Uncompressed size" | \
- cut -d'(' -f2 | cut -d' ' -f1 ) byte, $package$flavour: $shortdesc" >> $output.meta.uncompressed
- done < $1
-
- # copy packages index to texmf-dist, so included packages are known in later installation
- # don't list binary packages, as the binaries itself are not contained, only the symlinks.
- cat $output.meta | grep -v '\-linux:' >> $output.$edition.meta
- cat $output.meta.uncompressed | grep -v '\-linux:' >> $output.$edition.meta.uncompressed
-
- # cleanup
- [ -f $output.meta ] && rm $output.meta
- [ -f $output.meta.uncompressed ] && rm $output.meta.uncompressed
- fi
-}
-
-remove_cruft () {
- # Remove m$-stuff, ConTeXt single-user-system stuff, source leftovers and pdf-versions of manpages
- rm -rf texmf-dist/source
- rm -rf texmf-dist/scripts/context/stubs/source/
- find texmf-dist/ -type d -name 'win32' -exec rm -rf {} +
- find texmf-dist/ -type d -name 'win64' -exec rm -rf {} +
- find texmf-dist/ -type d -name 'mswin' -exec rm -rf {} +
- find texmf-dist/ -type d -name 'win' -exec rm -rf {} +
- find texmf-dist/ -type d -name 'setup' -exec rm -rf {} +
- find texmf-dist/ -type d -name 'install' -exec rm -rf {} +
- find texmf-dist/ -type f -name 'uninstall*.sh' -delete
- find texmf-dist/ -type f -name '*.bat' -delete
- find texmf-dist/ -type f -name '*.bat.w95' -delete
- find texmf-dist/ -type f -name '*win32*' -delete
- find texmf-dist/ -type f -name 'winansi*' -delete
- find texmf-dist/ -type f -name '*man1.pdf' -delete
- find texmf-dist/ -type f -name '*man5.pdf' -delete
- # Remove zero-length files, as these appear e.g. in hyph-utf8 tex-package.
- # find texmf-dist/ -type f -size 0c -delete
- find texmf-dist/ -type f -empty -delete
- # Remove empty directories recursively
- find texmf-dist/ -type d -empty -delete
-}
-
-texmfget () {
- # make sure no package is added more than once.
- echo "Preparing index of packages to be added to -${1} ..."
- echo "$PACKAGES" | sed "s/[[:space:]]//g;/^$/d" > $collections_tobedone
- # Remove outputfile if already present
- >$output
- >$output_doc
-
- # Only do something if $collection wasn't already done before
- while [ -s $collections_tobedone ]
- do
- collection=$(tail -n1 $collections_tobedone)
-
- # continue with next collection if collection was already done
- if [ -s "$collections_done" ]
- then
- grep -w "^${collection}$" $collections_done &> /dev/null
- if [ $? = 0 ]
- then
- # remove from $collections_tobedone
- sed -i "/^$collection$/d" $collections_tobedone
- if [ -n "$(grep "^${collection} added to" $logfile)" ]
- then
- echo "$collection already added " >> $logfile
- fi
- continue
- fi
- fi
-
- package_meta $collection || exit 1
-
- # If $collection is a singel package(not a collection-), add it here
- if [ -n "$(head -n1 $texmf/$collection.meta | grep -v "name collection" )" ]
- then
- addpackage=no
- # if package contains docs, add to docpackages
- if [ -n "$(grep ^docfiles $texmf/$collection.meta)" ]
- then
- echo "$collection" >> $output_doc
- echo "$collection added to docs $1" >> $logfile
- addpackage=yes
- fi
- if [ -n "$(grep ^runfiles $texmf/$collection.meta)" -o -n "$(grep ^binfiles $texmf/$collection.meta)" ]
- then
- echo "$collection" >> $output
- echo "$collection added to -$1" >> $logfile
- addpackage=yes
- fi
- # every package should be added to one dedicated edition, abort if that didn't work
- if [ $addpackage = no ]
- then
- echo "$collection doesn't contain any docfiles/runfiles/binfiles"
- echo "Please exclude package/report to upstream mailinglist tex-live@tug.org, bye."
- exit 1
- fi
- fi
-
- # Don't handle collections as dependency of other collections, as this destroys control over what packages to be added
- # add dependend packages, but no binary(ARCH) and no packages conataining a '.'. Packges with dot indicate binary/texlive-manager/windows packages
-
- grep ^"depend " $texmf/$collection.meta | cut -d' ' -f2- > $dependencies
-
- if [ -s "$dependencies" ]
- then
- # check for .ARCH packages which may be binaries, scripts or links
- # Binaries should all come from the sourcebuild(exception biber)
- for dependency in $(cat $dependencies)
- do
- echo $dependency | grep '\.ARCH'$ &>/dev/null
- if [ $? = 0 ]
- then
- for arch in $platforms
- do
- archpackage="$(echo $dependency | sed "s/\.ARCH$/\.$arch/")"
- grep ^"name $archpackage"$ $db &>/dev/null && echo "$archpackage" >> $dependencies.verified_arch
- done
- else
- echo $dependency >> $dependencies.verified_arch
- fi
- done
- if [ -f $dependencies.verified_arch ]
- then
- mv $dependencies.verified_arch $dependencies
- else
- rm $dependencies
- fi
- fi
-
- if [ -s "$dependencies" ]
- then
- echo "----------------" >> $logfile
- echo "Dependencies of $collection: $(cat $dependencies | tr '\n' ' ')" >> $logfile
- for dependency in $(cat $dependencies)
- do
- if [ -n "$(grep ^"${dependency}"$ $collections_done)" ]
- then
- sed -i "/^${dependency}$/d" $dependencies
- continue
- else
- for exclude in $global_exclude
- do
- if [ "$exclude" = "$dependency" ]
- then
- sed -i "/^${exclude}$/d" $dependencies
- echo "$exclude excluded, see \$global_exclude" >> $logfile
- fi
- done
- fi
- done
- cat $dependencies >> $collections_tobedone
- echo "----------------" >> $logfile
- fi
-
- sed -i "/^${collection}$/d" $collections_tobedone
- echo "$collection" >> $collections_done
- done
- # handle package index list per edition
- cat $output >> $TMP/packages.$1
- # handle doc package index, one for each edition
- cat $output_doc >> $TMP/packages.$1.doc
-
- # untar only one $edition, untar docs together with -extra edition
- if [ "$1" = $edition -o docs = $edition ]
- then
- cd $texmf
- # Cleanup tar-directory
- [ -d $texmf/texmf-dist ] && rm -rf $texmf/texmf-dist
- mkdir $texmf/texmf-dist
-
- # Make tarball/checksum reproducible by setting mtime(clamp-mtime), owner, group and sort content
- # --clamp-mtime --mtime doesn't work with tar 1.13, when makepkg creates the tarball:
- # tar-1.13: time_t value 9223372036854775808 too large (max=68719476735)
- echo "Adding files to $( echo $tarball | rev | cut -d'/' -f1 | rev ) ..."
- case $edition in
- base)
- unset flavour
- untar $output || exit 1
- remove_cruft || exit 1
- tar rf $tarball --owner=0 --group=0 --sort=name texmf-dist || exit 1
- rm -rf texmf-dist
- ;;
- extra)
- unset flavour
- untar $output || exit 1
- export flavour=".doc"
- untar $output_doc || exit 1
- remove_cruft || exit 1
- #tar vrf $tarball --clamp-mtime --mtime --owner=0 --group=0 --sort=name texmf-dist || exit 1
- tar rf $tarball --owner=0 --group=0 --sort=name texmf-dist || exit 1
- rm -rf texmf-dist
- ;;
- docs)
- export flavour=".doc"
- # only add -base docs to -docs
- if [ $1 = base ]
- then
- untar $output_doc || exit 1
- remove_cruft || exit 1
- #tar vrf $tarball --clamp-mtime --mtime --owner=0 --group=0 --sort=name texmf-dist || exit 1
- tar rf $tarball --owner=0 --group=0 --sort=name texmf-dist || exit 1
- rm -rf texmf-dist
- fi
- ;;
- esac
- fi
-}
-
-lint () {
-
-echo "Comparing content of all editions, this may take a while ..."
-cd $TMP
-# check if all editions of same VERSION are there, take -base as reference
-lint_version=$( ls texlive-base-*tar.xz | head -n1 | cut -d'.' -f2 || exit 1)
-if [ -s texlive-extra-$MAJORVERSION.$lint_version.tar.xz \
- -a -s texlive-docs-$MAJORVERSION.$lint_version.tar.xz ]
-then
- for edition in base extra docs
- do
- echo "Extracting index of texlive-${edition}-$MAJORVERSION.$lint_version.tar.xz ..."
- # don't list directories
- tar tf texlive-${edition}-$MAJORVERSION.$lint_version.tar.xz | grep -v '/'$ > $TMP/packages.$edition.lint
- done
-
- # compare content
- for edition in base extra docs
- do
- >$TMP/packages.$edition.lint.dup
- if [ $edition = base ]
- then
- echo "check if files of base are present in another edition"
- while read line
- do
- grep ^"$line"$ $TMP/packages.extra.lint >> $TMP/packages.base.lint.dup
- grep ^"$line"$ $TMP/packages.docs.lint >> $TMP/packages.base.lint.dup
- done < $TMP/packages.$edition.lint
- fi
- done
-else
- echo "Not all editions are present to lint them. Create them first by"
- echo "$0 [base|docs|extra]"
- echo "bye."
- exit 1
-fi
-
-exit 0
-
-}
-
-# Main
-
-LANG=C
-output=$TMP/packages
-output_doc=$TMP/packages.doc.tmp
-errorlog=$TMP/error.log
-texmf=$TMP/texmf
-db=$TMP/texlive.tlpdb
-tmpfile=$TMP/tmpfile
-collections_done=$TMP/done
-collections_tobedone=$TMP/tobedone
-corepackages=$TMP/corepackages
-allcollections=$TMP/allcollections
-binary_removed=$TMP/binaries.removed
-manpages=$TMP/manpages
-dependencies=$TMP/deps
-packages_base=$TMP/packages.base
-packages_extra=$TMP/packages.extra
-packages_manpages=$TMP/packages.manpages
-updmap=$TMP/updmap.cfg
-files_split=$TMP/files.split
-platforms="x86_64-linux i386-linux"
-
-mkdir -p $texmf
-cd $TMP
-
-case "$1" in
- base|docs|extra) edition=$1;;
- lint) lint ;;
- *) usage; exit 0 ;;
-esac
-
-echo "Building $edition tarball ..."
-
-# Set VERSION, get texlive.tlpdb and keep unshorten $db.orig
-if [ ! -s ${db}.orig -o ! -s $db -o ! -s VERSION ]
-then
- echo $MAJORVERSION.$(date +%y%m%d) > VERSION
- wget -q --show-progress -c -O ${db}.orig ${mirror}tlpkg/texlive.tlpdb
- # remove most content from $db to be faster on later processing.
- # keep dependencies/manpages/binfiles/shortdesc/sizes
- grep -E \
- '^\S|^ RELOC/doc/man|^ texmf-dist/doc/man/man|^ RELOC/doc/info/|^ texmf-dist/doc/info/|^ bin|^$' \
- ${db}.orig | grep -v ^longdesc > $db
-
- # As $db might be renewed, remove the meta-files to be created again
- rm -rf $texmf/*.meta
-fi
-
-# Get linenumbers of empty lines from $db
-emptylines="$(grep -n ^$ $db | cut -d':' -f1)"
-
-# Provide TLCore packages for -base, as these packages(and their dependencies) should be present in any case.
-grep -B1 ^'category TLCore' $db | grep -v ^'category TLCore' | grep -v ^-- | grep -v '\.' | cut -d' ' -f2 > $corepackages
-
-# Make a list of all collections
-grep ^"name collection-" $db | cut -d' ' -f2 > $allcollections
-
-# translate .ARCH to platforms in excludes, to make .ARCH packages excludeable by $global_exclude
-for exclude in $global_exclude
-do
- if [ -n "$(echo $exclude | grep '\.ARCH'$ )" ]
- then
- for arch in $platforms
- do
- global_exclude+=" $(echo $exclude | sed "s/\.ARCH$/\.$arch/")"
- done
- global_exclude=${global_exclude/$exclude/}
- fi
-done
-# globally exclude from $corepackages
-for exclude in $global_exclude
-do
- sed -i "/^${exclude}$/d" $corepackages
-done
-
-VERSION=$(cat $TMP/VERSION)
-tarball=$TMP/texlive-$edition-$VERSION.tar
-# set logfile
-logfile=$TMP/$VERSION.log
-
-# reset some files
->$logfile
->$tarball
->$collections_done
->$files_split
->$manpages
->$packages_manpages
->$updmap.$edition
->$packages_base
->$packages_extra
->$packages_base.doc
->$packages_extra.doc
->$TMP/packages.$edition.meta
->$TMP/packages.$edition.meta.uncompressed
->$TMP/provides.run.$edition
->$TMP/depends.run.$edition
->$binary_removed.$edition
-
-# put the editions base/extra together
-texmf_editions || exit 1
-
-# Check if all collections are part in at least one edition
-while read collection
-do
- grep -w "$collection" $collections_done &> /dev/null
- if [ $? != 0 ]
- then
- echo "Error: $collection was not handled."
- echo "Edit packages/collections in the texmfget function." | tee -a $logfile
- exit 1
- fi
-done < $allcollections
-
-# cleanup
-rm $allcollections
-rm $corepackages
-rm $collections_done
-rm $collections_tobedone
-rm $output
-rm $output_doc
-rm $dependencies
-
-# untar special- and manpage packages to be splitted/moved to other editions
-# splitting special packages, files index
-echo "Prepare index of to be splitted/moved files from -base"
-[ ! -d texmf-dist ] && mkdir texmf-dist
-for package in $special_packages
-do
- echo "Splitting $package"
- # special packages have to be in -base, as only here are special
- # tasks done to reduce size of -base edition
- if [ -z "$( grep ^"$package"$ $packages_base )" ]
- then
- echo "$package was not found to be part of -base"
- echo "Edit \$special_packages in $0,"
- echo "it should contain only packages from -base, bye."
- exit 1
- fi
- unset relocated
- pathprefix="texmf-dist/"
- [ -n "$(grep -w ^"relocated 1" $texmf/$package.meta)" ] && \
- relocated="-C texmf-dist" && unset pathprefix
- # avoid big pdf docs which are also present as html
- # move (big)type1 fonts to -extra
- # $files_split lists files to be moved from -base to -extra
- if [ $package = "cm-super" ]
- then
- # cm-super minimal for -base, create index of extended cm-super
- tar tf $texmf/$package.tar.xz | sed \
- "/1000\.pfb$/d;/^tlpkg/d;/\.sty$/d;/\.enc$/d;/\.GS$/d" \
- | tee -a $files_split > $files_split.tmp
- else
- tar tf $texmf/${package}.tar.xz | sed \
- -ne "/.*doc\/latex\/.*\.pdf$/p" \
- -ne "/.*fonts\/map\/.*\.map$/p" \
- -ne "/.*fonts\/enc\/.*\.enc$/p" \
- -ne "/.*fonts\/afm\/.*\.\(afm\|afm\.gz\)$/p" \
- -ne "/.*fonts\/type1\/.*\.pfb$/p" \
- -ne "/.*fonts\/vf\/.*\.vf$/p" \
- | tee -a $files_split > $files_split.tmp
- fi
-
- if [ $edition = base ]
- then
- # Calculate package-minimal size, uncompressed and compressed
- mkdir -p calculate/texmf-dist
- tar xf $texmf/$package.tar.xz -C calculate/texmf-dist --exclude-from=$files_split.tmp
- tar cf calculate/calc.tar.xz -I 'xz -9' calculate/texmf-dist
- size_minimal=$(du -bc calculate/calc.tar.xz | tail -n1 | sed "s/[[:space:]].*//")
- size_minimal_uncompressed="$(xz -l --verbose calculate/calc.tar.xz | grep "Uncompressed size" | cut -d'(' -f2 | cut -d' ' -f1 )"
- sed -i \
- -e "s/^[0-9]* byte, $package: /$size_minimal byte, $package-minimal: /" \
- $output.base.meta
- sed -i \
- -e "s/^[0-9]* byte, $package: /$size_minimal_uncompressed byte, $package-minimal: /" \
- $output.base.meta.uncompressed
- rm -rf calculate
- fi
-
- if [ $edition = extra ]
- then
- mkdir -p calculate/texmf-dist
- tar xf $texmf/${package}.tar.xz -C calculate/texmf-dist $(paste $files_split.tmp)
- tar cf calculate/calc.tar.xz -I 'xz -9' calculate/texmf-dist
- size_extended=$(du -bc calculate/calc.tar.xz | tail -n1 | sed "s/[[:space:]].*//")
- size_extended_uncompressed="$(xz -l --verbose calculate/calc.tar.xz | \
- grep "Uncompressed size" | cut -d'(' -f2 | cut -d' ' -f1 )"
-
- # put new sizes in package index uncompressed
- sed -i \
- -e "s/^[0-9]* byte, $package: /$size_extended byte, $package-extended: /" \
- $output.extra.meta
- sed -i \
- -e "s/^[0-9]* byte, $package: /$size_extended_uncompressed byte, $package-extended: /" \
- $output.extra.meta.uncompressed
- rm -rf calculate
-
- # put map files from splitted packages in -extra
- mkdir meta_tmp
- tar xf $texmf/${package}.tar.xz -C meta_tmp tlpkg/tlpobj/$package.tlpobj
- grep ^'execute ' meta_tmp/tlpkg/tlpobj/$package.tlpobj | grep Map | cut -d' ' -f2- | sed "s/^add//g" >> $updmap.$edition
- rm -rf meta_tmp
- fi
-
- # untar to provide files for -extra
- tar xf $texmf/${package}.tar.xz $relocated $(paste $files_split.tmp)
- if [ $package = "cm-super" ]
- then
- # create cm-super- minimal config/maps with 10pt glyphs only
- sed "s/cm-super/cm-super-minimal/g" $texmf/texmf-dist/dvips/cm-super/config.cm-super \
- > $texmf/texmf-dist/dvips/cm-super/config-minimal.cm-super
- for map in t1 t2a t2b t2c ts1 x2
- do
- grep 1000 $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-$map.map \
- > $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-minimal-$map.map
- sed -i "/.*1000\.pfb/d" $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-$map.map
- done
- fi
-done
-
-# cleanup
-rm $files_split.tmp
-# fix relocation in index for splitted packages
-sed -i \
- -e "s|^doc|texmf-dist\/doc|g" \
- -e "s|^fonts|texmf-dist\/fonts|g" \
- -e "s|^dvips|texmf-dist\/dvips|g" \
- $files_split
-
-# sort meta data about added packages
-sort -n $output.$edition.meta > $tmpfile
-mv $tmpfile $output.$edition.meta
-sort -n $output.$edition.meta.uncompressed > $tmpfile
-mv $tmpfile $output.$edition.meta.uncompressed
-
-sort -u $binary_removed.$edition > $tmpfile
-mv $tmpfile $binary_removed.$edition
-
-# include manpages/GNU infofiles in -base, write index for later exclusion from other editions.
-# In -extra/-docs there should not be any manpage left.
-echo "Looking for manpages/GNU infofiles to be included in -base ..."
-for package in $(paste -s $packages_base.doc | sort -u)
-do
- if [ -n "$(grep -E "(doc/man/man|doc/info/)" $texmf/$package.meta )" ]
- then
- echo "Adding manpage from $package.doc to -base"
- flavour=".doc" download $package || exit 1
- unset relocated
- pathprefix="texmf-dist/"
- [ -n "$(grep -w ^"relocated 1" $texmf/$package.meta)" ] \
- && relocated="-C texmf-dist" && unset pathprefix
- tar tf $texmf/${package}.doc.tar.xz | sed \
- -ne "/.*doc\/man\/.*\.1$/p" \
- -ne "/.*doc\/man\/.*\.5$/p" \
- -ne "/.*doc\/info\/.*\.info$/p" \
- | tee -a $manpages > $manpages.tmp
- # untar to provide files for -/extra/-docs
- tar xf $texmf/${package}.doc.tar.xz $relocated $(paste $manpages.tmp)
- echo "$package" >> $packages_manpages
- fi
-done
-# cleanup
-rm $manpages.tmp
-sed -i \
- -e "s/^doc/texmf-dist\/doc/g" \
- $manpages
-
-case $edition in
- base)
- # Content info
- cat << EOF | gzip -9 >> $texmf/texmf-dist/packages.$edition.gz
-Content of -$edition:
-$(sed "/-linux$/d" $packages_base | sort)
-EOF
- # create texdoc cache file
- if [ $(command -v texdoc) ]
- then
- mkdir -p texmf-dist/scripts/texdoc || exit 1
- TEXMFVAR=$texmf/texmf-dist \
- texdoc -c texlive_tlpdb=$TMP/texlive.tlpdb.orig \
- -DlM texlive-en >/dev/null 2>&1
- mv texmf-dist/texdoc/cache-tlpdb.lua \
- texmf-dist/scripts/texdoc/Data.tlpdb.lua || exit 1
- # add cache to tarball
- tar rf $tarball --owner=0 --group=0 --sort=name \
- texmf-dist/scripts/texdoc/Data.tlpdb.lua || exit 1
- else
- echo "WARNING: texdoc binary(comming with texlive) is not installed, the texdoc cache"
- echo "Data.tlpdb.lua can't be created and wont't be available."
- echo "Texdoc will not wotk without this."
- echo ""
- echo "Continue with any key or abort with ctrl-c"
- read -n1
- fi
-
- # prepare updmap.cfg
- tar xf $tarball texmf-dist/web2c/updmap.cfg
- end_n="$(grep -n 'end of updmap-hdr' texmf-dist/web2c/updmap.cfg | cut -d':' -f1)"
-
- sed "1,${end_n}!d" texmf-dist/web2c/updmap.cfg > $TMP/updmap.cfg.tmp
- cat $updmap.$edition >> $TMP/updmap.cfg.tmp
- mv $TMP/updmap.cfg.tmp texmf-dist/web2c/updmap.cfg
- tar f $tarball --delete texmf-dist/web2c/updmap.cfg
- tar rf $tarball --owner=0 --group=0 --sort=name \
- texmf-dist/web2c/updmap.cfg
-
-# add manpages/GNU infofiles to the tarball
- tar rf $tarball --owner=0 --group=0 --sort=name \
- texmf-dist/doc/man/ texmf-dist/doc/info/ \
- texmf-dist/packages.$edition.gz \
- || exit 1
-# # add cm-super minimal maps/config
-# tar rf $tarball --owner=0 --group=0 --sort=name \
-# texmf-dist/dvips/cm-super/config-minimal.cm-super \
-# --wildcards texmf-dist/fonts/map/dvips/cm-super/cm-super-minimal-*.map \
-# || exit 1
- echo "Removing files -from base, splitted from special packages to be included in -extra"
- tar f $tarball --delete $(paste $files_split) || exit 1
- ;;
- extra)
- echo "Removing manpages from $edition which now reside in -base"
- tar f $tarball --delete $(paste $manpages) 2>/dev/null
- # content info
- echo "Content of -$edition, including documentation:" > $texmf/texmf-dist/packages.$edition
- sed "/-linux$/d" $TMP/packages.$edition | sort >> $texmf/texmf-dist/packages.$edition
- gzip -9 $texmf/texmf-dist/packages.$edition
-# # remove cm-super minimal config, which resides in -base
-# rm \
-# $texmf/texmf-dist/dvips/cm-super/config-minimal.cm-super \
-# $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-minimal-*.map
-
- # add -extra updmap.cfg
- mkdir -p $texmf/texmf-dist/web2c
- mv $updmap.$edition $texmf/texmf-dist/web2c
- tar rf $tarball --owner=0 --group=0 --sort=name \
- --exclude texmf-dist/doc \
- texmf-dist \
- || exit 1
- ;;
- docs)
- # add docs splittet from base from special packages, add packages index
- # content info, this edition contains all docs from -base
- echo "Content of -$edition, documentation for -base:" > $texmf/texmf-dist/packages.$edition
- sort $packages_base.doc >> $texmf/texmf-dist/packages.$edition
- gzip -9 $texmf/texmf-dist/packages.$edition
- tar rf $tarball --owner=0 --group=0 --sort=name \
- texmf-dist/doc/ \
- texmf-dist/packages.$edition.gz \
- || exit 1
- echo "Removing manpages from $edition which now reside in -base"
- tar f $tarball --delete $(paste $manpages) || exit 1
- ;;
-esac
-
-rm -rf texmf-dist
-[ -f $updmap.$edition ] && rm $updmap.$edition
-
-# compress the tarball as everything is in place now
-echo "Compressing $tarball ..."
-[ -f $tarball.xz ] && rm $tarball.xz
-xz -9 -T0 $tarball || exit 1
-md5sum $tarball.xz
-ls -lh $tarball.xz
-echo "Logfile: $logfile"
diff --git a/office/texlive/slack-desc b/office/texlive/slack-desc
deleted file mode 100644
index 4e573a1608..0000000000
--- a/office/texlive/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------------------------------------------------------|
-texlive: texlive (TeX binaries, support files, and formats)
-texlive:
-texlive: This package contains binaries, support files, TeX formats and
-texlive: packages,and other files included in the TeXLive TeX distribution.
-texlive: Included are input files for TeX, runtime configuration files,
-texlive: hyphenation tables, manpages, and the computer modern fonts.
-texlive:
-texlive: SlackBuilds.org has more texmf files and documentation in the
-texlive: texlive-extra and texlive-docs packages.
-texlive:
-texlive:
diff --git a/office/texlive/texlive.SlackBuild b/office/texlive/texlive.SlackBuild
deleted file mode 100644
index a29afb9ab1..0000000000
--- a/office/texlive/texlive.SlackBuild
+++ /dev/null
@@ -1,249 +0,0 @@
-#!/bin/sh
-
-# TeXLive build script for Slackware
-
-# Copyright 2009, 2017 - 2019 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2009 - 2014 Robby Workman, Northport, AL, USA
-# Copyright 2016 - 2017 Johannes Schoepfer, Germany
-# 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.
-
-# URL: ftp://tug.org/historic/systems/texlive/
-# Testrelease: ftp://tug.org/texlive/Images/test/
-# Upstream stable fixes: svn://tug.org/texlive/branches/branch2019/Build/source
-
-PRGNAM=texlive
-SOURCEVERSION=20190410
-VERSION=${VERSION:-2019.190626}
-BUILD=${BUILD:-2}
-TAG=${TAG:-_SBo}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-texlive
-OUTPUT=${OUTPUT:-/tmp}
-
-set -e
-
-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" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-# NOTE: Using the system version of poppler will require texlive to be
-# recompiled with pretty much every poppler update, as they almost always
-# bump the shared library version. But sometimes you do what you have
-# to do...
-SYSTEMPOPPLER=${SYSTEMPOPPLER:-NO}
-if [ "$SYSTEMPOPPLER" = "NO" ]; then
- POPPLER="--without-system-poppler --without-system-xpdf"
-else
- POPPLER="--with-system-poppler --with-system-xpdf"
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf texlive-$SOURCEVERSION-source
-tar xvf $CWD/texlive-${SOURCEVERSION}-source.tar.xz || exit 1
-cd texlive-$SOURCEVERSION-source || exit 1
-chown -R root:root .
-chmod -R u+w,go-w,a+rX-st .
-
-export LANG=C
-export PATH="$PKG/usr/bin:$PATH"
-export LD_LIBRARY_PATH="$PKG/usr/lib${LIBDIRSUFFIX}:$LD_LIBRARY_PATH"
-
-# set TEXMFROOT and TEXMFLOCAL
-sed -i \
- -e 's|^TEXMFROOT.*|TEXMFROOT = $SELFAUTODIR/share|' \
- -e 's|^TEXMFLOCAL.*|TEXMFLOCAL = $TEXMFROOT/texmf-local|' \
- texk/kpathsea/texmf.cnf
-
-# Upstream stable fixes
-patch -Np1 -i $CWD/patches/texlive-20190410-source-upstream_fixes-1.patch || exit 1
-
-# prevent compiling Xdvi with libXp
-sed -i 's|-lXp ||' texk/xdvik/configure
-
-mkdir build
-cd build
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS -fpermissive" \
- ../configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --mandir=/usr/man \
- --infodir=/usr/info \
- --with-banner-add=' on Slackware (SlackBuilds.org)' \
- --disable-native-texlive-build \
- --enable-largefile \
- --enable-shared \
- --disable-static \
- --disable-missing \
- --disable-multiplatform \
- --disable-debug \
- --disable-dialog \
- --disable-bibtexu \
- --disable-xz \
- --with-x \
- --disable-dvisvgm \
- --enable-xindy \
- --disable-xindy-docs \
- --disable-xindy-rules \
- --with-clisp-runtime=system \
- --enable-gc=system \
- --with-system-zlib \
- --with-system-libpng \
- --with-system-t1lib \
- --with-system-gd \
- --with-system-freetype2 \
- --with-system-libgs \
- --with-system-icu \
- --with-system-pixman \
- --with-system-cairo \
- --with-system-gmp \
- --with-system-mpfr \
- --with-system-fontconfig \
- --with-system-ncurses \
- --without-system-harfbuzz \
- --disable-aleph \
- --disable-dump-share \
- --disable-linked-scripts \
- $POPPLER \
- --build=$ARCH-slackware-linux || exit 1
-
- make || exit 1
- # make check || exit 1
- make install-strip DESTDIR=$PKG || exit 1
-
-cd ..
-
-# Don't ship .la files:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
-
-# Remove all files which are covered by tlnet
-rm -rf $PKG/usr/share $PKG/usr/man $PKG/usr/info
-
-# install the tlnet stuff
-mkdir -p $PKG/usr/share
-tar xvf $CWD/texlive-base-$VERSION.tar.xz -C $PKG/usr/share || exit 1
-chown -R root:root $PKG
-chmod -R u+w,go-w,a+rX-st $PKG
-
-# use symlinks/scripts from tlnet
-mv $PKG/usr/share/texmf-dist/linked_scripts/* $PKG/usr/bin
-rmdir $PKG/usr/share/texmf-dist/linked_scripts
-
-# set some paths
-sed -i \
- -e 's|^TEXMFROOT.*|TEXMFROOT = $SELFAUTODIR/share|' \
- -e 's|^TEXMFLOCAL.*|TEXMFLOCAL = $TEXMFROOT/texmf-local|' \
- -e 's|^OSFONTDIR.*|OSFONTDIR = ~/.fonts:/usr/share/fonts|' \
- $PKG/usr/share/texmf-dist/web2c/texmf.cnf
-
-# disable obsolete aleph/lamed/cslatex/pdfcslatex
-sed -i \
- -e 's|^aleph|#! aleph|' \
- -e 's|^lamed|#! lamed|' \
- -e 's|^cslatex|#! cslatex|' \
- -e 's|^pdfcslatex|#! pdfcslatex|' \
- $PKG/usr/share/texmf-dist/web2c/fmtutil.cnf
-
-# make ConTeXt work, and remove unused settings
-sed -i \
- -e 's|selfautoparent:|/usr/share/|g' \
- -e 's|\(TEXMFLOCAL[ ]*=[ ]*\)[^,]*|\1"/usr/share/texmf-local"|' \
- -e '/selfautodir/d' \
- -e '/texmflocal/d' \
- $PKG/usr/share/texmf-dist/web2c/texmfcnf.lua
-
-# provide texlive fonts optionally for other system apps
-mkdir -p $PKG/etc/fonts/conf.avail
-cat > $PKG/etc/fonts/conf.avail/09-texlive.conf << EOF
-<?xml version='1.0'?>
-<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-<fontconfig>
- <dir>/usr/share/texmf-dist/fonts/opentype</dir>
- <dir>/usr/share/texmf-dist/fonts/truetype</dir>
-</fontconfig>
-EOF
-
-# Install the docs while we're still here
-mkdir -p $PKG/usr/doc/texlive-$VERSION
-cp -a ChangeLog README* $PKG/usr/doc/texlive-$VERSION
-# Install index of provided tex packages to the docs
-mv $PKG/usr/share/texmf-dist/packages.base.gz $PKG/usr/doc/texlive-$VERSION
-
-# Put a symlink to /usr/share/texmf-dist/doc in our Slackware docdir
-ln -s ../../share/texmf-dist/doc $PKG/usr/doc/texlive-$VERSION/doc
-
-# We won't make tlmgr easily available; it's still there, but
-# we'll make it harder to void the warranty :-)
-rm -f $PKG/usr/bin/tlmgr
-cat $CWD/README.tlpkg > $PKG/usr/doc/texlive-$VERSION/README.tlpkg
-
-# Create some directories to make it clear that they're owned by this package
-mkdir -p $PKG/usr/share/{texmf-config,texmf-var,texmf-local}
-
-# Use patch for tabu.sty from https://github.com/tabu-fixed/tabu to fix
-# breakage when compiling doxygen:
-( cd $PKG/usr/share/texmf-dist/tex/latex/tabu
- cat $CWD/patches/tabu.sty.diff | patch -p1 --verbose || exit 1
- ) || exit 1
-
-# Add some perl modules, at least one of which is required by updmap
-mkdir -p $PKG/usr/share/perl5
-mv texk/tests/TeXLive $PKG/usr/share/perl5/
-
-# Move manual pages to the correct place
-mkdir $PKG/usr/man
-mv $PKG/usr/share/texmf-dist/doc/man/man1 $PKG/usr/man
-mv $PKG/usr/share/texmf-dist/doc/man/man5 $PKG/usr/man
-rmdir $PKG/usr/share/texmf-dist/doc/man
-mv $PKG/usr/share/texmf-dist/doc/info $PKG/usr
-
-# Handle the man pages
-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
-
-# Handle the GNU info pages
-rm -f $PKG/usr/info/dir
-gzip -9 $PKG/usr/info/*
-
-mkdir -p $PKG/install
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/office/texlive/texlive.info b/office/texlive/texlive.info
deleted file mode 100644
index 6d337e6f80..0000000000
--- a/office/texlive/texlive.info
+++ /dev/null
@@ -1,12 +0,0 @@
-PRGNAM="texlive"
-VERSION="2019.190626"
-HOMEPAGE="https://tug.org/texlive/"
-DOWNLOAD="http://slackware.schoepfer.info/slackbuilds/texlive/2019/texlive-20190410-source.tar.xz \
- http://slackware.schoepfer.info/slackbuilds/texlive/2019/texlive-base-2019.190626.tar.xz"
-MD5SUM="be4b20aa60861bc510bcbc5b228bcb51 \
- 0a6a69d6e921989287a8a24471150b28"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Johannes Schoepfer"
-EMAIL="slackbuilds@schoepfer.info"
diff --git a/perl/Net-SSLeay/Net-SSLeay.SlackBuild b/perl/Net-SSLeay/Net-SSLeay.SlackBuild
deleted file mode 100644
index cce3337e56..0000000000
--- a/perl/Net-SSLeay/Net-SSLeay.SlackBuild
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for Net-SSLeay
-#
-# Copyright 2009-2011 Marco Bonetti <sid77@slackware.it>
-# Copyright 2015-2017 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-# 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=Net-SSLeay
-VERSION=${VERSION:-1.81}
-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}
-DOCS="Changes Credits README examples"
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-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 {} \;
-
-echo "n" | perl Makefile.PL \
- PREFIX=/usr \
- INSTALLDIRS=vendor \
- INSTALLVENDORMAN1DIR=/usr/man/man1 \
- INSTALLVENDORMAN3DIR=/usr/man/man3
-
-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
-
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || 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/perl/Net-SSLeay/Net-SSLeay.info b/perl/Net-SSLeay/Net-SSLeay.info
deleted file mode 100644
index 84787786c1..0000000000
--- a/perl/Net-SSLeay/Net-SSLeay.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="Net-SSLeay"
-VERSION="1.81"
-HOMEPAGE="https://metacpan.org/pod/Net::SSLeay"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.81.tar.gz"
-MD5SUM="71932ce34d4db44de8d00399c3405792"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Willy Sudiarto Raharjo"
-EMAIL="willysr@slackbuilds.org"
diff --git a/perl/Net-SSLeay/README b/perl/Net-SSLeay/README
deleted file mode 100644
index dd07c64184..0000000000
--- a/perl/Net-SSLeay/README
+++ /dev/null
@@ -1,5 +0,0 @@
-This module offers some high level convenience functions for accessing web pages
-on SSL servers (for symmetry, same API is offered for accessing http servers,
-too), a sslcat() function for writing your own clients, and finally access to
-the SSL api of SSLeay/OpenSSL package so you can write servers or clients for
-more complicated applications.
diff --git a/perl/perl-Authen-SASL/README b/perl/perl-Authen-SASL/README
deleted file mode 100644
index 55fac5058d..0000000000
--- a/perl/perl-Authen-SASL/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Authen::SASL - SASL Authentication framework
-
-SASL is a generic mechanism for authentication used by several network
-protocols. Authen::SASL provides an implementation framework that all
-protocols should be able to share.
diff --git a/perl/perl-Authen-SASL/perl-Authen-SASL.SlackBuild b/perl/perl-Authen-SASL/perl-Authen-SASL.SlackBuild
deleted file mode 100644
index c71cb65160..0000000000
--- a/perl/perl-Authen-SASL/perl-Authen-SASL.SlackBuild
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2010, 2011, 2012 Daniel LEVAI
-# 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.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# * Neither the name of the <organization> nor the
-# names of its contributors may be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED ''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 HOLDER 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 script for perl-Authen-SASL
-
-SRCNAM=Authen-SASL
-PRGNAM=perl-$SRCNAM
-VERSION=${VERSION:-2.16}
-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/$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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-CFLAGS="$SLKCFLAGS" \
-perl Makefile.PL \
- PREFIX=/usr \
- INSTALLDIRS=vendor \
- INSTALLVENDORMAN3DIR=/usr/man/man3
-make
-make test
-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
-
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-
-find $PKG -depth -type d -empty -delete || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a api.txt Changes \
- $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/perl/perl-Authen-SASL/perl-Authen-SASL.info b/perl/perl-Authen-SASL/perl-Authen-SASL.info
deleted file mode 100644
index a116cca2a6..0000000000
--- a/perl/perl-Authen-SASL/perl-Authen-SASL.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="perl-Authen-SASL"
-VERSION="2.16"
-HOMEPAGE="https://metacpan.org/pod/Authen::SASL"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/G/GB/GBARR/Authen-SASL-2.16.tar.gz"
-MD5SUM="7c03a689d4c689e5a9e2f18a1c586b2f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="perl-digest-hmac"
-MAINTAINER="Daniel LEVAI"
-EMAIL="leva@ecentrum.hu"
diff --git a/perl/perl-Authen-SASL/slack-desc b/perl/perl-Authen-SASL/slack-desc
deleted file mode 100644
index ccfbea916e..0000000000
--- a/perl/perl-Authen-SASL/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------------------------------------------------------|
-perl-Authen-SASL: perl-Authen-SASL (SASL Authentication framework)
-perl-Authen-SASL:
-perl-Authen-SASL: SASL is a generic mechanism for authentication used by several network
-perl-Authen-SASL: protocols. Authen::SASL provides an implementation framework that all
-perl-Authen-SASL: protocols should be able to share.
-perl-Authen-SASL:
-perl-Authen-SASL:
-perl-Authen-SASL:
-perl-Authen-SASL: Homepage: https://metacpan.org/release/Authen-SASL
-perl-Authen-SASL:
-perl-Authen-SASL:
diff --git a/perl/perl-DateTime-Format-Strptime/perl-DateTime-Format-Strptime.SlackBuild b/perl/perl-DateTime-Format-Strptime/perl-DateTime-Format-Strptime.SlackBuild
index 79b7701128..bc0acb0986 100644
--- a/perl/perl-DateTime-Format-Strptime/perl-DateTime-Format-Strptime.SlackBuild
+++ b/perl/perl-DateTime-Format-Strptime/perl-DateTime-Format-Strptime.SlackBuild
@@ -80,7 +80,6 @@ perl Makefile.PL \
INSTALLVENDORMAN1DIR=/usr/man/man1 \
INSTALLVENDORMAN3DIR=/usr/man/man3
make
-make test
make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/perl/perl-Devel-CheckLib/README b/perl/perl-Devel-CheckLib/README
deleted file mode 100644
index c0e9bdd6f9..0000000000
--- a/perl/perl-Devel-CheckLib/README
+++ /dev/null
@@ -1,2 +0,0 @@
-Devel::CheckLib is a perl module that checks whether a particular C library and
-its headers are available.
diff --git a/perl/perl-Devel-CheckLib/perl-Devel-CheckLib.SlackBuild b/perl/perl-Devel-CheckLib/perl-Devel-CheckLib.SlackBuild
deleted file mode 100644
index 9434368ba9..0000000000
--- a/perl/perl-Devel-CheckLib/perl-Devel-CheckLib.SlackBuild
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for perl-Devel-CheckLib
-
-# Copyright 2017 Larry Hajali <larryhaja[at]gmail[dot]com>
-# 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=Devel-CheckLib
-PRGNAM=perl-Devel-CheckLib
-VERSION=${VERSION:-1.07}
-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.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 {} \;
-
-perl Makefile.PL \
- PREFIX=/usr \
- INSTALLDIRS=vendor \
- INSTALLVENDORMAN1DIR=/usr/man/man1 \
- INSTALLVENDORMAN3DIR=/usr/man/man3
-make
-make test
-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 -type f -perm 444 -exec chmod 0644 '{}' \;
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-find $PKG -depth -type d -empty -delete || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES README 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/perl/perl-Devel-CheckLib/perl-Devel-CheckLib.info b/perl/perl-Devel-CheckLib/perl-Devel-CheckLib.info
deleted file mode 100644
index 08823baa4b..0000000000
--- a/perl/perl-Devel-CheckLib/perl-Devel-CheckLib.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="perl-Devel-CheckLib"
-VERSION="1.07"
-HOMEPAGE="https://metacpan.org/release/MATTN/Devel-CheckLib-1.07"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/M/MA/MATTN/Devel-CheckLib-1.07.tar.gz"
-MD5SUM="66c76e5cdbae547bb61c3e872f0c6479"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="perl-IO-CaptureOutput"
-MAINTAINER="Larry Hajali"
-EMAIL="larryhaja[at]gmail[dot]com"
diff --git a/perl/perl-Devel-CheckLib/slack-desc b/perl/perl-Devel-CheckLib/slack-desc
deleted file mode 100644
index 1b71dfee7f..0000000000
--- a/perl/perl-Devel-CheckLib/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------------------------------------------------------|
-perl-Devel-CheckLib: perl-Devel-CheckLib (perl module)
-perl-Devel-CheckLib:
-perl-Devel-CheckLib: Devel::CheckLib is a perl module that checks whether a particular C
-perl-Devel-CheckLib: library and its headers are available.
-perl-Devel-CheckLib:
-perl-Devel-CheckLib: Homepage: https://github.com/mattn/p5-Devel-CheckLib
-perl-Devel-CheckLib:
-perl-Devel-CheckLib:
-perl-Devel-CheckLib:
-perl-Devel-CheckLib:
-perl-Devel-CheckLib:
diff --git a/perl/perl-File-Slurp/perl-File-Slurp.SlackBuild b/perl/perl-File-Slurp/perl-File-Slurp.SlackBuild
index 7a0c43ad98..a9571ec71c 100644
--- a/perl/perl-File-Slurp/perl-File-Slurp.SlackBuild
+++ b/perl/perl-File-Slurp/perl-File-Slurp.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=perl-File-Slurp
-VERSION=${VERSION:-9999.19}
+VERSION=${VERSION:-9999.27}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -42,7 +42,7 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="README Changes"
+DOCS="README.md Changes"
set -e
diff --git a/perl/perl-File-Slurp/perl-File-Slurp.info b/perl/perl-File-Slurp/perl-File-Slurp.info
index bc03a8f218..abdce6f049 100644
--- a/perl/perl-File-Slurp/perl-File-Slurp.info
+++ b/perl/perl-File-Slurp/perl-File-Slurp.info
@@ -1,8 +1,8 @@
PRGNAM="perl-File-Slurp"
-VERSION="9999.19"
+VERSION="9999.27"
HOMEPAGE="https://metacpan.org/pod/File::Slurp"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/U/UR/URI/File-Slurp-9999.19.tar.gz"
-MD5SUM="7d584cd15c4f8b9547765eff8c4ef078"
+DOWNLOAD="https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.27.tar.gz"
+MD5SUM="1c8d53024597ba474296c461b30f32e5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/perl/perl-Gnome2-Vte/perl-Gnome2-Vte.info b/perl/perl-Gnome2-Vte/perl-Gnome2-Vte.info
index fa37b200d5..bef97c916e 100644
--- a/perl/perl-Gnome2-Vte/perl-Gnome2-Vte.info
+++ b/perl/perl-Gnome2-Vte/perl-Gnome2-Vte.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://cpan.metacpan.org/authors/id/X/XA/XAOC/Gnome2-Vte-0.11.tar.gz"
MD5SUM="1cb5cdfcd41873e55e923e72e64d922c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="perl-glib perl-gtk2 perl-extutils-depends perl-extutils-pkgconfig"
+REQUIRES="perl-glib perl-gtk2 perl-extutils-depends perl-extutils-pkgconfig vte2"
MAINTAINER="Antonio Taverna"
EMAIL="antonio.tvr@gmail.com"
diff --git a/perl/perl-IO-Socket-SSL/README b/perl/perl-IO-Socket-SSL/README
deleted file mode 100644
index e4ad02a502..0000000000
--- a/perl/perl-IO-Socket-SSL/README
+++ /dev/null
@@ -1,10 +0,0 @@
-IO::Socket::SSL -- Nearly transparent SSL encapsulation for IO::Socket::INET.
-
-This module is a true drop-in replacement for IO::Socket::INET that uses SSL
-to encrypt data before it is transferred to a remote server or client.
-IO::Socket::SSL supports all the extra features that one needs to write a
-full-featured SSL client or server application: multiple SSL contexts, cipher
-selection, certificate verification, and SSL version selection. As an extra
-bonus, it works perfectly with mod_perl.
-
-libwww-perl is an optional dependency.
diff --git a/perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.SlackBuild b/perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.SlackBuild
deleted file mode 100644
index e4a160a83d..0000000000
--- a/perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for perl-IO-Socket-SSL
-
-# Copyright 2009-2012 Marco Bonetti <sid77@slackware.it>
-# Copyright 2015-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-# 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=perl-IO-Socket-SSL
-VERSION=${VERSION:-2.066}
-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
-
-SRC_PRGNAM=IO-Socket-SSL
-DOCS="BUGS Changes README"
-
-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 $SRC_PRGNAM-$VERSION
-tar xvf $CWD/$SRC_PRGNAM-$VERSION.tar.gz
-cd $SRC_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 {} \;
-
-yes | perl Makefile.PL \
- PREFIX=/usr \
- INSTALLDIRS=vendor \
- INSTALLVENDORMAN1DIR=/usr/man/man1 \
- INSTALLVENDORMAN3DIR=/usr/man/man3
-make
-make install 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
-
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-
-# Remove empty directories
-find $PKG -depth -type d -empty -delete
-
-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/perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.info b/perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.info
deleted file mode 100644
index 1dc9659426..0000000000
--- a/perl/perl-IO-Socket-SSL/perl-IO-Socket-SSL.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="perl-IO-Socket-SSL"
-VERSION="2.066"
-HOMEPAGE="https://metacpan.org/pod/IO::Socket::SSL"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz"
-MD5SUM="ecf96ce2ff9e04a03a2d101c76ce1020"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="Net-SSLeay perl-Net-LibIDN"
-MAINTAINER="Willy Sudiarto Raharjo"
-EMAIL="willysr@slackbuilds.org"
diff --git a/perl/perl-IO-Socket-SSL/slack-desc b/perl/perl-IO-Socket-SSL/slack-desc
deleted file mode 100644
index 25d0adb319..0000000000
--- a/perl/perl-IO-Socket-SSL/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------------------------------------------------------|
-perl-IO-Socket-SSL: perl-IO-Socket-SSL (SSL encapsulation for IO::Socket::INET)
-perl-IO-Socket-SSL:
-perl-IO-Socket-SSL: This module is a true drop-in replacement for IO::Socket::INET that
-perl-IO-Socket-SSL: uses SSL to encrypt data before it is transferred to a remote server
-perl-IO-Socket-SSL: or client. IO::Socket::SSL supports all the extra features that one
-perl-IO-Socket-SSL: needs to write a full-featured SSL client or server application:
-perl-IO-Socket-SSL: multiple SSL contexts, cipher selection, certificate verification, and
-perl-IO-Socket-SSL: SSL version selection. As an extra bonus, it works perfectly with
-perl-IO-Socket-SSL: mod_perl.
-perl-IO-Socket-SSL:
-perl-IO-Socket-SSL:
diff --git a/perl/perl-Module-Runtime/perl-Module-Runtime.SlackBuild b/perl/perl-Module-Runtime/perl-Module-Runtime.SlackBuild
index d2d11f4a18..9fcb072da3 100644
--- a/perl/perl-Module-Runtime/perl-Module-Runtime.SlackBuild
+++ b/perl/perl-Module-Runtime/perl-Module-Runtime.SlackBuild
@@ -26,7 +26,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=perl-Module-Runtime
-VERSION=${VERSION:-0.015}
+VERSION=${VERSION:-0.016}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -34,7 +34,7 @@ SRCNAM=Module-Runtime
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -45,8 +45,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"
@@ -69,10 +69,10 @@ 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 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 {} \;
perl Makefile.PL \
PREFIX=/usr \
diff --git a/perl/perl-Module-Runtime/perl-Module-Runtime.info b/perl/perl-Module-Runtime/perl-Module-Runtime.info
index ec5bdacb61..1807470812 100644
--- a/perl/perl-Module-Runtime/perl-Module-Runtime.info
+++ b/perl/perl-Module-Runtime/perl-Module-Runtime.info
@@ -1,8 +1,8 @@
PRGNAM="perl-Module-Runtime"
-VERSION="0.015"
+VERSION="0.016"
HOMEPAGE="https://metacpan.org/pod/Module::Runtime"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.015.tar.gz"
-MD5SUM="f0f3ef126998189665bc5d496c3548db"
+DOWNLOAD="https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz"
+MD5SUM="d3d47222fa2e3dfcb4526f6cc8437b20"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="perl-Module-Build"
diff --git a/perl/perl-Razor2-Client-Agent/perl-Razor2-Client-Agent.SlackBuild b/perl/perl-Razor2-Client-Agent/perl-Razor2-Client-Agent.SlackBuild
index e4e173d86d..39972aaf69 100644
--- a/perl/perl-Razor2-Client-Agent/perl-Razor2-Client-Agent.SlackBuild
+++ b/perl/perl-Razor2-Client-Agent/perl-Razor2-Client-Agent.SlackBuild
@@ -69,7 +69,7 @@ perl Makefile.PL \
INSTALLDIRS=vendor \
INSTALLVENDORMAN1DIR=/usr/man/man1 \
INSTALLVENDORMAN3DIR=/usr/man/man3
-make
+make -j1
make test
make install DESTDIR=$PKG INSTALLMAN5DIR=$PKG/usr/man/man5
diff --git a/perl/perl-cairo/perl-cairo.SlackBuild b/perl/perl-cairo/perl-cairo.SlackBuild
index cbc99c9e83..6fad7a083d 100644
--- a/perl/perl-cairo/perl-cairo.SlackBuild
+++ b/perl/perl-cairo/perl-cairo.SlackBuild
@@ -81,7 +81,7 @@ perl Makefile.PL \
INSTALLDIRS=vendor \
INSTALLVENDORMAN3DIR=/usr/man/man3
make
-make test
+#make test
make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/perl/perl-libnet/README b/perl/perl-libnet/README
deleted file mode 100644
index 0b66c0e6c3..0000000000
--- a/perl/perl-libnet/README
+++ /dev/null
@@ -1,3 +0,0 @@
-libnet is a collection of Perl modules which provides a simple
-and consistent programming interface (API) to the client side
-of various protocols used in the internet community.
diff --git a/perl/perl-libnet/libnet-3.08-Do-not-create-Net-libnet.cfg.patch b/perl/perl-libnet/libnet-3.08-Do-not-create-Net-libnet.cfg.patch
deleted file mode 100644
index 911bc10fa8..0000000000
--- a/perl/perl-libnet/libnet-3.08-Do-not-create-Net-libnet.cfg.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a40f2774eede8e65dd6128b45525ec88f469e031 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Fri, 10 Jul 2015 13:02:00 +0200
-Subject: [PATCH 2/2] Do not create Net/libnet.cfg
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-I will remove the Net/libnet.cfg because:
-
-(1) it's content equals to default configuration hard-coded in the
-code
-(2) it's kind of configuration file we do not mark it as a configuration
-file, so it's overwritten on each update
-(3) it's loaded from directory based on Net::Config module location.
-I.e. core module will search it in core path, vendor module in vendor
-path and site module in site path.
-
-perl.spec does not provide it either.
-
-<https://bugzilla.redhat.com/show_bug.cgi?id=1238689>
-
-Signed-off-by: Petr Písař <ppisar@redhat.com>
----
- Makefile.PL | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.PL b/Makefile.PL
-index 64d6959..25fc626 100644
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -235,7 +235,7 @@ MAIN: {
- sub MY::post_initialize {
- my $self = shift;
-
-- return '' if $self->{PERL_CORE};
-+ return '';
-
- if (not -f $CfgFile) {
- my @args = qw(Configure);
---
-2.5.0
-
diff --git a/perl/perl-libnet/perl-libnet.SlackBuild b/perl/perl-libnet/perl-libnet.SlackBuild
deleted file mode 100644
index bf5e2f8a9c..0000000000
--- a/perl/perl-libnet/perl-libnet.SlackBuild
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for perl-libnet
-
-# Copyright 2016-2017 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
-# Based on slackbuilds.org perl template.
-# 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=libnet
-PRGNAM=perl-$SRCNAM
-VERSION=${VERSION:-3.11}
-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}
-
-DOCS="Artistic Changes Copying LICENCE README"
-
-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 {} \;
-
-patch -p1 < $CWD/libnet-3.08-Do-not-create-Net-libnet.cfg.patch
-
-echo | perl Makefile.PL \
- PREFIX=/usr \
- INSTALLDIRS=vendor \
- INSTALLVENDORMAN3DIR=/usr/man/man3
-make
-make test
-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
-
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-
-find $PKG -depth -type d -empty -delete || 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/perl/perl-libnet/perl-libnet.info b/perl/perl-libnet/perl-libnet.info
deleted file mode 100644
index b43abac717..0000000000
--- a/perl/perl-libnet/perl-libnet.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="perl-libnet"
-VERSION="3.11"
-HOMEPAGE="https://metacpan.org/release/libnet"
-DOWNLOAD="https://cpan.metacpan.org/authors/id/S/SH/SHAY/libnet-3.11.tar.gz"
-MD5SUM="f4fdfa0906bf2ad5ac3c74c3860eb029"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="perl-IO-Socket-SSL"
-MAINTAINER="Matteo Bernardini"
-EMAIL="ponce@slackbuilds.org"
diff --git a/perl/perl-libnet/slack-desc b/perl/perl-libnet/slack-desc
deleted file mode 100644
index faf8be5984..0000000000
--- a/perl/perl-libnet/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------------------------------------------------------|
-perl-libnet: perl-libnet (perl net modules)
-perl-libnet:
-perl-libnet: libnet is a collection of Perl modules which provides a simple
-perl-libnet: and consistent programming interface (API) to the client side
-perl-libnet: of various protocols used in the internet community.
-perl-libnet:
-perl-libnet: homepage: https://metacpan.org/release/libnet
-perl-libnet:
-perl-libnet:
-perl-libnet:
-perl-libnet:
diff --git a/python/Mako/Mako.SlackBuild b/python/Mako/Mako.SlackBuild
deleted file mode 100644
index bf7baa10c6..0000000000
--- a/python/Mako/Mako.SlackBuild
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for Mako
-
-# Written by Larry Hajali <larryhaja[at]gmail[dot]com>
-# Copyright 2017, 2019 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=Mako
-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}
-
-set -eu
-
-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 {} \;
-
-python setup.py install --root=$PKG
-
-# Python 3 support.
-if python3 -c 'import sys' 2>/dev/null; then
- python3 setup.py install --root=$PKG
-fi
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS CHANGES LICENSE README.rst doc/*.html \
- $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/python/Mako/Mako.info b/python/Mako/Mako.info
deleted file mode 100644
index 7aac08c55f..0000000000
--- a/python/Mako/Mako.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="Mako"
-VERSION="1.1.0"
-HOMEPAGE="https://www.makotemplates.org/"
-DOWNLOAD="https://files.pythonhosted.org/packages/b0/3c/8dcd6883d009f7cae0f3157fb53e9afb05a0d3d33b3db1268ec2e6f4a56b/Mako-1.1.0.tar.gz"
-MD5SUM="6c3f2da0b74af529a4c4a537d0848bf2"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Hunter Sezen"
-EMAIL="orbea@riseup.net"
diff --git a/python/Mako/README b/python/Mako/README
deleted file mode 100644
index b39455cf1d..0000000000
--- a/python/Mako/README
+++ /dev/null
@@ -1,11 +0,0 @@
-Mako is a template library written in Python. It provides a familiar,
-non-XML syntax which compiles into Python modules for maximum
-performance. Mako's syntax and API borrows from the best ideas of many
-others, including Django templates, Cheetah, Myghty, and Genshi.
-Conceptually, Mako is an embedded Python (i.e. Python Server Page)
-language, which refines the familiar ideas of componentized layout and
-inheritance to produce one of the most straightforward and flexible
-models available, while also maintaining close ties to Python calling
-and scoping semantics.
-
-Python3 is an optional dependency.
diff --git a/python/Mako/slack-desc b/python/Mako/slack-desc
deleted file mode 100644
index 3ae4979cac..0000000000
--- a/python/Mako/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------------------------------------------------------|
-Mako: Mako (A python templating language)
-Mako:
-Mako: Mako is a template library written in Python. It provides a familiar,
-Mako: non-XML syntax which compiles into Python modules for maximum
-Mako: performance. Mako's syntax and API borrows from the best ideas of many
-Mako: others, including Django templates, Cheetah, Myghty, and Genshi.
-Mako: Conceptually, Mako is an embedded Python (i.e. Python Server Page)
-Mako: language, which refines the familiar ideas of componentized layout and
-Mako: inheritance to produce one of the most straightforward and flexible
-Mako: models available, while also maintaining close ties to Python.
-Mako: Homepage: http://www.makotemplates.org/
diff --git a/python/dbus-python3/README b/python/dbus-python3/README
deleted file mode 100644
index f6bf55695d..0000000000
--- a/python/dbus-python3/README
+++ /dev/null
@@ -1,6 +0,0 @@
-dbus-python3 (Python3 bindings for dbus)
-
-dbus-python is a binding for libdbus, the reference implementation of
-D-Bus. For compatibility reasons, its API involves a lot of type-guessing
-(despite "explicit is better than implicit" and "resist the temptation
-to guess").
diff --git a/python/dbus-python3/dbus-python3.SlackBuild b/python/dbus-python3/dbus-python3.SlackBuild
deleted file mode 100644
index 03f9d06fa6..0000000000
--- a/python/dbus-python3/dbus-python3.SlackBuild
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for dbus-python3
-
-# Copyright 2016 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=dbus-python3
-SRCNAM=$(echo $PRGNAM | tr -d 3)
-VERSION=${VERSION:-1.2.4}
-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 $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 {} \;
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-PYTHON=/usr/bin/python3 \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux \
- --host=$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
-
-# Conflicts with Slackware's dbus-python package
-rm -rf $PKG/usr/include
-rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS COPYING ChangeLog 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/python/dbus-python3/dbus-python3.info b/python/dbus-python3/dbus-python3.info
deleted file mode 100644
index 32a06750ba..0000000000
--- a/python/dbus-python3/dbus-python3.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="dbus-python3"
-VERSION="1.2.4"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/DBusBindings#Python"
-DOWNLOAD="https://dbus.freedesktop.org/releases/dbus-python/dbus-python-1.2.4.tar.gz"
-MD5SUM="7372a588c83a7232b4e08159bfd48fe5"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Hunter Sezen"
-EMAIL="orbea@riseup.net"
diff --git a/python/dbus-python3/slack-desc b/python/dbus-python3/slack-desc
deleted file mode 100644
index b7b83c2e07..0000000000
--- a/python/dbus-python3/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------------------------------------------------------|
-dbus-python3: dbus-python3 (Python3 bindings for dbus)
-dbus-python3:
-dbus-python3: dbus-python is a binding for libdbus, the reference implementation
-dbus-python3: of D-Bus.
-dbus-python3:
-dbus-python3:
-dbus-python3:
-dbus-python3:
-dbus-python3:
-dbus-python3:
-dbus-python3:
diff --git a/python/gst-python/gst-python.SlackBuild b/python/gst-python/gst-python.SlackBuild
index 9a6c438da5..027c6c927f 100644
--- a/python/gst-python/gst-python.SlackBuild
+++ b/python/gst-python/gst-python.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gst-python
-VERSION=${VERSION:-1.6.2}
+VERSION=${VERSION:-1.16.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
@@ -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/python/gst-python/gst-python.info b/python/gst-python/gst-python.info
index bfb027af8c..c7a42cd224 100644
--- a/python/gst-python/gst-python.info
+++ b/python/gst-python/gst-python.info
@@ -1,8 +1,8 @@
PRGNAM="gst-python"
-VERSION="1.6.2"
+VERSION="1.16.0"
HOMEPAGE="https://gstreamer.freedesktop.org/modules/gst-python.html"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.6.2.tar.xz"
-MD5SUM="14b6cfe1a0db5cc01c6a58f7b4af6184"
+DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.16.0.tar.xz"
+MD5SUM="877b2ed2aaffdb62e63f38ea9469b70f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/python/gst-python3/gst-python3.SlackBuild b/python/gst-python3/gst-python3.SlackBuild
index a9c2d7eb42..cba281efc9 100644
--- a/python/gst-python3/gst-python3.SlackBuild
+++ b/python/gst-python3/gst-python3.SlackBuild
@@ -25,7 +25,7 @@
PRGNAM=gst-python3
SRCNAM=gst-python
-VERSION=${VERSION:-1.6.2}
+VERSION=${VERSION:-1.16.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -82,7 +82,7 @@ make
make install DESTDIR=$PKG
# Remove the .la file to prevent conflicts with the python2 version of gst-python
-rm $PKG/usr/lib${LIBDIRSUFFIX}/gstreamer-1.0/libgstpythonplugin.la
+rm $PKG/usr/lib${LIBDIRSUFFIX}/gstreamer-1.0/libgstpython.la
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/python/gst-python3/gst-python3.info b/python/gst-python3/gst-python3.info
index 71b1372970..4a04c96158 100644
--- a/python/gst-python3/gst-python3.info
+++ b/python/gst-python3/gst-python3.info
@@ -1,8 +1,8 @@
PRGNAM="gst-python3"
-VERSION="1.6.2"
+VERSION="1.16.0"
HOMEPAGE="https://gstreamer.freedesktop.org/modules/gst-python.html"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.6.2.tar.xz"
-MD5SUM="14b6cfe1a0db5cc01c6a58f7b4af6184"
+DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.16.0.tar.xz"
+MD5SUM="877b2ed2aaffdb62e63f38ea9469b70f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3"
diff --git a/python/halberd/halberd.SlackBuild b/python/halberd/halberd.SlackBuild
index 2081acbd56..8e78173d5d 100644
--- a/python/halberd/halberd.SlackBuild
+++ b/python/halberd/halberd.SlackBuild
@@ -69,9 +69,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 {} \;
-# Fix path to latex binary for Slackware
-patch -p1 --verbose < $CWD/make-pdf-manual.diff
-
# Generate PDF documentation
( cd doc/
make manual.pdf
diff --git a/python/halberd/make-pdf-manual.diff b/python/halberd/make-pdf-manual.diff
deleted file mode 100644
index 6eae15bdd0..0000000000
--- a/python/halberd/make-pdf-manual.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-
-Corrects the path to the latex binary on Slackware.
-
---- halberd-0.2.4.orig/doc/GNUmakefile 2015-11-17 19:57:03.993466727 -0700
-+++ halberd-0.2.4/doc/GNUmakefile 2015-11-17 19:58:43.780459960 -0700
-@@ -15,7 +15,7 @@
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
--LATEX := /usr/bin/latex
-+LATEX := /usr/share/texmf/bin/latex
- DVIPDF := /usr/bin/dvipdf
- LATEX2HTML := /usr/bin/latex2html
-
diff --git a/python/idna/README b/python/idna/README
deleted file mode 100644
index f9cda8c1b2..0000000000
--- a/python/idna/README
+++ /dev/null
@@ -1,3 +0,0 @@
-Internationalized Domain Names in Applications (IDNA)
-
-Optional dependency: python3
diff --git a/python/idna/idna.info b/python/idna/idna.info
deleted file mode 100644
index 2fc3b4a57d..0000000000
--- a/python/idna/idna.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="idna"
-VERSION="2.6"
-HOMEPAGE="https://github.com/kjd/idna"
-DOWNLOAD="https://github.com/kjd/idna/archive/v2.6/idna-2.6.tar.gz"
-MD5SUM="a835f2d123511e2a28c8ccda7a2da7fc"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Markus Reichelt"
-EMAIL="slackbuilds@mareichelt.de"
diff --git a/python/packaging/README b/python/packaging/README
deleted file mode 100644
index 2fd2170a02..0000000000
--- a/python/packaging/README
+++ /dev/null
@@ -1 +0,0 @@
-Core utilities for Python packages.
diff --git a/python/packaging/packaging.SlackBuild b/python/packaging/packaging.SlackBuild
deleted file mode 100644
index b977bbb29b..0000000000
--- a/python/packaging/packaging.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for packaging
-#
-# Copyright 2017,2018 Markus Reichelt, Aachen, DE
-# 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=packaging
-VERSION=${VERSION:-17.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 {} \;
-
-python 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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE* *.rst 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/python/packaging/packaging.info b/python/packaging/packaging.info
deleted file mode 100644
index 247e0c9305..0000000000
--- a/python/packaging/packaging.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="packaging"
-VERSION="17.1"
-HOMEPAGE="https://pypi.python.org/pypi/packaging"
-DOWNLOAD="https://files.pythonhosted.org/packages/77/32/439f47be99809c12ef2da8b60a2c47987786d2c6c9205549dd6ef95df8bd/packaging-17.1.tar.gz"
-MD5SUM="8baf8241d1b6b0a5fae9b00f359976a8"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="pyparsing six"
-MAINTAINER="Markus Reichelt"
-EMAIL="slackbuilds@mareichelt.de"
diff --git a/python/packaging/slack-desc b/python/packaging/slack-desc
deleted file mode 100644
index 77dcf7455d..0000000000
--- a/python/packaging/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------------------------------------------------------|
-packaging: packaging (Core utilities for Python packages)
-packaging:
-packaging: https://pypi.python.org/pypi/packaging
-packaging:
-packaging:
-packaging:
-packaging:
-packaging:
-packaging:
-packaging:
-packaging:
diff --git a/python/pip/README b/python/pip/README
deleted file mode 100644
index 6c75c7eea5..0000000000
--- a/python/pip/README
+++ /dev/null
@@ -1,24 +0,0 @@
-pip is a replacement for easy_install (from python-setuptools). It uses
-mostly the same techniques for finding packages, so packages that were
-made easy_installable should be pip-installable as well.
-
-pip is meant to improve on easy_install. Some of the improvements:
-
-- All packages are downloaded before installation. Partially-completed
- installation doesn't occur as a result.
-- Care is taken to present useful output on the console.
-- The reasons for actions are kept track of. For instance, if a package
- is being installed, pip keeps track of why that package was required.
-- Error messages should be useful.
-- The code is relatively concise and cohesive, making it easier to use
- programmatically.
-- Packages don't have to be installed as egg archives, they can be
- installed flat (while keeping the egg metadata).
-- Native support for other version control systems (Git, Mercurial and
- Bazaar).
-- Uninstallation of packages.
-- Simple to define fixed sets of requirements and reliably reproduce a
- set of packages.
-
-pip is complementary with virtualenv, and it is encouraged that you use
-virtualenv to isolate your installation.
diff --git a/python/pip/pip.info b/python/pip/pip.info
deleted file mode 100644
index ca296f0c81..0000000000
--- a/python/pip/pip.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="pip"
-VERSION="9.0.3"
-HOMEPAGE="https://pip.pypa.io/"
-DOWNLOAD="https://pypi.python.org/packages/c4/44/e6b8056b6c8f2bfd1445cc9990f478930d8e3459e9dbf5b8e2d2922d64d3/pip-9.0.3.tar.gz"
-MD5SUM="b15b33f9aad61f88d0f8c866d16c55d8"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Audrius Kažukauskas"
-EMAIL="audrius@neutrino.lt"
diff --git a/python/pip/pip.sh b/python/pip/pip.sh
deleted file mode 100644
index b9b1ea1477..0000000000
--- a/python/pip/pip.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# bash completion for pip
-
-_pip_completion()
-{
- COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \
- COMP_CWORD=$COMP_CWORD \
- PIP_AUTO_COMPLETE=1 $1 ) )
-}
-complete -o default -F _pip_completion pip
diff --git a/python/pip/slack-desc b/python/pip/slack-desc
deleted file mode 100644
index 443b5a0291..0000000000
--- a/python/pip/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------------------------------------------------------|
-pip: pip (a better easy_install replacement)
-pip:
-pip: pip is a replacement for easy_install from python-setuptools.
-pip:
-pip: Homepage: https://pip.pypa.io/
-pip:
-pip:
-pip:
-pip:
-pip:
-pip:
diff --git a/python/ply/README b/python/ply/README
deleted file mode 100644
index 2f2cf04e38..0000000000
--- a/python/ply/README
+++ /dev/null
@@ -1,2 +0,0 @@
-PLY is a 100% Python implementation of the common parsing tools lex
-and yacc.
diff --git a/python/ply/ply.SlackBuild b/python/ply/ply.SlackBuild
deleted file mode 100644
index 179d6b7aae..0000000000
--- a/python/ply/ply.SlackBuild
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for ply
-
-# Copyright 2014-2018 Dimitris Zlatanidis Orestiada, Greeece
-# 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=ply
-VERSION=${VERSION:-3.11}
-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 {} \;
-
-python setup.py install --root=$PKG
-
-# Python 3 support.
-if $(python3 -c 'import sys' 2>/dev/null); then
- python3 setup.py install --root=$PKG
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-
-cp -a ANNOUNCE CHANGES PKG-INFO 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/python/ply/ply.info b/python/ply/ply.info
deleted file mode 100644
index a9b9df8638..0000000000
--- a/python/ply/ply.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="ply"
-VERSION="3.11"
-HOMEPAGE="http://www.dabeaz.com/ply/"
-DOWNLOAD="https://pypi.python.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz"
-MD5SUM="6465f602e656455affcd7c5734c638f8"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/python/ply/slack-desc b/python/ply/slack-desc
deleted file mode 100644
index 62a84d58d8..0000000000
--- a/python/ply/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------------------------------------------------------|
-ply: ply (Python Lex & Yacc)
-ply:
-ply: PLY is yet another implementation of lex and yacc for Python.
-ply: Some notable features include the fact that its implemented entirely
-ply: n Python and it uses LALR(1) parsing which is efficient and well
-ply: suited for larger grammars.
-ply:
-ply: Homepage: http://www.dabeaz.com/ply/
-ply:
-ply:
-ply:
diff --git a/python/py3cairo/README b/python/py3cairo/README
deleted file mode 100644
index 5e237fabd8..0000000000
--- a/python/py3cairo/README
+++ /dev/null
@@ -1,8 +0,0 @@
-Py3cairo is a Python 3.x binding for the Cairo graphics library.
-The Pycairo bindings are designed to match the cairo C API as closely as
-possible, and to deviate only in cases which are clearly better
-implemented in a more 'Pythonic' way.
-
-This requires python3.
-
-Py3cairo is safe to install beside Slackware's pycairo package (Python 2.7).
diff --git a/python/py3cairo/py3cairo.SlackBuild b/python/py3cairo/py3cairo.SlackBuild
deleted file mode 100644
index 80ddef805f..0000000000
--- a/python/py3cairo/py3cairo.SlackBuild
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for py3cairo
-# Copyright 2014, Bojan Popovic <bocke@slackware-srbija.org>, Belgrade, Serbia
-# 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=py3cairo
-SRCNAM=pycairo
-VERSION=${VERSION:-1.10.0}
-BUILD=${BUILD:-3}
-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}
-
-DOCS="COPYING* AUTHORS INSTALL NEWS README doc examples"
-
-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
-
-export PYTHON=python3
-
-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
-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/pycairo-1.10.0-waf_unpack-1.patch
-wafdir=$(./waf unpack)
-pushd $wafdir
-patch -p1 < $CWD/pycairo-1.10.0-waf_python_3_4-1.patch
-popd
-unset wafdir
-
-PYTHON="/usr/bin/python3" \
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./waf configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION
-
-./waf build
-DESTDIR=$PKG ./waf 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 $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/python/py3cairo/py3cairo.info b/python/py3cairo/py3cairo.info
deleted file mode 100644
index 22bc7cca86..0000000000
--- a/python/py3cairo/py3cairo.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="py3cairo"
-VERSION="1.10.0"
-HOMEPAGE="http://cairographics.org/pycairo/"
-DOWNLOAD="http://cairographics.org/releases/pycairo-1.10.0.tar.bz2"
-MD5SUM="e6fd3f2f1e6a72e0db0868c4985669c5"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Bojan Popovic"
-EMAIL="bocke@slackware-srbija.org"
diff --git a/python/py3cairo/pycairo-1.10.0-waf_python_3_4-1.patch b/python/py3cairo/pycairo-1.10.0-waf_python_3_4-1.patch
deleted file mode 100644
index 83f69bdeeb..0000000000
--- a/python/py3cairo/pycairo-1.10.0-waf_python_3_4-1.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Submitted by: Wayne Blaszczyk (wblaszcz at bigpond dot net dot au)
-Date: 2014-03-27
-Initial Package Version: 1.10.0
-Upstream Status: unknown
-Origin: Gentoo
-URL: https://bugs.gentoo.org/show_bug.cgi?id=504342
-Description: Fix build with Python-3.4
-
---- a/waflib/Tools/python.py
-+++ b/waflib/Tools/python.py
-@@ -169,7 +169,7 @@
- conf.find_program('python-config-%s'%num,var='PYTHON_CONFIG',mandatory=False)
- includes=[]
- if conf.env.PYTHON_CONFIG:
-- for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():
-+ for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():
- if(incstr.startswith('-I')or incstr.startswith('/I')):
- incstr=incstr[2:]
- if incstr not in includes:
diff --git a/python/py3cairo/pycairo-1.10.0-waf_unpack-1.patch b/python/py3cairo/pycairo-1.10.0-waf_unpack-1.patch
deleted file mode 100644
index 319dd2c13b..0000000000
--- a/python/py3cairo/pycairo-1.10.0-waf_unpack-1.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Submitted by: Wayne Blaszczyk (wblaszcz at bigpond dot net dot au)
-Date: 2014-03-27
-Initial Package Version: 1.10.0
-Upstream Status: unknown
-Origin: Gentoo
-URL: https://bugs.gentoo.org/show_bug.cgi?id=504342
-Description: Fix build with Python-3.4
-
---- a/waf
-+++ b/waf
-@@ -153,6 +153,9 @@
- return dir
-
- wafdir = find_lib()
-+if sys.argv[1:] == ['unpack']:
-+ print(wafdir)
-+ exit()
- sys.path.insert(0, wafdir)
- from waflib.Tools.c_config import MACRO_TO_DESTOS
- MACRO_TO_DESTOS['__POWERPC__'] = 'darwin'
diff --git a/python/py3cairo/slack-desc b/python/py3cairo/slack-desc
deleted file mode 100644
index 5d9388745f..0000000000
--- a/python/py3cairo/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------------------------------------------------------|
-py3cairo: py3cairo (Python 3.x bindings for cairo)
-py3cairo:
-py3cairo: Pycairo is a Python binding for the cairo graphics library.
-py3cairo: The Pycairo bindings are designed to match the cairo C API as closely
-py3cairo: as possible, and to deviate only in cases which are clearly better
-py3cairo: implemented in a more 'Pythonic' way.
-py3cairo:
-py3cairo:
-py3cairo:
-py3cairo: Home Page: http://cairographics.org/pycairo/
-py3cairo:
diff --git a/python/pygobject3-python3/README b/python/pygobject3-python3/README
deleted file mode 100644
index 76fd055556..0000000000
--- a/python/pygobject3-python3/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This archive contains bindings for the GLib, and GObject, to be used in Python.
-It is a fairly complete set of bindings, it's already rather useful, and is
-usable to write moderately complex programs.
diff --git a/python/pygobject3-python3/pygobject3-python3.SlackBuild b/python/pygobject3-python3/pygobject3-python3.SlackBuild
deleted file mode 100644
index 0f871f9bc4..0000000000
--- a/python/pygobject3-python3/pygobject3-python3.SlackBuild
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for pygobject3-python3
-
-# Copyright 2016 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=pygobject3-python3
-SRCNAM=pygobject
-VERSION=${VERSION:-3.18.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 $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" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --with-python=python3 \
- --enable-compile-warnings=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
-
-# Conflicts with Slackware's pygobject3 package
-rm -rf $PKG/usr/include
-rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS COPYING ChangeLog INSTALL NEWS PKG-INFO 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/python/pygobject3-python3/pygobject3-python3.info b/python/pygobject3-python3/pygobject3-python3.info
deleted file mode 100644
index 23fd6a46f1..0000000000
--- a/python/pygobject3-python3/pygobject3-python3.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="pygobject3-python3"
-VERSION="3.18.2"
-HOMEPAGE="http://www.pygtk.org/"
-DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.18/pygobject-3.18.2.tar.xz"
-MD5SUM="0a956f3e785e23b0f136832f2e57a862"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="py3cairo"
-MAINTAINER="Hunter Sezen"
-EMAIL="orbea@riseup.net"
diff --git a/python/pygobject3-python3/slack-desc b/python/pygobject3-python3/slack-desc
deleted file mode 100644
index 48b49f9cd8..0000000000
--- a/python/pygobject3-python3/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------------------------------------------------------|
-pygobject3-python3: pygobject3-python3 (GObject bindings for Python3)
-pygobject3-python3:
-pygobject3-python3: This archive contains bindings for the GLib, and GObject, to be used
-pygobject3-python3: in Python. It is a fairly complete set of bindings, it's already
-pygobject3-python3: rather useful, and is usable to write moderately complex programs.
-pygobject3-python3:
-pygobject3-python3: Home page: http://www.pygtk.org/
-pygobject3-python3:
-pygobject3-python3:
-pygobject3-python3:
-pygobject3-python3:
diff --git a/python/pyparsing/README b/python/pyparsing/README
deleted file mode 100644
index ac29972273..0000000000
--- a/python/pyparsing/README
+++ /dev/null
@@ -1,5 +0,0 @@
-The pyparsing module is an alternative approach to creating and
-executing simple grammars, vs. the traditional lex/yacc
-approach, or the use of regular expressions. The pyparsing
-module provides a library of classes that client code uses to
-construct the grammar directly in Python code.
diff --git a/python/pyparsing/pyparsing.SlackBuild b/python/pyparsing/pyparsing.SlackBuild
deleted file mode 100644
index 170f8e23b7..0000000000
--- a/python/pyparsing/pyparsing.SlackBuild
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for pyparsing
-
-# Copyright 2008-2012 Heinz Wiesinger, Amsterdam, The Netherlands
-# 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.
-#
-# Updated for v2.3.1 Jan 2019
-
-PRGNAM=pyparsing
-VERSION=${VERSION:-2.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}
-
-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 {} \;
-
-python 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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES LICENSE PKG-INFO README.rst 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/python/pyparsing/pyparsing.info b/python/pyparsing/pyparsing.info
deleted file mode 100644
index c649ee71a9..0000000000
--- a/python/pyparsing/pyparsing.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="pyparsing"
-VERSION="2.3.1"
-HOMEPAGE="https://github.com/pyparsing/pyparsing"
-DOWNLOAD="https://github.com/pyparsing/pyparsing/releases/download/pyparsing_2.3.1/pyparsing-2.3.1.tar.gz"
-MD5SUM="630e86b719619a251de0ba4a97239cec"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Barry J. Grundy"
-EMAIL="bgrundy<at>linuxleo.com"
diff --git a/python/pyparsing/slack-desc b/python/pyparsing/slack-desc
deleted file mode 100644
index 2d09abba87..0000000000
--- a/python/pyparsing/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------------------------------------------------------|
-pyparsing: pyparsing (parsing module for python)
-pyparsing:
-pyparsing: The pyparsing module is an alternative approach to creating and
-pyparsing: executing simple grammars, vs. the traditional lex/yacc
-pyparsing: approach, or the use of regular expressions. The pyparsing
-pyparsing: module provides a library of classes that client code uses to
-pyparsing: construct the grammar directly in Python code.
-pyparsing:
-pyparsing: Homepage: http://pyparsing.wikispaces.com/
-pyparsing:
-pyparsing:
diff --git a/python/python-certifi/README b/python/python-certifi/README
deleted file mode 100644
index f2306e1d4c..0000000000
--- a/python/python-certifi/README
+++ /dev/null
@@ -1,10 +0,0 @@
-Certifi is a carefully curated collection of Root Certificates for validating the
-trustworthiness of SSL certificates while verifying the identity of TLS hosts.
-It has been extracted from the Requests project.
-
-The internet is an untrusted place. Every HTTP request you make should have
-verification on by default. This happens every time you access a website with
-your web browser, without any knowledge to the user — there’s no reason your code
-should be any different.
-
-Certifi is here to make this possible.
diff --git a/python/python-certifi/python-certifi.SlackBuild b/python/python-certifi/python-certifi.SlackBuild
deleted file mode 100644
index a5bcecac14..0000000000
--- a/python/python-certifi/python-certifi.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python-certifi
-
-# Copyright 2014-2019 Dimitris Zlatanidis Orestiada, Greece
-# 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=python-certifi
-SRCNAM=$(printf $PRGNAM | cut -c8-14)
-VERSION=${VERSION:-2019.9.11}
-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 {} \;
-
-python 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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE PKG-INFO 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/python/python-certifi/python-certifi.info b/python/python-certifi/python-certifi.info
deleted file mode 100644
index 60c1be47b2..0000000000
--- a/python/python-certifi/python-certifi.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-certifi"
-VERSION="2019.9.11"
-HOMEPAGE="https://certifi.io/en/latest/"
-DOWNLOAD="https://files.pythonhosted.org/packages/62/85/7585750fd65599e88df0fed59c74f5075d4ea2fe611deceb95dd1c2fb25b/certifi-2019.9.11.tar.gz"
-MD5SUM="cadd4e373fc08f649fa39b82aed9ad96"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/python/python-certifi/slack-desc b/python/python-certifi/slack-desc
deleted file mode 100644
index c08eb095c7..0000000000
--- a/python/python-certifi/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------------------------------------------------------|
-python-certifi: python-certifi (Python SSL Certificates)
-python-certifi:
-python-certifi: Certifi is a carefully curated collection of Root Certificates for
-python-certifi: validating the trustworthiness of SSL certificates while verifying
-python-certifi: the identity of TLS hosts. It has been extracted from the Requests
-python-certifi: project.
-python-certifi:
-python-certifi: Homepage: https://certifi.io/en/latest/
-python-certifi:
-python-certifi:
-python-certifi:
diff --git a/python/python-chardet/README b/python/python-chardet/README
deleted file mode 100644
index fa68e6f22e..0000000000
--- a/python/python-chardet/README
+++ /dev/null
@@ -1,3 +0,0 @@
-Universal encoding detector for Python 2 and 3.
-
-Optional dependency: python3
diff --git a/python/python-chardet/python-chardet.SlackBuild b/python/python-chardet/python-chardet.SlackBuild
deleted file mode 100644
index e8ea4139eb..0000000000
--- a/python/python-chardet/python-chardet.SlackBuild
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python-chardet
-
-# Copyright 2014 Mikko Värri, Finland
-# 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=python-chardet
-SRCNAM=chardet
-VERSION=${VERSION:-3.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}
-
-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 {} \;
-
-python setup.py install --root=$PKG
-
-if $(python3 -c 'import sys' 2>/dev/null); then
- python3 setup.py install --root=$PKG
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a 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/python/python-chardet/python-chardet.info b/python/python-chardet/python-chardet.info
deleted file mode 100644
index 867f911a41..0000000000
--- a/python/python-chardet/python-chardet.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-chardet"
-VERSION="3.0.4"
-HOMEPAGE="https://pypi.python.org/pypi/chardet"
-DOWNLOAD="https://pypi.python.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz"
-MD5SUM="7dd1ba7f9c77e32351b0a0cfacf4055c"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Mikko Värri"
-EMAIL="vmj@linuxbox.fi"
diff --git a/python/python-chardet/slack-desc b/python/python-chardet/slack-desc
deleted file mode 100644
index e742e9d67a..0000000000
--- a/python/python-chardet/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------------------------------------------------------|
-python-chardet: python-chardet (autodetection of character encoding in python)
-python-chardet:
-python-chardet: Universal encoding detector for Python 2 and 3.
-python-chardet:
-python-chardet: Homepage: https://pypi.python.org/pypi/chardet
-python-chardet:
-python-chardet:
-python-chardet:
-python-chardet:
-python-chardet:
-python-chardet:
diff --git a/python/python-gattlib/dont_hardcode_python_versions.patch b/python/python-gattlib/dont_hardcode_python_versions.patch
new file mode 100644
index 0000000000..0e11e85d18
--- /dev/null
+++ b/python/python-gattlib/dont_hardcode_python_versions.patch
@@ -0,0 +1,19 @@
+Matteo Bernardini <ponce@slackbuilds.org>
+---
+Don't hardcode python versions
+
+diff -Naur gattlib-0.20150805.orig/setup.py gattlib-0.20150805/setup.py
+--- gattlib-0.20150805.orig/setup.py 2015-08-05 15:16:56.000000000 +0200
++++ gattlib-0.20150805/setup.py 2018-05-02 09:45:04.625893000 +0200
+@@ -19,9 +19,9 @@
+ glib_libs = [x.strip() for x in glib_libs if x]
+
+ if sys.version_info.major == 3:
+- boost_libs = ["boost_python-py34"]
++ boost_libs = ["boost_python3"+str(sys.version_info.minor)]
+ else:
+- boost_libs = ["boost_python"]
++ boost_libs = ["boost_python2"+str(sys.version_info.minor)]
+ extension_modules = [
+ Extension(
+ 'gattlib',
diff --git a/python/python-gattlib/python-gattlib.SlackBuild b/python/python-gattlib/python-gattlib.SlackBuild
index 0264f52fc1..354003e93e 100644
--- a/python/python-gattlib/python-gattlib.SlackBuild
+++ b/python/python-gattlib/python-gattlib.SlackBuild
@@ -57,6 +57,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/dont_hardcode_python_versions.patch
+
python setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/python/python-notify2/README b/python/python-notify2/README
deleted file mode 100644
index a1c3e66911..0000000000
--- a/python/python-notify2/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a pure-python replacement for notify-python, using
-python-dbus to communicate with the notifications server directly.
-It's compatible with Python 2 and 3, and its callbacks can work
-with Gtk 3 or Qt 4 applications.
diff --git a/python/python-notify2/python-notify2.SlackBuild b/python/python-notify2/python-notify2.SlackBuild
deleted file mode 100644
index 81fbc72fe7..0000000000
--- a/python/python-notify2/python-notify2.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python-notify2
-
-# Copyright 2015-2018 Dimitris Zlatanidis Orestiada, Greece
-# 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=python-notify2
-SRCNAM=$(echo $PRGNAM | cut -c8-14)
-VERSION=${VERSION:-0.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}
-
-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 {} \;
-
-python 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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a PKG-INFO examples/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/python/python-notify2/python-notify2.info b/python/python-notify2/python-notify2.info
deleted file mode 100644
index 6e1b1b278d..0000000000
--- a/python/python-notify2/python-notify2.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-notify2"
-VERSION="0.3.1"
-HOMEPAGE="https://bitbucket.org/takluyver/pynotify2"
-DOWNLOAD="https://pypi.python.org/packages/aa/e8/d4b335aa739dc299a77766ecc5f1972d1de1993524aa94acef3219bba315/notify2-0.3.1.tar.gz"
-MD5SUM="ffccaed9330787c7442b453f6520a474"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/python/python-notify2/slack-desc b/python/python-notify2/slack-desc
deleted file mode 100644
index f7123aedd8..0000000000
--- a/python/python-notify2/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------------------------------------------------------|
-python-notify2: python-notify2 (Python interface to DBus notifications)
-python-notify2:
-python-notify2: This is a pure-python replacement for notify-python, using
-python-notify2: python-dbus to communicate with the notifications server directly.
-python-notify2: It's compatible with Python 2 and 3, and its callbacks can work with
-python-notify2: Gtk 3 or Qt 4 applications.
-python-notify2:
-python-notify2: Homepage: https://bitbucket.org/takluyver/pynotify2
-python-notify2:
-python-notify2:
-python-notify2:
diff --git a/python/python-requests/README b/python/python-requests/README
deleted file mode 100644
index 5f015336cd..0000000000
--- a/python/python-requests/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Requests is an Apache2 Licensed HTTP library, written in Python, for
-human beings.
-
-python3 and python3-certifi are optional dependencies (autodetected).
diff --git a/python/python-requests/python-requests.SlackBuild b/python/python-requests/python-requests.SlackBuild
deleted file mode 100644
index 737c26a98e..0000000000
--- a/python/python-requests/python-requests.SlackBuild
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python-requests
-
-# Copyright 2013-2019 Thibaut Notteboom, Paris, FRANCE
-# 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=python-requests
-VERSION=${VERSION:-2.22.0}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-SRCNAM=requests
-
-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 {} \;
-
-python setup.py install --root=$PKG
-
-# Python 3 support.
-if $(python3 -c 'import sys' 2>/dev/null); then
- python3 setup.py install --root=$PKG
-fi
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- *.rst *.md LICENSE 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/python/python-requests/python-requests.info b/python/python-requests/python-requests.info
deleted file mode 100644
index a0833bec26..0000000000
--- a/python/python-requests/python-requests.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-requests"
-VERSION="2.22.0"
-HOMEPAGE="https://2.python-requests.org"
-DOWNLOAD="https://github.com/kennethreitz/requests/archive/v2.22.0/requests-2.22.0.tar.gz"
-MD5SUM="b32e3383fbcd173e515883b6631a2eed"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python-certifi python-chardet idna python-urllib3"
-MAINTAINER="Thibaut Notteboom"
-EMAIL="thibaut.notteboom@gmail.com"
diff --git a/python/python-requests/slack-desc b/python/python-requests/slack-desc
deleted file mode 100644
index af39269d06..0000000000
--- a/python/python-requests/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------------------------------------------------------|
-python-requests: python-requests (Requests: HTTP for Humans)
-python-requests:
-python-requests: Requests is an Apache2 Licensed HTTP library, written in Python, for
-python-requests: human beings.
-python-requests:
-python-requests:
-python-requests:
-python-requests:
-python-requests:
-python-requests:
-python-requests:
diff --git a/python/python-urllib3/README b/python/python-urllib3/README
deleted file mode 100644
index df9a0f529f..0000000000
--- a/python/python-urllib3/README
+++ /dev/null
@@ -1,12 +0,0 @@
-urllib3 is a powerful, sanity-friendly HTTP client for Python. Much of the Python
-ecosystem already uses urllib3 and you should too. urllib3 brings many critical features
-that are missing from the Python standard libraries:
-
-Thread safety.
-Connection pooling.
-Client-side SSL/TLS verification.
-File uploads with multipart encoding.
-Helpers for retrying requests and dealing with HTTP redirects.
-Support for gzip and deflate encoding.
-Proxy support for HTTP and SOCKS.
-100% test coverage.
diff --git a/python/python-urllib3/python-urllib3.SlackBuild b/python/python-urllib3/python-urllib3.SlackBuild
deleted file mode 100644
index 4fc7535a33..0000000000
--- a/python/python-urllib3/python-urllib3.SlackBuild
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python-urllib3
-
-# Copyright 2013 Thibaut Notteboom, Paris, FRANCE
-# Copyright 2014-2019 Dimitris Zlatanidis Orestiada, Greece
-# 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=python-urllib3
-SRCNAM=$(echo $PRGNAM | cut -c8-14)
-VERSION=${VERSION:-1.25.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/$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 {} \;
-
-python setup.py install --root=$PKG
-
-# Python 3 support.
-if $(python3 -c 'import sys' 2>/dev/null); then
- python3 setup.py install --root=$PKG
-fi
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a *.rst *.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/python/python-urllib3/python-urllib3.info b/python/python-urllib3/python-urllib3.info
deleted file mode 100644
index 0e564a36f8..0000000000
--- a/python/python-urllib3/python-urllib3.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-urllib3"
-VERSION="1.25.2"
-HOMEPAGE="https://urllib3.readthedocs.io/en/latest/"
-DOWNLOAD="https://files.pythonhosted.org/packages/9a/8b/ea6d2beb2da6e331e9857d0a60b79ed4f72dcbc4e2c7f2d2521b0480fda2/urllib3-1.25.2.tar.gz"
-MD5SUM="1ebfbbec8bee21dbb686c009b37f4963"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/python/python-urllib3/slack-desc b/python/python-urllib3/slack-desc
deleted file mode 100644
index 90699d4267..0000000000
--- a/python/python-urllib3/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------------------------------------------------------|
-python-urllib3: python-urllib3 (HTTP library)
-python-urllib3:
-python-urllib3: urllib3 is a powerful, sanity-friendly HTTP client for Python. Much
-python-urllib3: of the Python ecosystem already uses urllib3 and you should too.
-python-urllib3:
-python-urllib3: Homepage: https://urllib3.readthedocs.io/en/latest/
-python-urllib3:
-python-urllib3:
-python-urllib3:
-python-urllib3:
-python-urllib3:
diff --git a/python/python-xlib/python-xlib.SlackBuild b/python/python-xlib/python-xlib.SlackBuild
index 0ea9263b3a..e395a2b91e 100644
--- a/python/python-xlib/python-xlib.SlackBuild
+++ b/python/python-xlib/python-xlib.SlackBuild
@@ -38,14 +38,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 {} \;
-# Partially revert: fixup metadata
-# Revert: setup: check setuptools is recent enough to support `setup.cfg`
-# https://github.com/python-xlib/python-xlib/commit/22a8e1929ad58b8168bcf5d931e8f6067ebdec0a
-# https://github.com/python-xlib/python-xlib/commit/376b4739cedc4eee32e60e7b158d20ed18dfddc1
-# https://github.com/python-xlib/python-xlib/issues/106
-sed -i 's/\r$//g' setup.py
-patch -p1 < $CWD/setup.patch
-
python setup.py install --root $PKG
# Python 3 support.
diff --git a/python/python-xlib/setup.patch b/python/python-xlib/setup.patch
deleted file mode 100644
index 47be163a34..0000000000
--- a/python/python-xlib/setup.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 71bdb08..b425618 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,17 +1,25 @@
- # Distutils script for python-xlib
-
--from pkg_resources import parse_requirements
--from setuptools import (__version__ as setuptools_version, setup)
-+from setuptools import setup
-
--
--# Check setuptools is recent enough to support `setup.cfg`.
--setuptools_require = next(parse_requirements('setuptools>=30.3.0'))
--assert setuptools_version in setuptools_require, '{} is required'.format(setuptools_require)
-+import Xlib
-
-
- setup(
-+ name='python-xlib',
-+ version=Xlib.__version_string__,
-+
-+ description='Python X Library',
-+ download_url='https://github.com/python-xlib/python-xlib/releases',
-+ url='https://github.com/python-xlib/python-xlib',
-+ license='LGPLv2+',
-+
-+ author='Peter Liljenberg',
-+ author_email='petli@ctrl-c.liu.se',
-+
- install_requires=['six>=1.10.0'],
- setup_requires=['setuptools-scm'],
-+
- packages=[
- 'Xlib',
- 'Xlib.ext',
-@@ -20,4 +28,22 @@ setup(
- 'Xlib.support',
- 'Xlib.xobject'
- ],
-+
-+ keywords='xlib x11 x windows',
-+ classifiers=[
-+ 'Development Status :: 5 - Production/Stable',
-+ 'Environment :: X11 Applications',
-+ 'Intended Audience :: Developers',
-+ 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)',
-+ 'Operating System :: OS Independent',
-+ 'Programming Language :: Python :: 2.7',
-+ 'Programming Language :: Python :: 3',
-+ 'Programming Language :: Python :: 3.3',
-+ 'Programming Language :: Python :: 3.4',
-+ 'Programming Language :: Python :: 3.5',
-+ 'Programming Language :: Python :: Implementation :: CPython',
-+ 'Topic :: Software Development :: Libraries :: Python Modules',
-+ 'Topic :: Software Development :: Libraries',
-+ 'Topic :: Software Development :: User Interfaces',
-+ ],
- )
---
-2.22.0
diff --git a/python/python3-Cython/README b/python/python3-Cython/README
deleted file mode 100644
index 0dd3a3eda4..0000000000
--- a/python/python3-Cython/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Cython is an optimising static compiler for both the Python programming
-language and the extended Cython programming language (based on Pyrex).
-It makes writing C extensions for Python as easy as Python itself.
-
-This SlackBuild may be installed alongside the stock Cython package.
diff --git a/python/python3-Cython/python3-Cython.SlackBuild b/python/python3-Cython/python3-Cython.SlackBuild
deleted file mode 100644
index 4c73220185..0000000000
--- a/python/python3-Cython/python3-Cython.SlackBuild
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python3-Cython
-
-# Copyright 2016-2019 Christoph Willing Brisbane, Australia
-# 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-Cython
-SRCNAM=Cython
-VERSION=${VERSION:-0.29.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 $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 {} \;
-
-python3 setup.py install --root=$PKG --prefix=/usr
-
-# Rename executables to avoid clashes with stock Cython versions
-find $PKG/usr/bin/ -type f -executable -exec mv '{}' '{}'3 \;
-
-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/* $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/python/python3-Cython/python3-Cython.info b/python/python3-Cython/python3-Cython.info
deleted file mode 100644
index 8b56f1391e..0000000000
--- a/python/python3-Cython/python3-Cython.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python3-Cython"
-VERSION="0.29.6"
-HOMEPAGE="https://cython.org"
-DOWNLOAD="https://files.pythonhosted.org/packages/36/da/fcb979fc8cb486a67a013d6aefefbb95a3e19e67e49dff8a35e014046c5e/Cython-0.29.6.tar.gz"
-MD5SUM="8a9441e85ac8085e3d947082db4e7993"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Christoph Willing"
-EMAIL="chris.willing@linux.com"
diff --git a/python/python3-Cython/slack-desc b/python/python3-Cython/slack-desc
deleted file mode 100644
index 9c2bdbf818..0000000000
--- a/python/python3-Cython/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-Cython: python3-Cython (C-Extensions for Python3)
-python3-Cython:
-python3-Cython: Cython is an optimising static compiler for both the Python
-python3-Cython: programming language and the extended Cython programming language
-python3-Cython: (based on Pyrex). It makes writing C extensions for Python as easy
-python3-Cython: as Python itself.
-python3-Cython:
-python3-Cython: This SlackBuild may be installed alongside the stock Cython package.
-python3-Cython:
-python3-Cython:
-python3-Cython:
diff --git a/python/python3-appdirs/README b/python/python3-appdirs/README
deleted file mode 100644
index 8e3a9e20fa..0000000000
--- a/python/python3-appdirs/README
+++ /dev/null
@@ -1,2 +0,0 @@
-A small Python module for determining appropriate platform-specific
-dirs, e.g. a "user data dir".
diff --git a/python/python3-appdirs/python3-appdirs.SlackBuild b/python/python3-appdirs/python3-appdirs.SlackBuild
deleted file mode 100644
index 2a6e3593f7..0000000000
--- a/python/python3-appdirs/python3-appdirs.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python3-appdirs
-
-# Copyright 2016 Jeremy Hansen <jebrhansen+SBo -at- gmail.com>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 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-appdirs
-SRCNAM=appdirs
-VERSION=${VERSION:-1.4.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/$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 {} \;
-
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES.rst LICENSE.txt README.rst TODO.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/python/python3-appdirs/python3-appdirs.info b/python/python3-appdirs/python3-appdirs.info
deleted file mode 100644
index c22980e08d..0000000000
--- a/python/python3-appdirs/python3-appdirs.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python3-appdirs"
-VERSION="1.4.3"
-HOMEPAGE="https://github.com/ActiveState/appdirs/"
-DOWNLOAD="https://github.com/ActiveState/appdirs/archive/1.4.3/appdirs-1.4.3.tar.gz"
-MD5SUM="b0bd73c5dac1bee973e60adcbdcbb5ed"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Jeremy Hansen"
-EMAIL="jebrhansen+SBo@gmail.com"
diff --git a/python/python3-appdirs/slack-desc b/python/python3-appdirs/slack-desc
deleted file mode 100644
index f174600be9..0000000000
--- a/python/python3-appdirs/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-appdirs: python3-appdirs (module to determine platform-specific dirs)
-python3-appdirs:
-python3-appdirs: python3-appdirs A small Python module for determining appropriate
-python3-appdirs: platform-specific dirs, e.g. a "user data dir".
-python3-appdirs:
-python3-appdirs:
-python3-appdirs: Homepage: https://github.com/sigmavirus24/appdirs
-python3-appdirs:
-python3-appdirs:
-python3-appdirs:
-python3-appdirs:
diff --git a/python/python3-certifi/README b/python/python3-certifi/README
deleted file mode 100644
index c7257f4714..0000000000
--- a/python/python3-certifi/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This installable Python package contains a CA Bundle that you can reference in
-your Python code.
diff --git a/python/python3-certifi/python3-certifi.SlackBuild b/python/python3-certifi/python3-certifi.SlackBuild
deleted file mode 100644
index 0e9a5e73b3..0000000000
--- a/python/python3-certifi/python3-certifi.SlackBuild
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python3-certifi
-
-# Copyright 2019 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
-# Based on python-certifi by Dimitris Zlatanidis
-# 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=certifi
-PRGNAM=python3-$SRCNAM
-VERSION=${VERSION:-2019.6.16}
-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.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 {} \;
-
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- 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/python/python3-certifi/python3-certifi.info b/python/python3-certifi/python3-certifi.info
deleted file mode 100644
index 8b1d1ea2dc..0000000000
--- a/python/python3-certifi/python3-certifi.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python3-certifi"
-VERSION="2019.6.16"
-HOMEPAGE="https://pypi.python.org/pypi/certifi/"
-DOWNLOAD="https://pypi.python.org/packages/source/c/certifi/certifi-2019.6.16.tar.gz"
-MD5SUM="af8fea5f3df6f7f81e9c6cbc6dd7c1e8"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Benjamin Trigona-Harany"
-EMAIL="slackbuilds@jaxartes.net"
diff --git a/python/python3-certifi/slack-desc b/python/python3-certifi/slack-desc
deleted file mode 100644
index 7f206487ee..0000000000
--- a/python/python3-certifi/slack-desc
+++ /dev/null
@@ -1,18 +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-certifi: python3-certifi (Python SSL Certificates)
-python3-certifi:
-python3-certifi: This installable Python package contains a python3-certifi: CA
-python3-certifi: Bundle that you can reference in your Python code.
-python3-certifi:
-python3-certifi:
-python3-certifi:
-python3-certifi:
-python3-certifi:
-python3-certifi:
diff --git a/python/python3-pyparsing/README b/python/python3-pyparsing/README
deleted file mode 100644
index d2badb1992..0000000000
--- a/python/python3-pyparsing/README
+++ /dev/null
@@ -1,8 +0,0 @@
-The pyparsing module is an alternative approach to creating and
-executing simple grammars, vs. the traditional lex/yacc
-approach, or the use of regular expressions. The pyparsing
-module provides a library of classes that client code uses to
-construct the grammar directly in Python code.
-
-This is the python3 version of pyparsing and it can coexist with
-SBo's pyparsing package.
diff --git a/python/python3-pyparsing/python3-pyparsing.SlackBuild b/python/python3-pyparsing/python3-pyparsing.SlackBuild
deleted file mode 100644
index b98c10cd31..0000000000
--- a/python/python3-pyparsing/python3-pyparsing.SlackBuild
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python3-pyparsing
-
-# Copyright 2008-2012 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2016 Barry Grundy (bgrundy<at>linuxleo.com)
-# Copyright 2017-2018 Jeremy Hansen <jebrhansen+SBo -at- gmail.com>
-# 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-pyparsing
-SRCNAM=pyparsing
-VERSION=${VERSION:-2.2.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 $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 {} \;
-
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES LICENSE PKG-INFO README HowToUsePyparsing.html 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/python/python3-pyparsing/python3-pyparsing.info b/python/python3-pyparsing/python3-pyparsing.info
deleted file mode 100644
index ab429a468b..0000000000
--- a/python/python3-pyparsing/python3-pyparsing.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python3-pyparsing"
-VERSION="2.2.0"
-HOMEPAGE="https://github.com/pyparsing/pyparsing"
-DOWNLOAD="http://downloads.sourceforge.net/project/pyparsing/pyparsing/pyparsing-2.2.0/pyparsing-2.2.0.tar.gz"
-MD5SUM="0214e42d63af850256962b6744c948d9"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Jeremy Hansen"
-EMAIL="jebrhansen+SBo@gmail.com"
diff --git a/python/python3-pyparsing/slack-desc b/python/python3-pyparsing/slack-desc
deleted file mode 100644
index 32aebd1da2..0000000000
--- a/python/python3-pyparsing/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-pyparsing: python3-pyparsing (parsing module for python)
-python3-pyparsing:
-python3-pyparsing: The pyparsing module is an alternative approach to creating and
-python3-pyparsing: executing simple grammars, vs. the traditional lex/yacc
-python3-pyparsing: approach, or the use of regular expressions. The pyparsing
-python3-pyparsing: module provides a library of classes that client code uses to
-python3-pyparsing: construct the grammar directly in Python code.
-python3-pyparsing:
-python3-pyparsing: Homepage: http://pyparsing.wikispaces.com/
-python3-pyparsing:
-python3-pyparsing: This is the python3 version and will coexist with the python2 version.
diff --git a/python/python3-sip/python3-sip.SlackBuild b/python/python3-sip/python3-sip.SlackBuild
index 0e1098d936..9717963af0 100644
--- a/python/python3-sip/python3-sip.SlackBuild
+++ b/python/python3-sip/python3-sip.SlackBuild
@@ -83,16 +83,25 @@ python3 configure.py \
-b "/usr/bin" \
-d "$PYTHONLIB" \
-e "/usr/include/python$PYTHONVER" \
+ --sip-module="python3_sip" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS"
make
make install DESTDIR=$PKG
-(
- cd $PKG/usr/bin
- mv sip python3-sip
-)
+mv $PKG/usr/bin/sip $PKG/usr/bin/python3-sip
+
+mkdir -p $PKG/usr/include/python$PYTHONVER/python3-sip
+
+mv $PKG/usr/include/python$PYTHONVER/sip.h \
+ $PKG/usr/include/python$PYTHONVER/python3-sip/sip.h \
+
+for oldf in sipdistutils.py sip.pyi sipconfig.py
+do
+ mv $PKG/usr/lib$LIBDIRSUFFIX/python$PYTHONVER/site-packages/$oldf \
+ $PKG/usr/lib$LIBDIRSUFFIX/python$PYTHONVER/site-packages/python3_$oldf
+done
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/python/python3-six/README b/python/python3-six/README
deleted file mode 100644
index ee25e72d18..0000000000
--- a/python/python3-six/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Six is a Python 2 and 3 compatibility library. It provides utility functions for
-smoothing over the differences between the Python versions with the goal of
-writing Python code that is compatible on both Python versions. See the
-documentation for more information on what is provided.
diff --git a/python/python3-six/python3-six.SlackBuild b/python/python3-six/python3-six.SlackBuild
deleted file mode 100644
index 880c9ba3fd..0000000000
--- a/python/python3-six/python3-six.SlackBuild
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python3-six
-
-# Copyright 2012-2015 Larry Hajali <larryhaja[at]gmail[dot]com>
-# Copyright 2017-2018 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
-# 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=six
-PRGNAM=python3-$SRCNAM
-VERSION=${VERSION:-1.12.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}
-
-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 {} \;
-
-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
-
-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/python/python3-six/python3-six.info b/python/python3-six/python3-six.info
deleted file mode 100644
index ee9915a855..0000000000
--- a/python/python3-six/python3-six.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python3-six"
-VERSION="1.12.0"
-HOMEPAGE="https://pypi.python.org/pypi/six/"
-DOWNLOAD="https://files.pythonhosted.org/packages/source/s/six/six-1.12.0.tar.gz"
-MD5SUM="9ae5d1feed8c0215f4ae4adcd9207fcb"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3"
-MAINTAINER="Benjamin Trigona-Harany"
-EMAIL="slackbuilds@jaxartes.net"
diff --git a/python/python3-six/slack-desc b/python/python3-six/slack-desc
deleted file mode 100644
index 0694e82700..0000000000
--- a/python/python3-six/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-six: python3-six (Python 2 and 3 compatibility utilities)
-python3-six:
-python3-six: Six is a Python 2 and 3 compatibility library. It provides utility
-python3-six: functions for smoothing over the differences between the Python
-python3-six: versions with the goal of writing Python code that is compatible on
-python3-six: both Python versions. See the documentation for more information on
-python3-six: what is provided.
-python3-six:
-python3-six:
-python3-six:
-python3-six:
diff --git a/python/python3/README b/python/python3/README
deleted file mode 100644
index 8197d59201..0000000000
--- a/python/python3/README
+++ /dev/null
@@ -1,18 +0,0 @@
-Python is an interpreted, interactive, object-oriented programming
-language that combines remarkable power with very clear syntax.
-Python's basic power can be extended with your own modules written in C
-or C++. Python is also adaptable as an extension language for existing
-applications.
-
-Python 3 (a.k.a. "Python 3000" or "Py3k") is a new version of the
-language that is incompatible with the 2.x line of releases. The
-language is mostly the same, but many details, especially how built-in
-objects like dictionaries and strings work, have changed considerably,
-and a lot of deprecated features have finally been removed. Also, the
-standard library has been reorganized in a few prominent places.
-
-It is safe to install alongside Slackware's Python 2.x.
-
-If you'd like to have HTML docs installed, get them from
-<https://docs.python.org/3/download.html> (HTML format, .tar.bz2
-archive).
diff --git a/python/python3/patches/python3.no-static-library.diff b/python/python3/patches/python3.no-static-library.diff
deleted file mode 100644
index 2e03ab8add..0000000000
--- a/python/python3/patches/python3.no-static-library.diff
+++ /dev/null
@@ -1,50 +0,0 @@
---- ./Makefile.pre.in.orig 2019-01-13 13:06:37.518767495 -0600
-+++ ./Makefile.pre.in 2019-01-13 13:28:41.778781670 -0600
-@@ -549,7 +549,7 @@
- $(PYTHON_FOR_REGEN) ./Tools/clinic/clinic.py --make
-
- # Build the interpreter
--$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
-+$(BUILDPYTHON): Programs/python.o $(LDLIBRARY) $(PY3LIBRARY)
- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
- platform: $(BUILDPYTHON) pybuilddir.txt
-@@ -598,11 +598,6 @@
- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-
-
--# Build static library
--$(LIBRARY): $(LIBRARY_OBJS)
-- -rm -f $@
-- $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS)
--
- libpython$(LDVERSION).so: $(LIBRARY_OBJS)
- if test $(INSTSONAME) != $(LDLIBRARY); then \
- $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-@@ -692,7 +687,7 @@
- echo "-----------------------------------------------"; \
- fi
-
--Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
-+Programs/_testembed: Programs/_testembed.o $(LDLIBRARY) $(PY3LIBRARY)
- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
- ############################################################################
-@@ -1428,17 +1423,6 @@
- else true; \
- fi; \
- done
-- @if test -d $(LIBRARY); then :; else \
-- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
-- if test "$(SHLIB_SUFFIX)" = .dll; then \
-- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
-- else \
-- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
-- fi; \
-- else \
-- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
-- fi; \
-- fi
- $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
- $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o
- $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
diff --git a/python/python3/patches/python3.readline.set_pre_input_hook.diff b/python/python3/patches/python3.readline.set_pre_input_hook.diff
deleted file mode 100644
index b55820c489..0000000000
--- a/python/python3/patches/python3.readline.set_pre_input_hook.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./Modules/readline.c.orig 2009-10-26 21:32:51.000000000 +0200
-+++ ./Modules/readline.c 2010-05-30 14:07:10.000000000 +0300
-@@ -12,6 +12,9 @@
- #include <errno.h>
- #include <sys/time.h>
-
-+/* This seems to be needed for set_pre_input_hook to work */
-+#define HAVE_RL_PRE_INPUT_HOOK 1
-+
- #if defined(HAVE_SETLOCALE)
- /* GNU readline() mistakenly sets the LC_CTYPE locale.
- * This is evil. Only the user or the app's main() should do this!
diff --git a/python/python3/patches/python3.x86_64.diff b/python/python3/patches/python3.x86_64.diff
deleted file mode 100644
index 1649c2344a..0000000000
--- a/python/python3/patches/python3.x86_64.diff
+++ /dev/null
@@ -1,156 +0,0 @@
---- ./configure.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./configure 2019-02-19 16:02:14.585002930 -0600
-@@ -15149,9 +15149,9 @@
-
-
- if test x$PLATFORM_TRIPLET = x; then
-- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
-+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}"
- else
-- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
-+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
- fi
-
-
---- ./Makefile.pre.in.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./Makefile.pre.in 2019-02-19 16:02:14.576002930 -0600
-@@ -142,7 +142,7 @@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- CONFINCLUDEDIR= $(exec_prefix)/include
--SCRIPTDIR= $(prefix)/lib
-+SCRIPTDIR= $(prefix)/lib64
- ABIFLAGS= @ABIFLAGS@
-
- # Detailed destination directories
---- ./Lib/sysconfig.py.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./Lib/sysconfig.py 2019-02-19 16:02:14.574002930 -0600
-@@ -20,10 +20,10 @@
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-- 'stdlib': '{installed_base}/lib/python{py_version_short}',
-- 'platstdlib': '{platbase}/lib/python{py_version_short}',
-- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+ 'stdlib': '{installed_base}/lib64/python{py_version_short}',
-+ 'platstdlib': '{platbase}/lib64/python{py_version_short}',
-+ 'purelib': '{base}/lib64/python{py_version_short}/site-packages',
-+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
- 'include':
- '{installed_base}/include/python{py_version_short}{abiflags}',
- 'platinclude':
-@@ -32,10 +32,10 @@
- 'data': '{base}',
- },
- 'posix_home': {
-- 'stdlib': '{installed_base}/lib/python',
-- 'platstdlib': '{base}/lib/python',
-- 'purelib': '{base}/lib/python',
-- 'platlib': '{base}/lib/python',
-+ 'stdlib': '{installed_base}/lib64/python',
-+ 'platstdlib': '{base}/lib64/python',
-+ 'purelib': '{base}/lib64/python',
-+ 'platlib': '{base}/lib64/python',
- 'include': '{installed_base}/include/python',
- 'platinclude': '{installed_base}/include/python',
- 'scripts': '{base}/bin',
-@@ -62,10 +62,10 @@
- 'data': '{userbase}',
- },
- 'posix_user': {
-- 'stdlib': '{userbase}/lib/python{py_version_short}',
-- 'platstdlib': '{userbase}/lib/python{py_version_short}',
-- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
-+ 'stdlib': '{userbase}/lib64/python{py_version_short}',
-+ 'platstdlib': '{userbase}/lib64/python{py_version_short}',
-+ 'purelib': '{userbase}/lib64/python{py_version_short}/site-packages',
-+ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
- 'scripts': '{userbase}/bin',
- 'data': '{userbase}',
---- ./Lib/site.py.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./Lib/site.py 2019-02-19 16:02:14.572002930 -0600
-@@ -334,7 +334,7 @@
- seen.add(prefix)
-
- if os.sep == '/':
-- sitepackages.append(os.path.join(prefix, "lib",
-+ sitepackages.append(os.path.join(prefix, "lib64",
- "python%d.%d" % sys.version_info[:2],
- "site-packages"))
- else:
---- ./Lib/distutils/command/install.py.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./Lib/distutils/command/install.py 2019-02-19 16:02:14.567002930 -0600
-@@ -29,15 +29,15 @@
-
- INSTALL_SCHEMES = {
- 'unix_prefix': {
-- 'purelib': '$base/lib/python$py_version_short/site-packages',
-- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+ 'purelib': '$base/lib64/python$py_version_short/site-packages',
-+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
- 'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
- },
- 'unix_home': {
-- 'purelib': '$base/lib/python',
-- 'platlib': '$base/lib/python',
-+ 'purelib': '$base/lib64/python',
-+ 'platlib': '$base/lib64/python',
- 'headers': '$base/include/python/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
---- ./Lib/distutils/sysconfig.py.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./Lib/distutils/sysconfig.py 2019-02-19 16:02:14.570002930 -0600
-@@ -130,7 +130,7 @@
-
- if os.name == "posix":
- libpython = os.path.join(prefix,
-- "lib", "python" + get_python_version())
-+ "lib64", "python" + get_python_version())
- if standard_lib:
- return libpython
- else:
---- ./Modules/getpath.c.orig 2019-02-19 16:02:14.580002930 -0600
-+++ ./Modules/getpath.c 2019-02-19 16:06:51.535002940 -0600
-@@ -500,7 +500,7 @@
- "Could not find platform dependent libraries <exec_prefix>\n");
- }
- wcsncpy(exec_prefix, calculate->exec_prefix, MAXPATHLEN);
-- joinpath(exec_prefix, L"lib/lib-dynload");
-+ joinpath(exec_prefix, L"lib64/lib-dynload");
- }
- /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
- }
-@@ -742,7 +742,7 @@
- else {
- wcsncpy(calculate->zip_path, calculate->prefix, MAXPATHLEN);
- }
-- joinpath(calculate->zip_path, L"lib/python00.zip");
-+ joinpath(calculate->zip_path, L"lib64/python00.zip");
-
- /* Replace "00" with version */
- size_t bufsz = wcslen(calculate->zip_path);
-@@ -867,7 +867,7 @@
- if (!calculate->prefix) {
- return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
- }
-- calculate->lib_python = Py_DecodeLocale("lib/python" VERSION, &len);
-+ calculate->lib_python = Py_DecodeLocale("lib64/python" VERSION, &len);
- if (!calculate->lib_python) {
- return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
- }
---- ./setup.py.orig 2018-12-23 15:37:36.000000000 -0600
-+++ ./setup.py 2019-02-19 16:02:14.587002930 -0600
-@@ -546,7 +546,7 @@
- # directories (i.e. '.' and 'Include') must be first. See issue
- # 10520.
- if not cross_compiling:
-- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- # only change this for cross builds for 3.3, issues on Mageia
- if cross_compiling:
diff --git a/python/python3/python3.SlackBuild b/python/python3/python3.SlackBuild
deleted file mode 100644
index 190f7ec51b..0000000000
--- a/python/python3/python3.SlackBuild
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for python3
-
-# Copyright 2012-2019 Audrius Kažukauskas <audrius@neutrino.lt>
-# 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
-SRCNAM=Python
-VERSION=${VERSION:-3.7.2}
-BRANCH_VERSION=$(echo $VERSION | cut -f 1,2 -d . )
-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}
-
-# Don't set any SLKCFLAGS here, or OPT="$SLKCFLAGS" before the ./configure.
-# Python gets the compile options right without any help.
-if [ "$ARCH" = "i586" ]; then
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- LIBDIRSUFFIX="64"
-else
- LIBDIRSUFFIX=""
-fi
-
-set -e
-
-# Location for Python site-packages.
-SITEPK=$PKG/usr/lib${LIBDIRSUFFIX}/python${BRANCH_VERSION}/site-packages
-# Same as above without $PKG.
-TOOLSDIR=/usr/lib${LIBDIRSUFFIX}/python${BRANCH_VERSION}/site-packages
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
-cd $SRCNAM-$VERSION
-
-patch -p1 -i $CWD/patches/python3.readline.set_pre_input_hook.diff
-# We don't want a large libpython*.a.
-patch -p1 -i $CWD/patches/python3.no-static-library.diff
-
-if [ "$ARCH" = "x86_64" ]; then
- # Install to lib64 instead of lib.
- patch -p1 -i $CWD/patches/python3.x86_64.diff
-fi
-
-# Fix python3 path in cgi.py.
-sed -i '1s|^#.*/usr/local/bin/python|#!/usr/bin/python3|' Lib/cgi.py
-
-# If system we're building on already has Python3 with pip in site-packages,
-# ignore it and install pip anyway.
-sed -i 's|\("install",\)|\1 "--ignore-installed",|' Lib/ensurepip/__init__.py
-
-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 {} \;
-
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --with-threads \
- --enable-ipv6 \
- --enable-shared \
- --with-system-expat \
- --with-system-ffi \
- --enable-loadable-sqlite-extensions \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
-
-# Restore original ensurepip behaviour.
-sed -i 's| "--ignore-installed",||' \
- $PKG/usr/lib${LIBDIRSUFFIX}/python${BRANCH_VERSION}/ensurepip/__init__.py
-
-# Remove to avoid overwriting a copy from Python2.
-rm -f $PKG/usr/bin/2to3
-
-# We'll install the python-tools under site-packages.
-mkdir -p $SITEPK
-cp -a Tools/* $SITEPK
-
-# Remove DOS batch/exe files.
-find $PKG \( -name '*.exe' -o -name '*.bat' \) -exec rm -f '{}' \;
-
-# Fix permissions on dynamic libraries.
-find $PKG -type f -perm 555 -exec chmod 755 '{}' \;
-
-# Install docs.
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README.rst LICENSE Misc $PKG/usr/doc/$PRGNAM-$VERSION
-# Delete stuff that we don't need to package.
-rm -f $PKG/usr/doc/$PKGNAM-$VERSION/Misc/{HISTORY,*.in,*.wpr,python.man,svnmap.txt}
-mv $SITEPK/README $PKG/usr/doc/$PRGNAM-$VERSION/README.python-tools
-( cd $PKG/usr/doc/$PRGNAM-$VERSION ; ln -sf $TOOLSDIR Tools )
-if [ -e "$CWD/python-$VERSION-docs-html.tar.bz2" ]; then
- tar xf $CWD/python-$VERSION-docs-html.tar.bz2
- mv python-$VERSION-docs-html $PKG/usr/doc/$PRGNAM-$VERSION/html
- chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION/html
-fi
-
-# Fix possible incorrect permissions.
-( cd $PKG
- find . -type d -exec chmod 755 "{}" \;
- find . -perm 640 -exec chmod 644 "{}" \;
- find . -perm 750 -exec chmod 755 "{}" \;
-)
-
-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/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/python/python3/python3.info b/python/python3/python3.info
deleted file mode 100644
index 0cc075d48b..0000000000
--- a/python/python3/python3.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python3"
-VERSION="3.7.2"
-HOMEPAGE="https://www.python.org/"
-DOWNLOAD="https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz"
-MD5SUM="df6ec36011808205beda239c72f947cb"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Audrius Kažukauskas"
-EMAIL="audrius@neutrino.lt"
diff --git a/python/python3/slack-desc b/python/python3/slack-desc
deleted file mode 100644
index bfc8d5c554..0000000000
--- a/python/python3/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: python3 (object-oriented interpreted programming language)
-python3:
-python3: Python is an interpreted, interactive, object-oriented programming
-python3: language that combines remarkable power with very clear syntax.
-python3: This is a new version of the language that is incompatible with the
-python3: 2.x line of releases. The language is mostly the same, but many
-python3: details, especially how built-in objects like dictionaries and strings
-python3: work, have changed considerably, and a lot of deprecated features have
-python3: finally been removed. Also, the standard library has been reorganized
-python3: in a few prominent places.
-python3:
diff --git a/python/pyxdg/README b/python/pyxdg/README
deleted file mode 100644
index b42e24ed4f..0000000000
--- a/python/pyxdg/README
+++ /dev/null
@@ -1,3 +0,0 @@
-PyXDG contains implementations of freedesktop.org standards in python.
-
-Python3 is an optional dependency.
diff --git a/python/pyxdg/pyxdg.SlackBuild b/python/pyxdg/pyxdg.SlackBuild
deleted file mode 100644
index 2e616b739c..0000000000
--- a/python/pyxdg/pyxdg.SlackBuild
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for PyXDG
-
-# Copyright 2008-2009 Frank Caraballo <fecaraballo{at}gmail{dot}com>
-# Copyright 2016, 2018 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=pyxdg
-VERSION=${VERSION:-0.26}
-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}
-
-set -eu
-
-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 {} \;
-
-python setup.py install --root $PKG
-
-# Python 3 support.
-if python3 -c 'import sys' 2>/dev/null; then
- python3 setup.py install --root=$PKG
-fi
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS ChangeLog COPYING INSTALL PKG-INFO README 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/python/pyxdg/pyxdg.info b/python/pyxdg/pyxdg.info
deleted file mode 100644
index a5438fe7cc..0000000000
--- a/python/pyxdg/pyxdg.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="pyxdg"
-VERSION="0.26"
-HOMEPAGE="http://freedesktop.org/wiki/Software/pyxdg"
-DOWNLOAD="https://pypi.python.org/packages/47/6e/311d5f22e2b76381719b5d0c6e9dc39cd33999adae67db71d7279a6d70f4/pyxdg-0.26.tar.gz"
-MD5SUM="db1c2af8300ca64ce3955b3cf2490c92"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Hunter Sezen"
-EMAIL="orbea@riseup.net"
diff --git a/python/pyxdg/slack-desc b/python/pyxdg/slack-desc
deleted file mode 100644
index 92074cd35e..0000000000
--- a/python/pyxdg/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------------------------------------------------------|
-pyxdg: pyxdg (Python XDG Library)
-pyxdg:
-pyxdg: PyXDG contains implementations of freedesktop.org standards in python.
-pyxdg:
-pyxdg: Homepage: http://freedesktop.org/wiki/Software/pyxdg
-pyxdg:
-pyxdg:
-pyxdg:
-pyxdg:
-pyxdg:
-pyxdg:
diff --git a/python/six/README b/python/six/README
deleted file mode 100644
index e995a974e8..0000000000
--- a/python/six/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Six is a Python 2 and 3 compatibility library. It provides utility functions for
-smoothing over the differences between the Python versions with the goal of
-writing Python code that is compatible on both Python versions. See the
-documentation for more information on what is provided.
-
-Optional dependencies: Sphinx
diff --git a/python/six/six.SlackBuild b/python/six/six.SlackBuild
deleted file mode 100644
index 40d74af4b5..0000000000
--- a/python/six/six.SlackBuild
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for six
-
-# Copyright 2012-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
-# 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=six
-VERSION=${VERSION:-1.12.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}
-
-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 {} \;
-
-python 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
-
-# Build and install documentation if sphinx is installed.
-if $(python -c 'import sphinx.pygments_styles' 2>/dev/null); then
- make -j1 -C documentation man singlehtml
- install -D -m 0644 documentation/_build/man/$PRGNAM.1 $PKG/usr/man/man1/$PRGNAM.1
- gzip -9 $PKG/usr/man/man?/*.?
-fi
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE PKG-INFO README.rst $PKG/usr/doc/$PRGNAM-$VERSION
-[ -d documentation/_build/singlehtml ] && \
- cp -a documentation/_build/singlehtml/index.html \
- documentation/_build/singlehtml/_static \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-find $PKG/usr/doc -type f -exec chmod 0644 '{}' \;
-
-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/python/six/six.info b/python/six/six.info
deleted file mode 100644
index 204c946a9a..0000000000
--- a/python/six/six.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="six"
-VERSION="1.12.0"
-HOMEPAGE="https://pypi.python.org/pypi/six/"
-DOWNLOAD="https://pypi.io/packages/source/s/six/six-1.12.0.tar.gz"
-MD5SUM="9ae5d1feed8c0215f4ae4adcd9207fcb"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Larry Hajali"
-EMAIL="larryhaja[at]gmail[dot]com"
diff --git a/python/six/slack-desc b/python/six/slack-desc
deleted file mode 100644
index 678f603af3..0000000000
--- a/python/six/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------------------------------------------------------|
-six: six (Python 2 and 3 compatibility utilities)
-six:
-six: Six is a Python 2 and 3 compatibility library. It provides utility
-six: functions for smoothing over the differences between the Python
-six: versions with the goal of writing Python code that is compatible on
-six: both Python versions. See the documentation for more information on
-six: what is provided.
-six:
-six: Homepage: https://pypi.python.org/pypi/six/
-six:
-six:
diff --git a/python/typing/README b/python/typing/README
deleted file mode 100644
index 21502e4a6f..0000000000
--- a/python/typing/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a backport of the standard library typing module to Python
-versions older than 3.5.
diff --git a/python/typing/slack-desc b/python/typing/slack-desc
deleted file mode 100644
index b57a2cc3d9..0000000000
--- a/python/typing/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------------------------------------------------------|
-typing: typing (Type Hints for Python)
-typing:
-typing: This is a backport of the standard library typing module to Python
-typing: versions older than 3.5.
-typing:
-typing: Homepage: https://docs.python.org/3.5/library/typing.html
-typing:
-typing:
-typing:
-typing:
-typing:
diff --git a/python/typing/typing.info b/python/typing/typing.info
deleted file mode 100644
index e21f1c0dce..0000000000
--- a/python/typing/typing.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="typing"
-VERSION="3.7.4.1"
-HOMEPAGE="https://docs.python.org/3.5/library/typing.html"
-DOWNLOAD="https://files.pythonhosted.org/packages/67/b0/b2ea2bd67bfb80ea5d12a5baa1d12bda002cab3b6c9b48f7708cd40c34bf/typing-3.7.4.1.tar.gz"
-MD5SUM="0a1ebd4af65b4769e33459004eb20345"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/system/acpi_call/acpi_call.SlackBuild b/system/acpi_call/acpi_call.SlackBuild
index 9be2bed29b..0271eae2d7 100644
--- a/system/acpi_call/acpi_call.SlackBuild
+++ b/system/acpi_call/acpi_call.SlackBuild
@@ -66,6 +66,9 @@ find -L . \
patch -p0 < $CWD/fix-acpi-include.patch
+# Fix build with Linux >= 4.12
+sed -i 's|asm/uaccess.h|linux/uaccess.h|' acpi_call.c
+
make KDIR=$KERNELPATH
mkdir -p $PKG/lib/modules/$KERNEL/misc
diff --git a/system/audit/audit.SlackBuild b/system/audit/audit.SlackBuild
index c18f98a8b8..b215fc7bd1 100644
--- a/system/audit/audit.SlackBuild
+++ b/system/audit/audit.SlackBuild
@@ -23,7 +23,7 @@
# SUCH DAMAGE.
PRGNAM=audit
-VERSION=${VERSION:-2.3.6}
+VERSION=${VERSION:-2.8.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -103,7 +103,7 @@ for i in $(find $PKG/etc -type f -name "*.rules" -o -name "*.conf") ; do mv $i $
mkdir -p $PKG/var/log/audit $PKG/var/lock/subsys
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README TODO contrib \
+cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README contrib \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
diff --git a/system/audit/audit.info b/system/audit/audit.info
index 809f0561eb..3d9cee63cc 100644
--- a/system/audit/audit.info
+++ b/system/audit/audit.info
@@ -1,8 +1,8 @@
PRGNAM="audit"
-VERSION="2.3.6"
+VERSION="2.8.5"
HOMEPAGE="http://people.redhat.com/sgrubb/audit/"
-DOWNLOAD="http://people.redhat.com/sgrubb/audit/audit-2.3.6.tar.gz"
-MD5SUM="ffe178196717f8d3fc5337559543f58a"
+DOWNLOAD="http://people.redhat.com/sgrubb/audit/audit-2.8.5.tar.gz"
+MD5SUM="9455e5773670afdbccaeb92681b2e97d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/brasero/brasero.SlackBuild b/system/brasero/brasero.SlackBuild
index cd1f003c30..32abd17b58 100644
--- a/system/brasero/brasero.SlackBuild
+++ b/system/brasero/brasero.SlackBuild
@@ -75,7 +75,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=format-nonliteral -Wno-error=format-y2k" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/system/bulk_extractor/bulk_extractor.SlackBuild b/system/bulk_extractor/bulk_extractor.SlackBuild
index 2a7e955d4f..627aed32d5 100644
--- a/system/bulk_extractor/bulk_extractor.SlackBuild
+++ b/system/bulk_extractor/bulk_extractor.SlackBuild
@@ -25,7 +25,7 @@
# edited for v 1.5.5 November 2014 - added LightGrep option.
PRGNAM=bulk_extractor
-VERSION=${VERSION:-1.5.5}
+VERSION=${VERSION:-20170403_779dbe1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -62,9 +62,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-rm -rf $TMP/$PRGNAM-$VERSION
cd $TMP
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/bulk_extractor/bulk_extractor.info b/system/bulk_extractor/bulk_extractor.info
index 09b76412bb..d4a31c3dd4 100644
--- a/system/bulk_extractor/bulk_extractor.info
+++ b/system/bulk_extractor/bulk_extractor.info
@@ -1,8 +1,8 @@
PRGNAM="bulk_extractor"
-VERSION="1.5.5"
+VERSION="20170403_779dbe1"
HOMEPAGE="https://github.com/simsong/bulk_extractor/wiki"
-DOWNLOAD="http://digitalcorpora.org/downloads/bulk_extractor/bulk_extractor-1.5.5.tar.gz"
-MD5SUM="7155ce6938876be91416def15e44d585"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/bulk_extractor-20170403_779dbe1.tar.xz"
+MD5SUM="96f0c04052c51e6746ba83dae9de145e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/caprice32/caprice32.SlackBuild b/system/caprice32/caprice32.SlackBuild
index ac27dd4df4..5eb64c1059 100644
--- a/system/caprice32/caprice32.SlackBuild
+++ b/system/caprice32/caprice32.SlackBuild
@@ -70,6 +70,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|-O2|$SLKCFLAGS -Wno-narrowing|" makefile.unix
+
make -f makefile.unix RELEASE=TRUE
mkdir -p $PKG/usr/share/$PRGNAM $PKG/usr/bin
diff --git a/system/colord/colord.SlackBuild b/system/colord/colord.SlackBuild
index 2ac2cabcf3..5112df3e32 100644
--- a/system/colord/colord.SlackBuild
+++ b/system/colord/colord.SlackBuild
@@ -95,6 +95,11 @@ 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 {} \;
+# Since polkit in current apply upstream git
+# we have to reduce the polkit version used to test
+# https://github.com/hughsie/colord/issues/36
+sed -i "s|114|113|g" configure
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/conky/conky-1.10.6-gcc7.patch b/system/conky/conky-1.10.6-gcc7.patch
new file mode 100644
index 0000000000..dcbc3bc8a5
--- /dev/null
+++ b/system/conky/conky-1.10.6-gcc7.patch
@@ -0,0 +1,11 @@
+diff -Naur conky-1.10.6.orig/src/luamm.hh conky-1.10.6/src/luamm.hh
+--- conky-1.10.6.orig/src/luamm.hh 2016-12-04 16:13:57.000000000 +0100
++++ conky-1.10.6/src/luamm.hh 2017-05-05 12:44:37.525676651 +0200
+@@ -27,6 +27,7 @@
+ #include <mutex>
+ #include <exception>
+ #include <stdexcept>
++#include <functional>
+ #include <string>
+
+ #include <lua.hpp>
diff --git a/system/conky/conky.SlackBuild b/system/conky/conky.SlackBuild
index c3f4948c36..395bcdce69 100644
--- a/system/conky/conky.SlackBuild
+++ b/system/conky/conky.SlackBuild
@@ -87,6 +87,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 {} \;
+# Fix for the newer gcc
+patch -p1 < $CWD/conky-1.10.6-gcc7.patch
+
# fix MANDIR
sed -i 's,share/man/man1,man/man1,g' CMakeLists.txt
diff --git a/system/cups-bjnp/cups-bjnp.SlackBuild b/system/cups-bjnp/cups-bjnp.SlackBuild
index 1829168b60..0cb88341f5 100644
--- a/system/cups-bjnp/cups-bjnp.SlackBuild
+++ b/system/cups-bjnp/cups-bjnp.SlackBuild
@@ -69,7 +69,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=stringop-truncation" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/system/dahdi-complete/dahdi-complete.SlackBuild b/system/dahdi-complete/dahdi-complete.SlackBuild
index c6984aae30..bbfbde084c 100644
--- a/system/dahdi-complete/dahdi-complete.SlackBuild
+++ b/system/dahdi-complete/dahdi-complete.SlackBuild
@@ -10,7 +10,7 @@
# All rights reserved.
PRGNAM=dahdi-complete
-VERSION=${VERSION:-2.10.2}
+VERSION=${VERSION:-3.0.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,16 +61,19 @@ 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 -e 's/ -Werror//' tools/acinclude.m4 tools/xpp/Makefile
-sed -i -e 's/-Werror //' tools/Makefile
+sed -i -e 's/ -Werror//' tools/acinclude.m4 tools/xpp/Makefile.am
+sed -i -e 's/-Werror //' tools/Makefile.am
# Fix Perl install location (otherwise it installs to /usr/local/share/perl5)
-sed -i -e 's/sitelib/vendorlib/' linux/build_tools/live_dahdi tools/xpp/Makefile
+sed -i -e 's/sitelib/vendorlib/' linux/build_tools/live_dahdi tools/xpp/Makefile.am
cd linux
make all
cd ../tools
+./bootstrap.sh
+autoreconf -fi
+CPPFLAGS="-I$(pwd)/../linux/include" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -88,6 +91,10 @@ make install DESTDIR=$PKG
cd ..
make config DESTDIR=$PKG
+mkdir -p $PKG/usr/share/perl5/vendor_perl
+mv $PKG/usr/local/share/perl5/* $PKG/usr/share/perl5/vendor_perl/
+rm -fR $PKG/usr/local
+
# move config files to .new
cd $PKG/etc
for file in $(find . -type f); do
@@ -103,7 +110,7 @@ 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
# Clean up zero-length firmware files
-find $PKG/lib/firmware -size 0 -delete
+find $PKG/lib/firmware -size 0 -delete || true
# Remove unused directory
rm -rf $PKG/usr/lib
diff --git a/system/dahdi-complete/dahdi-complete.info b/system/dahdi-complete/dahdi-complete.info
index 545f353e9a..1c53349c2a 100644
--- a/system/dahdi-complete/dahdi-complete.info
+++ b/system/dahdi-complete/dahdi-complete.info
@@ -1,8 +1,8 @@
PRGNAM="dahdi-complete"
-VERSION="2.10.2"
+VERSION="3.0.0"
HOMEPAGE="http://www.asterisk.org/downloads/dahdi"
-DOWNLOAD="http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.10.2+2.10.2.tar.gz"
-MD5SUM="9b5ae61dc6202b45284d71481ec758c0"
+DOWNLOAD="http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-3.0.0+3.0.0.tar.gz"
+MD5SUM="0e0a7f18bda5f97dcd22369645234231"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/dash/README b/system/dash/README
deleted file mode 100644
index 4f1ca583a5..0000000000
--- a/system/dash/README
+++ /dev/null
@@ -1,4 +0,0 @@
-DASH is a POSIX-compliant implementation of /bin/sh that aims to be as
-small as possible. It does this without sacrificing speed where
-possible. In fact, it is significantly faster than bash (the GNU
-Bourne-Again SHell) for most tasks.
diff --git a/system/dash/dash.SlackBuild b/system/dash/dash.SlackBuild
deleted file mode 100644
index dfb7bdf565..0000000000
--- a/system/dash/dash.SlackBuild
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for dash
-
-# Written by Vincent Batts, http://hashbangbash.com/
-# Copyright 2017-2018 Donald Cooley South Haven, Indiana USA
-
-PRGNAM=dash
-VERSION=${VERSION:-0.5.10.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-$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=/ \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux \
- --with-libedit
-
-make
-make install DESTDIR=$PKG
-
-mkdir -p $PKG/usr/bin
-( cd $PKG/usr/bin ; ln -s /bin/dash dash )
-
-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 ChangeLog \
- $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/system/dash/dash.info b/system/dash/dash.info
deleted file mode 100644
index 93724d2bb5..0000000000
--- a/system/dash/dash.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="dash"
-VERSION="0.5.10.2"
-HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
-DOWNLOAD="http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.10.2.tar.gz"
-MD5SUM="8f485f126c05d0ab800e85abfe1987aa"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="libedit"
-MAINTAINER="Donald Cooley"
-EMAIL="chytraeu@sdf.org"
diff --git a/system/dash/slack-desc b/system/dash/slack-desc
deleted file mode 100644
index 83489625d6..0000000000
--- a/system/dash/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------------------------------------------------------|
-dash: dash (POSIX compliant shell)
-dash:
-dash: DASH is a POSIX-compliant implementation of /bin/sh that aims
-dash: to be as small as possible. It does this without sacrificing
-dash: speed where possible. In fact, it is significantly faster than
-dash: bash (the GNU Bourne-Again SHell) for most tasks.
-dash:
-dash:
-dash:
-dash:
-dash:
diff --git a/system/dymo-cups-drivers/cups-ppd-header.patch b/system/dymo-cups-drivers/cups-ppd-header.patch
new file mode 100644
index 0000000000..46b366915d
--- /dev/null
+++ b/system/dymo-cups-drivers/cups-ppd-header.patch
@@ -0,0 +1,40 @@
+diff -ur dymo-cups-drivers-1.4.0.5/src/common/CupsFilter.h dymo-cups-drivers-1.4.0.5-patch/src/common/CupsFilter.h
+--- dymo-cups-drivers-1.4.0.5/src/common/CupsFilter.h 2012-02-07 08:22:37.000000000 -0500
++++ dymo-cups-drivers-1.4.0.5-patch/src/common/CupsFilter.h 2016-10-27 20:13:46.267013540 -0400
+@@ -23,6 +23,7 @@
+
+ #include <cups/cups.h>
+ #include <cups/raster.h>
++#include <cups/ppd.h>
+ #include <memory>
+ #include <string>
+ #include "CupsPrintEnvironment.h"
+diff -ur dymo-cups-drivers-1.4.0.5/src/lm/CupsFilterLabelManager.h dymo-cups-drivers-1.4.0.5-patch/src/lm/CupsFilterLabelManager.h
+--- dymo-cups-drivers-1.4.0.5/src/lm/CupsFilterLabelManager.h 2012-02-07 08:22:38.000000000 -0500
++++ dymo-cups-drivers-1.4.0.5-patch/src/lm/CupsFilterLabelManager.h 2016-10-27 20:14:00.407310094 -0400
+@@ -23,6 +23,7 @@
+
+ #include <cups/cups.h>
+ #include <cups/raster.h>
++#include <cups/ppd.h>
+ #include "LabelManagerDriver.h"
+ #include "LabelManagerLanguageMonitor.h"
+ #include "DummyLanguageMonitor.h"
+@@ -50,4 +51,4 @@
+
+ /*
+ * End of "$Id: CupsFilterLabelManager.h 14880 2011-03-31 16:29:05Z aleksandr $".
+- */
+\ No newline at end of file
++ */
+diff -ur dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h dymo-cups-drivers-1.4.0.5-patch/src/lw/CupsFilterLabelWriter.h
+--- dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h 2012-02-07 08:22:37.000000000 -0500
++++ dymo-cups-drivers-1.4.0.5-patch/src/lw/CupsFilterLabelWriter.h 2016-10-27 20:14:23.717798963 -0400
+@@ -23,6 +23,7 @@
+
+ #include <cups/cups.h>
+ #include <cups/raster.h>
++#include <cups/ppd.h>
+ #include "LabelWriterDriver.h"
+ #include "LabelWriterLanguageMonitor.h"
+ #include "DummyLanguageMonitor.h"
diff --git a/system/dymo-cups-drivers/dymo-cups-drivers.SlackBuild b/system/dymo-cups-drivers/dymo-cups-drivers.SlackBuild
index d75cb09fca..e647c5209e 100644
--- a/system/dymo-cups-drivers/dymo-cups-drivers.SlackBuild
+++ b/system/dymo-cups-drivers/dymo-cups-drivers.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 {} \;
+# Patch for the newer cups - thanks archlinux!
+patch -p1 < $CWD/cups-ppd-header.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/dynamips/dynamips.SlackBuild b/system/dynamips/dynamips.SlackBuild
index a9edf005e9..76345e6758 100644
--- a/system/dynamips/dynamips.SlackBuild
+++ b/system/dynamips/dynamips.SlackBuild
@@ -75,6 +75,7 @@ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
sed -i 's/^\(\.PHONY: all dynamips\)/# \1/' Makefile
+sed -i "s/-L\/usr\/lib\ -L\.\ -ldl/-L\/usr\/lib${LIBDIRSUFFIX} -L. -ldl -lz/" stable/Makefile
if [ $ARCH == "x86_64" ]
then
diff --git a/system/ecryptfs-utils/ecryptfs-utils.SlackBuild b/system/ecryptfs-utils/ecryptfs-utils.SlackBuild
index 27ba7c2bbb..8a32014071 100644
--- a/system/ecryptfs-utils/ecryptfs-utils.SlackBuild
+++ b/system/ecryptfs-utils/ecryptfs-utils.SlackBuild
@@ -72,6 +72,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 -p0 < $CWD/openssl.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -84,7 +86,7 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-pam \
--enable-gpg \
- --enable-tests \
+ --disable-tests \
--build=$ARCH-slackware-linux
make -j1 all check
diff --git a/system/ecryptfs-utils/openssl.patch b/system/ecryptfs-utils/openssl.patch
new file mode 100644
index 0000000000..5c3e419a91
--- /dev/null
+++ b/system/ecryptfs-utils/openssl.patch
@@ -0,0 +1,76 @@
+=== modified file 'src/key_mod/ecryptfs_key_mod_openssl.c'
+--- src/key_mod/ecryptfs_key_mod_openssl.c 2013-10-25 19:45:09 +0000
++++ src/key_mod/ecryptfs_key_mod_openssl.c 2017-03-13 20:34:27 +0000
+@@ -50,6 +50,20 @@
+ #include "../include/ecryptfs.h"
+ #include "../include/decision_graph.h"
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++void RSA_get0_key(const RSA *r,
++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
++{
++ if (n != NULL)
++ *n = r->n;
++ if (e != NULL)
++ *e = r->e;
++ if (d != NULL)
++ *d = r->d;
++}
++#endif
++
++
+ struct openssl_data {
+ char *path;
+ char *passphrase;
+@@ -142,6 +156,7 @@
+ {
+ int len, nbits, ebits, i;
+ int nbytes, ebytes;
++ const BIGNUM *key_n, *key_e;
+ unsigned char *hash;
+ unsigned char *data = NULL;
+ int rc = 0;
+@@ -152,11 +167,13 @@
+ rc = -ENOMEM;
+ goto out;
+ }
+- nbits = BN_num_bits(key->n);
++ RSA_get0_key(key, &key_n, NULL, NULL);
++ nbits = BN_num_bits(key_n);
+ nbytes = nbits / 8;
+ if (nbits % 8)
+ nbytes++;
+- ebits = BN_num_bits(key->e);
++ RSA_get0_key(key, NULL, &key_e, NULL);
++ ebits = BN_num_bits(key_e);
+ ebytes = ebits / 8;
+ if (ebits % 8)
+ ebytes++;
+@@ -179,11 +196,13 @@
+ data[i++] = '\02';
+ data[i++] = (nbits >> 8);
+ data[i++] = nbits;
+- BN_bn2bin(key->n, &(data[i]));
++ RSA_get0_key(key, &key_n, NULL, NULL);
++ BN_bn2bin(key_n, &(data[i]));
+ i += nbytes;
+ data[i++] = (ebits >> 8);
+ data[i++] = ebits;
+- BN_bn2bin(key->e, &(data[i]));
++ RSA_get0_key(key, NULL, &key_e, NULL);
++ BN_bn2bin(key_e, &(data[i]));
+ i += ebytes;
+ SHA1(data, len + 3, hash);
+ to_hex(sig, (char *)hash, ECRYPTFS_SIG_SIZE);
+@@ -278,7 +297,9 @@
+ BIO *in = NULL;
+ int rc;
+
++ #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ CRYPTO_malloc_init();
++ #endif
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_algorithms();
+ ENGINE_load_builtin_engines();
+
+
diff --git a/system/efitools/efitools.SlackBuild b/system/efitools/efitools.SlackBuild
index b2f041bed3..844fc759b4 100644
--- a/system/efitools/efitools.SlackBuild
+++ b/system/efitools/efitools.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=efitools
-VERSION=${VERSION:-1.5.3}
+VERSION=${VERSION:-1.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -32,7 +32,7 @@ USE_KEYS=${USE_KEYS:-no}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -44,8 +44,8 @@ PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# It's not safe to specify build flags since some EFI programs are built.
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
EFI_ARCH=ia32
elif [ "$ARCH" = "i686" ]; then
diff --git a/system/efitools/efitools.info b/system/efitools/efitools.info
index 8946a7cacf..e496e0d12e 100644
--- a/system/efitools/efitools.info
+++ b/system/efitools/efitools.info
@@ -1,8 +1,8 @@
PRGNAM="efitools"
-VERSION="1.5.3"
+VERSION="1.8.1"
HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jejb/efitools.git"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/efitools-1.5.3.tar.gz"
-MD5SUM="19ed4d83cfbb10987b84fca5a744715a"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/efitools-1.8.1.tar.gz"
+MD5SUM="830988a246c7c0359eaea24233cbfb76"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="perl-File-Slurp sbsigntools"
diff --git a/system/evilvte/evilvte.info b/system/evilvte/evilvte.info
index e4cd913dd5..76d6079d62 100644
--- a/system/evilvte/evilvte.info
+++ b/system/evilvte/evilvte.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/caleb-/evilvte/archive/8dfa41e26bc640dd8d8c7317ff7d
MD5SUM="e09c34ac7d5afaf6ca785b7984df70ed"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="vte2"
MAINTAINER="Edinaldo P. Silva"
EMAIL="edps.mundognu@gmail.com"
diff --git a/system/extundelete/extundelete-e2fsprogs-1.44.1.patch b/system/extundelete/extundelete-e2fsprogs-1.44.1.patch
new file mode 100644
index 0000000000..61c078bfb8
--- /dev/null
+++ b/system/extundelete/extundelete-e2fsprogs-1.44.1.patch
@@ -0,0 +1,12 @@
+diff -ru extundelete-0.2.4.orig/src/insertionops.cc extundelete-0.2.4/src/insertionops.cc
+--- extundelete-0.2.4.orig/src/insertionops.cc 2018-06-04 22:19:22.460051515 +0000
++++ extundelete-0.2.4/src/insertionops.cc 2018-06-04 22:19:49.256717673 +0000
+@@ -33,7 +33,7 @@
+ os << "File flags: " << inode.i_flags << std::endl;
+ os << "File version (for NFS): " << inode.i_generation << std::endl;
+ os << "File ACL: " << inode.i_file_acl << std::endl;
+- os << "Directory ACL: " << inode.i_dir_acl << std::endl;
++ os << "Directory ACL: " << inode.i_size_high << std::endl;
+ os << "Fragment address: " << inode.i_faddr << std::endl;
+ os << "Direct blocks: ";
+ for (int n = 0; n < EXT2_NDIR_BLOCKS; n++)
diff --git a/system/extundelete/extundelete.SlackBuild b/system/extundelete/extundelete.SlackBuild
index 5707b90896..ad08fe39e7 100644
--- a/system/extundelete/extundelete.SlackBuild
+++ b/system/extundelete/extundelete.SlackBuild
@@ -72,6 +72,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/extundelete-e2fsprogs-1.44.1.patch
+
mkdir -p $PKG/usr/bin $PKG/usr/doc
DFLAGS=$LDFLAGS \
diff --git a/system/f2fs_tools/README b/system/f2fs_tools/README
deleted file mode 100644
index 9b03454053..0000000000
--- a/system/f2fs_tools/README
+++ /dev/null
@@ -1 +0,0 @@
-Userland tools for the f2fs filesystem.
diff --git a/system/f2fs_tools/f2fs_tools.SlackBuild b/system/f2fs_tools/f2fs_tools.SlackBuild
deleted file mode 100644
index 198eb74854..0000000000
--- a/system/f2fs_tools/f2fs_tools.SlackBuild
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/sh
-# Slackware build script for <f2fs_tools>
-#
-# Michales (clavisound) Michaloudes korgie@gmail.com <2014>
-
-PRGNAM=f2fs_tools
-SRCNAM=f2fs-tools
-VERSION=${VERSION:-1.6.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 $SRCNAM-v$VERSION
-tar xvf $CWD/$SRCNAM-v$VERSION.tar.gz
-cd $SRCNAM-v$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"
-
-autoreconf --install
-
-./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
-
-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 \
- AUTHORS COPYING ChangeLog 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/system/f2fs_tools/f2fs_tools.info b/system/f2fs_tools/f2fs_tools.info
deleted file mode 100644
index cda93b1788..0000000000
--- a/system/f2fs_tools/f2fs_tools.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="f2fs_tools"
-VERSION="1.6.1"
-HOMEPAGE="http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git"
-DOWNLOAD="http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/f2fs-tools-v1.6.1.tar.gz"
-MD5SUM="3fc6caa14569e059fc41807e42641a11"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Michales Michaloudes"
-EMAIL="korgie@gmail.com"
diff --git a/system/f2fs_tools/slack-desc b/system/f2fs_tools/slack-desc
deleted file mode 100644
index cb5332d95f..0000000000
--- a/system/f2fs_tools/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------------------------------------------------------|
-f2fs_tools: f2fs_tools (Userland tools for the f2fs filesystem)
-f2fs_tools:
-f2fs_tools: Project URL:
-f2fs_tools: https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
-f2fs_tools:
-f2fs_tools:
-f2fs_tools:
-f2fs_tools:
-f2fs_tools:
-f2fs_tools:
-f2fs_tools:
diff --git a/system/facter/facter.SlackBuild b/system/facter/facter.SlackBuild
index 7788f94801..03f1919ac8 100644
--- a/system/facter/facter.SlackBuild
+++ b/system/facter/facter.SlackBuild
@@ -77,7 +77,7 @@ mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=misleading-indentation" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release ..
diff --git a/system/fuse3/README b/system/fuse3/README
deleted file mode 100644
index 533ab44440..0000000000
--- a/system/fuse3/README
+++ /dev/null
@@ -1,10 +0,0 @@
-fuse3 - Filesystem in Userspace, version 3
-
-FUSE (Filesystem in Userspace) is an interface for userspace programs to
-export a filesystem to the Linux kernel. The FUSE project consists of two
-components: the fuse kernel module (maintained in the regular kernel
-repositories) and the libfuse userspace library (maintained in this
-repository). libfuse provides the reference implementation for communicating
-with the FUSE kernel module.
-
-This ought not collide with the "fuse" package in stock slackware install.
diff --git a/system/fuse3/fuse3.SlackBuild b/system/fuse3/fuse3.SlackBuild
deleted file mode 100644
index 5b52fdfe2f..0000000000
--- a/system/fuse3/fuse3.SlackBuild
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for fuse3
-
-# Copyright 2019 Vincent Batts, Raleigh, NC, 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.
-
-SUFFIX=3
-BASENAME=fuse
-PRGNAM=${BASENAME}${SUFFIX}
-VERSION=${VERSION:-3.3.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 $BASENAME-$VERSION
-tar xvf $CWD/$BASENAME-$VERSION.tar.xz
-cd $BASENAME-$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 {} \;
-
-meson build \
- -Dexamples=false \
- -Dudevrulesdir="/etc/udev/rules.d" \
- --prefix="/usr" \
- --mandir="/usr/man"
-ninja -C build
-DESTDIR=$PKG ninja -C build 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 {} \;
-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 \
- README.md LICENSE LGPL2.txt GPL2.txt doc/ example/ \
- $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/system/fuse3/fuse3.info b/system/fuse3/fuse3.info
deleted file mode 100644
index b2ef5b541d..0000000000
--- a/system/fuse3/fuse3.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="fuse3"
-VERSION="3.3.0"
-HOMEPAGE="https://github.com/libfuse/libfuse"
-DOWNLOAD="https://github.com/libfuse/libfuse/releases/download/fuse-3.3.0/fuse-3.3.0.tar.xz"
-MD5SUM="2568a6bd41f5a4dead66e119a83cebaf"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="meson"
-MAINTAINER="Vincent Batts"
-EMAIL="vbatts@hashbanghbash.com"
diff --git a/system/fuse3/slack-desc b/system/fuse3/slack-desc
deleted file mode 100644
index 6cd1dacca4..0000000000
--- a/system/fuse3/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------------------------------------------------------|
-fuse3: fuse3 (Filesystem in Userspace)
-fuse3:
-fuse3: FUSE is a simple interface for userspace programs to export a virtual
-fuse3: filesystem to the Linux kernel. FUSE also aims to provide a secure
-fuse3: method for non privileged users to create and mount their own
-fuse3: filesystem implementations.
-fuse3:
-fuse3: Homepage: https://github.com/libfuse/libfuse
-fuse3:
-fuse3:
-fuse3:
diff --git a/system/fwupdate/fwupdate.SlackBuild b/system/fwupdate/fwupdate.SlackBuild
index 682bce6a05..5487906bf4 100644
--- a/system/fwupdate/fwupdate.SlackBuild
+++ b/system/fwupdate/fwupdate.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 {} \;
+sed -i "s|-Og|-Og -Wno-error=address-of-packed-member -Wno-error=pointer-sign|" \
+ {efi,linux}/Makefile
+
# randomly fails with more than one thread
make -j1 \
EFIDIR=Slackware \
diff --git a/system/geoclue/geoclue.SlackBuild b/system/geoclue/geoclue.SlackBuild
index ce119daa39..5276a0cd02 100644
--- a/system/geoclue/geoclue.SlackBuild
+++ b/system/geoclue/geoclue.SlackBuild
@@ -82,7 +82,6 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-static=no \
--enable-gtk=yes \
- --enable-networkmanager=yes \
--enable-skyhook=yes \
--enable-gpsd=no \
--build=$ARCH-slackware-linux
diff --git a/system/gnome-terminal/gnome-terminal.info b/system/gnome-terminal/gnome-terminal.info
index e9dce86924..e28f430da0 100644
--- a/system/gnome-terminal/gnome-terminal.info
+++ b/system/gnome-terminal/gnome-terminal.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://ftp.gnome.org/pub/gnome/sources/gnome-terminal/2.32/gnome-term
MD5SUM="cb7843b97a78a3bbaac9381f78bb8569"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libgnome rarian"
+REQUIRES="libgnome rarian vte2"
MAINTAINER="Thorn Inurcide"
EMAIL="thorn-inurcide@hotmail.com"
diff --git a/system/gnome-vfs/gnome-vfs.SlackBuild b/system/gnome-vfs/gnome-vfs.SlackBuild
index 2a2e087339..7d8a3dfb57 100644
--- a/system/gnome-vfs/gnome-vfs.SlackBuild
+++ b/system/gnome-vfs/gnome-vfs.SlackBuild
@@ -72,6 +72,8 @@ find -L . \
# Fix for the newer glib
sed -i "/-DG_DISABLE_DEPRECATED/d" */Makefile.*
+LIBS="-L/usr/lib$LIBDIRSUFFIX/openssl-1.0" \
+CPPFLAGS="-I/usr/include/openssl-1.0" \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/system/guake/guake.info b/system/guake/guake.info
index 4318250bec..1aa4c2f63a 100644
--- a/system/guake/guake.info
+++ b/system/guake/guake.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/Guake/guake/archive/0.8.14/guake-0.8.14.tar.gz"
MD5SUM="a0155a28c4417d3c6200afbdebe2c306"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="pyxdg python-keybinder gnome-python2-gconf gnome-common"
+REQUIRES="pyxdg python-keybinder gnome-python2-gconf gnome-common vte2"
MAINTAINER="Donald Cooley"
EMAIL="chytraeu@sdf.org"
diff --git a/system/guefi/README b/system/guefi/README
new file mode 100644
index 0000000000..63caa688ed
--- /dev/null
+++ b/system/guefi/README
@@ -0,0 +1,3 @@
+GUEFI is a Python/GTK+3 application that acts as a frontend for
+efibootmgr. It provides an easy to use interface for managing
+UEFI boot options.
diff --git a/python/idna/idna.SlackBuild b/system/guefi/guefi.SlackBuild
index fce3d8cdf5..a515d4ceb6 100644
--- a/python/idna/idna.SlackBuild
+++ b/system/guefi/guefi.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for idna
+# Slackware build script for guefi
-# Copyright 2015-2018 Markus Reichelt, Aachen, DE
+# Copyright 2017 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=idna
-VERSION=${VERSION:-2.6}
+PRGNAM=guefi
+VERSION=${VERSION:-0.1.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,13 +54,15 @@ else
LIBDIRSUFFIX=""
fi
+DOCS="AUTHORS COPYING README.md"
+
set -e
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.gz || tar xvf $CWD/$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -69,17 +71,17 @@ 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
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+make prefix=/usr
-if $(python3 -c 'import sys' 2>/dev/null); then
- python3 setup.py install --root=$PKG
-fi
+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 *.rst $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
diff --git a/system/guefi/guefi.info b/system/guefi/guefi.info
new file mode 100644
index 0000000000..b91af7b998
--- /dev/null
+++ b/system/guefi/guefi.info
@@ -0,0 +1,10 @@
+PRGNAM="guefi"
+VERSION="0.1.3"
+HOMEPAGE="https://github.com/gapan/guefi"
+DOWNLOAD="https://github.com/gapan/guefi/archive/0.1.3.tar.gz"
+MD5SUM="08355512dd019d93f8809c66fb00132b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/libraries/pcre2/slack-desc b/system/guefi/slack-desc
index 5eaf0e0af3..e0df51a295 100644
--- a/libraries/pcre2/slack-desc
+++ b/system/guefi/slack-desc
@@ -6,14 +6,14 @@
# 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:
+guefi: guefi (GTK+3 frontend for efibootmgr)
+guefi:
+guefi: GUEFI is a Python/GTK+3 application that acts as a frontend for
+guefi: efibootmgr. It provides an easy to use interface for managing
+guefi: UEFI boot options.
+guefi:
+guefi: homepage: https://github.com/gapan/guefi
+guefi:
+guefi:
+guefi:
+guefi:
diff --git a/system/haveged/README b/system/haveged/README
deleted file mode 100644
index 187b3bdda9..0000000000
--- a/system/haveged/README
+++ /dev/null
@@ -1,27 +0,0 @@
-haveged (a simple entropy-gathering daemon)
-
-The haveged project is an attempt to provide an easy-to-use, unpredictable
-random number generator based upon an adaptation of the HAVEGE algorithm.
-Haveged was created to remedy low-entropy conditions in the Linux random
-device that can occur under some workloads, especially on headless servers.
-
-The HAVEGE algorithm is based upon the indirect effects of unrelated hardware
-events on the instruction timing of a calculation that is sensitive to
-processor features such as branch predictors and instruction/data access
-mechanisms.
-Samples from a high-resolution timer are input into the algorithm to
-produce a stream of random data in a collection buffer. The contents of this
-buffer can be fed into the random device or accessed directly through the
-file system. File system access is a useful alternative to those situations
-where use of the random device is either inappropriate or not available.
-
-Add the following snippet to your /etc/rc.d/rc.M to start up haveged at boot:
-
-# Starting HAVEGED entropy daemon
-if [ -x /etc/rc.d/rc.haveged ]; then
- /etc/rc.d/rc.haveged start
-fi
-
-You can see how many bits of entropy are available to the system by reading
-the /proc/sys/kernel/random/entropy_avail file, and check the size of your
-entropy pool at /proc/sys/kernel/random/poolsize.
diff --git a/system/haveged/doinst.sh b/system/haveged/doinst.sh
deleted file mode 100644
index b9e90c8608..0000000000
--- a/system/haveged/doinst.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-config() {
- for infile in $1; do
- NEW="$infile"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
- done
-}
-
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
-
-preserve_perms etc/rc.d/rc.haveged.new
-
diff --git a/system/haveged/haveged.SlackBuild b/system/haveged/haveged.SlackBuild
deleted file mode 100644
index 0d5e97f692..0000000000
--- a/system/haveged/haveged.SlackBuild
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for haveged
-
-# Copyright 2018 Erik Falor, Logan, Utah, 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.
-
-# Modified by Nikos Giotis 20170903, Athens, GR
-# Use static building
-# Changed install target to /sbin, /lib[64]
-# Added check for existing installation due to problems when rebuilding
-# produces binary that segfaults if any previous installation is there
-
-PRGNAM=haveged
-VERSION=${VERSION:-1.9.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
-
-# Try to detect any previous installations and bail out if true
-if [ -f "/usr/lib$LIBDIRSUFFIX/libhavege.so" -o \
- -f "/usr/lib$LIBDIRSUFFIX/libhavege.a" -o \
- -f "/lib$LIBDIRSUFFIX/libhavege.so" -o \
- -f "/lib$LIBDIRSUFFIX/libhavege.a" ]; then
- echo 'Detected libhaveged!' >&2
- echo 'Please remove libhaveged before building a new one.' >&2
- exit 1
-fi
-
-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 {} \;
-
-# Static build for easier inclusion in initrd
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-LDFLAGS="-static" \
-./configure \
- --prefix=/usr \
- --sbindir=/sbin \
- --libdir=/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-rm -rf $PKG/etc/init.d
-install -D -m0755 -oroot -groot $CWD/rc.haveged $PKG/etc/rc.d/rc.haveged.new
-
-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 AUTHORS COPYING ChangeLog INSTALL 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
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/haveged/haveged.info b/system/haveged/haveged.info
deleted file mode 100644
index ea62f1b72e..0000000000
--- a/system/haveged/haveged.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="haveged"
-VERSION="1.9.2"
-HOMEPAGE="http://www.issihosts.com/haveged/index.html"
-DOWNLOAD="http://www.issihosts.com/haveged/haveged-1.9.2.tar.gz"
-MD5SUM="fb1d8b3dcbb9d06b30eccd8aa500fd31"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Erik Falor"
-EMAIL="ewfalor@gmail.com"
diff --git a/system/haveged/rc.haveged b/system/haveged/rc.haveged
deleted file mode 100644
index 404d9ca800..0000000000
--- a/system/haveged/rc.haveged
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-# Start/stop/restart haveged.
-
-PIDFILE=/var/run/haveged.pid
-HAVEGED_OPTS="-w 1024 -v 1 -p $PIDFILE"
-
-# Start haveged:
-haveged_start() {
- if [ -f $PIDFILE ]; then
- echo "HAVEGE daemon is already running as PID $(cat $PIDFILE) " >&2
- exit 3
- elif [ -x /sbin/haveged ]; then
- echo "Starting HAVEGE daemon: /sbin/haveged"
- /sbin/haveged $HAVEGED_OPTS
- fi
-}
-
-# Stop haveged:
-haveged_stop() {
- if [ -r /var/run/haveged.pid ]; then
- kill $(cat /var/run/haveged.pid)
- else
- killall haveged
- fi
-}
-
-# Restart haveged:
-haveged_restart() {
- haveged_stop
- sleep 1
- haveged_start
-}
-
-case "$1" in
-'start')
- haveged_start
- ;;
-'stop')
- haveged_stop
- ;;
-'restart')
- haveged_restart
- ;;
-*)
- echo "usage $0 start|stop|restart"
- exit 2
-esac
diff --git a/system/haveged/slack-desc b/system/haveged/slack-desc
deleted file mode 100644
index 55d8f9ed50..0000000000
--- a/system/haveged/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------------------------------------------------------|
-haveged: haveged (A simple entropy daemon)
-haveged:
-haveged: The haveged project is an attempt to provide an easy-to-use,
-haveged: unpredictable random number generator based upon an adaptation of the
-haveged: HAVEGE algorithm. Haveged was created to remedy low-entropy
-haveged: conditions in the Linux random device that can occur under some
-haveged: workloads, especially on headless servers.
-haveged:
-haveged:
-haveged:
-haveged:
diff --git a/system/innotop/README b/system/innotop/README
deleted file mode 100644
index 91cdb498ac..0000000000
--- a/system/innotop/README
+++ /dev/null
@@ -1,6 +0,0 @@
-MySQL and InnoDB transaction/status monitor. Like 'top' for MySQL.
-
-Displays queries, InnoDB transactions, lock waits, deadlocks, foreign key
-errors, open tables, replication status, buffer information, row
-operations, logs, I/O operations, load graph, and more.
-You can monitor many servers at once with innotop.
diff --git a/system/innotop/innotop.SlackBuild b/system/innotop/innotop.SlackBuild
deleted file mode 100644
index feebb18fe5..0000000000
--- a/system/innotop/innotop.SlackBuild
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for innotop
-
-# Copyright 2010-2013 Heinz Wiesinger, Amsterdam, The Netherlands
-# 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=innotop
-VERSION=${VERSION:-1.9.1}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-ARCH="noarch"
-
-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 $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 {} \;
-
-perl Makefile.PL INSTALLDIRS=vendor
-make
-make test
-make install DESTDIR=$PKG
-
-#Move man-pages to appropriate place
-mv $PKG/usr/share/man $PKG/usr/
-
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-find $PKG -depth -type d -empty -exec rm -rf {} \;
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a Changelog COPYING INSTALL MANIFEST \
- $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/system/innotop/innotop.info b/system/innotop/innotop.info
deleted file mode 100644
index 5db755263b..0000000000
--- a/system/innotop/innotop.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="innotop"
-VERSION="1.9.1"
-HOMEPAGE="https://github.com/innotop/innotop"
-DOWNLOAD="https://distfiles.macports.org/innotop/innotop-1.9.1.tar.gz"
-MD5SUM="7979b7a074e43fe1f0d032034e234bac"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Heinz Wiesinger"
-EMAIL="pprkut@liwjatan.at"
diff --git a/system/innotop/slack-desc b/system/innotop/slack-desc
deleted file mode 100644
index 889a1b9c46..0000000000
--- a/system/innotop/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------------------------------------------------------|
-innotop: innotop (MySQL / InnoDB monitor application)
-innotop:
-innotop: MySQL and InnoDB transaction/status monitor. Like 'top' for MySQL.
-innotop: Displays queries, InnoDB transactions, lock waits, deadlocks, foreign
-innotop: key errors, open tables, replication status, buffer information, row
-innotop: operations, logs, I/O operations, load graph, and more.
-innotop: You can monitor many servers at once with innotop.
-innotop:
-innotop: Homepage: https://github.com/innotop/innotop
-innotop:
-innotop:
diff --git a/system/ipmitool/ipmitool.SlackBuild b/system/ipmitool/ipmitool.SlackBuild
index b632d54ce8..595e05539b 100644
--- a/system/ipmitool/ipmitool.SlackBuild
+++ b/system/ipmitool/ipmitool.SlackBuild
@@ -9,15 +9,16 @@
# Based on http://slackbuilds.org/template.SlackBuild
# Modified by Mario Preksavec <mario@slackware.hr>
+# Modified by the SlackBuilds.org project
PRGNAM=ipmitool
-VERSION=${VERSION:-1.8.13}
+VERSION=${VERSION:-1.8.18}
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
@@ -28,8 +29,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"
@@ -52,10 +53,13 @@ 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 {} \;
+ \( -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 from fedora to support openssl-1.1.x
+patch -p1 < $CWD/openssl-1.1.x.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -70,13 +74,11 @@ CXXFLAGS="$SLKCFLAGS" \
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
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+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
mv $PKG/usr/share/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/ipmitool/ipmitool.info b/system/ipmitool/ipmitool.info
index db17f3f7d4..3304a70819 100644
--- a/system/ipmitool/ipmitool.info
+++ b/system/ipmitool/ipmitool.info
@@ -1,8 +1,8 @@
PRGNAM="ipmitool"
-VERSION="1.8.13"
+VERSION="1.8.18"
HOMEPAGE="http://ipmitool.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/project/ipmitool/ipmitool/1.8.13/ipmitool-1.8.13.tar.gz"
-MD5SUM="c1107597848bd0a8be05c179e6f66b62"
+DOWNLOAD="http://downloads.sourceforge.net/ipmitool/ipmitool-1.8.18.tar.gz"
+MD5SUM="55304c6c5b994784222d3944d086fa30"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ipmitool/openssl-1.1.x.patch b/system/ipmitool/openssl-1.1.x.patch
new file mode 100644
index 0000000000..ff5e7051bf
--- /dev/null
+++ b/system/ipmitool/openssl-1.1.x.patch
@@ -0,0 +1,89 @@
+diff -urNp old/src/plugins/lanplus/lanplus_crypt_impl.c new/src/plugins/lanplus/lanplus_crypt_impl.c
+--- old/src/plugins/lanplus/lanplus_crypt_impl.c 2016-05-28 10:20:20.000000000 +0200
++++ new/src/plugins/lanplus/lanplus_crypt_impl.c 2017-02-21 10:50:21.634873466 +0100
+@@ -164,10 +164,10 @@ lanplus_encrypt_aes_cbc_128(const uint8_
+ uint8_t * output,
+ uint32_t * bytes_written)
+ {
+- EVP_CIPHER_CTX ctx;
+- EVP_CIPHER_CTX_init(&ctx);
+- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv);
+- EVP_CIPHER_CTX_set_padding(&ctx, 0);
++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++ EVP_CIPHER_CTX_init(ctx);
++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
++ EVP_CIPHER_CTX_set_padding(ctx, 0);
+
+
+ *bytes_written = 0;
+@@ -191,7 +191,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_
+ assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
+
+
+- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length))
++ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length))
+ {
+ /* Error */
+ *bytes_written = 0;
+@@ -201,7 +201,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_
+ {
+ uint32_t tmplen;
+
+- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen))
++ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen))
+ {
+ *bytes_written = 0;
+ return; /* Error */
+@@ -210,7 +210,8 @@ lanplus_encrypt_aes_cbc_128(const uint8_
+ {
+ /* Success */
+ *bytes_written += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_cleanup(ctx);
++ EVP_CIPHER_CTX_free(ctx);
+ }
+ }
+ }
+@@ -239,10 +240,10 @@ lanplus_decrypt_aes_cbc_128(const uint8_
+ uint8_t * output,
+ uint32_t * bytes_written)
+ {
+- EVP_CIPHER_CTX ctx;
+- EVP_CIPHER_CTX_init(&ctx);
+- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv);
+- EVP_CIPHER_CTX_set_padding(&ctx, 0);
++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++ EVP_CIPHER_CTX_init(ctx);
++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
++ EVP_CIPHER_CTX_set_padding(ctx, 0);
+
+
+ if (verbose >= 5)
+@@ -266,7 +267,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_
+ assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
+
+
+- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length))
++ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length))
+ {
+ /* Error */
+ lprintf(LOG_DEBUG, "ERROR: decrypt update failed");
+@@ -277,7 +278,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_
+ {
+ uint32_t tmplen;
+
+- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen))
++ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen))
+ {
+ char buffer[1000];
+ ERR_error_string(ERR_get_error(), buffer);
+@@ -290,7 +291,8 @@ lanplus_decrypt_aes_cbc_128(const uint8_
+ {
+ /* Success */
+ *bytes_written += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_cleanup(ctx);
++ EVP_CIPHER_CTX_free(ctx);
+ }
+ }
+
diff --git a/system/iscan-data/README b/system/iscan-data/README
new file mode 100644
index 0000000000..e26cac2c62
--- /dev/null
+++ b/system/iscan-data/README
@@ -0,0 +1,2 @@
+This package contains EPSON Image Scan! data files which are
+required for using certain EPSON all-in-one devices.
diff --git a/libraries/jansson/jansson.SlackBuild b/system/iscan-data/iscan-data.SlackBuild
index 442ed044e0..0219b2faad 100644
--- a/libraries/jansson/jansson.SlackBuild
+++ b/system/iscan-data/iscan-data.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for jansson
+# Slackware build script for iscan-data
-# Copyright 2014-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
+# Copyright 2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,9 @@
# 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}
+PRGNAM=iscan-data
+VERSION=${VERSION:-1.39.1}
+ADDVER=${ADDVER:-2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,13 +55,15 @@ else
LIBDIRSUFFIX=""
fi
+DOCS="COPYING KNOWN-PROBLEMS SUPPORTED-DEVICES"
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/${PRGNAM}_${VERSION}-${ADDVER}.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -78,8 +81,6 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-static=no \
- --disable-silent-rules \
--build=$ARCH-slackware-linux
make
@@ -89,7 +90,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 CHANGES LICENSE README.rst $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
diff --git a/system/iscan-data/iscan-data.info b/system/iscan-data/iscan-data.info
new file mode 100644
index 0000000000..a59ad78c7e
--- /dev/null
+++ b/system/iscan-data/iscan-data.info
@@ -0,0 +1,10 @@
+PRGNAM="iscan-data"
+VERSION="1.39.1"
+HOMEPAGE="http://epson.net"
+DOWNLOAD="http://support.epson.net/linux/src/scanner/iscan/iscan-data_1.39.1-2.tar.gz"
+MD5SUM="3a20ada6e5306048ce02e436bcb6afe3"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/libraries/libopusenc/slack-desc b/system/iscan-data/slack-desc
index 041704af97..d3f025101e 100644
--- a/libraries/libopusenc/slack-desc
+++ b/system/iscan-data/slack-desc
@@ -6,14 +6,14 @@
# 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:
+iscan-data: iscan-data (EPSON Image Scan! data files)
+iscan-data:
+iscan-data: This package contains EPSON Image Scan! data files which are
+iscan-data: required for using certain EPSON all-in-one devices.
+iscan-data:
+iscan-data: homepage: http://epson.net
+iscan-data:
+iscan-data:
+iscan-data:
+iscan-data:
+iscan-data:
diff --git a/system/iscan/README b/system/iscan/README
new file mode 100644
index 0000000000..3ae47041b7
--- /dev/null
+++ b/system/iscan/README
@@ -0,0 +1,4 @@
+EPSON Image Scan! for Linux enables you to print to a networked
+all-in-one EPSON printer. A SANE 'epkowa' backend is provided
+as well; scanning over the network requires the additional
+iscan-network-nt package which contains a protocol driver.
diff --git a/audio/easytag/doinst.sh b/system/iscan/doinst.sh
index aea0f894eb..25f34e1d3a 100644
--- a/audio/easytag/doinst.sh
+++ b/system/iscan/doinst.sh
@@ -1,3 +1,18 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/sane.d/epkowa.conf.new
+
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
@@ -11,3 +26,4 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
+
diff --git a/audio/opus-tools/opus-tools.SlackBuild b/system/iscan/iscan.SlackBuild
index 1e4fff59f7..33276ad0c0 100644
--- a/audio/opus-tools/opus-tools.SlackBuild
+++ b/system/iscan/iscan.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for opus-tools
+# Slackware build script for iscan
-# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=opus-tools
-VERSION=${VERSION:-0.2}
+# Shamelessly ripped from Alien Bob's script: thank him for all the hard work!
+
+PRGNAM=iscan
+VERSION=${VERSION:-2.30.4}
+ADDVER=${ADDVER:-2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,7 +57,15 @@ else
LIBDIRSUFFIX=""
fi
-DOCS="AUTHORS COPYING"
+# Minor library version of libpng on our system:
+PNGMINOR=$(pkg-config --modversion libpng |cut -d'.' -f2)
+if [ $PNGMINOR -gt 5 ]; then
+ PNG_LDFLAGS="-lpng16"
+elif [ $PNGMINOR -eq 4 ]; then
+ PNG_LDFLAGS="-lpng14"
+fi
+
+DOCS="COPYING INSTALL NEWS README non-free/COPYING*.txt"
set -e
@@ -62,7 +73,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
+tar xvf $CWD/${PRGNAM}_${VERSION}-${ADDVER}.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -71,6 +82,17 @@ 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 {} \;
+# Apply ArchLinux patches:
+# Allow linking against libpng15 and newer:
+patch -p0 < $CWD/patches/iscan_png15.patch
+# Patch for ambiguous div in jpegstream.cc:
+patch -p0 < $CWD/patches/jpegstream.cc.patch
+# Fix compilation error 'unknown type name u_char' on 32bit:
+patch -p1 < $CWD/patches/iscan-2.30.3_x86-unknown-types.patch
+# Add fix for CXX ABI different than 1002:
+ln -s libesmod-x86_64.c2.so non-free/libesmod-x86_64.so
+
+LDFLAGS="-ldl $PNG_LDFLAGS" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -80,11 +102,30 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-dependency-reduction \
+ --enable-frontend \
+ --enable-jpeg \
+ --enable-tiff \
+ --enable-png \
+ --enable-gimp \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
+# Install the SANE backend configuration:
+mkdir -p $PKG/etc/sane.d/dll.d
+install -m0644 backend/epkowa.conf $PKG/etc/sane.d/epkowa.conf.new
+echo "epkowa" > $PKG/etc/sane.d/dll.d/epkowa.conf
+
+# Create the forgotten desktop menu:
+mkdir -p $PKG/usr/share/applications
+install -m0644 $PRGNAM.desktop $PKG/usr/share/applications/$PRGNAM.desktop
+
+# Make the GIMP aware of the iscan plugin:
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/gimp/2.0/plug-ins
+ln -s /usr/bin/$PRGNAM $PKG/usr/lib$LIBDIRSUFFIX/gimp/2.0/plug-ins/
+
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
@@ -97,6 +138,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/iscan/iscan.info b/system/iscan/iscan.info
new file mode 100644
index 0000000000..a299693821
--- /dev/null
+++ b/system/iscan/iscan.info
@@ -0,0 +1,10 @@
+PRGNAM="iscan"
+VERSION="2.30.4"
+HOMEPAGE="http://epson.net"
+DOWNLOAD="http://support.epson.net/linux/src/scanner/iscan/iscan_2.30.4-2.tar.gz"
+MD5SUM="b79c73341fcd7dd930381d50952b88c8"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="iscan-data"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/system/iscan/patches/iscan-2.30.3_x86-unknown-types.patch b/system/iscan/patches/iscan-2.30.3_x86-unknown-types.patch
new file mode 100644
index 0000000000..9bb856ff83
--- /dev/null
+++ b/system/iscan/patches/iscan-2.30.3_x86-unknown-types.patch
@@ -0,0 +1,12 @@
+diff -ru a/sanei/sanei_pio.c b/sanei/sanei_pio.c
+--- a/sanei/sanei_pio.c 2019-03-01 10:44:36.723260142 -0600
++++ b/sanei/sanei_pio.c 2019-03-01 10:48:47.660693036 -0600
+@@ -73,6 +73,7 @@
+ #elif HAVE_SYS_HW_H
+ # include <sys/hw.h>
+ #elif defined(__i386__) && defined (__GNUC__)
++#include <sys/types.h>
+
+ static __inline__ void
+ outb (u_char value, u_long port)
+
diff --git a/system/iscan/patches/iscan_png15.patch b/system/iscan/patches/iscan_png15.patch
new file mode 100644
index 0000000000..8220ac4af3
--- /dev/null
+++ b/system/iscan/patches/iscan_png15.patch
@@ -0,0 +1,52 @@
+#
+# Thanks to Fabio Castelli, ArchLinux:
+# https://projects.archlinux.org/svntogit/community.git/tree/trunk/libpng15.patch?h=packages/iscan
+#
+--- lib/pngstream.cc 2011-12-01 02:30:53.000000000 +0100
++++ lib/pngstream.cc 2012-02-06 03:06:22.000000000 +0100
+@@ -83,7 +83,12 @@
+ #if HAVE_PNG_H
+ set_error_handler (_png, _info);
+
++/* when not interlacing (ie, only one pass), number of rows is image height: _v_sz */
++#if PNG_LIBPNG_VER > 10499
++ if (!_footer && _v_sz == lib->get_current_row_number(_png))
++#else
+ if (_header && !_footer && _png->num_rows == _png->flush_rows)
++#endif
+ {
+ lib->write_end (_png, _info);
+ _footer = true;
+@@ -167,6 +172,9 @@
+ funcsym (write_row);
+ funcsym (write_flush);
+ funcsym (write_end);
++#if PNG_LIBPNG_VER > 10499
++ funcsym (get_current_row_number);
++#endif
+
+ if (lib->access_version_number
+ && lib->create_write_struct
+@@ -176,6 +184,9 @@
+ && lib->set_IHDR
+ && lib->set_pHYs
+ && lib->set_invert_mono
++#if PNG_LIBPNG_VER > 10499
++ && lib->get_current_row_number
++#endif
+ && lib->write_info
+ && lib->write_row
+ && lib->write_flush
+--- lib/pngstream.hh 2011-12-01 02:30:53.000000000 +0100
++++ lib/pngstream.hh 2012-02-06 03:09:09.000000000 +0100
+@@ -108,6 +108,10 @@
+ png_structp);
+ fundecl (void, write_end,
+ png_structp, png_infop);
++#if PNG_LIBPNG_VER > 10499
++ fundecl (png_uint_32, get_current_row_number,
++ png_structp);
++#endif
+ #endif /* HAVE_PNG_H */
+ };
+ static png_lib_handle *lib;
diff --git a/system/iscan/patches/jpegstream.cc.patch b/system/iscan/patches/jpegstream.cc.patch
new file mode 100644
index 0000000000..988a25daea
--- /dev/null
+++ b/system/iscan/patches/jpegstream.cc.patch
@@ -0,0 +1,21 @@
+--- lib/jpegstream.cc.orig 2016-06-20 06:10:38.000000000 +0200
++++ lib/jpegstream.cc 2016-07-10 18:45:40.511301054 +0200
+@@ -33,7 +33,7 @@
+
+ #include "jpegstream.hh"
+
+-#include <cstdlib>
++// #include <cstdlib>
+ #include <ios>
+
+ namespace iscan
+@@ -82,7 +82,8 @@
+ // only that _bits != 8.
+ for (unsigned int i = 0; i < _h_sz; ++i)
+ {
+- div_t index = div (i, 8 * sizeof (JSAMPLE));
++ div_t index = div (static_cast<int>(i),
++ static_cast<int>(8 * sizeof (JSAMPLE)));
+ int offset = 8 * sizeof (JSAMPLE) - 1 - index.rem;
+ _scanline[i] = ((line[index.quot] & (1 << offset))
+ ? 0 : ~0);
diff --git a/office/sc-im/slack-desc b/system/iscan/slack-desc
index d0321b449a..56fcd9b5c0 100644
--- a/office/sc-im/slack-desc
+++ b/system/iscan/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-sc-im: sc-im (spreadsheet)
-sc-im:
-sc-im: SC-IM is a spreadsheet program that is based on SC
-sc-im:
-sc-im: SC-IM - Spreadsheet Calculator Improvised
-sc-im: An ncurses spreadsheet program for terminal
-sc-im:
-sc-im:
-sc-im: https://github.com/andmarti1424/sc-im
-sc-im:
-sc-im:
+iscan: iscan (front-end for EPSON all-in-one devices)
+iscan:
+iscan: EPSON Image Scan! for Linux enables you to print to a networked
+iscan: all-in-one EPSON printer. A SANE 'epkowa' backend is provided
+iscan: as well; scanning over the network requires the additional
+iscan: iscan-network-nt package which contains a protocol driver.
+iscan:
+iscan: homepage: http://epson.net
+iscan:
+iscan:
+iscan:
diff --git a/system/jmtpfs/README b/system/jmtpfs/README
deleted file mode 100644
index d43b1a7ac3..0000000000
--- a/system/jmtpfs/README
+++ /dev/null
@@ -1,10 +0,0 @@
-jmtpfs is a FUSE and libmtp based filesystem for accessing MTP
-(Media Transfer Protocol) devices. It was specifically designed
-for exchaning files between Linux (and Mac OS X) systems and
-newer Android devices that support MTP but not USB Mass Storage.
-
-The goal is to create a well behaved filesystem, allowing tools
-like find and rsync to work as expected. MTP file types are set
-automatically based on file type detection using libmagic.
-Setting the file appears to be necessary for some Android apps,
-like Gallery, to be able to find and use the files.
diff --git a/system/jmtpfs/jmtpfs.SlackBuild b/system/jmtpfs/jmtpfs.SlackBuild
deleted file mode 100644
index 545efff32e..0000000000
--- a/system/jmtpfs/jmtpfs.SlackBuild
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for jmtpfs
-
-# Copyright 2015 Andre Barboza, Belo Horizonte, Minas Gerais, 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=jmtpfs
-VERSION=${VERSION:-0.5}
-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/v$VERSION.tar.gz || 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 {} \;
-
-CXXFLAGS="$SLKCFLAGS -lpthread" \
-./configure \
- --prefix=/usr \
- --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 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/system/jmtpfs/jmtpfs.info b/system/jmtpfs/jmtpfs.info
deleted file mode 100644
index 897c93dc9f..0000000000
--- a/system/jmtpfs/jmtpfs.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="jmtpfs"
-VERSION="0.5"
-HOMEPAGE="https://github.com/JasonFerrara/jmtpfs"
-DOWNLOAD="https://github.com/JasonFerrara/jmtpfs/archive/v0.5.tar.gz"
-MD5SUM="501e51530d3c04d63e9ac96d794bf5c5"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Andre Barboza"
-EMAIL="bmg.andre@gmail.com"
diff --git a/system/jmtpfs/slack-desc b/system/jmtpfs/slack-desc
deleted file mode 100644
index 7fab708cd9..0000000000
--- a/system/jmtpfs/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------------------------------------------------------|
-jmtpfs: jmtpfs (FUSE and libmtp based filesystem for accessing MTP)
-jmtpfs:
-jmtpfs: jmtpfs is a FUSE and libmtp based filesystem for accessing MTP
-jmtpfs: (Media Transfer Protocol) devices. It was specifically designed
-jmtpfs: for exchaning files between Linux (and Mac OS X) systems and
-jmtpfs: newer Android devices that support MTP but not USB Mass
-jmtpfs: Storage.
-jmtpfs:
-jmtpfs:
-jmtpfs:
-jmtpfs: https://github.com/JasonFerrara/jmtpfs
diff --git a/system/lbzip2/README b/system/lbzip2/README
deleted file mode 100644
index 2092f0ebfb..0000000000
--- a/system/lbzip2/README
+++ /dev/null
@@ -1,2 +0,0 @@
-lbzip2 is a multi-threaded bzip2/bunzip2 filter that doesn't depend on the
-lseek() system call and so isn't restricted to regular files.
diff --git a/system/lbzip2/lbzip2.SlackBuild b/system/lbzip2/lbzip2.SlackBuild
deleted file mode 100644
index 801213a810..0000000000
--- a/system/lbzip2/lbzip2.SlackBuild
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-#
-# Slackware build script for lbzip2
-#
-# Copyright 2009-2010 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.
-
-# Modified by B. Watson <yalhcru@gmail.com>.
-
-# 20170302 bkw: use long-format github URL
-
-# 20150519 bkw:
-# - took over maintenance
-# - bump VERSION to 2.5
-# - add gnulib dependency
-# - make VERSION respect environment
-# - clean up slack-desc
-
-PRGNAM=lbzip2
-VERSION=${VERSION:-2.5}
-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 -eu
-
-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 {} \;
-
-# Upstream says automake-1.14 is required, but our
-# 1.11.5 works fine if we change the version check.
-sed -i '/^AM_INIT_AUTOMAKE/s,1\.14,1.11.5,' configure.ac
-
-sh build-aux/autogen.sh
-
-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
-
-gzip $PKG/usr/man/man1/$PRGNAM.1
-
-# The other man pages just source lbzip2.1. Make them
-# symlinks instead (easier to deal with).
-for i in lbunzip2 lbzcat; do
- rm -f $PKG/usr/man/man1/$i.1
- ln -s $PRGNAM.1.gz $PKG/usr/man/man1/$i.1.gz
-done
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a ALGORITHM AUTHORS COPYING ChangeLog* 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/system/lbzip2/lbzip2.info b/system/lbzip2/lbzip2.info
deleted file mode 100644
index c1ccd5d21a..0000000000
--- a/system/lbzip2/lbzip2.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="lbzip2"
-VERSION="2.5"
-HOMEPAGE="https://github.com/kjn/lbzip2/"
-DOWNLOAD="https://github.com/kjn/lbzip2/archive/v2.5/lbzip2-2.5.tar.gz"
-MD5SUM="288e404f325d9073bdc80759cae30adc"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="gnulib"
-MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
diff --git a/system/lbzip2/slack-desc b/system/lbzip2/slack-desc
deleted file mode 100644
index fb3286dd7e..0000000000
--- a/system/lbzip2/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------------------------------------------------------|
-lbzip2: lbzip2 (a pthreads-based parallel bzip2/bunzip2)
-lbzip2:
-lbzip2: Lbzip2 is a Pthreads-based parallel bzip2/bunzip2 filter passable to
-lbzip2: GNU tar with the --use-compress-program option. It isn't restricted
-lbzip2: to regular files on input, nor output.
-lbzip2:
-lbzip2:
-lbzip2:
-lbzip2:
-lbzip2:
-lbzip2:
diff --git a/system/lilyterm/lilyterm.SlackBuild b/system/lilyterm/lilyterm.SlackBuild
index 6d4a4a5835..b5bc2dfe1e 100644
--- a/system/lilyterm/lilyterm.SlackBuild
+++ b/system/lilyterm/lilyterm.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lilyterm
-VERSION=${VERSION:-0.9.9.2}
+VERSION=${VERSION:-0.9.9.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lilyterm/lilyterm.info b/system/lilyterm/lilyterm.info
index 18760fdefe..c7f00b5797 100644
--- a/system/lilyterm/lilyterm.info
+++ b/system/lilyterm/lilyterm.info
@@ -1,10 +1,10 @@
PRGNAM="lilyterm"
-VERSION="0.9.9.2"
+VERSION="0.9.9.4"
HOMEPAGE="https://lilyterm.luna.com.tw/index.html"
-DOWNLOAD="https://lilyterm.luna.com.tw/file/lilyterm-0.9.9.2.tar.gz"
-MD5SUM="d68dd29ce4894f765adba1efd470f90e"
+DOWNLOAD="https://lilyterm.luna.com.tw/file/lilyterm-0.9.9.4.tar.gz"
+MD5SUM="3bbfd4037d45a16b1b45846ce51d100a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="vte2"
MAINTAINER="Emil Torofiev"
EMAIL="etorofiev@gmail.com"
diff --git a/system/lxterminal/lxterminal.info b/system/lxterminal/lxterminal.info
index 8f5130af46..bd782fb65f 100644
--- a/system/lxterminal/lxterminal.info
+++ b/system/lxterminal/lxterminal.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://downloads.sourceforge.net/lxde/lxterminal-0.3.2.tar.xz"
MD5SUM="62e57c3aafb831505cc1638b2b737cc9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="vte2"
MAINTAINER="Matteo Bernardini"
EMAIL="ponce@slackbuilds.org"
diff --git a/system/lz4/lz4.SlackBuild b/system/lz4/lz4.SlackBuild
index d965cfcd0d..7a3f3de06e 100644
--- a/system/lz4/lz4.SlackBuild
+++ b/system/lz4/lz4.SlackBuild
@@ -17,7 +17,7 @@
# 20170122 bkw: update for 1.7.5
PRGNAM=lz4
-VERSION=${VERSION:-1.8.3}
+VERSION=${VERSION:-1.9.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lz4/lz4.info b/system/lz4/lz4.info
index 2ce94b8560..242a743a70 100644
--- a/system/lz4/lz4.info
+++ b/system/lz4/lz4.info
@@ -1,8 +1,8 @@
PRGNAM="lz4"
-VERSION="1.8.3"
+VERSION="1.9.1"
HOMEPAGE="https://lz4.github.io/lz4/"
-DOWNLOAD="https://github.com/lz4/lz4/archive/v1.8.3/lz4-1.8.3.tar.gz"
-MD5SUM="d5ce78f7b1b76002bbfffa6f78a5fc4e"
+DOWNLOAD="https://github.com/lz4/lz4/archive/v1.9.1/lz4-1.9.1.tar.gz"
+MD5SUM="a80f28f2a2e5fe59ebfe8407f793da22"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/man-db/README b/system/man-db/README
deleted file mode 100644
index 1e48863b3a..0000000000
--- a/system/man-db/README
+++ /dev/null
@@ -1,13 +0,0 @@
-man-db (database-driven manual pager suite)
-
-This package provides the man command and related utilities for examining
-on-line help files (manual pages). It can act as a replacement for
-Slackware's man package. It has several enhancements over man, including
-an indexed database for searches with -k or apropos, the ability to
-easily view man pages in a browser, better i18n support, and a much more
-efficient implementation of the -K (full text search) option.
-
-This build includes a complete install of libpipeline.
-
-By default, man-db doesn't conflict with Slackware's man package. See
-README.Slackware for details.
diff --git a/system/man-db/README.Slackware b/system/man-db/README.Slackware
deleted file mode 100644
index 165e9dfa4c..0000000000
--- a/system/man-db/README.Slackware
+++ /dev/null
@@ -1,49 +0,0 @@
-By default, man-db can be installed alongside Slackware's man package
-without conflict, as it installs its binaries and man pages into
-/opt/man-db. After installation, either log out and back in, or source
-/etc/profile.d/man-db.sh in your shell (this adjusts $PATH so the man
-command from /opt/man-db will be found first).
-
-Alternately, man-db can be built as a replacement for Slackware's
-man package. To do this, set USR=yes in the script's environment,
-and "removepkg man" before installing man-db. No profile scripts are
-installed in this case.
-
-When installing man-db, the doinst.sh script may take several minutes to
-run. This is because it's indexing all the man pages on the system. Also,
-a cron job is installed in /etc/cron.daily, which adds newly-installed
-man pages to the database. The index speeds up searching via "man -k"
-or "apropos". The disadvantage is that newly-installed man pages won't
-be found in these searches until the database has been updated, so any
-time you install new man pages, you'll want to run "mandb" as root, or
-wait for cron to do it for you (if you don't do this, the new pages can
-still be displayed, they just won't be searchable). The indexing runs
-quickly once the initial database has been created, so the cron job or
-manual update shouldn't bring your system to its knees.
-
-The database is located in /var/cache/man, and on a full Slackware install
-will be approximately 5MB in size. During index creation, approximately
-10MB in /var is used. If you decide to removepkg man-db, you'll probably
-also want to get rid of its database with "rm -rf /var/cache/man". If
-the database gets corrupted somehow, it can be regenerated from scratch
-by running "mandb -c" or just reinstalling the man-db package.
-
-Although man-db supports caching formatted pages ("cat" pages), it's
-disabled in this build, to make man-db behave more like Slackware's man
-(which supports caching, but it's disabled). On modern (and even 10+
-year old) systems, the small amount of extra time it takes to format
-a man page every time it's viewed is probably not worth the headaches
-caused by stale cat pages.
-
-Unlike some distro packages of man-db, this build doesn't install man or
-mandb setuid. This prevents caching cat pages from working (see above),
-and prevents man from automatically adding new man pages to the database
-the first time a user views them (they will be indexed by the cron job,
-or by root manually running "mandb", if you're impatient).
-
-A word about i18n support: the whole reason I packaged man-db is because
-Slackware's man can't handle Japanese man pages, and I couldn't come
-up with a way to make them work after several hours of research and
-man.conf editing. With man-db, they Just Work, with LANG=ja_JP.UTF-8
-(now all I have to do is learn to read Japanese). In general, UTF-8
-locales are preferred for man-db, although non-UTF-8 is also supported.
diff --git a/system/man-db/doinst.sh b/system/man-db/doinst.sh
deleted file mode 100644
index cb474322c8..0000000000
--- a/system/man-db/doinst.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-config etc/man_db.conf.new
-
-# In English, the if/find below means "only run the database creation if
-# it was last done over an hour ago". This is needed because upgradepkg
-# runs doinst.sh twice, but I don't want the 10+ minute long database
-# creation to happen twice on upgrade (or at all, when I'm repeatedly
-# reinstalling man-db for testing purposes).
-
-if \
- [ ! -e /var/cache/man/man-db ] || \
- [ -n "$( find var/cache/man/ -type d -a -name man-db -a -mmin +60 )" ]
-then
-# Generate the initial man database (or rebuild it if it exists).
-# We want to skip this step if installing somewhere besides / (e.g. with
-# the -root option or ROOT env variable set for installpkg), hence the
-# readlink silliness.
-
-# The -c option means it blows away any existing db. I thought about
-# leaving it off (it will still create the db if it doesn't exist),
-# but decided it's better to build it fresh if the package gets
-# reinstalled (in case the db format has changed, or in case the
-# db is corrupted and the user is trying to fix it by reinstalling
-# this package).
-
-# the 2>/dev/null was added for 2.7.6 because it complains about
-# missing CACHEDIR.TAG files... which don't matter, because we've
-# got NOCACHE in the config file.
- ( \
- [ -x /bin/readlink ] && \
- [ "$( /bin/readlink -f $( pwd ) )" = "/" ] && \
- ( [ -x /opt/man-db/bin/mandb ] && /opt/man-db/bin/mandb -c -q ) || \
- ( [ -x /usr/bin/mandb ] && /usr/bin/mandb -c -q ) \
- ) 2>/dev/null
-fi
diff --git a/system/man-db/dont_write_in_usr.diff b/system/man-db/dont_write_in_usr.diff
deleted file mode 100644
index 8f71585981..0000000000
--- a/system/man-db/dont_write_in_usr.diff
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Naur man-db-2.7.6.1/configure man-db-2.7.6.1.patched/configure
---- man-db-2.7.6.1/configure 2016-12-12 07:43:48.000000000 -0500
-+++ man-db-2.7.6.1.patched/configure 2017-03-04 16:49:57.389893574 -0500
-@@ -25809,46 +25809,8 @@
-
-
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5
--$as_echo_n "checking for long file names... " >&6; }
--if ${ac_cv_sys_long_file_names+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- ac_cv_sys_long_file_names=yes
--# Test for long file names in all the places we know might matter:
--# . the current directory, where building will happen
--# $prefix/lib where we will be installing things
--# $exec_prefix/lib likewise
--# $TMPDIR if set, where it might want to write temporary files
--# /tmp where it might want to write temporary files
--# /var/tmp likewise
--# /usr/tmp likewise
--for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do
-- # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib
-- # in the usual case where exec_prefix is '${prefix}'.
-- case $ac_dir in #(
-- . | /* | ?:[\\/]*) ;; #(
-- *) continue;;
-- esac
-- test -w "$ac_dir/." || continue # It is less confusing to not echo anything here.
-- ac_xdir=$ac_dir/cf$$
-- (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue
-- ac_tf1=$ac_xdir/conftest9012345
-- ac_tf2=$ac_xdir/conftest9012346
-- touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" ||
-- ac_cv_sys_long_file_names=no
-- rm -f -r "$ac_xdir" 2>/dev/null
-- test $ac_cv_sys_long_file_names = no && break
--done
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_long_file_names" >&5
--$as_echo "$ac_cv_sys_long_file_names" >&6; }
--if test $ac_cv_sys_long_file_names = yes; then
--
- $as_echo "#define HAVE_LONG_FILE_NAMES 1" >>confdefs.h
-
--fi
--
-
-
-
diff --git a/system/man-db/man-db.SlackBuild b/system/man-db/man-db.SlackBuild
deleted file mode 100644
index 4d5e2e10c6..0000000000
--- a/system/man-db/man-db.SlackBuild
+++ /dev/null
@@ -1,230 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for man-db
-
-# Written by B. Watson (yalhcru@gmail.com)
-
-# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-
-# 20180801 bkw:
-# - update for v2.8.4.
-
-# 20180611 bkw:
-# - update for v2.8.3, to match what Pat has in -current.
-
-# 20180208 bkw: update for man-db 2.8.0, libpipeline 1.5.0.
-# This may be the last SBo update, since Pat has imported man-db
-# into Slackware-current. Depends on how long it is from now until
-# the next release: I'll maintain this until SBo stops accepting
-# submissions for 14.2.
-
-# 20170305 bkw:
-# - BUILD=2
-# - get rid of systemd-specific /usr/lib/tmpfiles.d from package.
-# - patch configure so it doesn't write to /usr/lib.
-
-# 20170215 bkw:
-# - update for 2.7.6.1 (whoops, last update wasn't for the latest version
-# - only update the cache in doinst.sh if it's over an hour old. this
-# takes several minutes, and happens twice (uselessly) if the package
-# is upgraded (since upgradepkg runs doinst.sh twice). waiting an hour
-# also makes my life easier when I'm testing this script.
-# - fix man-db.cron so it works even if USR=yes (whoops), and stop trying
-# to chown the cache to the nonexistent 'man' user.
-
-# 20170125 bkw:
-# - update for 2.7.6.
-# - add --disable-cache-owner. TODO: revisit this at some
-# point. Maybe create a dedicated 'man' user, or use one of the existing
-# users like 'bin' or 'operator'.
-
-# 20160726 bkw:
-# - update for 2.7.5.
-
-# 20150507 bkw:
-# - update for 2.7.1.
-# - fix homepage in .info file.
-# - had to update libpipeline to 1.4.0.
-
-# 20140924 bkw:
-# - update for 2.7.0.1, which fixes the clash between man-db's zsoelim
-# and groff's zsoelim.
-# - update README and README.Slackware slightly.
-
-PRGNAM=man-db
-VERSION=${VERSION:-2.8.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
-
-# By default, install binaries to /opt, so as not to stomp on Slackware's
-# man pkg. We will have to include a /etc/profile.d script to set PATH,
-# MANPATH, etc. Note that only binaries and the man pages for man-db itself
-# go to /opt. Everything else (libpipeline, man-db's shared libs, localized
-# messages, etc) goes to /usr as usual.
-
-# If you want a proper replacement for Slack's man pkg, build with
-# USR="yes", which puts the binaries in the usual places. If your name is
-# Patrick V. and you're finally replacing man with man-db in Slackware,
-# feel free to uncomment the next line:
-#USR="yes"
-
-BINDIR=/opt/$PRGNAM/bin
-[ "${USR:-no}" = "yes" ] && BINDIR=/usr/bin
-MANDIR="${BINDIR/bin/man}"
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-
-# libpipeline is a pretty niche-market library. It used to be bundled
-# in the man-db source, and as far as I can tell, nothing else uses it.
-# Instead of making it a separate build and external dep, we'll just
-# bundle it here.
-LIBNAM=libpipeline
-LIBVER=1.5.0
-
-cd $TMP
-rm -rf $LIBNAM-$LIBVER
-tar xvf $CWD/$LIBNAM-$LIBVER.tar.gz
-cd $LIBNAM-$LIBVER
-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/$LIBNAM-$LIBVER \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$LIBNAM-$LIBVER
-cp -a COPYING ChangeLog* NEWS README TODO \
- $PKG/usr/doc/$PRGNAM-$VERSION/$LIBNAM-$LIBVER
-
-# now build man-db itself, using the libpipeline installed in $PKG
-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 {} \;
-
-# The 'checking for long filenames' test in the configure script writes to
-# /usr/lib, which is bad behaviour for a configure script. Not to mention
-# wrong (it assumes configure is always being run as root). We already
-# know we have long filename support, because we live in the 21st century
-# now, so this patch gets rid of the test and force-enables it.
-patch -p1 < $CWD/dont_write_in_usr.diff
-
-# The circumlocutions below are needed because doing it the sane way:
-# libpipeline_LIBS="-L$PKG/usr/lib$LIBDIRSUFFIX -lpipeline"
-# gets broken by libtool (it *insists* on replacing -lpipeline with
-# /usr/lib64/libpipeline.so, which will fail if it's an older version).
-LD_LIBRARY_PATH="$PKG/usr/lib$LIBDIRSUFFIX" \
-LDFLAGS="$PKG/usr/lib$LIBDIRSUFFIX/libpipeline.so" \
-libpipeline_CFLAGS="-I$PKG/usr/include" \
-libpipeline_LIBS="-L$PKG/usr/lib$LIBDIRSUFFIX $PKG/usr/lib$LIBDIRSUFFIX/libpipeline.so" \
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --disable-setuid \
- --disable-cache-owner \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=$MANDIR \
- --bindir=$BINDIR \
- --sbindir=${BINDIR/bin/sbin} \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux
-
-make
-make install-strip DESTDIR=$PKG
-
-# This stuff is for systemd, we don't need it (and it might confuse
-# people coming from systemd distros):
-rm -rf $PKG/usr/lib/tmpfiles.d/
-
-# There will always be man pages here, regardless of USR=yes or no.
-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
-
-if [ "${USR:-no}" != "yes" ]; then
- # separate dir full of man pages and symlinks in /opt
- find $PKG/$MANDIR -type f -exec gzip -9 {} \;
- for i in $( find $PKG/$MANDIR -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
- # only need the profile.d stuff if installing to /opt
- mkdir -p $PKG/etc/profile.d
- install -m0755 -oroot -groot $CWD/$PRGNAM.sh $CWD/$PRGNAM.csh $PKG/etc/profile.d
-fi
-
-# no special ownership or perms needed here since we --disable-setuid
-mkdir -p $PKG/var/cache/man
-
-# only ship a daily cronjob, don't need a weekly one like Debian has.
-mkdir -p $PKG/etc/cron.daily
-install -m0755 -oroot -groot $CWD/$PRGNAM.cron $PKG/etc/cron.daily/$PRGNAM
-
-# modified default config, customized for Slackware. See the conf file for
-# list of changes.
-zcat $CWD/man_db.conf.new.gz \
- | sed "s,@LIBDIRSUFFIX@,$LIBDIRSUFFIX,g" \
- > $PKG/etc/man_db.conf.new
-rm -rf $PKG/etc/man_db.conf
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a ABOUT-NLS Change* FAQ NEWS README docs/* $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-sed "s,@BINDIR@,$BINDIR," < $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-# N.B. the -p option is actually needed here (for libpipeline.so).
-cd $PKG
-/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/man-db/man-db.cron b/system/man-db/man-db.cron
deleted file mode 100644
index 93c3a00ff2..0000000000
--- a/system/man-db/man-db.cron
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-# man-db daily cronjob, part of the slackbuilds.org man-db package.
-# Author: B. Watson.
-# Adapted from Debian's man-db package, so I guess the license is GPL.
-
-set -e
-
-if ! [ -d /var/cache/man ]; then
- # Recover from deletion, per FHS.
- mkdir -p /var/cache/man
- chown root:root /var/cache/man || true
- chmod 2755 /var/cache/man
-fi
-
-# expunge old catman pages which have not been read in a week
-# commented out, as we've got cat pages disabled in this build. Left
-# here for reference in case someone really wants to enable cat pages
-# some day.
-#find /var/cache/man -type f -name '*.gz' -atime +6 -print0 | xargs -r0 rm -f &> /dev/null
-
-# regenerate man database. /opt/man-db/bin probably isn't in cron's $PATH,
-# so check for it specially, otherwise use $PATH.
-if [ -x /opt/man-db/bin/mandb ]; then
- MANDB=/opt/man-db/bin/mandb
-else
- MANDB=mandb
-fi
-
-$MANDB --no-purge --quiet
diff --git a/system/man-db/man-db.csh b/system/man-db/man-db.csh
deleted file mode 100644
index 6cf39ce0ba..0000000000
--- a/system/man-db/man-db.csh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/csh
-
-# Set up environment for man-db. This file is part of the slackbuilds.org
-# man-db build.
-
-# Author: B. Watson. License: WTFPL
-
-setenv MANPATH /opt/man-db/man:$MANPATH
-set path = ( /opt/man-db/bin $path )
-if ("`id -u`" == "0") then
- set path = ( /opt/man-db/sbin $path )
-endif
diff --git a/system/man-db/man-db.info b/system/man-db/man-db.info
deleted file mode 100644
index 70a6f6a7c1..0000000000
--- a/system/man-db/man-db.info
+++ /dev/null
@@ -1,12 +0,0 @@
-PRGNAM="man-db"
-VERSION="2.8.4"
-HOMEPAGE="http://www.nongnu.org/man-db/"
-DOWNLOAD="http://download.savannah.gnu.org/releases/man-db/man-db-2.8.4.tar.xz \
- http://download.savannah.gnu.org/releases/libpipeline/libpipeline-1.5.0.tar.gz"
-MD5SUM="ab41db551f500e4a595b11203b86c67a \
- b7437a5020190cfa84f09c412db38902"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
diff --git a/system/man-db/man-db.sh b/system/man-db/man-db.sh
deleted file mode 100644
index 54c9b34ae0..0000000000
--- a/system/man-db/man-db.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-# Set up environment for man-db. This file is part of the slackbuilds.org
-# man-db build.
-
-# Author: B. Watson. License: WTFPL
-
-MANPATH="/opt/man-db/man:$MANPATH"
-PATH="/opt/man-db/bin:$PATH"
-
-if [ "$( id -u )" = "0" ]; then
- PATH="/opt/man-db/sbin:$PATH"
-fi
-
-export MANPATH
-export PATH
diff --git a/system/man-db/man_db.conf.new.gz b/system/man-db/man_db.conf.new.gz
deleted file mode 100644
index 1d128438c4..0000000000
--- a/system/man-db/man_db.conf.new.gz
+++ /dev/null
Binary files differ
diff --git a/system/man-db/slack-desc b/system/man-db/slack-desc
deleted file mode 100644
index 5abdea8fb6..0000000000
--- a/system/man-db/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------------------------------------------------------|
-man-db: man-db (database-driven manual pager suite)
-man-db:
-man-db: This package provides the man command and related utilities
-man-db: for examining on-line help files (manual pages). It can act as a
-man-db: replacement for Slackware's man package. It has several enhancements
-man-db: over man, including an indexed database for searches with -k or
-man-db: apropos, the ability to easily view man pages in a browser, better
-man-db: i18n support, and a much more efficient implementation of the -K
-man-db: (full text search) option.
-man-db:
-man-db:
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index 2b3f328aa7..bdef332399 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -261,6 +261,9 @@ cd -
install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
cd -
+# Remove $PKG/usr/lib{,$LIBDIRSUFFIX}/libGL.la files
+rm -f $PKG/usr/lib{,$LIBDIRSUFFIX}/libGL.la
+
# Bash script to cleanly install (in doinst.sh) and uninstall the nvidia files
# so we don't stomp on the overlapping xorg files.
# Note: switching can be problematic ;-)
@@ -275,17 +278,10 @@ else
fi
# These update or correct wrong paths
-sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
-sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
sed -i "s|__UTILS_PATH__|/usr/bin|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" $PKG/usr/share/applications/nvidia-settings.desktop
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la-nvidia
- sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la-nvidia
-fi
-
# Move ICDs to $PKG and cleanup (no switch option in installer?)
mv /etc/OpenCL/vendors/nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
mv /etc/vulkan/icd.d/nvidia_icd.json $PKG/etc/vulkan/icd.d/nvidia_icd.json
diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch
index 105156c3c4..6564b10eab 100644
--- a/system/nvidia-driver/nvidia-switch
+++ b/system/nvidia-driver/nvidia-switch
@@ -47,13 +47,9 @@ save_GL(){
cd $2
case "$1" in
"nvidia")
- mv libGL.la libGL.la-xorg
- mv libGL.la-nvidia libGL.la
- ;;
+ ;;
"xorg")
- mv libGL.la libGL.la-nvidia
- mv libGL.la-xorg libGL.la
;;
*)
diff --git a/system/nvidia-legacy304-kernel/4.14_kernel.patch b/system/nvidia-legacy304-kernel/4.14_kernel.patch
new file mode 100644
index 0000000000..6642189009
--- /dev/null
+++ b/system/nvidia-legacy304-kernel/4.14_kernel.patch
@@ -0,0 +1,26 @@
+diff -ur a/kernel/nv-drm.c b/kernel/nv-drm.c
+--- a/kernel/nv-drm.c 2017-09-14 23:51:09.000000003 +0300
++++ b/kernel/nv-drm.c 2017-12-06 18:47:48.279729889 +0200
+@@ -121,7 +121,11 @@
+ {
+ int ret = 0;
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ ret = drm_pci_init(&nv_drm_driver, pci_driver);
++#else
++ ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);
++#endif
+ #endif
+ return ret;
+ }
+@@ -131,6 +135,10 @@
+ )
+ {
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ drm_pci_exit(&nv_drm_driver, pci_driver);
++#else
++ drm_legacy_pci_exit(&nv_drm_driver, pci_driver);
++#endif
+ #endif
+ }
diff --git a/system/nvidia-legacy304-kernel/4.15_kernel.patch b/system/nvidia-legacy304-kernel/4.15_kernel.patch
new file mode 100644
index 0000000000..fdac62fb24
--- /dev/null
+++ b/system/nvidia-legacy304-kernel/4.15_kernel.patch
@@ -0,0 +1,48 @@
+diff -ur a/kernel/nv.c b/kernel/nv.c
+--- a/kernel/nv.c 2017-09-14 23:51:09.000000000 +0300
++++ b/kernel/nv.c 2018-02-13 14:56:42.289490885 +0200
+@@ -301,7 +301,11 @@
+ #else
+ irqreturn_t nv_kern_isr(int, void *);
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ void nv_kern_rc_timer(unsigned long);
++#else
++void nv_kern_rc_timer(struct timer_list *t);
++#endif
+ #if defined(NV_PM_SUPPORT_OLD_STYLE_APM)
+ static int nv_kern_apm_event(struct pm_dev *, pm_request_t, void *);
+ #endif
+@@ -2075,10 +2079,18 @@
+ }
+
+ void nv_kern_rc_timer(
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ unsigned long data
++#else
++ struct timer_list *t
++#endif
+ )
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ nv_linux_state_t *nvl = (nv_linux_state_t *) data;
++#else
++ nv_linux_state_t *nvl = from_timer(nvl, t, rc_timer);
++#endif
+ nv_state_t *nv = NV_STATE_PTR(nvl);
+
+ NV_CHECK_PCI_CONFIG_SPACE(nvl->timer_sp, nv, TRUE, TRUE, FALSE);
+@@ -3029,9 +3041,13 @@
+ return -1;
+
+ nv_printf(NV_DBG_INFO, "NVRM: initializing rc timer\n");
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ init_timer(&nvl->rc_timer);
+ nvl->rc_timer.function = nv_kern_rc_timer;
+ nvl->rc_timer.data = (unsigned long) nv;
++#else
++ timer_setup(&nvl->rc_timer, nv_kern_rc_timer, 0);
++#endif
+ nv->rc_timer_enabled = 1;
+ mod_timer(&nvl->rc_timer, jiffies + HZ); /* set our timeout for 1 second */
+ nv_printf(NV_DBG_INFO, "NVRM: rc timer initialized\n");
diff --git a/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.SlackBuild b/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.SlackBuild
index c789ab3a6a..db6edc4a0d 100644
--- a/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.SlackBuild
+++ b/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.SlackBuild
@@ -75,6 +75,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 {} \;
+# https://pkgs.rpmfusion.org/cgit/nonfree/nvidia-304xx-kmod.git/log/
+patch -p1 < $CWD/4.14_kernel.patch
+patch -p1 < $CWD/4.15_kernel.patch
+
cd kernel || exit 1
make SYSSRC=$KERNELPATH module || exit 1
diff --git a/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild b/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild
index 1679d12988..21f287918f 100644
--- a/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild
+++ b/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild
@@ -83,6 +83,7 @@ patch -p1 < $CWD/kernel-4.4.168.patch
(cd kernel || exit 1
make SYSSRC=$KERNELPATH module || exit 1
cd uvm
+ sed -i "s|-O2$|-O2 -Wno-error=incompatible-pointer-types|" Makefile
make SYSSRC=$KERNELPATH module || exit 1
)
diff --git a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild
index 643487be48..4f98017ca9 100644
--- a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild
+++ b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild
@@ -278,24 +278,15 @@ else
fi
# These add or correct wrong paths
-sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
-sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
sed -i "s|__UTILS_PATH__|/usr/bin|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" $PKG/usr/share/applications/nvidia-settings.desktop
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la
- sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la
- sed -i "s|'/usr/'|'/usr/lib'|" $PKG/usr/lib/libGL.la
-fi
-
# rename wrong/conficting files as needed; remove conflicting symlinks created by installer
cd $PKG/usr/lib$LIBDIRSUFFIX
if [ "$GLVND" = "yes" ]; then
mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia
fi
- mv libGL.la libGL.la-nvidia
mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia
mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia
rm -f libEGL.so
@@ -312,7 +303,6 @@ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
if [ "$GLVND" = "yes" ]; then
mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia
fi
- mv libGL.la libGL.la-nvidia
mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia
mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia
rm -f libEGL.so
diff --git a/system/nvidia-legacy390-driver/nvidia-switch b/system/nvidia-legacy390-driver/nvidia-switch
index 7d97f3304b..f9874cea37 100644
--- a/system/nvidia-legacy390-driver/nvidia-switch
+++ b/system/nvidia-legacy390-driver/nvidia-switch
@@ -58,11 +58,9 @@ save_GL(){
"nvidia")
mv libGL.so.$GL_VERSION $SAVELIBS/libGL.so.$GL_VERSION
- mv libGL.la $SAVELIBS/libGL.la
mv libEGL.so.1.0.0 $SAVELIBS/libEGL.so.1.0.0
mv libGLESv1_CM.so.1.1.0 $SAVELIBS/libGLESv1_CM.so.1.1.0
mv libGLESv2.so.2.0.0 $SAVELIBS/libGLESv2.so.2.0.0
- mv libGL.la-nvidia libGL.la
if [ "$GLVND" = "yes" ]; then
ln -sf libGL.so.1.7.0 libGL.so.1
@@ -86,9 +84,7 @@ save_GL(){
;;
"xorg")
- mv libGL.la libGL.la-nvidia
mv $SAVELIBS/libGL.so.$GL_VERSION libGL.so.$GL_VERSION
- mv $SAVELIBS/libGL.la libGL.la
mv $SAVELIBS/libEGL.so.1.0.0 libEGL.so.1.0.0
mv $SAVELIBS/libGLESv1_CM.so.1.1.0 libGLESv1_CM.so.1.1.0
mv $SAVELIBS/libGLESv2.so.2.0.0 libGLESv2.so.2.0.0
diff --git a/system/opam/README b/system/opam/README
index 9257895cd0..36b3e185fc 100644
--- a/system/opam/README
+++ b/system/opam/README
@@ -6,15 +6,16 @@ constraints, and a Git-friendly development workflow.
Managing your OCaml installation can be as simple as:
- opam list -a # List the available packages
- opam install lwt # Install LWT
- opam update # Update the package list
- ...
- opam upgrade # Upgrade the installed packages to their latest version
+ opam list -a # List the available packages
+ opam install lwt # Install LWT
+ opam update # Update the package list
+ ...
+ opam upgrade # Upgrade the installed packages to their latest version
It has to be initialised. To do it, you can use the following command:
-opam init
+
+ opam init
It is not recommended to run opam as root.
Apparently it rather installs per-user packages.
diff --git a/system/opam/opam.SlackBuild b/system/opam/opam.SlackBuild
index e7d8270b0d..04464c1032 100644
--- a/system/opam/opam.SlackBuild
+++ b/system/opam/opam.SlackBuild
@@ -22,7 +22,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=opam
-VERSION=${VERSION:-2.0.1}
+VERSION=${VERSION:-2.0.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -73,16 +73,16 @@ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
-make lib-ext
-make
-make install DESTDIR=$PKG
+make -j1 lib-ext
+make -j1
+make -j1 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
diff --git a/system/opam/opam.info b/system/opam/opam.info
index fd986517c7..718cadb372 100644
--- a/system/opam/opam.info
+++ b/system/opam/opam.info
@@ -1,8 +1,8 @@
PRGNAM="opam"
-VERSION="2.0.1"
+VERSION="2.0.5"
HOMEPAGE="https://opam.ocaml.org/"
-DOWNLOAD="https://github.com/ocaml/opam/releases/download/2.0.1/opam-full-2.0.1.tar.gz"
-MD5SUM="24faa0ad049d146dfc3fcbe9cbab5eda"
+DOWNLOAD="https://github.com/ocaml/opam/releases/download/2.0.5/opam-full-2.0.5.tar.gz"
+MD5SUM="3a273029a55529831fdd408d9add2db0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ocaml bubblewrap"
diff --git a/system/open-vm-tools/open-vm-tools.SlackBuild b/system/open-vm-tools/open-vm-tools.SlackBuild
index a294741688..cd5b4147fb 100644
--- a/system/open-vm-tools/open-vm-tools.SlackBuild
+++ b/system/open-vm-tools/open-vm-tools.SlackBuild
@@ -90,7 +90,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
autoreconf -i
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=address-of-packed-member -Wno-error=format-overflow= -Wno-error=stringop-truncation" \
CXXFLAGS="$SLKCFLAGS" \
LIBS=-lcrypt \
./configure \
diff --git a/system/opensc/opensc.SlackBuild b/system/opensc/opensc.SlackBuild
index e7dc5c71e3..02473da5f7 100644
--- a/system/opensc/opensc.SlackBuild
+++ b/system/opensc/opensc.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=opensc
-VERSION=${VERSION:-0.15.0}
+VERSION=${VERSION:-0.18.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
@@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCFILES="README COPYING NEWS ChangeLog"
-XSL_STYLESHEETS_VER=1.78.1
+DOCFILES="README COPYING NEWS"
+XSL_STYLESHEETS_VER=1.79.2
# opensc now supports only one reader subsystem (pcsc-lite or openct)
OPENCT=${OPENCT:-0} # pcsc-lite is the default, openct disabled
@@ -51,8 +51,8 @@ case "$OPENCT" in
*) RDRSUBSYS_flags="--disable-pcsc --enable-openct" ;;
esac
-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"
@@ -81,7 +81,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# --enable-nsplugin and --with-pinentry= are no longer supported.
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -Wno-error=stringop-truncation" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/system/opensc/opensc.info b/system/opensc/opensc.info
index 91496b60e0..b7102a1bc6 100644
--- a/system/opensc/opensc.info
+++ b/system/opensc/opensc.info
@@ -1,8 +1,8 @@
PRGNAM="opensc"
-VERSION="0.15.0"
+VERSION="0.18.0"
HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki/"
-DOWNLOAD="http://downloads.sourceforge.net/opensc/OpenSC/opensc-0.15.0.tar.gz"
-MD5SUM="34c55315b7f381bd047b6435933baab4"
+DOWNLOAD="https://github.com/OpenSC/OpenSC/releases/download/0.18.0/opensc-0.18.0.tar.gz"
+MD5SUM="9da66126a45203c49285fb4277e946e5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pcsc-lite"
diff --git a/system/packagekit/doinst.sh b/system/packagekit/doinst.sh
index fa9fe022ef..4e39e9d043 100644
--- a/system/packagekit/doinst.sh
+++ b/system/packagekit/doinst.sh
@@ -14,7 +14,6 @@ config() {
config etc/PackageKit/PackageKit.conf.new
config etc/PackageKit/Vendor.conf.new
config etc/PackageKit/CommandNotFound.conf.new
-config etc/PackageKit/Katja.conf.new
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
diff --git a/system/packagekit/packagekit.SlackBuild b/system/packagekit/packagekit.SlackBuild
index 7527471105..33c2dd3f99 100644
--- a/system/packagekit/packagekit.SlackBuild
+++ b/system/packagekit/packagekit.SlackBuild
@@ -26,7 +26,7 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM="packagekit"
-VERSION=${VERSION:-1.1.4}
+VERSION=${VERSION:-1.1.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -98,7 +98,6 @@ for i in $(find $PKG/usr/man -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i
mv $PKG/etc/PackageKit/CommandNotFound.conf $PKG/etc/PackageKit/CommandNotFound.conf.new
mv $PKG/etc/PackageKit/PackageKit.conf $PKG/etc/PackageKit/PackageKit.conf.new
mv $PKG/etc/PackageKit/Vendor.conf $PKG/etc/PackageKit/Vendor.conf.new
-mv $PKG/etc/PackageKit/Katja.conf $PKG/etc/PackageKit/Katja.conf.new
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
diff --git a/system/packagekit/packagekit.info b/system/packagekit/packagekit.info
index c7f1732d6a..223c61a515 100644
--- a/system/packagekit/packagekit.info
+++ b/system/packagekit/packagekit.info
@@ -1,10 +1,10 @@
PRGNAM="packagekit"
-VERSION="1.1.4"
+VERSION="1.1.12"
HOMEPAGE="https://www.freedesktop.org/software/PackageKit/"
-DOWNLOAD="https://www.freedesktop.org/software/PackageKit/releases/PackageKit-1.1.4.tar.xz"
-MD5SUM="d1a000a33c7c935522af7a01dea012bf"
+DOWNLOAD="https://www.freedesktop.org/software/PackageKit/releases/PackageKit-1.1.12.tar.xz"
+MD5SUM="da8c9d81c886fae43047b3c006e9b4a8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="autoconf-archive"
MAINTAINER="Nishant Limbachia"
EMAIL="nishant@mnspace.net"
diff --git a/system/parallel/README b/system/parallel/README
deleted file mode 100644
index bbee7b2123..0000000000
--- a/system/parallel/README
+++ /dev/null
@@ -1,9 +0,0 @@
-GNU parallel is a shell tool for executing jobs in parallel using one
-or more computers. A job can be a single command or a small script
-that has to be run for each of the lines in the input. The typical
-input is a list of files, a list of hosts, a list of users, a list of
-URLs, or a list of tables. A job can also be a command that reads
-from a pipe. GNU parallel can then split the input and pipe it into
-commands in parallel.
-
-This package conflicts with misc/moreutils.
diff --git a/system/parallel/parallel.info b/system/parallel/parallel.info
deleted file mode 100644
index f8ab2f619c..0000000000
--- a/system/parallel/parallel.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="parallel"
-VERSION="20170622"
-HOMEPAGE="http://www.gnu.org/software/parallel/"
-DOWNLOAD="http://gnu.uberglobalmirror.com/parallel/parallel-20170622.tar.bz2"
-MD5SUM="8494ff022451aac0162f18cf3dd3ae7f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/system/parallel/slack-desc b/system/parallel/slack-desc
deleted file mode 100644
index 32663235a5..0000000000
--- a/system/parallel/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------------------------------------------------------|
-parallel: parallel (Executes jobs in parallel)
-parallel:
-parallel: GNU parallel is a shell tool for executing jobs in parallel using one
-parallel: or more computers. A job can be a single command or a small script
-parallel: that has to be run for each of the lines in the input. The typical
-parallel: input is a list of files, a list of hosts, a list of users, a list of
-parallel: URLs, or a list of tables. A job can also be a command that reads
-parallel: from a pipe. GNU parallel can then split the input and pipe it into
-parallel: commands in parallel.
-parallel:
-parallel: Homepage: http://www.gnu.org/software/parallel/
diff --git a/system/patchelf/README b/system/patchelf/README
deleted file mode 100644
index 4286fd37ae..0000000000
--- a/system/patchelf/README
+++ /dev/null
@@ -1,3 +0,0 @@
-PatchELF is a simple utility for modifing existing ELF executables
-and libraries. It can change the dynamic loader ("ELF interpreter")
-of executables and change the RPATH of executables and libraries.
diff --git a/system/patchelf/patchelf.SlackBuild b/system/patchelf/patchelf.SlackBuild
deleted file mode 100644
index 7ca4ad1081..0000000000
--- a/system/patchelf/patchelf.SlackBuild
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for patchelf
-
-# Copyright 2014 Zhu Qun-Ying
-# 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=patchelf
-VERSION=${VERSION:-0.10}
-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
-
-set -e
-
-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"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-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 {} \;
-
-autoreconf -isf
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux
-
-make
-
-make install DESTDIR=$PKG
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp README COPYING $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-gzip $PKG/usr/man/man1/*
-
-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/system/patchelf/patchelf.info b/system/patchelf/patchelf.info
deleted file mode 100644
index 2697431fba..0000000000
--- a/system/patchelf/patchelf.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="patchelf"
-VERSION="0.10"
-HOMEPAGE="https://nixos.org/patchelf.html"
-DOWNLOAD="https://nixos.org/releases/patchelf/patchelf-0.10/patchelf-0.10.tar.bz2"
-MD5SUM="6c3f3a06a95705870d129494a6880106"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Zhu Qun-Ying"
-EMAIL="zhu.qunying@gmail.com"
diff --git a/system/patchelf/slack-desc b/system/patchelf/slack-desc
deleted file mode 100644
index 30e2694647..0000000000
--- a/system/patchelf/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------------------------------------------------------|
-patchelf: patchelf (A utility for patching ELF binaries)
-patchelf:
-patchelf: PatchELF is a simple utility for modifing existing ELF executables
-patchelf: and libraries. It can change the dynamic loader ("ELF interpreter")
-patchelf: of executables and change the RPATH of executables and libraries.
-patchelf:
-patchelf:
-patchelf:
-patchelf:
-patchelf: Home page: https://nixos.org/patchelf.html
-patchelf:
diff --git a/system/percona-xtrabackup/README b/system/percona-xtrabackup/README
deleted file mode 100644
index 05cb5de107..0000000000
--- a/system/percona-xtrabackup/README
+++ /dev/null
@@ -1,2 +0,0 @@
-Percona XtraBackup is OpenSource online (non-blockable) backup
-solution for InnoDB and XtraDB engines.
diff --git a/system/percona-xtrabackup/percona-xtrabackup.SlackBuild b/system/percona-xtrabackup/percona-xtrabackup.SlackBuild
deleted file mode 100644
index 3127baaa7c..0000000000
--- a/system/percona-xtrabackup/percona-xtrabackup.SlackBuild
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for percona-xtrabackup
-
-# Copyright 2012-2013 Heinz Wiesinger, Amsterdam, The Netherlands
-# 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=percona-xtrabackup
-VERSION=${VERSION:-2.1.5}
-PERCONA_VERSION=${PERCONA_VERSION:-5.5.31-rel30.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
-rm -rf Percona-Server-$PERCONA_VERSION
-tar xvf $PRGNAM-$VERSION/Percona-Server-$PERCONA_VERSION.tar.gz
-cd Percona-Server-$PERCONA_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 {} \;
-
-# Apply xtrabackup patch
-patch -p1 -i ../$PRGNAM-$VERSION/patches/xtradb55.patch
-
-LIBS="-lrt" \
-cmake \
- -DCMAKE_C_FLAGS="$SLKCFLAGS -I$TMP/$PRGNAM-$VERSION/src" \
- -DCMAKE_CXX_FLAGS="$SLKCFLAGS -I$TMP/$PRGNAM-$VERSION/src" \
- -DENABLED_LOCAL_INFILE=ON \
- -DWITH_INNOBASE_STORAGE_ENGINE=ON \
- -DWITH_PARTITION_STORAGE_ENGINE=ON \
- -DWITH_ZLIB=bundled \
- -DWITH_EXTRA_CHARSETS=all \
- -DENABLE_DTRACE=OFF \
- .
-
-for i in include zlib strings mysys dbug extra storage/innobase; do
- make -C $i
-done
-
-cd $TMP/$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 {} \;
-
-# build internal libarchive
-cd src/libarchive
- cmake \
- -DCMAKE_C_FLAGS="$SLKCFLAGS" \
- -DENABLE_CPIO=OFF \
- -DENABLE_OPENSSL=OFF \
- -DENABLE_TAR=OFF \
- -DENABLE_TEST=OFF \
- .
-
- make
-cd -
-
-# build xtrabackup
-cd src
- LIBS="-lrt" \
- CFLAGS="$SLKCFLAGS" \
- make \
- MYSQL_ROOT_DIR="$TMP/Percona-Server-$PERCONA_VERSION" \
- clean
-
- LIBS="-lrt" \
- CFLAGS="$SLKCFLAGS" \
- make \
- MYSQL_ROOT_DIR="$TMP/Percona-Server-$PERCONA_VERSION" \
- XTRABACKUP_VERSION=$VERSION \
- xtradb55
-cd -
-
-mkdir -p $PKG/usr/{bin,man/man1}
-install -m 755 src/xtrabackup_55 $PKG/usr/bin/xtrabackup
-install -m 755 src/xbstream $PKG/usr/bin/
-install -m 755 src/xbcrypt $PKG/usr/bin/
-install -m 755 innobackupex $PKG/usr/bin/
-install -m 644 doc/xtrabackup.1 $PKG/usr/man/man1/
-
-# Fix xtrabackup usage in innobackupex
-sed -i "s/xtrabackup_55/xtrabackup/g" $PKG/usr/bin/innobackupex
-
-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 -a BUILD.txt COPYING REVNO 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/system/percona-xtrabackup/percona-xtrabackup.info b/system/percona-xtrabackup/percona-xtrabackup.info
deleted file mode 100644
index e2b8be656b..0000000000
--- a/system/percona-xtrabackup/percona-xtrabackup.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="percona-xtrabackup"
-VERSION="2.1.5"
-HOMEPAGE="http://www.percona.com/software/percona-xtrabackup"
-DOWNLOAD="http://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.5/source/percona-xtrabackup-2.1.5.tar.gz"
-MD5SUM="8782d736ecf7f0a702a8c053c4f9cdb8"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Heinz Wiesinger"
-EMAIL="pprkut@liwjatan.at"
diff --git a/system/percona-xtrabackup/slack-desc b/system/percona-xtrabackup/slack-desc
deleted file mode 100644
index 4ed2d118e3..0000000000
--- a/system/percona-xtrabackup/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------------------------------------------------------|
-percona-xtrabackup: percona-xtrabackup (Online backup for MySQL / InnoDB)
-percona-xtrabackup:
-percona-xtrabackup: Percona XtraBackup is OpenSource online (non-blockable) backup
-percona-xtrabackup: solution for InnoDB and XtraDB engines.
-percona-xtrabackup:
-percona-xtrabackup: Homepage: http://www.percona.com/software/percona-xtrabackup
-percona-xtrabackup:
-percona-xtrabackup:
-percona-xtrabackup:
-percona-xtrabackup:
-percona-xtrabackup:
diff --git a/system/roxterm/roxterm.info b/system/roxterm/roxterm.info
index 7a9c1bb1a2..84ba1a539e 100644
--- a/system/roxterm/roxterm.info
+++ b/system/roxterm/roxterm.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://downloads.sourceforge.net/roxterm/roxterm-2.9.7.tar.bz2"
MD5SUM="496b5ddc078cede502f168dadef46cb6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="vte2"
MAINTAINER="Erik Hanson"
EMAIL="erik@slackbuilds.org"
diff --git a/system/rxvt-unicode/README b/system/rxvt-unicode/README
deleted file mode 100644
index 8b1c84db04..0000000000
--- a/system/rxvt-unicode/README
+++ /dev/null
@@ -1,8 +0,0 @@
-rxvt-unicode is an enhanced version of the rxvt terminal emulator. It has
-full unicode and Xft support, does font antialiasing and italics, and has
-the same transparency capabilities as ATerm. It can be extended using Perl.
-
-The slackbuild uses environment variable called CONFIG_PERL to control
-whether the embedded perl interpreter will be built. Setting to anything
-other than YES during the build will disable it, which will result in a
-much leaner package.
diff --git a/system/rxvt-unicode/rxvt-unicode.SlackBuild b/system/rxvt-unicode/rxvt-unicode.SlackBuild
deleted file mode 100644
index ab2f3f1387..0000000000
--- a/system/rxvt-unicode/rxvt-unicode.SlackBuild
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for rxvt-unicode
-
-# 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.
-
-# Currently maintained by Glenn Becker (glenn.becker@gmail.com)
-# Updates by Kevin Paulus, aka "goarilla" (goarilla@gmail.com)
-# Previously maintained by LEVAI Daniel, 2010-2014
-# Initial SlackBuild written by Dugan Chen (dugan_c@fastmail.fm)
-
-PRGNAM=rxvt-unicode
-VERSION=${VERSION:-9.22}
-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.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 {} \;
-
-# Option to enable/disable the embedded perl interpreter
-CONFIG_PERL=${CONFIG_PERL:-YES}
-
-if [ "${CONFIG_PERL}" == 'YES' ];then
- _PERL_OPT='--enable-perl'
-else
- _PERL_OPT='--disable-perl'
-fi
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --enable-everything \
- --enable-unicode3 \
- --enable-combining \
- --enable-xft \
- --enable-font-styles \
- --enable-transparency \
- --enable-fading \
- --enable-frills \
- --enable-pixbuf \
- --enable-rxvt-scroll \
- --enable-next-scroll \
- --enable-xterm-scroll \
- ${_PERL_OPT} \
- --enable-xim \
- --enable-iso14755 \
- --enable-keepscrolling \
- --enable-selectionscrolling \
- --enable-mousewheel \
- --enable-slipwheeling \
- --enable-smart-resize \
- --enable-text-blink \
- --enable-pointer-blank \
- --enable-utmp \
- --enable-wtmp \
- --enable-lastlog \
- --enable-256-color \
- --build=$ARCH-slackware-linux
-
-make
-
-mkdir -p $PKG/usr/share/terminfo
-TERMINFO=$PKG/usr/share/terminfo 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
-
-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/share/pixmaps/
-cp $CWD/urxvt.xpm $PKG/usr/share/pixmaps/urxvt.xpm
-
-mkdir -p $PKG/usr/share/applications
-cp $CWD/rxvt-unicode.desktop $PKG/usr/share/applications/rxvt-unicode.desktop
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYING Changes INSTALL README.FAQ $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
-
-# Fix usr/bin/urxvt permissions to enable writing to utmp and wtmp files
-#
-version="$(echo "$VERSION" |sed -e 's/[^0-9]//g')"
-if [ "$version" -le 922 ]; then
- # standalone
- chgrp utmp usr/bin/urxvt
- chmod 2755 usr/bin/urxvt
- # client
- chgrp utmp usr/bin/urxvtc
- chmod 2755 usr/bin/urxvtc
- # server
- chgrp utmp usr/bin/urxvtd
- chmod 2755 usr/bin/urxvtd
-fi
-
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/rxvt-unicode/rxvt-unicode.desktop b/system/rxvt-unicode/rxvt-unicode.desktop
deleted file mode 100644
index 7622918703..0000000000
--- a/system/rxvt-unicode/rxvt-unicode.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=urxvt
-Comment=An unicode capable rxvt clone
-Exec=urxvt
-Icon=utilities-terminal
-Terminal=false
-Type=Application
-Categories=System;TerminalEmulator;
diff --git a/system/rxvt-unicode/rxvt-unicode.info b/system/rxvt-unicode/rxvt-unicode.info
deleted file mode 100644
index d02aee8160..0000000000
--- a/system/rxvt-unicode/rxvt-unicode.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="rxvt-unicode"
-VERSION="9.22"
-HOMEPAGE="http://software.schmorp.de/pkg/rxvt-unicode.html"
-DOWNLOAD="http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.22.tar.bz2"
-MD5SUM="93782dec27494eb079467dacf6e48185"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Jason Graham"
-EMAIL="jgraha8@gmail.com"
diff --git a/system/rxvt-unicode/slack-desc b/system/rxvt-unicode/slack-desc
deleted file mode 100644
index 2f428ddfd9..0000000000
--- a/system/rxvt-unicode/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------------------------------------------------------|
-rxvt-unicode: rxvt-unicode (enhanced version of rxvt)
-rxvt-unicode:
-rxvt-unicode: This project is an enhanced version of the rxvt terminal
-rxvt-unicode: emulator. It has full unicode and Xft support, does font
-rxvt-unicode: antialiasing and italics, and has the same transparency
-rxvt-unicode: capabilities as ATerm. It can be extended using Perl.
-rxvt-unicode:
-rxvt-unicode: Visit the rxvt-unicode project online:
-rxvt-unicode: http://software.schmorp.de/pkg/rxvt-unicode/
-rxvt-unicode:
-rxvt-unicode:
diff --git a/system/rxvt-unicode/urxvt.xpm b/system/rxvt-unicode/urxvt.xpm
deleted file mode 100644
index c7b6a2db7e..0000000000
--- a/system/rxvt-unicode/urxvt.xpm
+++ /dev/null
@@ -1,141 +0,0 @@
-/* XPM */
-static char * urxvt_32x32_xpm[] = {
-"32 32 106 2",
-" c None",
-". c #E7E7E7",
-"+ c #E7E3DE",
-"@ c #E7DFDE",
-"# c #29417B",
-"$ c #5A719C",
-"% c #294173",
-"& c #08246B",
-"* c #18387B",
-"= c #294D8C",
-"- c #395D9C",
-"; c #526DAD",
-"> c #6382BD",
-", c #7392C6",
-"' c #84A6DE",
-") c #9CBAE7",
-"! c #B5CFF7",
-"~ c #CEDBEF",
-"{ c #ADBECE",
-"] c #94B2D6",
-"^ c #CEDFEF",
-"/ c #ADBED6",
-"( c #C6D3DE",
-"_ c #52658C",
-": c #7371F7",
-"< c #394573",
-"[ c #B5D3F7",
-"} c #D6D3CE",
-"| c #A5A6A5",
-"1 c #A59E9C",
-"2 c #6B6963",
-"3 c #B5B2AD",
-"4 c #8496AD",
-"5 c #CEC7C6",
-"6 c #9CA6AD",
-"7 c #C6C7C6",
-"8 c #525D6B",
-"9 c #294584",
-"0 c #8C96BD",
-"a c #8C9EC6",
-"b c #425D9C",
-"c c #7392CE",
-"d c #8CA6DE",
-"e c #ADAAA5",
-"f c #A5A29C",
-"g c #211C18",
-"h c #C6BEBD",
-"i c #52618C",
-"j c #B5B6B5",
-"k c #52596B",
-"l c #847D7B",
-"m c #002063",
-"n c #001C52",
-"o c #001C5A",
-"p c #ADC7EF",
-"q c #94A2B5",
-"r c #8C9EAD",
-"s c #8CAAC6",
-"t c #9CAABD",
-"u c #8C9EB5",
-"v c #F7F7F7",
-"w c #DEDBDE",
-"x c #848284",
-"y c #8C8A8C",
-"z c #8C8E8C",
-"A c #D6D7D6",
-"B c #FFFFFF",
-"C c #E7E3E7",
-"D c #DEDFDE",
-"E c #949294",
-"F c #ADAAAD",
-"G c #EFEFEF",
-"H c #CECFCE",
-"I c #BDBEBD",
-"J c #4A4D4A",
-"K c #B5B2B5",
-"L c #9C9E9C",
-"M c #7B7D7B",
-"N c #393C39",
-"O c #9C9A9C",
-"P c #848684",
-"Q c #313031",
-"R c #636563",
-"S c #292C29",
-"T c #F7F3F7",
-"U c #949694",
-"V c #5A595A",
-"W c #EFEBEF",
-"X c #737173",
-"Y c #000000",
-"Z c #ADAEAD",
-"` c #BDBABD",
-" . c #D6D7FF",
-".. c #5A59FF",
-"+. c #CECFFF",
-"@. c #B5B2FF",
-"#. c #DEDBFF",
-"$. c #A5A2A5",
-"%. c #C6C3C6",
-"&. c #ADA6AD",
-"*. c #7371FF",
-"=. c #6B6DFF",
-"-. c #5A5D5A",
-";. c #BDB6BD",
-">. c #CECBC6",
-",. c #BDBAB5",
-" ",
-" ",
-" ",
-". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ",
-"@ # $ $ $ % & * = - ; > , ' ) ! ~ ~ ~ ~ { ~ ~ ~ ~ ] ^ ~ ~ ~ / ( ",
-"@ _ : : : < & * = - ; > , ' ) [ } } } } | 1 2 2 3 4 @ 1 5 1 6 ( ",
-"@ _ 7 7 7 8 9 0 a b ; > c d ) [ } } } } | e } } e 4 @ f g h 6 ( ",
-"@ i j j j k & * = - ; > , ' ) [ } 2 l } | e 1 1 3 4 @ 1 5 1 6 ( ",
-"@ m n n n o & * = - ; > , ' ) p q q q q r q q q q s t q q q u ( ",
-"@ v v v v v v v v v v v v v v v v v v v v v v v v v v w x y z A ",
-"@ B B B B B B B B B B B B B B B B B C B B B B B B B B D E F | + ",
-"@ B D G H H B H B B H G D B B w G I J I I B B B B B B D F K L + ",
-"@ B M J z N B z O H P B Q v B R B O N O O B B B B B B D M y L + ",
-"@ B M I B B B B J S T B L K I z B B R B B B B B B B B D P U F + ",
-"@ B M I B B B C J V H B T V J W B B R B B B B B B B B D P U F + ",
-"@ B M I B B B V G G J G B X M B B B X S N B B B B B B D P U F + ",
-"@ B B B B B B B B B B B B B B B B B B B B B B B B B B D P U F + ",
-"@ B B B B B B B B B B B B B B B . H H H H C B B B B B D P U F + ",
-"@ B B B B B B B B B B B B B B B M Y Y Y Y R B B B B B D P U F + ",
-"@ B B B B B B v B B B B B B B B M Y Y Y Y R B B B B B D P U F + ",
-"@ B B B B B B J L B B B B B B B M Y Y Y Y R B B B B B D O Z ` + ",
-"@ .....+.@.#.B K R $.B B B B B M Y Y Y Y R B B B B B D %.%.&.+ ",
-"@ +.B B *.=.B B L -.H B B B B B M Y Y Y Y R B B B B B D %.K L + ",
-"@ B B B B B B R K B B B B B B B M Y Y Y Y R B B B B B D %.K L + ",
-"@ B B B B B B B B B B B B B B B M Y Y Y Y R B B B B B D ;.O O + ",
-"@ B B B B B B B B B B B B B B B O Q Q Q Q P B B B B B D $.F F + ",
-"@ B B B B B B B B B B B B B B B B B B B B B B B B B B D | K L + ",
-"@ B B B B B B B B B B B B B B B B B B B B B B B B B B D O Z j + ",
-"H >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.7 >.>.>.,.",
-" ",
-" ",
-" "};
diff --git a/system/sbsigntools/autogen.patch b/system/sbsigntools/autogen.patch
deleted file mode 100644
index e681792c49..0000000000
--- a/system/sbsigntools/autogen.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-From c8c7e1ba97d15433247bcf87e88485cf7c6b7cc3 Mon Sep 17 00:00:00 2001
-From: James Bottomley <JBottomley@Parallels.com>
-Date: Tue, 26 Jun 2012 09:49:05 +0100
-Subject: sbsigntools: fix autogen.sh for build service
-
----
- AUTHORS | 4 ++
- ChangeLog | 224 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- autogen.sh | 10 ---
- 3 files changed, 228 insertions(+), 10 deletions(-)
- create mode 100644 AUTHORS
- create mode 100644 ChangeLog
-
-diff --git a/AUTHORS b/AUTHORS
-new file mode 100644
-index 0000000..3eaa355
---- /dev/null
-+++ b/AUTHORS
-@@ -0,0 +1,4 @@
-+ Adam Conrad
-+ Ivan Hu
-+ James Bottomley
-+ Jeremy Kerr
-diff --git a/ChangeLog b/ChangeLog
-new file mode 100644
-index 0000000..d5d5ea6
---- /dev/null
-+++ b/ChangeLog
-@@ -0,0 +1,224 @@
-+2012-06-20 c07dfb9 Ivan Hu <ivan.hu@canonical.com>
-+
-+ * configure: Add check for bfh.h
-+
-+2012-06-19 5e07c4e Ivan Hu <ivan.hu@canonical.com>
-+
-+ * tests: Add a test to check invalid PKCS7 signature attaching
-+
-+2012-06-19 bfb778e Ivan Hu <ivan.hu@canonical.com>
-+
-+ * sbattach: Check that attached signatures are valid PKCS7 data
-+
-+2012-06-14 bf6df84 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: Use a variable for image filename
-+
-+2012-06-13 9b7f7fb Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: Unconditionally parse PE/COFF data
-+
-+2012-06-13 128f1c1 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: Check for failed image load
-+
-+2012-06-13 b48e256 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * tests: Add tests for missing image, cert & key files
-+
-+2012-06-13 0af5e01 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * tests: Execute tests in a clean (temporary) directory
-+
-+2012-06-13 8716e88 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * tests: Use COMPILE.S for assembing test object
-+
-+2012-06-13 807f0e6 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Version 0.2
-+
-+2012-06-13 7c2d8bb Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * docs: Add simple manpage for sbattach
-+
-+2012-06-13 deb9211 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * automake: Clean generated man files
-+
-+2012-06-13 3cde1e4 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * tests: Add a few simple tests
-+
-+2012-06-13 cc881c2 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Remove unused test.c file
-+
-+2012-06-12 4c79e3a Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbattach: Add too to manage detached signatures
-+
-+2012-06-12 564f5bc Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: Add facility to write unsigned images
-+
-+2012-06-11 a07b8d2 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsign,sbverify: Update getopt_long optstrings
-+
-+2012-06-11 5836038 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: Add support for detached signatures
-+
-+2012-06-11 b8a7d51 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: Split image signature table reading to separate function
-+
-+2012-06-11 e9f438c Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Fix warnings from added -W flags
-+
-+2012-06-11 f19e8bb Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * automake: Add -Wall -Wextra CFLAGS
-+
-+2012-06-11 af4f088 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsign: Add --detached option to create detached PKCS7 signatures
-+
-+2012-06-11 0c9fbd2 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsign: fix flag for verbose operation
-+
-+2012-06-11 3673db1 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * docs: Fix manpage creation
-+
-+2012-05-29 9b2f3a7 Adam Conrad <adconrad@0c3.net>
-+
-+ * autogen.sh: Fix ccan_module assignment
-+
-+2012-05-28 3fb0f00 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: use read_write_all from ccan
-+
-+2012-05-28 f1112b4 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: Fix format specifier for 32-bit builds
-+
-+2012-05-24 d5e634c Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * autoconfiscate
-+
-+2012-05-23 82f8c30 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * docs: Add initial manpages
-+
-+2012-05-23 c14efcb Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsign,sbverify: help2man-ize usage output
-+
-+2012-05-23 98a4f10 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Makefile: Add dist targets
-+
-+2012-05-22 1b2b5c6 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * ccan: Add ccan import logic
-+
-+2012-05-15 6ff68e5 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Move ccan submodule
-+
-+2012-05-15 9a08e25 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Remove unused header
-+
-+2012-05-14 bc618c5 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Remove pkcs7-simple test file
-+
-+2012-05-14 9ac930e Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Makefile: add install target
-+
-+2012-05-14 a1b270f Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Makefile: Comment components
-+
-+2012-05-14 c67b82a Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: clean up openssl init
-+
-+2012-05-14 c499763 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: add check for invalid PKCS7 data
-+
-+2012-05-14 74eb766 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: Add certificate chain verification
-+
-+2012-05-12 e111127 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * verify: move idc-related parsing to idc.c
-+
-+2012-05-12 46cf6a6 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsign: fix incorrect check for certificate load
-+
-+2012-05-12 57d9f0c Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: reformat gap warnings
-+
-+2012-05-12 ab05bec Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: add cert table to image size
-+
-+2012-05-12 e1fec08 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: Add check for image hash
-+
-+2012-05-12 fefe97c Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbverify: check for presence of signature table
-+
-+2012-05-12 b73f723 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Makefile: add $(tools) var
-+
-+2012-05-12 55b1940 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsigntool -> sbsign
-+
-+2012-05-12 a183de9 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: open output file with O_TRUNC
-+
-+2012-04-24 04b70fc Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * sbsigntooL: expand usage info
-+
-+2012-04-24 9826a43 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Add GPLv3 text in COPYING
-+
-+2012-04-24 906654e Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * coff: remove unneeded coff includes
-+
-+2012-04-23 9d3c8b5 Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Add copyright comments
-+
-+2012-04-23 e019eec Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * image: warn about potential checksum differences
-+
-+2012-04-23 01e33cd Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * idc: allocate using the image context
-+
-+2012-04-23 acd8c0a Jeremy Kerr <jeremy.kerr@canonical.com>
-+
-+ * Initial commit
-+
-diff --git a/autogen.sh b/autogen.sh
-index 32ea6f6..117835b 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -16,16 +16,6 @@ then
- --build-type=automake lib/ccan $ccan_modules
- fi
-
--# Create generatable docs from git
--(
-- echo "Authors of sbsigntool:"
-- echo
-- git log --format='%an' | sort -u | sed 's,^,\t,'
--) > AUTHORS
--
--# Generate simple ChangeLog
--git log --date=short --format='%ad %t %an <%ae>%n%n * %s%n' > ChangeLog
--
- # automagic
- aclocal
- autoheader
---
-2.1.2
-
diff --git a/system/sbsigntools/ccan_makefile.patch b/system/sbsigntools/ccan_makefile.patch
deleted file mode 100644
index e77b958ab8..0000000000
--- a/system/sbsigntools/ccan_makefile.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- sbsigntools-0.7/lib/ccan.git/Makefile 2015-02-07 12:56:54.457781357 +0000
-+++ sbsigntools-0.7/lib/ccan.git/Makefile 2015-02-07 13:00:25.482175092 +0000
-@@ -15,7 +15,7 @@
- EXCLUDE=wwviaudio ogg_to_pcm jmap jset nfs
-
- # Where make scores puts the results
--SCOREDIR=scores/$(shell whoami)/$(shell uname -s)-$(shell uname -m)-$(CC)-$(shell git describe --always --dirty)
-+#SCOREDIR=scores/$(shell whoami)/$(shell uname -s)-$(shell uname -m)-$(CC)-$(shell git describe --always --dirty)
-
- ALL=$(filter-out $(EXCLUDE), $(REALLY_ALL))
-
-@@ -77,7 +77,7 @@ distclean: clean
- scores: $(SCOREDIR)/SUMMARY
-
- $(SCOREDIR)/SUMMARY: $(patsubst ccan/%/_info, $(SCOREDIR)/score-%, $(wildcard ccan/*/_info))
-- git describe --always > $@
-+# git describe --always > $@
- uname -a >> $@
- $(CC) -v >> $@
- cat $^ | grep 'Total score:' >> $@
diff --git a/system/sbsigntools/fix_efi_arch.patch b/system/sbsigntools/fix_efi_arch.patch
deleted file mode 100644
index fceb96f4bf..0000000000
--- a/system/sbsigntools/fix_efi_arch.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 706bec1a957f2fcce3781e326e6e0b2be41a9b86 Mon Sep 17 00:00:00 2001
-From: James Bottomley <JBottomley@Parallels.com>
-Date: Tue, 6 Jan 2015 08:00:28 -0800
-Subject: [PATCH] OBS add correcting definition of EFI_ARCH
-
-Signed-off-by: James Bottomley <JBottomley@Parallels.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4891151..2e80e09 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -64,7 +64,7 @@ PKG_CHECK_MODULES(uuid, uuid,
- AC_MSG_ERROR([libuuid (from the uuid package) is required]))
-
- dnl gnu-efi headers require extra include dirs
--EFI_ARCH=$(uname -m)
-+EFI_ARCH=$(uname -m | sed s/i.86/ia32/)
- EFI_CPPFLAGS="-I/usr/include/efi -I/usr/include/efi/$EFI_ARCH \
- -DEFI_FUNCTION_WRAPPER"
- CPPFLAGS_save="$CPPFLAGS"
---
-2.1.2
-
diff --git a/system/sbsigntools/sbsigntools.SlackBuild b/system/sbsigntools/sbsigntools.SlackBuild
index f9701591ff..5f64805828 100644
--- a/system/sbsigntools/sbsigntools.SlackBuild
+++ b/system/sbsigntools/sbsigntools.SlackBuild
@@ -23,15 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sbsigntools
-VERSION=${VERSION:-0.7}
+VERSION=${VERSION:-0.9.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-CCAN_VERSION=${CCAN_VERSION:-0.0.2}
-
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 +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"
@@ -62,23 +60,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+# The tarball is generated from a clone --recursive of the git repository
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
cd $PRGNAM-$VERSION
-tar -xvf $CWD/ccan-$CCAN_VERSION.tar.gz -C lib/ccan.git
-
-# Next 2 patches taken from
-# https://build.opensuse.org/package/show/home:jejb1:UEFI/sbsigntools?rev=16
-# Fixes build on 32-bit.
-patch -p1 -i $CWD/fix_efi_arch.patch
-
-# Creates changelog and stops git from being called.
-patch -p1 -i $CWD/autogen.patch
-
-# Suppress "not git repo messages"- they're evaluated by the makefile but don't
-# actually get run so it's just noise.
-patch -p1 -i $CWD/ccan_makefile.patch
-rm lib/ccan.git/Makefile-web
-
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -86,7 +70,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 {} \;
-./autogen.sh
+sed -i "s|/usr/lib$LIBDIRSUFFIX/efi|/usr/lib$LIBDIRSUFFIX/gnuefi|" configure.ac
+
+NOCONFIGURE=1 ./autogen.sh
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/sbsigntools/sbsigntools.info b/system/sbsigntools/sbsigntools.info
index 7a80834512..52bbf91726 100644
--- a/system/sbsigntools/sbsigntools.info
+++ b/system/sbsigntools/sbsigntools.info
@@ -1,10 +1,8 @@
PRGNAM="sbsigntools"
-VERSION="0.7"
+VERSION="0.9.1"
HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jejb/sbsigntools.git/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/sbsigntools-0.7.tar.gz \
- http://ponce.cc/slackware/sources/repo/ccan-0.0.2.tar.gz"
-MD5SUM="5adb5f7caaf435268f833eb816566c8e \
- 6de60482bf935a159ecb647d2e4a57ab"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/sbsigntools-0.9.1.tar.xz"
+MD5SUM="3dbdb509be9310523377dc523d4b5bd7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/spacefm/glibc-2.28.patch b/system/spacefm/glibc-2.28.patch
new file mode 100644
index 0000000000..324bc43b93
--- /dev/null
+++ b/system/spacefm/glibc-2.28.patch
@@ -0,0 +1,12 @@
+diff --git a/src/main.c b/src/main.c
+index 645e2ec..9453a3b 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -23,6 +23,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
++#include <sys/sysmacros.h>
+
+ #include <signal.h>
+
diff --git a/system/spacefm/spacefm.SlackBuild b/system/spacefm/spacefm.SlackBuild
index c8a93b7eaa..46cf4735bd 100644
--- a/system/spacefm/spacefm.SlackBuild
+++ b/system/spacefm/spacefm.SlackBuild
@@ -81,6 +81,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://github.com/IgnorantGuru/spacefm/issues/727
+patch -p1 < $CWD/glibc-2.28.patch
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/system/t1utils/README b/system/t1utils/README
deleted file mode 100644
index 5ff4feb67b..0000000000
--- a/system/t1utils/README
+++ /dev/null
@@ -1,17 +0,0 @@
-t1utils is a collection of simple Type 1 font manipulation programs. Together,
-they allow you to convert between PFA (ASCII) and PFB (binary) formats,
-disassemble PFA or PFB files into human-readable form, and reassemble them
-into PFA or PFB format. Additionally you can extract font resources from
-a Macintosh font file (ATM/Laserwriter), or create a Macintosh Type 1 font
-file from a PFA or PFB font.
-
-* t1ascii: changes PFB (binary) fonts into PFA (ASCII) format
-* t1binary: goes the opposite direction
-* t1disasm: translates PFBs or PFAs into a human-readable and -editable format
-* t1asm: goes the opposite direction
-* t1unmac: translates a Macintosh Type 1 font into either PFB or PFA format
-* t1mac: goes the opposite direction
-
-NOTE: You do not need t1utils if you already have texlive installed as it is
-already included there. However, installing it anyway doesn't do any harm
-either.
diff --git a/system/t1utils/slack-desc b/system/t1utils/slack-desc
deleted file mode 100644
index ecbc9472a2..0000000000
--- a/system/t1utils/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------------------------------------------------------|
-t1utils: t1utils (Type 1 Font Utilities)
-t1utils:
-t1utils: t1utils is a collection of simple Type 1 font manipulation programs.
-t1utils: Together, they allow you to convert between PFA (ASCII) and PFB
-t1utils: (binary) formats, disassemble PFA or PFB files into human-readable
-t1utils: form, and reassemble them into PFA or PFB format. Additionally you
-t1utils: can extract font resources from a Macintosh font file
-t1utils: (ATM/Laserwriter), or create a Macintosh Type 1 font file from a
-t1utils: PFA or PFB font.
-t1utils:
-t1utils:
diff --git a/system/t1utils/t1utils.SlackBuild b/system/t1utils/t1utils.SlackBuild
deleted file mode 100644
index ab9ef7ba50..0000000000
--- a/system/t1utils/t1utils.SlackBuild
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for t1utils
-
-# Copyright 2013-2017 Kyle Guinn <elyk03@gmail.com>, 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=t1utils
-VERSION=${VERSION:-1.41}
-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-$VERSION
-OUTPUT=${OUTPUT:-/tmp}
-
-DOCS="INSTALL LICENSE NEWS.md README.md"
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$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 .
-chmod -R u+w,go-w,a+rX-st .
-
-# -D_GNU_SOURCE is to fix https://github.com/kohler/t1utils/issues/8
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --disable-dependency-tracking \
- --build=$ARCH-slackware-linux \
- CFLAGS="$SLKCFLAGS" \
- CPPFLAGS="-D_GNU_SOURCE" \
-
-make
-make install-strip DESTDIR=$PKG
-
-find $PKG/usr/man -type f -exec gzip -9 {} +
-
-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/system/t1utils/t1utils.info b/system/t1utils/t1utils.info
deleted file mode 100644
index 99d640b848..0000000000
--- a/system/t1utils/t1utils.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="t1utils"
-VERSION="1.41"
-HOMEPAGE="https://www.lcdf.org/type/#t1utils"
-DOWNLOAD="https://www.lcdf.org/type/t1utils-1.41.tar.gz"
-MD5SUM="5430f82fcc27ccfc44526a59fa64849a"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Kyle Guinn"
-EMAIL="elyk03@gmail.com"
diff --git a/system/terminator/terminator.info b/system/terminator/terminator.info
index 217966f2ae..d205f33bf4 100644
--- a/system/terminator/terminator.info
+++ b/system/terminator/terminator.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://launchpad.net/terminator/trunk/1.0/+download/terminator-1.0.ta
MD5SUM="26b2c80a30bead957b83cef3a2b9101f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="psutil"
+REQUIRES="psutil vte2"
MAINTAINER="Alan Alberghini"
EMAIL="414N@slacky.it"
diff --git a/system/tinyterm/tinyterm.info b/system/tinyterm/tinyterm.info
index 64685cb803..3f3a60cc83 100644
--- a/system/tinyterm/tinyterm.info
+++ b/system/tinyterm/tinyterm.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/ryanpcmcquen/tinyterm/archive/0.5.8/tinyterm-0.5.8.
MD5SUM="d79ebef1fd122a5b06e348bd24437e41"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="vte2"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
diff --git a/system/ttyrec/ttyrec.SlackBuild b/system/ttyrec/ttyrec.SlackBuild
index caecc00574..4b4f00653b 100644
--- a/system/ttyrec/ttyrec.SlackBuild
+++ b/system/ttyrec/ttyrec.SlackBuild
@@ -72,7 +72,7 @@ find -L . \
# Fixed: "Out of pty's Terminated"
patch -p1 < $CWD/ttyrec-1.0.8.RHEL5.patch
-make
+make CFLAGS+="$SLKCFLAGS -DSVR4 -DHAVE_inotify -D_XOPEN_SOURCE=500"
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/system/uhd/uhd.SlackBuild b/system/uhd/uhd.SlackBuild
index 1171a01c0a..d7100d6204 100644
--- a/system/uhd/uhd.SlackBuild
+++ b/system/uhd/uhd.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=uhd
-VERSION=${VERSION:-003_005_002}
+VERSION=${VERSION:-003_009_007}
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"
@@ -59,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf UHD-Mirror-release_$VERSION
-tar xvf $CWD/release_$VERSION.tar.gz || tar xvf $CWD/UHD-Mirror-release_$VERSION.tar.gz
-cd UHD-Mirror-release_$VERSION/host
+rm -rf $PRGNAM-release_$VERSION
+tar xvf $CWD/release_$VERSION.tar.gz
+cd $PRGNAM-release_$VERSION/host
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/uhd/uhd.info b/system/uhd/uhd.info
index 15d3fc0305..87365de4d6 100644
--- a/system/uhd/uhd.info
+++ b/system/uhd/uhd.info
@@ -1,10 +1,10 @@
PRGNAM="uhd"
-VERSION="003_005_002"
+VERSION="003_009_007"
HOMEPAGE="https://www.ettus.com/"
-DOWNLOAD="https://github.com/EttusResearch/UHD-Mirror/archive/release_003_005_002.tar.gz"
-MD5SUM="14f914b68bb9f58b1d08ae97000c03f4"
+DOWNLOAD="https://github.com/EttusResearch/uhd/archive/release_003_009_007.tar.gz"
+MD5SUM="3f024ac4d536a8aaf1ad66617deda941"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="python-cheetah"
+REQUIRES="Mako python-cheetah python-requests"
MAINTAINER="Georgi Kolev"
EMAIL="shadowx@escom.bg"
diff --git a/system/vhba-module/vhba-module.SlackBuild b/system/vhba-module/vhba-module.SlackBuild
index 405df90f90..a1f0ea5822 100644
--- a/system/vhba-module/vhba-module.SlackBuild
+++ b/system/vhba-module/vhba-module.SlackBuild
@@ -60,6 +60,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|\ -Werror||" Makefile
+
make KERNELRELEASE=$KERNEL
mkdir -p $PKG/lib/modules/$KERNEL/extra
diff --git a/system/virt-manager/Add-Slackware-to-OS-choices.patch b/system/virt-manager/Add-Slackware-to-OS-choices.patch
index 18aadb62cf..0a5260206f 100644
--- a/system/virt-manager/Add-Slackware-to-OS-choices.patch
+++ b/system/virt-manager/Add-Slackware-to-OS-choices.patch
@@ -1,37 +1,21 @@
-diff -Nur virt-manager-1.5.0.orig/virtinst/osdict.py virt-manager-1.5.0/virtinst/osdict.py
---- virt-manager-1.5.0.orig/virtinst/osdict.py 2018-01-27 14:57:20.000000000 -0600
-+++ virt-manager-1.5.0/virtinst/osdict.py 2018-02-19 00:52:00.750416744 -0600
-@@ -159,6 +159,7 @@
- "rhel5": "rhel5.0",
- "rhel6": "rhel6.0",
- "rhel7": "rhel7.0",
-+ "slackware": "slackware14.2",
- "ubuntuhardy": "ubuntu8.04",
- "ubuntuintrepid": "ubuntu8.10",
- "ubuntujaunty": "ubuntu9.04",
-@@ -373,7 +374,7 @@
- # EOL date. So assume None == EOL, add some manual work arounds.
- # We should fix this in a new libosinfo version, and then drop
- # this hack
-- if self._is_related_to(["fedora24", "rhel7.0", "debian6",
-+ if self._is_related_to(["slackware14.2", "fedora24", "rhel7.0", "debian6",
- "ubuntu13.04", "win8", "win2k12", "mageia5", "centos7.0"],
- check_clones=False, check_derives=False):
- return True
-diff -Nur virt-manager-1.5.0.orig/virtinst/urlfetcher.py virt-manager-1.5.0/virtinst/urlfetcher.py
---- virt-manager-1.5.0.orig/virtinst/urlfetcher.py 2018-01-27 14:57:20.000000000 -0600
-+++ virt-manager-1.5.0/virtinst/urlfetcher.py 2018-02-19 00:52:00.751416752 -0600
-@@ -1379,6 +1379,43 @@
- return False
+diff -Nur virt-manager-2.2.0.orig/virtinst/install/urldetect.py virt-manager-2.2.0/virtinst/install/urldetect.py
+--- virt-manager-2.2.0.orig/virtinst/install/urldetect.py 2019-06-17 00:20:11.000000000 -0500
++++ virt-manager-2.2.0/virtinst/install/urldetect.py 2019-07-03 02:14:35.978571412 -0500
+@@ -466,6 +466,47 @@
+ return cache.treeinfo_family_regex(famregex)
-+class SlackwareDistro(Distro):
++class SlackwareDistro(_DistroTree):
+ # slackware doesn't have installable URLs, so this is just for a
+ # mounted ISO
+ name = "Slackware"
+ urldistro = "slackware"
+ os_variant = "linux"
+
++ PRETTY_NAME = "Slackware"
++ matching_distros = ["slackware"]
++ _variant_prefix = "slackware"
++
+ _boot_iso_paths = []
+ _xen_kernel_paths = []
+
@@ -62,6 +46,17 @@ diff -Nur virt-manager-1.5.0.orig/virtinst/urlfetcher.py virt-manager-1.5.0/virt
+ return False
+
+
- # Build list of all *Distro classes
- def _build_distro_list():
- allstores = []
+ class _SuseDistro(_RHELDistro):
+ PRETTY_NAME = None
+ _suse_regex = []
+diff -Nur virt-manager-2.2.0.orig/virtinst/osdict.py virt-manager-2.2.0/virtinst/osdict.py
+--- virt-manager-2.2.0.orig/virtinst/osdict.py 2019-06-17 00:20:11.000000000 -0500
++++ virt-manager-2.2.0/virtinst/osdict.py 2019-07-03 02:11:59.208399622 -0500
+@@ -146,6 +146,7 @@
+ "rhel5": "rhel5.0",
+ "rhel6": "rhel6.0",
+ "rhel7": "rhel7.0",
++ "slackware": "slackware14.2",
+ "ubuntuhardy": "ubuntu8.04",
+ "ubuntuintrepid": "ubuntu8.10",
+ "ubuntujaunty": "ubuntu9.04",
diff --git a/system/virt-manager/virt-manager.SlackBuild b/system/virt-manager/virt-manager.SlackBuild
index 3a8402bd75..1b2326ed09 100644
--- a/system/virt-manager/virt-manager.SlackBuild
+++ b/system/virt-manager/virt-manager.SlackBuild
@@ -4,10 +4,10 @@
# Written by Ash Wiren ash@spooksoftware.com # Released to public domain.
# Modified by Zoran Stojakovic
-# Lots of mods by rworkman for 1.x
+# Lots of mods by rworkman for 1.x and (later) 2.x
PRGNAM=virt-manager
-VERSION=${VERSION:-1.5.1}
+VERSION=${VERSION:-2.2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -56,8 +56,8 @@ find -L . \
# Add Slackware support
patch -p1 < $CWD/Add-Slackware-to-OS-choices.patch
-python setup.py configure
-python setup.py install --root=$PKG
+python3 setup.py configure
+python3 setup.py install --root=$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
@@ -68,7 +68,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- COPYING HACKING.md INSTALL.md NEWS.md README.md \
+ CONTRIBUTING.md COPYING INSTALL.md NEWS.md README.md \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/virt-manager/virt-manager.info b/system/virt-manager/virt-manager.info
index 6bdff3b232..c21bad0447 100644
--- a/system/virt-manager/virt-manager.info
+++ b/system/virt-manager/virt-manager.info
@@ -1,10 +1,10 @@
PRGNAM="virt-manager"
-VERSION="1.5.1"
+VERSION="2.2.1"
HOMEPAGE="http://virt-manager.org/"
-DOWNLOAD="http://virt-manager.org/download/sources/virt-manager/virt-manager-1.5.1.tar.gz"
-MD5SUM="32a929fd91fca9767730abaefb94661d"
+DOWNLOAD="https://virt-manager.org/download/sources/virt-manager/virt-manager-2.2.1.tar.gz"
+MD5SUM="adb4fa436d60b62a8e18a7b3a1667d97"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libosinfo libvirt-glib libvirt-python gnome-python2-gconf tunctl ipaddr-py python-requests gtk-vnc spice-gtk vte3"
+REQUIRES="gtksourceview3 libosinfo libvirt-glib libvirt-python gtk-vnc spice-gtk"
MAINTAINER="Robby Workman"
EMAIL="rworkman@slackbuilds.org"
diff --git a/system/virtualbox-addons/rc.vboxadd.diff b/system/virtualbox-addons/rc.vboxadd.diff
index f0b3acddd0..bb5fdde0fe 100644
--- a/system/virtualbox-addons/rc.vboxadd.diff
+++ b/system/virtualbox-addons/rc.vboxadd.diff
@@ -1,6 +1,7 @@
---- vboxadd.sh.orig 2016-11-23 16:24:46.000000000 +0100
-+++ vboxadd.sh 2016-12-27 16:06:46.413895799 +0100
-@@ -154,42 +154,9 @@
+diff -ur VirtualBox-5.2.4.orig/src/VBox/Additions/linux/installer/vboxadd.sh VirtualBox-5.2.4/src/VBox/Additions/linux/installer/vboxadd.sh
+--- VirtualBox-5.2.4.orig/src/VBox/Additions/linux/installer/vboxadd.sh 2017-12-19 10:22:03.000000000 +0100
++++ VirtualBox-5.2.4/src/VBox/Additions/linux/installer/vboxadd.sh 2018-01-07 17:23:23.225998245 +0100
+@@ -130,18 +130,9 @@
dev=/dev/vboxguest
userdev=/dev/vboxuser
@@ -8,165 +9,127 @@
owner=vboxadd
group=1
--test_for_gcc_and_make()
--{
-- which make > /dev/null 2>&1 || printf "\nThe make utility was not found. If the following module compilation fails then\nthis could be the reason and you should try installing it.\n"
-- which gcc > /dev/null 2>&1 || printf "\nThe gcc utility was not found. If the following module compilation fails then\nthis could be the reason and you should try installing it.\n"
--}
--
--test_sane_kernel_dir()
--{
-- KERN_VER=`uname -r`
-- KERN_DIR="/lib/modules/$KERN_VER/build"
-- if [ -d "$KERN_DIR" ]; then
-- KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
-- if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
-- return 0
-- fi
-- fi
-- printf "\nThe headers for the current running kernel were not found. If the following\nmodule compilation fails then this could be the reason.\n"
-- if [ "$system" = "redhat" ]; then
-- if echo "$KERN_VER" | grep -q "uek"; then
-- printf "The missing package can be probably installed with\nyum install kernel-uek-devel-$KERN_VER\n"
-- else
-- printf "The missing package can be probably installed with\nyum install kernel-devel-$KERN_VER\n"
-- fi
-- elif [ "$system" = "suse" ]; then
-- KERN_VER_SUSE=`echo "$KERN_VER" | sed 's/.*-\([^-]*\)/\1/g'`
-- KERN_VER_BASE=`echo "$KERN_VER" | sed 's/\(.*\)-[^-]*/\1/g'`
-- printf "The missing package can be probably installed with\nzypper install kernel-$KERN_VER_SUSE-devel-$KERN_VER_BASE\n"
-- elif [ "$system" = "debian" ]; then
-- printf "The missing package can be probably installed with\napt-get install linux-headers-$KERN_VER\n"
-- fi
--}
+-if test -r $config; then
+- . $config
+-else
+- fail "Configuration file $config not found"
+-fi
+-test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
+- fail "Configuration file $config not complete"
-
running_vboxguest()
{
lsmod | grep -q "vboxguest[^_-]"
-@@ -261,13 +228,6 @@
- start()
- {
- begin "Starting the VirtualBox Guest Additions ";
-- if test -r $config; then
-- . $config
-- else
-- fail "Configuration file $config not found"
+@@ -252,28 +243,6 @@
+ }
+ fi # INSTALL_NO_MODULE_BUILDS
+
+- # Put the X.Org driver in place. This is harmless if it is not needed.
+- "${INSTALL_DIR}/init/vboxadd-x11" setup 2>> "${LOG}"
+- # Install the guest OpenGL drivers. For now we don't support
+- # multi-architecture installations
+- rm -f /etc/ld.so.conf.d/00vboxvideo.conf
+- rm -Rf /var/lib/VBoxGuestAdditions/lib
+- if /usr/bin/VBoxClient --check3d 2>/dev/null; then
+- mkdir -p /var/lib/VBoxGuestAdditions/lib
+- ln -sf "${INSTALL_DIR}/lib/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1
+- # SELinux for the OpenGL libraries, so that gdm can load them during the
+- # acceleration support check. This prevents an "Oh no, something has gone
+- # wrong!" error when starting EL7 guests.
+- if test -e /etc/selinux/config; then
+- if command -v semanage > /dev/null; then
+- semanage fcontext -a -t lib_t "/var/lib/VBoxGuestAdditions/lib/libGL.so.1"
+- fi
+- chcon -h -t lib_t "/var/lib/VBoxGuestAdditions/lib/libGL.so.1"
+- fi
+- echo "/var/lib/VBoxGuestAdditions/lib" > /etc/ld.so.conf.d/00vboxvideo.conf
- fi
-- test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-- fail "Configuration file $config not complete"
- uname -r | grep -q -E '^2\.6|^3|^4' 2>/dev/null &&
- ps -A -o comm | grep -q '/*udevd$' 2>/dev/null ||
- no_udev=1
-@@ -378,218 +338,16 @@
+- ldconfig
+-
+ # Mount all shared folders from /etc/fstab. Normally this is done by some
+ # other startup script but this requires the vboxdrv kernel module loaded.
+ # This isn't necessary anymore as the vboxsf module is autoloaded.
+@@ -303,195 +272,16 @@
return 0
}
--## Update the initramfs. Debian and Ubuntu put the graphics driver in, and
--# need the touch(1) command below. Everyone else that I checked just need
--# the right module alias file from depmod(1) and only use the initramfs to
--# load the root filesystem, not the boot splash. update-initramfs works
--# for the first two and dracut for every one else I checked. We are only
--# interested in distributions recent enough to use the KMS vboxvideo driver.
--## @param $1 kernel version to update for.
--update_module_dependencies()
--{
-- depmod "${1}"
-- rm -f "/lib/modules/${1}/initrd/vboxvideo"
-- test -d "/lib/modules/${1}/initrd" &&
-- test -f "/lib/modules/${1}/misc/vboxvideo.ko" &&
-- touch "/lib/modules/${1}/initrd/vboxvideo"
-- test -n "${QUICKSETUP}" && return
-- if type dracut >/dev/null 2>&1; then
-- dracut -f "/boot/initramfs-${1}.img" "${1}"
-- elif type update-initramfs >/dev/null 2>&1; then
-- update-initramfs -u -k "${1}"
-- fi
--}
--
-# Remove any existing VirtualBox guest kernel modules from the disk, but not
-# from the kernel as they may still be in use
-cleanup_modules()
-{
-- if [ -n "$(which dkms 2>/dev/null)" ]; then
-- begin "Removing existing VirtualBox DKMS kernel modules"
-- $DODKMS uninstall $OLDMODULES > $LOG
-- succ_msg
-- fi
-- begin "Removing existing VirtualBox non-DKMS kernel modules"
-- for i in $OLDMODULES; do
-- find /lib/modules -name $i\* | xargs rm 2>/dev/null
+- log "Removing existing VirtualBox kernel modules."
+- for i in ${OLDMODULES}; do
+- # We no longer support DKMS, remove any leftovers.
+- rm -rf "/var/lib/dkms/${i}"*
+- # And remove old modules.
+- rm -f /lib/modules/*/misc/"${i}"*
- done
-- succ_msg
+- # Remove leftover module folders.
+- for i in /lib/modules/*/misc; do
+- test -d "${i}" && rmdir -p "${i}" 2>/dev/null
+- done
+- rm -f /etc/depmod.d/vboxvideo-upstream.conf
-}
-
-# Build and install the VirtualBox guest kernel modules
-setup_modules()
-{
- # don't stop the old modules here -- they might be in use
-- cleanup_modules
-- begin "Building the VirtualBox Guest Additions kernel modules"
--
-- # Short cut out if a dkms build succeeds
-- if [ -n "$(which dkms 2>/dev/null)" ] &&
-- $DODKMS install vboxguest $INSTALL_VER >> $LOG 2>&1; then
-- succ_msg
-- return 0
-- fi
--
-- test_for_gcc_and_make
-- test_sane_kernel_dir
+- test -z "${QUICKSETUP}" && cleanup_modules
+- # This does not work for 2.4 series kernels. How sad.
+- test -n "${QUICKSETUP}" && test -f "${MODULE_DIR}/vboxguest.ko" && return 0
+- info "Building the VirtualBox Guest Additions kernel modules."
-
-- echo
-- begin "Building the main Guest Additions module"
+- # We are allowed to do ">> $LOG" after we have called "log()" once.
+- log "Building the main Guest Additions module."
- if ! $BUILDINTMP \
- --save-module-symvers /tmp/vboxguest-Module.symvers \
- --module-source $MODULE_SRC/vboxguest \
- --no-print-directory install >> $LOG 2>&1; then
-- show_error "Look at $LOG to find out what went wrong"
-- return 1
+- # If check_module_dependencies.sh fails it prints a message itself.
+- "${INSTALL_DIR}"/other/check_module_dependencies.sh 2>&1 &&
+- info "Look at $LOG to find out what went wrong"
+- return 0
- fi
-- succ_msg
-- begin "Building the shared folder support module"
+- log "Building the shared folder support module"
- if ! $BUILDINTMP \
- --use-module-symvers /tmp/vboxguest-Module.symvers \
- --module-source $MODULE_SRC/vboxsf \
- --no-print-directory install >> $LOG 2>&1; then
-- show_error "Look at $LOG to find out what went wrong"
-- return 1
+- info "Look at $LOG to find out what went wrong"
+- return 0
- fi
-- succ_msg
-- begin "Building the graphics driver module"
+- log "Building the graphics driver module"
- if ! $BUILDINTMP \
- --use-module-symvers /tmp/vboxguest-Module.symvers \
- --module-source $MODULE_SRC/vboxvideo \
- --no-print-directory install >> $LOG 2>&1; then
-- show_error "Look at $LOG to find out what went wrong"
+- info "Look at $LOG to find out what went wrong"
- fi
-- succ_msg
-- update_module_dependencies "${KERN_VER}"
+- [ -d /etc/depmod.d ] || mkdir /etc/depmod.d
+- echo "override vboxguest * misc" > /etc/depmod.d/vboxvideo-upstream.conf
+- echo "override vboxsf * misc" >> /etc/depmod.d/vboxvideo-upstream.conf
+- echo "override vboxvideo * misc" >> /etc/depmod.d/vboxvideo-upstream.conf
+- depmod
- return 0
-}
-
--# Do non-kernel bits needed for the kernel modules to work properly (user
--# creation, udev, mount helper...)
--extra_setup()
+-create_vbox_user()
-{
-- begin "Doing non-kernel setup of the Guest Additions"
-- echo "Creating user for the Guest Additions." >> $LOG
+- log "Creating user for the Guest Additions."
- # This is the LSB version of useradd and should work on recent
- # distributions
- useradd -d /var/run/vboxadd -g 1 -r -s /bin/false vboxadd >/dev/null 2>&1
- # And for the others, we choose a UID ourselves
- useradd -d /var/run/vboxadd -g 1 -u 501 -o -s /bin/false vboxadd >/dev/null 2>&1
-
-- # Add a group "vboxsf" for Shared Folders access
-- # All users which want to access the auto-mounted Shared Folders have to
-- # be added to this group.
-- groupadd -r -f vboxsf >/dev/null 2>&1
+-}
-
+-create_udev_rule()
+-{
- # Create udev description file
- if [ -d /etc/udev/rules.d ]; then
-- echo "Creating udev rule for the Guest Additions kernel module." >> $LOG
+- log "Creating udev rule for the Guest Additions kernel module."
- udev_call=""
- udev_app=`which udevadm 2> /dev/null`
- if [ $? -eq 0 ]; then
@@ -189,91 +152,97 @@
- echo "KERNEL=${udev_fix}\"vboxguest\", NAME=\"vboxguest\", OWNER=\"vboxadd\", MODE=\"0660\"" > /etc/udev/rules.d/60-vboxadd.rules
- echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules
- fi
+-}
+-
+-create_module_rebuild_script()
+-{
+- # And a post-installation script for rebuilding modules when a new kernel
+- # is installed.
+- mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d
+- cat << EOF > /etc/kernel/postinst.d/vboxadd
+-#!/bin/sh
+-test -d "/lib/modules/\${1}/build" || exit 0
+-KERN_VER="\${1}" /sbin/rcvboxadd quicksetup
+-exit 0
+-EOF
+- cat << EOF > /etc/kernel/prerm.d/vboxadd
+-#!/bin/sh
+-for i in ${OLDMODULES}; do rm -f /lib/modules/"\${1}"/misc/"\${i}".ko; done
+-rmdir -p /lib/modules/"\$1"/misc 2>/dev/null
+-exit 0
+-EOF
+- chmod 0755 /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd
+-}
+-
+-shared_folder_setup()
+-{
+- # Add a group "vboxsf" for Shared Folders access
+- # All users which want to access the auto-mounted Shared Folders have to
+- # be added to this group.
+- groupadd -r -f vboxsf >/dev/null 2>&1
-
-- # Put mount.vboxsf in the right place
-- ln -sf "$lib_path/$PACKAGE/mount.vboxsf" /sbin
-- # And an rc file to re-build the kernel modules and re-set-up the X server.
-- ln -sf "$lib_path/$PACKAGE/vboxadd" /sbin/rcvboxadd
-- ln -sf "$lib_path/$PACKAGE/vboxadd-x11" /sbin/rcvboxadd-x11
+- # Put the mount.vboxsf mount helper in the right place.
+- ## @todo It would be nicer if the kernel module just parsed parameters
+- # itself instead of needing a separate binary to do that.
+- ln -sf "${INSTALL_DIR}/other/mount.vboxsf" /sbin
- # SELinux security context for the mount helper.
- if test -e /etc/selinux/config; then
- # This is correct. semanage maps this to the real path, and it aborts
- # with an error, telling you what you should have typed, if you specify
-- # the real path. The "chcon" is there as a back-up in case this is
-- # different on old guests.
-- semanage fcontext -a -t mount_exec_t "/usr/lib/$PACKAGE/mount.vboxsf"
-- chcon -t mount_exec_t "$lib_path/$PACKAGE/mount.vboxsf"
+- # the real path. The "chcon" is there as a back-up for old guests.
+- command -v semanage > /dev/null &&
+- semanage fcontext -a -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf"
+- chcon -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf"
- fi
-- succ_msg
-}
-
# setup_script
setup()
{
-- if test -r $config; then
-- . $config
-- else
-- fail "Configuration file $config not found"
-- fi
-- test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-- fail "Configuration file $config not complete"
- export BUILD_TYPE
- export USERNAME
-
-- rm -f $LOG
- MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER"
- BUILDINTMP="$MODULE_SRC/build_in_tmp"
-- DODKMS="$MODULE_SRC/do_dkms"
- chcon -t bin_t "$BUILDINTMP" > /dev/null 2>&1
-- chcon -t bin_t "$DODKMS" > /dev/null 2>&1
-
-- setup_modules
-- mod_succ="$?"
-- extra_setup
-- if [ "$mod_succ" -eq "0" ]; then
-- if running_vboxguest || running_vboxadd; then
-- printf "You should restart your guest to make sure the new modules are actually used\n\n"
-- else
-- start
-- fi
+- test -z "${INSTALL_NO_MODULE_BUILDS}" && setup_modules
+- create_vbox_user
+- create_udev_rule
+- test -z "${INSTALL_NO_MODULE_BUILDS}" && create_module_rebuild_script
+- test -n "${QUICKSETUP}" && return 0
+- shared_folder_setup
+- if running_vboxguest || running_vboxadd; then
+- info "Running kernel modules will not be replaced until the system is restarted"
- fi
+- return 0
+ echo "Not implemented! Please use the virtualbox-kernel-addons.SlackBuild available at SlackBuilds.org instead."
}
# cleanup_script
cleanup()
{
-- if test -r $config; then
-- . $config
-- test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-- fail "Configuration file $config not complete"
-- DODKMS="$INSTALL_DIR/src/vboxguest-$INSTALL_VER/do_dkms"
-- elif test -x ./do_dkms; then # Executing as part of the installer...
-- DODKMS=./do_dkms
-- else
-- fail "Configuration file $config not found"
+- if test -z "${INSTALL_NO_MODULE_BUILDS}"; then
+- # Delete old versions of VBox modules.
+- cleanup_modules
+- depmod
+-
+- # Remove old module sources
+- for i in $OLDMODULES; do
+- rm -rf /usr/src/$i-*
+- done
- fi
-
-- # Delete old versions of VBox modules.
-- cleanup_modules
-- for i in /lib/modules/*; do
-- update_module_dependencies "${i#/lib/modules/}"
-- done
--
-- # Remove old module sources
-- for i in $OLDMODULES; do
-- rm -rf /usr/src/$i-*
-- done
--
- # Clean-up X11-related bits
-- /sbin/rcvboxadd-x11 cleanup
+- "${INSTALL_DIR}/init/vboxadd-x11" cleanup 2>> "${LOG}"
-
- # Remove other files
- rm /sbin/mount.vboxsf 2>/dev/null
-- rm /sbin/rcvboxadd 2>/dev/null
-- rm /sbin/rcvboxadd-x11 2>/dev/null
+- if test -z "${INSTALL_NO_MODULE_BUILDS}"; then
+- rm -f /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd
+- rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null
+- fi
- rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null
-- rm -f /lib/modules/*/initrd/vboxvideo
+ echo "Not implemented! Please use removepkg or pkgtool to remove virtualbox-addons and/or virtualbox-kernel-addons instead."
}
diff --git a/system/virtualbox-addons/virtualbox-addons.SlackBuild b/system/virtualbox-addons/virtualbox-addons.SlackBuild
index 063fa71844..fd72c91ad3 100644
--- a/system/virtualbox-addons/virtualbox-addons.SlackBuild
+++ b/system/virtualbox-addons/virtualbox-addons.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for virtualbox-addons
-# Copyright 2008-2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2008-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=virtualbox-addons
SRCNAM=VirtualBox
-VERSION=${VERSION:-5.0.40}
+VERSION=${VERSION:-5.2.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -86,22 +86,20 @@ find -L . \
# Use virtualbox-kernel-addons.SlackBuild for this.
patch -d src/VBox/Additions/linux/installer/ -i $CWD/rc.vboxadd.diff
-# We set the environment variables manually to avoid dependency on acpica
-export BUILD_PLATFORM="linux"
-export BUILD_PLATFORM_ARCH="$TARGET"
-export BUILD_TARGET="linux"
-export BUILD_TARGET_ARCH="$TARGET"
-export BUILD_TARGET_CPU="$ARCH"
-export BUILD_TYPE="release"
-export PATH_KBUILD="$TMP/$SRCNAM-${VERSION}/kBuild"
-export PATH_DEVTOOLS="$TMP/$SRCNAM-${VERSION}/tools"
-path_kbuild_bin="$PATH_KBUILD/bin/$BUILD_TARGET.$BUILD_PLATFORM_ARCH"
-export PATH_KBUILD_BIN="$path_kbuild_bin"
-path_dev_bin="$PATH_DEVTOOLS/$BUILD_TARGET.$BUILD_PLATFORM_ARCH"/bin
-echo "$PATH" | grep -q "$path_kbuild_bin" || PATH="$path_kbuild_bin:$PATH"
-echo "$PATH" | grep -q "$path_dev_bin" || PATH="$path_dev_bin:$PATH"
-export PATH
-unset path_kbuild_bin path_dev_bin
+# Cheat!
+sed -i "s|cc_maj -gt 7|cc_maj -gt 9|" configure
+
+./configure \
+ --only-additions \
+ --disable-kmods \
+ --with-makeself=/usr/bin/echo
+
+. ./env.sh
+
+OPENSSL=$(grep openssl src/libs/Makefile.kmk | cut -d "/" -f 2)
+
+mkdir -p src/libs/$OPENSSL
+touch src/libs/$OPENSSL/Makefile.kmk
kmk -j ${JOBS} LOCALCFG=$CWD/LocalConfig.kmk
@@ -135,8 +133,9 @@ cd out/linux.$TARGET/release/bin/additions
install -m 755 VBoxClient $PKG/usr/bin/
install -m 755 VBoxService $PKG/usr/sbin/
install -m 4755 mount.vboxsf $PKG/sbin/mount.vboxsf
- install -m 644 vboxvideo_drv_$XSERVER.so \
- $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/drivers/vboxvideo_drv.so
+## slackware > 14.2 already ships this
+# install -m 644 vboxvideo_drv_$XSERVER.so \
+# $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/drivers/vboxvideo_drv.so
install -m 644 VBoxOGLcrutil.so $PKG/usr/lib$LIBDIRSUFFIX
install -m 644 VBoxOGLerrorspu.so $PKG/usr/lib$LIBDIRSUFFIX
@@ -145,12 +144,9 @@ cd out/linux.$TARGET/release/bin/additions
install -m 644 VBoxOGLpackspu.so $PKG/usr/lib$LIBDIRSUFFIX
install -m 644 VBoxOGLpassthroughspu.so $PKG/usr/lib$LIBDIRSUFFIX
install -m 644 VBoxOGL.so $PKG/usr/lib$LIBDIRSUFFIX
+ install -m 644 VBoxEGL.so $PKG/usr/lib$LIBDIRSUFFIX
install -m 755 $CWD/vbox-uninstall-guest-additions $PKG/usr/sbin/
-
- mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/dri
- ln -s /usr/lib$LIBDIRSUFFIX/VBoxOGL.so \
- $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/dri/vboxvideo_dri.so
cd -
# kconf_update script to disable OpenGL within KDE
diff --git a/system/virtualbox-addons/virtualbox-addons.info b/system/virtualbox-addons/virtualbox-addons.info
index bf313e7e8d..df1ddc3012 100644
--- a/system/virtualbox-addons/virtualbox-addons.info
+++ b/system/virtualbox-addons/virtualbox-addons.info
@@ -1,8 +1,8 @@
PRGNAM="virtualbox-addons"
-VERSION="5.0.40"
+VERSION="5.2.8"
HOMEPAGE="https://www.virtualbox.org"
-DOWNLOAD="http://download.virtualbox.org/virtualbox/5.0.40/VirtualBox-5.0.40.tar.bz2"
-MD5SUM="53b259e48a137b0185c169590e2dcb77"
+DOWNLOAD="http://download.virtualbox.org/virtualbox/5.2.8/VirtualBox-5.2.8.tar.bz2"
+MD5SUM="e731ea9c5c31096ec4c2a3bfba26665c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/virtualbox-extension-pack/virtualbox-extension-pack.SlackBuild b/system/virtualbox-extension-pack/virtualbox-extension-pack.SlackBuild
index 9115605537..d6b1e9e9da 100644
--- a/system/virtualbox-extension-pack/virtualbox-extension-pack.SlackBuild
+++ b/system/virtualbox-extension-pack/virtualbox-extension-pack.SlackBuild
@@ -4,7 +4,7 @@
# Originally written by Vliegendehuiskat, vliegendehuiskat [at] gmail [dot] com
-# Copyright 2014-2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2014-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=virtualbox-extension-pack
-VERSION=${VERSION:-5.0.40}
+VERSION=${VERSION:-5.2.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/virtualbox-extension-pack/virtualbox-extension-pack.info b/system/virtualbox-extension-pack/virtualbox-extension-pack.info
index 701af5aaef..43175f4439 100644
--- a/system/virtualbox-extension-pack/virtualbox-extension-pack.info
+++ b/system/virtualbox-extension-pack/virtualbox-extension-pack.info
@@ -1,8 +1,8 @@
PRGNAM="virtualbox-extension-pack"
-VERSION="5.0.40"
+VERSION="5.2.8"
HOMEPAGE="https://www.virtualbox.org"
-DOWNLOAD="http://download.virtualbox.org/virtualbox/5.0.40/Oracle_VM_VirtualBox_Extension_Pack-5.0.40.vbox-extpack"
-MD5SUM="6991b332555f07a14189478486d4aae6"
+DOWNLOAD="http://download.virtualbox.org/virtualbox/5.2.8/Oracle_VM_VirtualBox_Extension_Pack-5.2.8.vbox-extpack"
+MD5SUM="dfbe3c4b35b8759e7c9b0fc572c742dc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/virtualbox-kernel-addons/virtualbox-kernel-addons.SlackBuild b/system/virtualbox-kernel-addons/virtualbox-kernel-addons.SlackBuild
index 722e60c9b8..e9a70ab605 100644
--- a/system/virtualbox-kernel-addons/virtualbox-kernel-addons.SlackBuild
+++ b/system/virtualbox-kernel-addons/virtualbox-kernel-addons.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for virtualbox-kernel-addons
-# Copyright 2008-2019 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2008-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=virtualbox-kernel-addons
-VERSION=${VERSION:-5.0.40}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-5.2.8}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
KERNEL=${KERNEL:-$(uname -r)}
@@ -79,7 +79,21 @@ if [ "$KERNEL_MINOR" = 4 -a "$KERNEL_PATCH" -ge 168 ]; then
sed -i "s|KERNEL_VERSION(4, 9, 0)|KERNEL_VERSION(4, 4, 168)|" vboxguest/r0drv/linux/memobj-r0drv-linux.c
fi
-for i in vboxguest vboxsf vboxvideo; do
+MODULES=""
+
+if ! [ -e /lib/modules/$KERNEL/kernel/drivers/staging/vboxvideo ]; then
+ MODULES="$MODULES vboxvideo"
+fi
+
+if ! [ -e /lib/modules/$KERNEL/kernel/virt/vboxguest ]; then
+ MODULES="$MODULES vboxguest"
+fi
+
+if ! [ -e /lib/modules/$KERNEL/kernel/fs/vboxsf ]; then
+ MODULES="$MODULES vboxsf"
+fi
+
+for i in $MODULES; do
cd $i
make KERN_DIR=$KERNELPATH
install -m 0644 $i.ko $PKG/lib/modules/$KERNEL/misc/
diff --git a/system/virtualbox-kernel-addons/virtualbox-kernel-addons.info b/system/virtualbox-kernel-addons/virtualbox-kernel-addons.info
index 33c005b4fe..6b86b209b4 100644
--- a/system/virtualbox-kernel-addons/virtualbox-kernel-addons.info
+++ b/system/virtualbox-kernel-addons/virtualbox-kernel-addons.info
@@ -1,8 +1,8 @@
PRGNAM="virtualbox-kernel-addons"
-VERSION="5.0.40"
+VERSION="5.2.8"
HOMEPAGE="https://www.virtualbox.org"
-DOWNLOAD="http://www.liwjatan.at/files/src/virtualbox-kernel-addons/virtualbox-kernel-addons-5.0.40.tar.xz"
-MD5SUM="6146afd44b37c65bd7acc01e067b6e86"
+DOWNLOAD="http://www.liwjatan.at/files/src/virtualbox-kernel-addons/virtualbox-kernel-addons-5.2.8.tar.xz"
+MD5SUM="e4202f46e4adeb1da588a86fe51d58d5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/virtualbox-kernel/kernel_4.17.patch b/system/virtualbox-kernel/kernel_4.17.patch
new file mode 100644
index 0000000000..007bf737f2
--- /dev/null
+++ b/system/virtualbox-kernel/kernel_4.17.patch
@@ -0,0 +1,32 @@
+In kernel 4.17, pci_get_bus_and_slot() has been removed in favor of
+pci_get_domain_bus_and_slot(). It appears that VirtualBox only uses
+domain number 0, thus pci_get_domain_bus_and_slot(0, bus, devfn)
+is a suitable replacement for pci_get_bus_and_slot(bus, devfn).
+
+The resulting code compiles; however, I do not use PCI passthru, which
+I think means that I have not actually tested the code.
+
+This patch released under a combined MIT/GPLv2 license.
+
+Shamelessly copied by the patch from Larry Finger.
+
+Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
+
+diff -Naur virtualbox-kernel-5.2.8.orig/vboxpci/linux/VBoxPci-linux.c virtualbox-kernel-5.2.8/vboxpci/linux/VBoxPci-linux.c
+--- virtualbox-kernel-5.2.8.orig/vboxpci/linux/VBoxPci-linux.c 2018-03-14 20:33:31.000000000 +0100
++++ virtualbox-kernel-5.2.8/vboxpci/linux/VBoxPci-linux.c 2019-04-16 23:18:10.607698000 +0200
+@@ -89,7 +89,14 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
+ # define PCI_DEV_GET(v,d,p) pci_get_device(v,d,p)
+ # define PCI_DEV_PUT(x) pci_dev_put(x)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0)
++/* assume the domain number to be zero - exactly the same assumption of
++* pci_get_bus_and_slot()
++*/
++# define PCI_DEV_GET_SLOT(bus, devfn) pci_get_domain_bus_and_slot(0, bus, devfn)
++#else
+ # define PCI_DEV_GET_SLOT(bus, devfn) pci_get_bus_and_slot(bus, devfn)
++#endif
+ #else
+ # define PCI_DEV_GET(v,d,p) pci_find_device(v,d,p)
+ # define PCI_DEV_PUT(x) do { } while (0)
diff --git a/system/virtualbox-kernel/virtualbox-kernel.SlackBuild b/system/virtualbox-kernel/virtualbox-kernel.SlackBuild
index d879686802..338da42bfc 100644
--- a/system/virtualbox-kernel/virtualbox-kernel.SlackBuild
+++ b/system/virtualbox-kernel/virtualbox-kernel.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for virtualbox-kernel
-# Copyright 2008-2019 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2008-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,8 +25,8 @@
# Modified by SlackBuilds.org
PRGNAM=virtualbox-kernel
-VERSION=${VERSION:-5.0.40}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-5.2.8}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
KERNEL=${KERNEL:-$(uname -r)}
@@ -84,6 +84,8 @@ if [ "$KERNEL_MINOR" = 4 -a "$KERNEL_PATCH" -ge 168 ]; then
sed -i "s|KERNEL_VERSION(4, 9, 0)|KERNEL_VERSION(4, 4, 168)|" vboxdrv/r0drv/linux/memobj-r0drv-linux.c
fi
+patch -p1 < $CWD/kernel_4.17.patch
+
make KERN_DIR=${KERNELPATH}
mkdir -p $PKG/lib/modules/$KERNEL/misc
diff --git a/system/virtualbox-kernel/virtualbox-kernel.info b/system/virtualbox-kernel/virtualbox-kernel.info
index deded0026e..0a313bdf48 100644
--- a/system/virtualbox-kernel/virtualbox-kernel.info
+++ b/system/virtualbox-kernel/virtualbox-kernel.info
@@ -1,8 +1,8 @@
PRGNAM="virtualbox-kernel"
-VERSION="5.0.40"
+VERSION="5.2.8"
HOMEPAGE="https://www.virtualbox.org"
-DOWNLOAD="http://www.liwjatan.at/files/src/virtualbox-kernel/virtualbox-kernel-5.0.40.tar.xz"
-MD5SUM="475de2d0a915ce7c0c623ac50696bb79"
+DOWNLOAD="http://www.liwjatan.at/files/src/virtualbox-kernel/virtualbox-kernel-5.2.8.tar.xz"
+MD5SUM="280bf7fe55842b3a6e088f2b4c6e83e0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/virtualbox/LocalConfig.kmk b/system/virtualbox/LocalConfig.kmk
index 379c93fb45..e531c08e83 100644
--- a/system/virtualbox/LocalConfig.kmk
+++ b/system/virtualbox/LocalConfig.kmk
@@ -32,3 +32,6 @@ VBOX_JAVA_HOME := /usr/LIBDIR/java
# Do not build docs from source. Depends on texlive...
VBOX_WITHOUT_DOCS := 1
+
+# Use our CFLAGS
+VBOX_GCC_OPT := CXXFLAGS
diff --git a/system/virtualbox/python_3.7.patch b/system/virtualbox/python_3.7.patch
new file mode 100644
index 0000000000..2bc9d0ee44
--- /dev/null
+++ b/system/virtualbox/python_3.7.patch
@@ -0,0 +1,13 @@
+diff -Naur VirtualBox-5.2.8.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp VirtualBox-5.2.8/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+--- VirtualBox-5.2.8.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp 2018-02-26 17:05:25.000000000 +0100
++++ VirtualBox-5.2.8/src/libs/xpcom18a4/python/src/ErrorUtils.cpp 2019-04-17 11:45:42.706698000 +0200
+@@ -440,7 +440,8 @@
+ #if PY_MAJOR_VERSION <= 2
+ char *tempResult = PyString_AsString(obResult);
+ #else
+- char *tempResult = PyUnicode_AsUTF8(obResult);
++ /* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
++ const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
+ #endif
+ result = (char *)PyMem_Malloc(strlen(tempResult)+1);
+ if (result==NULL)
diff --git a/system/virtualbox/vboxdrv.sh-setup.diff b/system/virtualbox/vboxdrv.sh-setup.diff
index 0adf8ec237..a6fecbd6d7 100644
--- a/system/virtualbox/vboxdrv.sh-setup.diff
+++ b/system/virtualbox/vboxdrv.sh-setup.diff
@@ -1,93 +1,238 @@
---- VirtualBox-4.3.4.orig/src/VBox/Installer/linux/vboxdrv.sh.in 2013-11-29 20:24:07.000000000 +0100
-+++ VirtualBox-4.3.4/src/VBox/Installer/linux/vboxdrv.sh.in 2013-12-08 18:08:09.667571974 +0100
-@@ -44,17 +44,13 @@
+diff -ur VirtualBox-5.2.2.orig/src/VBox/Installer/linux/vboxdrv.sh VirtualBox-5.2.2/src/VBox/Installer/linux/vboxdrv.sh
+--- VirtualBox-5.2.2.orig/src/VBox/Installer/linux/vboxdrv.sh 2017-11-23 10:21:59.000000000 +0100
++++ VirtualBox-5.2.2/src/VBox/Installer/linux/vboxdrv.sh 2017-12-03 13:58:52.107070523 +0100
+@@ -51,23 +51,9 @@
+ export USERNAME
+ export USER=$USERNAME
- if [ -n "$INSTALL_DIR" ]; then
- VBOXMANAGE="$INSTALL_DIR/VBoxManage"
-- MODULE_SRC="$INSTALL_DIR/src/vboxhost"
- else
- VBOXMANAGE="/usr/lib/virtualbox/VBoxManage"
+-if test -n "${INSTALL_DIR}" && test -x "${INSTALL_DIR}/VirtualBox"; then
+- MODULE_SRC="${INSTALL_DIR}/src/vboxhost"
+-elif test -x /usr/lib/virtualbox/VirtualBox; then
+- INSTALL_DIR=/usr/lib/virtualbox
- MODULE_SRC="/usr/share/virtualbox/src/vboxhost"
- fi
--BUILDINTMP="$MODULE_SRC/build_in_tmp"
--DODKMS="$MODULE_SRC/do_dkms"
+-elif test -x "${SCRIPT_DIR}/VirtualBox"; then
+- # Executing from the build directory
+- INSTALL_DIR="${SCRIPT_DIR}"
+- MODULE_SRC="${INSTALL_DIR}/src"
+-else
+- # Silently exit if the package was uninstalled but not purged.
+- # Applies to Debian packages only (but shouldn't hurt elsewhere)
+- exit 0
+-fi
+ VIRTUALBOX="${INSTALL_DIR}/VirtualBox"
+ VBOXMANAGE="${INSTALL_DIR}/VBoxManage"
+-BUILDINTMP="${MODULE_SRC}/build_in_tmp"
++
+ if test -u "${VIRTUALBOX}"; then
+ GROUP=root
+ DEVICE_MODE=0600
+@@ -111,117 +97,6 @@
+ lsmod | grep -q "$1[^_-]"
+ }
+
+-## Output the vboxdrv part of our udev rule. This is redirected to the right file.
+-udev_write_vboxdrv() {
+- VBOXDRV_GRP="$1"
+- VBOXDRV_MODE="$2"
+-
+- echo "KERNEL==\"vboxdrv\", NAME=\"vboxdrv\", OWNER=\"root\", GROUP=\"$VBOXDRV_GRP\", MODE=\"$VBOXDRV_MODE\""
+- echo "KERNEL==\"vboxdrvu\", NAME=\"vboxdrvu\", OWNER=\"root\", GROUP=\"root\", MODE=\"0666\""
+- echo "KERNEL==\"vboxnetctl\", NAME=\"vboxnetctl\", OWNER=\"root\", GROUP=\"$VBOXDRV_GRP\", MODE=\"$VBOXDRV_MODE\""
+-}
+-
+-## Output the USB part of our udev rule. This is redirected to the right file.
+-udev_write_usb() {
+- INSTALLATION_DIR="$1"
+- USB_GROUP="$2"
+-
+- echo "SUBSYSTEM==\"usb_device\", ACTION==\"add\", RUN+=\"$INSTALLATION_DIR/VBoxCreateUSBNode.sh \$major \$minor \$attr{bDeviceClass}${USB_GROUP}\""
+- echo "SUBSYSTEM==\"usb\", ACTION==\"add\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$INSTALLATION_DIR/VBoxCreateUSBNode.sh \$major \$minor \$attr{bDeviceClass}${USB_GROUP}\""
+- echo "SUBSYSTEM==\"usb_device\", ACTION==\"remove\", RUN+=\"$INSTALLATION_DIR/VBoxCreateUSBNode.sh --remove \$major \$minor\""
+- echo "SUBSYSTEM==\"usb\", ACTION==\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$INSTALLATION_DIR/VBoxCreateUSBNode.sh --remove \$major \$minor\""
+-}
+-
+-## Generate our udev rule file. This takes a change in udev rule syntax in
+-## version 55 into account. It only creates rules for USB for udev versions
+-## recent enough to support USB device nodes.
+-generate_udev_rule() {
+- VBOXDRV_GRP="$1" # The group owning the vboxdrv device
+- VBOXDRV_MODE="$2" # The access mode for the vboxdrv device
+- INSTALLATION_DIR="$3" # The directory VirtualBox is installed in
+- USB_GROUP="$4" # The group that has permission to access USB devices
+- NO_INSTALL="$5" # Set this to "1" to remove but not re-install rules
+-
+- # Extra space!
+- case "$USB_GROUP" in ?*) USB_GROUP=" $USB_GROUP" ;; esac
+- case "$NO_INSTALL" in "1") return ;; esac
+- udev_write_vboxdrv "$VBOXDRV_GRP" "$VBOXDRV_MODE"
+- udev_write_usb "$INSTALLATION_DIR" "$USB_GROUP"
+-}
+-
+-## Install udev rule (disable with INSTALL_NO_UDEV=1 in
+-## /etc/default/virtualbox).
+-install_udev() {
+- VBOXDRV_GRP="$1" # The group owning the vboxdrv device
+- VBOXDRV_MODE="$2" # The access mode for the vboxdrv device
+- INSTALLATION_DIR="$3" # The directory VirtualBox is installed in
+- USB_GROUP="$4" # The group that has permission to access USB devices
+- NO_INSTALL="$5" # Set this to "1" to remove but not re-install rules
+-
+- if test -d /etc/udev/rules.d; then
+- generate_udev_rule "$VBOXDRV_GRP" "$VBOXDRV_MODE" "$INSTALLATION_DIR" \
+- "$USB_GROUP" "$NO_INSTALL"
+- fi
+- # Remove old udev description file
+- rm -f /etc/udev/rules.d/10-vboxdrv.rules 2> /dev/null
+-}
+-
+-## Create a usb device node for a given sysfs path to a USB device.
+-install_create_usb_node_for_sysfs() {
+- path="$1" # sysfs path for the device
+- usb_createnode="$2" # Path to the USB device node creation script
+- usb_group="$3" # The group to give ownership of the node to
+- if test -r "${path}/dev"; then
+- dev="`cat "${path}/dev" 2> /dev/null`"
+- major="`expr "$dev" : '\(.*\):' 2> /dev/null`"
+- minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null`"
+- class="`cat ${path}/bDeviceClass 2> /dev/null`"
+- sh "${usb_createnode}" "$major" "$minor" "$class" \
+- "${usb_group}" 2>/dev/null
+- fi
+-}
+-
+-udev_rule_file=/etc/udev/rules.d/60-vboxdrv.rules
+-sysfs_usb_devices="/sys/bus/usb/devices/*"
+-
+-## Install udev rules and create device nodes for usb access
+-setup_usb() {
+- VBOXDRV_GRP="$1" # The group that should own /dev/vboxdrv
+- VBOXDRV_MODE="$2" # The mode to be used for /dev/vboxdrv
+- INSTALLATION_DIR="$3" # The directory VirtualBox is installed in
+- USB_GROUP="$4" # The group that should own the /dev/vboxusb device
+- # nodes unless INSTALL_NO_GROUP=1 in
+- # /etc/default/virtualbox. Optional.
+- usb_createnode="$INSTALLATION_DIR/VBoxCreateUSBNode.sh"
+- # install udev rule (disable with INSTALL_NO_UDEV=1 in
+- # /etc/default/virtualbox)
+- if [ "$INSTALL_NO_GROUP" != "1" ]; then
+- usb_group=$USB_GROUP
+- vboxdrv_group=$VBOXDRV_GRP
+- else
+- usb_group=root
+- vboxdrv_group=root
+- fi
+- install_udev "${vboxdrv_group}" "$VBOXDRV_MODE" \
+- "$INSTALLATION_DIR" "${usb_group}" \
+- "$INSTALL_NO_UDEV" > ${udev_rule_file}
+- # Build our device tree
+- for i in ${sysfs_usb_devices}; do # This line intentionally without quotes.
+- install_create_usb_node_for_sysfs "$i" "${usb_createnode}" \
+- "${usb_group}"
+- done
+-}
+-
+-cleanup_usb()
+-{
+- # Remove udev description file
+- rm -f /etc/udev/rules.d/60-vboxdrv.rules
+- rm -f /etc/udev/rules.d/10-vboxdrv.rules
+-
+- # Remove our USB device tree
+- rm -rf /dev/vboxusb
+-}
+-
+ start()
+ {
+ begin_msg "Starting VirtualBox services" console
+@@ -283,8 +158,6 @@
+ mkdir -p -m 0750 /dev/vboxusb 2>/dev/null
+ chown root:vboxusers /dev/vboxusb 2>/dev/null
+ fi
+- # Remove any kernel modules left over from previously installed kernels.
+- cleanup only_old
+ succ_msg "VirtualBox services started"
+ }
- # silently exit if the package was uninstalled but not purged,
- # applies to Debian packages only (but shouldn't hurt elsewhere)
--[ ! -f /etc/debian_release -o -x $VBOXMANAGE -a -x $BUILDINTMP ] || exit 0
-+[ ! -f /etc/debian_release -o -x $VBOXMANAGE ] || exit 0
+@@ -365,66 +238,10 @@
+ fi
+ }
- if [ -n "$NOLSB" ]; then
- if [ -f /etc/redhat-release ]; then
-@@ -295,70 +291,7 @@
+-cleanup()
+-{
+- # If this is set, only remove kernel modules for no longer installed
+- # kernels. Note that only generated kernel modules should be placed
+- # in /lib/modules/*/misc. Anything that we should not remove automatically
+- # should go elsewhere.
+- only_old="${1}"
+- for i in /lib/modules/*; do
+- # Check whether we are only cleaning up for uninstalled kernels.
+- test -n "${only_old}" && test -e "${i}/kernel/drivers" && continue
+- # We could just do "rm -f", but we only want to try deleting folders if
+- # we are sure they were ours, i.e. they had our modules in beforehand.
+- if test -e "${i}/misc/vboxdrv.ko" \
+- || test -e "${i}/misc/vboxnetadp.ko" \
+- || test -e "${i}/misc/vboxnetflt.ko" \
+- || test -e "${i}/misc/vboxpci.ko"; then
+- rm -f "${i}/misc/vboxdrv.ko" "${i}/misc/vboxnetadp.ko" \
+- "${i}/misc/vboxnetflt.ko" "${i}/misc/vboxpci.ko"
+- version=`expr "${i}" : "/lib/modules/\(.*\)"`
+- depmod -a "${version}"
+- fi
+- # Remove the kernel version folder if it was empty except for us.
+- test "`echo ${i}/misc/* ${i}/misc/.?* ${i}/* ${i}/.?*`" \
+- = "${i}/misc/* ${i}/misc/.. ${i}/misc ${i}/.." &&
+- rmdir "${i}/misc" "${i}" # We used to leave empty folders.
+- done
+-}
+-
# setup_script
setup()
{
-- stop
-- DKMS=`which dkms 2>/dev/null`
-- if [ -n "$DKMS" ]; then
-- begin_msg "Uninstalling old VirtualBox DKMS kernel modules"
-- $DODKMS uninstall vboxhost vboxdrv vboxnetflt vboxnetadp > $LOG
-- succ_msg
+- begin_msg "Building VirtualBox kernel modules" console
+- if ! $BUILDINTMP \
+- --save-module-symvers /tmp/vboxdrv-Module.symvers \
+- --module-source "$MODULE_SRC/vboxdrv" \
+- --no-print-directory install >> $LOG 2>&1; then
+- "${INSTALL_DIR}/check_module_dependencies.sh" || exit 1
+- failure "Look at $LOG to find out what went wrong"
- fi
-- if find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|grep -q vboxpci; then
-- begin_msg "Removing old VirtualBox pci kernel module"
-- find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|xargs rm -f 2>/dev/null
-- succ_msg
-- fi
-- if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then
-- begin_msg "Removing old VirtualBox netadp kernel module"
-- find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null
-- succ_msg
-- fi
-- if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then
-- begin_msg "Removing old VirtualBox netflt kernel module"
-- find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null
-- succ_msg
-- fi
-- if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then
-- begin_msg "Removing old VirtualBox kernel module"
-- find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null
-- succ_msg
+- if ! $BUILDINTMP \
+- --use-module-symvers /tmp/vboxdrv-Module.symvers \
+- --module-source "$MODULE_SRC/vboxnetflt" \
+- --no-print-directory install >> $LOG 2>&1; then
+- failure "Look at $LOG to find out what went wrong"
- fi
-- if [ -n "$DKMS" ]; then
-- begin_msg "Trying to register the VirtualBox kernel modules using DKMS"
-- if ! $DODKMS install vboxhost $VERSION >> $LOG; then
-- fail_msg "Failed, trying without DKMS"
-- DKMS=""
-- fi
+- if ! $BUILDINTMP \
+- --use-module-symvers /tmp/vboxdrv-Module.symvers \
+- --module-source "$MODULE_SRC/vboxnetadp" \
+- --no-print-directory install >> $LOG 2>&1; then
+- failure "Look at $LOG to find out what went wrong"
- fi
-- if [ -z "$DKMS" ]; then
-- begin_msg "Recompiling VirtualBox kernel modules"
-- if ! $BUILDINTMP \
-- --save-module-symvers /tmp/vboxdrv-Module.symvers \
-- --module-source "$MODULE_SRC/vboxdrv" \
-- --no-print-directory install >> $LOG 2>&1; then
-- failure "Look at $LOG to find out what went wrong"
-- fi
-- if ! $BUILDINTMP \
-- --use-module-symvers /tmp/vboxdrv-Module.symvers \
-- --module-source "$MODULE_SRC/vboxnetflt" \
-- --no-print-directory install >> $LOG 2>&1; then
-- failure "Look at $LOG to find out what went wrong"
-- fi
-- if ! $BUILDINTMP \
-- --use-module-symvers /tmp/vboxdrv-Module.symvers \
-- --module-source "$MODULE_SRC/vboxnetadp" \
-- --no-print-directory install >> $LOG 2>&1; then
-- failure "Look at $LOG to find out what went wrong"
-- fi
-- if ! $BUILDINTMP \
-- --use-module-symvers /tmp/vboxdrv-Module.symvers \
-- --module-source "$MODULE_SRC/vboxpci" \
-- --no-print-directory install >> $LOG 2>&1; then
-- failure "Look at $LOG to find out what went wrong"
-- fi
+- if ! $BUILDINTMP \
+- --use-module-symvers /tmp/vboxdrv-Module.symvers \
+- --module-source "$MODULE_SRC/vboxpci" \
+- --no-print-directory install >> $LOG 2>&1; then
+- failure "Look at $LOG to find out what went wrong"
- fi
- rm -f /etc/vbox/module_not_compiled
-- succ_msg
-- start
+- depmod -a
+- succ_msg "VirtualBox kernel modules built"
+ echo "Not implemented! Please use the virtualbox-kernel.SlackBuild available at SlackBuilds.org instead."
}
dmnstatus()
+@@ -480,13 +297,7 @@
+ ## todo Do we need a udev rule to create /dev/vboxdrv[u] at all? We have
+ ## working fall-back code here anyway, and the "right" code is more complex
+ ## than the fall-back. Unnecessary duplication?
+- stop && cleanup
+- setup_usb "$GROUP" "$DEVICE_MODE" "$INSTALL_DIR"
+- setup && start
+- ;;
+-cleanup)
+- stop && cleanup
+- cleanup_usb
++ setup
+ ;;
+ force-reload)
+ stop
diff --git a/system/virtualbox/virtualbox-gsoap.patch b/system/virtualbox/virtualbox-gsoap.patch
deleted file mode 100644
index a8ba6f549c..0000000000
--- a/system/virtualbox/virtualbox-gsoap.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -u -r VirtualBox-5.0.10.orig/src/VBox/Main/webservice/Makefile.kmk VirtualBox-5.0.10/src/VBox/Main/webservice/Makefile.kmk
---- VirtualBox-5.0.10.orig/src/VBox/Main/webservice/Makefile.kmk 2015-11-10 18:06:29.000000000 +0100
-+++ VirtualBox-5.0.10/src/VBox/Main/webservice/Makefile.kmk 2015-11-22 09:58:21.669118291 +0100
-@@ -159,7 +159,6 @@
- RECOMPILE_ON_MAKEFILE_CURRENT := $(MAKEFILE_CURRENT)
-
- PATH_TARGET_SOAPDEMOXML := $(VBOXWEB_OUT_DIR)/demo_soapxml
--PATH_TARGET_SOAPDEMOHEADERS := $(VBOXWEB_OUT_DIR)/demo_headers
- PATH_TARGET_SOAPDEMONSMAPS := $(VBOXWEB_OUT_DIR)/demo_namespacemaps
- PATH_TARGET_WEBTEST := $(VBOXWEB_OUT_DIR)/webtest
-
-@@ -515,8 +514,6 @@
- $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts \
- $(wildcard $(PATH_TARGET_SOAPDEMOXML)/*) \
- $(PATH_TARGET_SOAPDEMOXML)/dummy_file \
-- $(wildcard $(PATH_TARGET_SOAPDEMOHEADERS)/*) \
-- $(PATH_TARGET_SOAPDEMOHEADERS)/dummy_file \
- $(wildcard $(PATH_TARGET_SOAPDEMONSMAPS)/*) \
- $(PATH_TARGET_SOAPDEMONSMAPS)/dummy_file
-
-@@ -695,17 +692,14 @@
- # any more. Ignoring the exit code is the simple solution, accepting the error.
- $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts: $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts | $$(dir $$@)
- $(RM) -f $@
-- $(MKDIR) -p $(PATH_TARGET_SOAPDEMOXML) $(PATH_TARGET_SOAPDEMOHEADERS) $(PATH_TARGET_SOAPDEMONSMAPS)
-+ $(MKDIR) -p $(PATH_TARGET_SOAPDEMOXML) $(PATH_TARGET_SOAPDEMONSMAPS)
- ifdef VBOX_GSOAP_VERBOSE
- $(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/*.req.xml $(VBOXWEB_OUT_DIR)/*.res.xml $(PATH_TARGET_SOAPDEMOXML)/
- endif
-- -$(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/soapvbox*.h $(PATH_TARGET_SOAPDEMOHEADERS)/
- $(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/vboxBinding.nsmap $(PATH_TARGET_SOAPDEMONSMAPS)/
- $(APPEND) $@ done
-
--$(PATH_TARGET_SOAPDEMONSMAPS) \
--$(PATH_TARGET_SOAPDEMOHEADERS)/soapvboxBindingProxy.h \
--$(PATH_TARGET_SOAPDEMOHEADERS)/soapvboxBindingObject.h: $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
-+$(PATH_TARGET_SOAPDEMONSMAPS): $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
-
- # soapcpp2 -2: generate SOAP 1.2 calls
- # soapcpp2 -S: server-side code only
diff --git a/system/virtualbox/virtualbox.SlackBuild b/system/virtualbox/virtualbox.SlackBuild
index 1048ea0771..f53fde16c6 100644
--- a/system/virtualbox/virtualbox.SlackBuild
+++ b/system/virtualbox/virtualbox.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for virtualbox-ose
-# Copyright 2008-2017 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2008-2018 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008 Mauro Giachero <mauro.giachero@gmail.com>
# All rights reserved.
#
@@ -25,7 +25,7 @@
PRGNAM=virtualbox
SRCNAM=VirtualBox
-VERSION=${VERSION:-5.0.40}
+VERSION=${VERSION:-5.2.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -62,7 +62,7 @@ else
harden="--disable-hardening"
fi
-# Support for the qt4-frontend
+# Support for the Qt & SDL frontends
if [ "${HEADLESS:-no}" = "no" ]; then
guiapp="VirtualBox VBoxSDL"
else
@@ -132,17 +132,18 @@ MODE="755"
# Use virtualbox-kernel.SlackBuild for this.
patch -d src/VBox/Installer/linux -i $CWD/vboxdrv.sh-setup.diff
-# Fix building against newer versions of gsoap
-patch -p1 -i $CWD/virtualbox-gsoap.patch
-
# Fix wrong path to rdesktop-vrdp-keymaps
patch -p1 -i $CWD/006-rdesktop-vrdp-keymap-path.patch
+# Patch for python-3.7
+patch -p1 < $CWD/python_3.7.patch
+
# Remove gcc version check
sed -i 's/^check_gcc$/#check_gcc/' ./configure
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+# Use our CFLAGS
+sed -i "s|CXX_FLAGS=\"\"|CXX_FLAGS=\"$SLKCFLAGS -std=c++11\"|" ./configure
+
./configure \
--disable-kmods \
--enable-vde \
@@ -158,20 +159,16 @@ CXXFLAGS="$SLKCFLAGS" \
cp $CWD/LocalConfig.kmk .
sed -i "s|LIBDIR|lib$LIBDIRSUFFIX|" ./LocalConfig.kmk
+sed -i "s|CXXFLAGS|$SLKCFLAGS -std=c++11|" ./LocalConfig.kmk
kmk -j ${JOBS} LOCALCFG=./LocalConfig.kmk
-# build VBoxFUSE
-cd src/VBox/ImageMounter/VBoxFUSE
- kmk -j ${JOBS}
-cd -
-
mkdir -p $PKG/usr/{lib$LIBDIRSUFFIX,share,include}/virtualbox \
$PKG/usr/{bin,src} \
$PKG/usr/share/{pixmaps,mime/packages} \
$PKG/etc/{default,rc.d,vbox}
-for i in vboxdrv.sh.in vboxballoonctrl-service.sh vboxautostart-service.sh; do
+for i in vboxdrv.sh vboxballoonctrl-service.sh vboxautostart-service.sh; do
SCRIPT=$(echo $i | cut -d "." -f 1)
cp -f src/VBox/Installer/linux/$i $PKG/etc/rc.d/rc.$SCRIPT.new
sed -i "s/%PACKAGE%/virtualbox/g" $PKG/etc/rc.d/rc.$SCRIPT.new
@@ -218,8 +215,7 @@ cd out/linux.$BUILDDIR/release/bin/
install -m $MODE -g $GROUP VBoxSysInfo.sh $PKG/usr/share/virtualbox/
install -m $MODE -g $GROUP VBoxCreateUSBNode.sh $PKG/usr/share/virtualbox/
install -m $MODE -g $GROUP VBoxTunctl $PKG/usr/bin/
- install -m $MODE -g $GROUP VBoxFUSE $PKG/usr/bin/
- rm -f VBoxSysInfo.sh VBoxCreateUSBNode.sh VBoxTunctl VBoxFUSE
+ rm -f VBoxSysInfo.sh VBoxCreateUSBNode.sh VBoxTunctl
mv * $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/
chown -R root:$GROUP $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/
chmod -R $MODE $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/
@@ -257,6 +253,7 @@ fi
# install headers. Needed by some third party tools
cp -rf include/* $PKG/usr/include/virtualbox/
rm -f $PKG/usr/include/virtualbox/Makefile.kmk
+find $PKG/usr/include/virtualbox -name "Makefile.kup" -print0 | xargs -0 rm -f
cp -f $CWD/VBoxGuestAdditions_$VERSION.iso \
$PKG/usr/share/virtualbox/VBoxGuestAdditions.iso
diff --git a/system/virtualbox/virtualbox.info b/system/virtualbox/virtualbox.info
index 11fef8a32a..30ab8c98cc 100644
--- a/system/virtualbox/virtualbox.info
+++ b/system/virtualbox/virtualbox.info
@@ -1,16 +1,16 @@
PRGNAM="virtualbox"
-VERSION="5.0.40"
+VERSION="5.2.8"
HOMEPAGE="https://www.virtualbox.org"
-DOWNLOAD="http://download.virtualbox.org/virtualbox/5.0.40/VirtualBox-5.0.40.tar.bz2 \
- http://download.virtualbox.org/virtualbox/5.0.40/VBoxGuestAdditions_5.0.40.iso \
- http://download.virtualbox.org/virtualbox/5.0.40/UserManual.pdf \
- http://download.virtualbox.org/virtualbox/5.0.40/SDKRef.pdf"
-MD5SUM="53b259e48a137b0185c169590e2dcb77 \
- 71afc65e09d1d4d02020f0403ac47622 \
- bdc4bf38dd3ed786385044841a4af147 \
- 684ac3f7d17532cd8396ea83ba1d57ea"
+DOWNLOAD="http://download.virtualbox.org/virtualbox/5.2.8/VirtualBox-5.2.8.tar.bz2 \
+ http://download.virtualbox.org/virtualbox/5.2.8/VBoxGuestAdditions_5.2.8.iso \
+ http://download.virtualbox.org/virtualbox/5.2.8/UserManual.pdf \
+ http://download.virtualbox.org/virtualbox/5.2.8/SDKRef.pdf"
+MD5SUM="e731ea9c5c31096ec4c2a3bfba26665c \
+ 3fb71656e8720342ab6ea4022d3dec9c \
+ a6ec396375cfb6604291d4da788b49bc \
+ a2407872ea00b1ad3e1d34f502518cac"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="acpica virtualbox-kernel"
+REQUIRES="acpica qt5 virtualbox-kernel"
MAINTAINER="Heinz Wiesinger"
EMAIL="pprkut@liwjatan.at"
diff --git a/system/xnp2/gcc6.patch b/system/xnp2/gcc6.patch
new file mode 100644
index 0000000000..6265959666
--- /dev/null
+++ b/system/xnp2/gcc6.patch
@@ -0,0 +1,17 @@
+--- xnp2-0.86/x11/compiler.h.old 2016-03-08 18:25:50.000000000 +0100
++++ xnp2-0.86/x11/compiler.h 2016-07-05 23:48:04.507937827 +0200
+@@ -117,12 +117,14 @@
+ #define MAX_PATH MAXPATHLEN
+ #endif
+
++#ifndef __cplusplus
+ #ifndef max
+ #define max(a,b) (((a) > (b)) ? (a) : (b))
+ #endif
+ #ifndef min
+ #define min(a,b) (((a) < (b)) ? (a) : (b))
+ #endif
++#endif /* __cplusplus */
+
+ #ifndef ZeroMemory
+ #define ZeroMemory(d,n) memset((d), 0, (n))
diff --git a/system/xnp2/xnp2.SlackBuild b/system/xnp2/xnp2.SlackBuild
index bbd8e9d826..b8a467720c 100644
--- a/system/xnp2/xnp2.SlackBuild
+++ b/system/xnp2/xnp2.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 {} \;
+# Thanks to the archlinux folks!
+patch -p2 < $CWD/gcc6.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/zstd/README b/system/zstd/README
deleted file mode 100644
index 70e275669d..0000000000
--- a/system/zstd/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Zstd, short for Zstandard, is a fast lossless compression algorithm,
-targeting real-time compression scenarios at zlib-level and better
-compression ratios.
-
-Since 1.3.1, it is dual licensed as BSD and GPLv2.
diff --git a/system/zstd/slack-desc b/system/zstd/slack-desc
deleted file mode 100644
index 77578cc136..0000000000
--- a/system/zstd/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------------------------------------------------------|
-zstd: zstd (fast lossless compression)
-zstd:
-zstd: Zstd, short for Zstandard, is a fast lossless compression algorithm,
-zstd: targeting real-time compression scenarios at zlib-level and better
-zstd: compression ratios.
-zstd:
-zstd: Homepage: http://facebook.github.io/zstd/
-zstd:
-zstd:
-zstd:
-zstd:
diff --git a/system/zstd/zstd.SlackBuild b/system/zstd/zstd.SlackBuild
deleted file mode 100644
index b00f9d9ef9..0000000000
--- a/system/zstd/zstd.SlackBuild
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for zstd
-
-# Copyright 2016, Zhu Qun-Ying
-# 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=zstd
-VERSION=${VERSION:-1.3.8}
-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 {} \;
-
-make CFLAGS="$SLKCFLAGS" DESTDIR=$PKG PREFIX=/usr LIBDIR=/usr/lib$LIBDIRSUFFIX mandir=/usr/man/ install
-make -C contrib/pzstd DESTDIR=$PKG PREFIX=/usr install
-
-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/pzstd
-cp -a doc/* CHANGELOG $PKG/usr/doc/$PRGNAM-$VERSION
-cp contrib/pzstd/README.md $PKG/usr/doc/$PRGNAM-$VERSION/pzstd
-
-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/system/zstd/zstd.info b/system/zstd/zstd.info
deleted file mode 100644
index 510c871bc3..0000000000
--- a/system/zstd/zstd.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="zstd"
-VERSION="1.3.8"
-HOMEPAGE="http://facebook.github.io/zstd/"
-DOWNLOAD="https://github.com/facebook/zstd/releases/download/v1.3.8/zstd-1.3.8.tar.gz"
-MD5SUM="c261c29f896eb97946c225295485156b"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Zhu Qun-Ying"
-EMAIL="zhu.qunying@gmail.com"