diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2021-08-16 05:28:16 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2021-08-16 17:59:55 +0200 |
commit | c6af8d2fd5b54097522f6682b05fd212dcf4bbff (patch) | |
tree | 406bd370540d9e86ebe20531836cac0d0b80c890 /source | |
parent | 667b86aaab3e72c3c6a80e2b7dcbe2da39c89d71 (diff) | |
download | current-c6af8d2fd5b54097522f6682b05fd212dcf4bbff.tar.gz |
Mon Aug 16 05:28:16 UTC 202120210816052816
Hey everyone, long time no see! No, I wasn't out fishing. Sadly, I haven't had
a fishing rod in my hand (or even a fishing license in my wallet) for this
entire season, but there may yet be a chance for that this year. Along with the
usual suspects, I've been trying to clear out the list of things that needed
to get done in order to reach the standard of excellence demanded from a
Slackware release, and I think we've gotten it pretty close. GCC was bumped to
version 11.2.0 (because we just can't send this out 2 versions behind), and
everything was verified to build properly or fixed up so that it did. I don't
see any benefit to another public mass rebuild, so we're not going to do one.
Anyway, without further ado, here is Slackware 15.0 release candidate one.
Consider most things frozen and the focus now to be any remaining blocker bugs.
We'll more than likely take that next Plasma bugfix release, but it's soon
time to get off this treadmill. Enjoy! :-)
a/aaa_libraries-15.0-x86_64-8.txz: Rebuilt.
Upgraded: libcap.so.2.52, libpcre.so.1.2.13, libboost_atomic.so.1.76.0,
libboost_chrono.so.1.76.0, libboost_container.so.1.76.0,
libboost_context.so.1.76.0, libboost_contract.so.1.76.0,
libboost_coroutine.so.1.76.0, libboost_date_time.so.1.76.0,
libboost_fiber.so.1.76.0, libboost_filesystem.so.1.76.0,
libboost_graph.so.1.76.0, libboost_iostreams.so.1.76.0,
libboost_json.so.1.76.0, libboost_locale.so.1.76.0, libboost_log.so.1.76.0,
libboost_log_setup.so.1.76.0, libboost_math_c99.so.1.76.0,
libboost_math_c99f.so.1.76.0, libboost_math_c99l.so.1.76.0,
libboost_math_tr1.so.1.76.0, libboost_math_tr1f.so.1.76.0,
libboost_math_tr1l.so.1.76.0, libboost_nowide.so.1.76.0,
libboost_prg_exec_monitor.so.1.76.0, libboost_program_options.so.1.76.0,
libboost_python27.so.1.76.0, libboost_python39.so.1.76.0,
libboost_random.so.1.76.0, libboost_regex.so.1.76.0,
libboost_serialization.so.1.76.0, libboost_stacktrace_addr2line.so.1.76.0,
libboost_stacktrace_basic.so.1.76.0, libboost_stacktrace_noop.so.1.76.0,
libboost_system.so.1.76.0, libboost_thread.so.1.76.0,
libboost_timer.so.1.76.0, libboost_type_erasure.so.1.76.0,
libboost_unit_test_framework.so.1.76.0, libboost_wave.so.1.76.0,
libboost_wserialization.so.1.76.0, libcares.so.2.4.3,
libglib-2.0.so.0.6800.3, libgmodule-2.0.so.0.6800.3,
libgobject-2.0.so.0.6800.3, libgthread-2.0.so.0.6800.3,
libidn.so.12.6.3, liblber-2.4.so.2.11.7, libldap-2.4.so.2.11.7,
libstdc++.so.6.0.29, libtdb.so.1.4.5.
a/grep-3.7-x86_64-1.txz: Upgraded.
a/kernel-firmware-20210812_24c4a85-noarch-1.txz: Upgraded.
a/kernel-generic-5.13.11-x86_64-1.txz: Upgraded.
a/kernel-huge-5.13.11-x86_64-1.txz: Upgraded.
a/kernel-modules-5.13.11-x86_64-1.txz: Upgraded.
a/libgudev-237-x86_64-1.txz: Upgraded.
a/lvm2-2.03.13-x86_64-1.txz: Upgraded.
ap/linuxdoc-tools-0.9.82-x86_64-1.txz: Upgraded.
Thanks to Stuart Winter.
ap/mariadb-10.5.12-x86_64-1.txz: Upgraded.
Looks like we're still hitting a few regressions in the 10.6 branch. The
most obvious one where the version reported by MariaDB is the library
version rather than the server version (as previously reported) could be
reverted, but this could lead to future problems as fixes for this
change land in other projects. It seems that the safest approach at this
time is to switch back to the most recent release from the 10.5 branch
and keep an eye on the situation.
Thanks to richarson and Heinz Wiesinger.
ap/mc-4.8.27-x86_64-1.txz: Upgraded.
ap/pamixer-1.4-x86_64-11.txz: Rebuilt.
Recompiled against boost-1.77.0.
ap/slackpkg-15.0.7-noarch-1.txz: Upgraded.
Remove ftp://spout.ussg.indiana.edu from mirrorlist.
Allow "slackpkg help" to work after slackpkg is upgraded (JK Wood).
Thanks to Robby Workman.
ap/squashfs-tools-4.5-x86_64-1.txz: Upgraded.
ap/vim-8.2.3352-x86_64-1.txz: Upgraded.
d/gcc-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-brig-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-g++-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-gdc-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-gfortran-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-gnat-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-go-11.2.0-x86_64-1.txz: Upgraded.
d/gcc-objc-11.2.0-x86_64-1.txz: Upgraded.
d/help2man-1.48.4-x86_64-1.txz: Upgraded.
d/kernel-headers-5.13.11-x86-1.txz: Upgraded.
d/libtool-2.4.6-x86_64-18.txz: Rebuilt.
Recompiled to update embedded GCC version number.
d/meson-0.58.2-x86_64-1.txz: Upgraded.
d/parallel-20210722-noarch-1.txz: Upgraded.
d/python-pip-21.2.4-x86_64-1.txz: Upgraded.
d/slacktrack-2.21-x86_64-1.txz: Upgraded.
Thanks to Stuart Winter.
k/kernel-source-5.13.11-noarch-1.txz: Upgraded.
CC_VERSION_TEXT "gcc (GCC) 10.3.0" -> "gcc (GCC) 11.2.0"
GCC_VERSION 100300 -> 110200
+CC_HAS_ASM_GOTO_OUTPUT y
+HAVE_KCSAN_COMPILER y
+KCSAN n
+SND_SOC_INTEL_HDA_DSP_COMMON m
+SND_SOC_INTEL_SOF_MAXIM_COMMON m
kde/akonadi-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-calendar-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-calendar-tools-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-contacts-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-import-wizard-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-mime-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-notes-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadi-search-21.08.0-x86_64-1.txz: Upgraded.
kde/akonadiconsole-21.08.0-x86_64-1.txz: Upgraded.
kde/akregator-21.08.0-x86_64-1.txz: Upgraded.
kde/analitza-21.08.0-x86_64-1.txz: Upgraded.
kde/ark-21.08.0-x86_64-1.txz: Upgraded.
kde/artikulate-21.08.0-x86_64-1.txz: Upgraded.
kde/attica-5.85.0-x86_64-1.txz: Upgraded.
kde/audiocd-kio-21.08.0-x86_64-1.txz: Upgraded.
kde/baloo-5.85.0-x86_64-1.txz: Upgraded.
kde/baloo-widgets-21.08.0-x86_64-1.txz: Upgraded.
kde/blinken-21.08.0-x86_64-1.txz: Upgraded.
kde/bluez-qt-5.85.0-x86_64-1.txz: Upgraded.
kde/bomber-21.08.0-x86_64-1.txz: Upgraded.
kde/bovo-21.08.0-x86_64-1.txz: Upgraded.
kde/breeze-icons-5.85.0-noarch-1.txz: Upgraded.
kde/calendarsupport-21.08.0-x86_64-1.txz: Upgraded.
kde/cantor-21.08.0-x86_64-1.txz: Upgraded.
kde/cervisia-21.08.0-x86_64-1.txz: Upgraded.
kde/dolphin-21.08.0-x86_64-1.txz: Upgraded.
kde/dolphin-plugins-21.08.0-x86_64-1.txz: Upgraded.
kde/dragon-21.08.0-x86_64-1.txz: Upgraded.
kde/elisa-21.08.0-x86_64-1.txz: Upgraded.
kde/eventviews-21.08.0-x86_64-1.txz: Upgraded.
kde/extra-cmake-modules-5.85.0-x86_64-1.txz: Upgraded.
kde/ffmpegthumbs-21.08.0-x86_64-1.txz: Upgraded.
kde/filelight-21.08.0-x86_64-1.txz: Upgraded.
kde/frameworkintegration-5.85.0-x86_64-1.txz: Upgraded.
kde/granatier-21.08.0-x86_64-1.txz: Upgraded.
kde/grantlee-editor-21.08.0-x86_64-1.txz: Upgraded.
kde/grantleetheme-21.08.0-x86_64-1.txz: Upgraded.
kde/gwenview-21.08.0-x86_64-1.txz: Upgraded.
kde/incidenceeditor-21.08.0-x86_64-1.txz: Upgraded.
kde/itinerary-21.08.0-x86_64-1.txz: Upgraded.
kde/juk-21.08.0-x86_64-1.txz: Upgraded.
kde/k3b-21.08.0-x86_64-1.txz: Upgraded.
kde/kactivities-5.85.0-x86_64-1.txz: Upgraded.
kde/kactivities-stats-5.85.0-x86_64-1.txz: Upgraded.
kde/kaddressbook-21.08.0-x86_64-1.txz: Upgraded.
kde/kalarm-21.08.0-x86_64-1.txz: Upgraded.
kde/kalarmcal-21.08.0-x86_64-1.txz: Upgraded.
kde/kalgebra-21.08.0-x86_64-1.txz: Upgraded.
kde/kalzium-21.08.0-x86_64-1.txz: Upgraded.
kde/kamera-21.08.0-x86_64-1.txz: Upgraded.
kde/kamoso-21.08.0-x86_64-1.txz: Upgraded.
kde/kanagram-21.08.0-x86_64-1.txz: Upgraded.
kde/kapidox-5.85.0-x86_64-1.txz: Upgraded.
kde/kapman-21.08.0-x86_64-1.txz: Upgraded.
kde/kapptemplate-21.08.0-x86_64-1.txz: Upgraded.
kde/karchive-5.85.0-x86_64-1.txz: Upgraded.
kde/kate-21.08.0-x86_64-1.txz: Upgraded.
kde/katomic-21.08.0-x86_64-1.txz: Upgraded.
kde/kauth-5.85.0-x86_64-1.txz: Upgraded.
kde/kbackup-21.08.0-x86_64-1.txz: Upgraded.
kde/kblackbox-21.08.0-x86_64-1.txz: Upgraded.
kde/kblocks-21.08.0-x86_64-1.txz: Upgraded.
kde/kbookmarks-5.85.0-x86_64-1.txz: Upgraded.
kde/kbounce-21.08.0-x86_64-1.txz: Upgraded.
kde/kbreakout-21.08.0-x86_64-1.txz: Upgraded.
kde/kbruch-21.08.0-x86_64-1.txz: Upgraded.
kde/kcachegrind-21.08.0-x86_64-1.txz: Upgraded.
kde/kcalc-21.08.0-x86_64-1.txz: Upgraded.
kde/kcalendarcore-5.85.0-x86_64-1.txz: Upgraded.
kde/kcalutils-21.08.0-x86_64-1.txz: Upgraded.
kde/kcharselect-21.08.0-x86_64-1.txz: Upgraded.
kde/kcmutils-5.85.0-x86_64-1.txz: Upgraded.
kde/kcodecs-5.85.0-x86_64-1.txz: Upgraded.
kde/kcolorchooser-21.08.0-x86_64-1.txz: Upgraded.
kde/kcompletion-5.85.0-x86_64-1.txz: Upgraded.
kde/kconfig-5.85.0-x86_64-1.txz: Upgraded.
kde/kconfigwidgets-5.85.0-x86_64-1.txz: Upgraded.
kde/kcontacts-5.85.0-x86_64-1.txz: Upgraded.
kde/kcoreaddons-5.85.0-x86_64-1.txz: Upgraded.
kde/kcrash-5.85.0-x86_64-1.txz: Upgraded.
kde/kcron-21.08.0-x86_64-1.txz: Upgraded.
kde/kdav-5.85.0-x86_64-1.txz: Upgraded.
kde/kdbusaddons-5.85.0-x86_64-1.txz: Upgraded.
kde/kde-dev-scripts-21.08.0-x86_64-1.txz: Upgraded.
kde/kde-dev-utils-21.08.0-x86_64-1.txz: Upgraded.
kde/kdebugsettings-21.08.0-x86_64-1.txz: Upgraded.
kde/kdeclarative-5.85.0-x86_64-1.txz: Upgraded.
kde/kdeconnect-kde-21.08.0-x86_64-1.txz: Upgraded.
kde/kded-5.85.0-x86_64-1.txz: Upgraded.
kde/kdeedu-data-21.08.0-x86_64-1.txz: Upgraded.
kde/kdegraphics-mobipocket-21.08.0-x86_64-1.txz: Upgraded.
kde/kdegraphics-thumbnailers-21.08.0-x86_64-1.txz: Upgraded.
kde/kdelibs4support-5.85.0-x86_64-1.txz: Upgraded.
kde/kdenetwork-filesharing-21.08.0-x86_64-1.txz: Upgraded.
kde/kdenlive-21.08.0-x86_64-1.txz: Upgraded.
kde/kdepim-addons-21.08.0-x86_64-1.txz: Upgraded.
kde/kdepim-runtime-21.08.0-x86_64-1.txz: Upgraded.
kde/kdesdk-kioslaves-21.08.0-x86_64-1.txz: Upgraded.
kde/kdesdk-thumbnailers-21.08.0-x86_64-1.txz: Upgraded.
kde/kdesignerplugin-5.85.0-x86_64-1.txz: Upgraded.
kde/kdesu-5.85.0-x86_64-1.txz: Upgraded.
kde/kdewebkit-5.85.0-x86_64-1.txz: Upgraded.
kde/kdf-21.08.0-x86_64-1.txz: Upgraded.
kde/kdialog-21.08.0-x86_64-1.txz: Upgraded.
kde/kdiamond-21.08.0-x86_64-1.txz: Upgraded.
kde/kdnssd-5.85.0-x86_64-1.txz: Upgraded.
kde/kdoctools-5.85.0-x86_64-1.txz: Upgraded.
kde/keditbookmarks-21.08.0-x86_64-1.txz: Upgraded.
kde/kemoticons-5.85.0-x86_64-1.txz: Upgraded.
kde/kfilemetadata-5.85.0-x86_64-1.txz: Upgraded.
kde/kfind-21.08.0-x86_64-1.txz: Upgraded.
kde/kfloppy-21.08.0-x86_64-1.txz: Upgraded.
kde/kfourinline-21.08.0-x86_64-1.txz: Upgraded.
kde/kgeography-21.08.0-x86_64-1.txz: Upgraded.
kde/kget-21.08.0-x86_64-1.txz: Upgraded.
kde/kglobalaccel-5.85.0-x86_64-1.txz: Upgraded.
kde/kgoldrunner-21.08.0-x86_64-1.txz: Upgraded.
kde/kgpg-21.08.0-x86_64-1.txz: Upgraded.
kde/kguiaddons-5.85.0-x86_64-1.txz: Upgraded.
kde/khangman-21.08.0-x86_64-1.txz: Upgraded.
kde/khelpcenter-21.08.0-x86_64-1.txz: Upgraded.
kde/kholidays-5.85.0-x86_64-1.txz: Upgraded.
kde/khtml-5.85.0-x86_64-1.txz: Upgraded.
kde/ki18n-5.85.0-x86_64-1.txz: Upgraded.
kde/kiconthemes-5.85.0-x86_64-1.txz: Upgraded.
kde/kidentitymanagement-21.08.0-x86_64-1.txz: Upgraded.
kde/kidletime-5.85.0-x86_64-1.txz: Upgraded.
kde/kig-21.08.0-x86_64-1.txz: Upgraded.
kde/kigo-21.08.0-x86_64-1.txz: Upgraded.
kde/killbots-21.08.0-x86_64-1.txz: Upgraded.
kde/kimageformats-5.85.0-x86_64-1.txz: Upgraded.
kde/kimagemapeditor-21.08.0-x86_64-1.txz: Upgraded.
kde/kimap-21.08.0-x86_64-1.txz: Upgraded.
kde/kinit-5.85.0-x86_64-1.txz: Upgraded.
kde/kio-5.85.0-x86_64-1.txz: Upgraded.
kde/kio-extras-21.08.0-x86_64-1.txz: Upgraded.
kde/kio-gdrive-21.08.0-x86_64-1.txz: Upgraded.
kde/kipi-plugins-21.08.0-x86_64-1.txz: Upgraded.
kde/kirigami-gallery-21.08.0-x86_64-1.txz: Upgraded.
kde/kirigami2-5.85.0-x86_64-1.txz: Upgraded.
kde/kiriki-21.08.0-x86_64-1.txz: Upgraded.
kde/kitemmodels-5.85.0-x86_64-1.txz: Upgraded.
kde/kitemviews-5.85.0-x86_64-1.txz: Upgraded.
kde/kiten-21.08.0-x86_64-1.txz: Upgraded.
kde/kitinerary-21.08.0-x86_64-1.txz: Upgraded.
kde/kjobwidgets-5.85.0-x86_64-1.txz: Upgraded.
kde/kjs-5.85.0-x86_64-1.txz: Upgraded.
kde/kjsembed-5.85.0-x86_64-1.txz: Upgraded.
kde/kjumpingcube-21.08.0-x86_64-1.txz: Upgraded.
kde/kldap-21.08.0-x86_64-1.txz: Upgraded.
kde/kleopatra-21.08.0-x86_64-1.txz: Upgraded.
kde/klickety-21.08.0-x86_64-1.txz: Upgraded.
kde/klines-21.08.0-x86_64-1.txz: Upgraded.
kde/kmag-21.08.0-x86_64-1.txz: Upgraded.
kde/kmahjongg-21.08.0-x86_64-1.txz: Upgraded.
kde/kmail-21.08.0-x86_64-1.txz: Upgraded.
kde/kmail-account-wizard-21.08.0-x86_64-1.txz: Upgraded.
kde/kmailtransport-21.08.0-x86_64-1.txz: Upgraded.
kde/kmbox-21.08.0-x86_64-1.txz: Upgraded.
kde/kmediaplayer-5.85.0-x86_64-1.txz: Upgraded.
kde/kmime-21.08.0-x86_64-1.txz: Upgraded.
kde/kmines-21.08.0-x86_64-1.txz: Upgraded.
kde/kmix-21.08.0-x86_64-1.txz: Upgraded.
kde/kmousetool-21.08.0-x86_64-1.txz: Upgraded.
kde/kmouth-21.08.0-x86_64-1.txz: Upgraded.
kde/kmplot-21.08.0-x86_64-1.txz: Upgraded.
kde/knavalbattle-21.08.0-x86_64-1.txz: Upgraded.
kde/knetwalk-21.08.0-x86_64-1.txz: Upgraded.
kde/knewstuff-5.85.0-x86_64-1.txz: Upgraded.
kde/knights-21.08.0-x86_64-1.txz: Upgraded.
kde/knotes-21.08.0-x86_64-1.txz: Upgraded.
kde/knotifications-5.85.0-x86_64-1.txz: Upgraded.
kde/knotifyconfig-5.85.0-x86_64-1.txz: Upgraded.
kde/kolf-21.08.0-x86_64-1.txz: Upgraded.
kde/kollision-21.08.0-x86_64-1.txz: Upgraded.
kde/kolourpaint-21.08.0-x86_64-1.txz: Upgraded.
kde/kompare-21.08.0-x86_64-1.txz: Upgraded.
kde/konqueror-21.08.0-x86_64-1.txz: Upgraded.
kde/konquest-21.08.0-x86_64-1.txz: Upgraded.
kde/konsole-21.08.0-x86_64-1.txz: Upgraded.
kde/kontact-21.08.0-x86_64-1.txz: Upgraded.
kde/kontactinterface-21.08.0-x86_64-1.txz: Upgraded.
kde/kontrast-21.08.0-x86_64-1.txz: Upgraded.
kde/konversation-21.08.0-x86_64-1.txz: Upgraded.
kde/kopeninghours-21.08.0-x86_64-1.txz: Upgraded.
kde/kopete-21.08.0-x86_64-1.txz: Upgraded.
kde/korganizer-21.08.0-x86_64-1.txz: Upgraded.
kde/kosmindoormap-21.08.0-x86_64-1.txz: Upgraded.
kde/kpackage-5.85.0-x86_64-1.txz: Upgraded.
kde/kparts-5.85.0-x86_64-1.txz: Upgraded.
kde/kpat-21.08.0-x86_64-1.txz: Upgraded.
kde/kpeople-5.85.0-x86_64-1.txz: Upgraded.
kde/kpimtextedit-21.08.0-x86_64-1.txz: Upgraded.
kde/kpkpass-21.08.0-x86_64-1.txz: Upgraded.
kde/kplotting-5.85.0-x86_64-1.txz: Upgraded.
kde/kpmcore-21.08.0-x86_64-1.txz: Upgraded.
kde/kpty-5.85.0-x86_64-1.txz: Upgraded.
kde/kpublictransport-21.08.0-x86_64-1.txz: Upgraded.
kde/kqtquickcharts-21.08.0-x86_64-1.txz: Upgraded.
kde/kquickcharts-5.85.0-x86_64-1.txz: Upgraded.
kde/krdc-21.08.0-x86_64-1.txz: Upgraded.
kde/kreversi-21.08.0-x86_64-1.txz: Upgraded.
kde/krfb-21.08.0-x86_64-1.txz: Upgraded.
kde/krita-4.4.7-x86_64-2.txz: Rebuilt.
Recompiled against boost-1.77.0.
kde/kross-5.85.0-x86_64-1.txz: Upgraded.
kde/kross-interpreters-21.08.0-x86_64-1.txz: Upgraded.
kde/kruler-21.08.0-x86_64-1.txz: Upgraded.
kde/krunner-5.85.0-x86_64-1.txz: Upgraded.
kde/kservice-5.85.0-x86_64-1.txz: Upgraded.
kde/kshisen-21.08.0-x86_64-1.txz: Upgraded.
kde/ksirk-21.08.0-x86_64-1.txz: Upgraded.
kde/ksmtp-21.08.0-x86_64-1.txz: Upgraded.
kde/ksnakeduel-21.08.0-x86_64-1.txz: Upgraded.
kde/kspaceduel-21.08.0-x86_64-1.txz: Upgraded.
kde/ksquares-21.08.0-x86_64-1.txz: Upgraded.
kde/ksudoku-21.08.0-x86_64-1.txz: Upgraded.
kde/ksystemlog-21.08.0-x86_64-1.txz: Upgraded.
kde/kteatime-21.08.0-x86_64-1.txz: Upgraded.
kde/ktexteditor-5.85.0-x86_64-1.txz: Upgraded.
kde/ktextwidgets-5.85.0-x86_64-1.txz: Upgraded.
kde/ktimer-21.08.0-x86_64-1.txz: Upgraded.
kde/ktnef-21.08.0-x86_64-1.txz: Upgraded.
kde/ktorrent-21.08.0-x86_64-1.txz: Upgraded.
kde/ktouch-21.08.0-x86_64-1.txz: Upgraded.
kde/kturtle-21.08.0-x86_64-1.txz: Upgraded.
kde/kubrick-21.08.0-x86_64-1.txz: Upgraded.
kde/kunitconversion-5.85.0-x86_64-1.txz: Upgraded.
kde/kwallet-5.85.0-x86_64-1.txz: Upgraded.
kde/kwalletmanager-21.08.0-x86_64-1.txz: Upgraded.
kde/kwave-21.08.0-x86_64-1.txz: Upgraded.
kde/kwayland-5.85.0-x86_64-1.txz: Upgraded.
kde/kwidgetsaddons-5.85.0-x86_64-1.txz: Upgraded.
kde/kwindowsystem-5.85.0-x86_64-1.txz: Upgraded.
kde/kwordquiz-21.08.0-x86_64-1.txz: Upgraded.
kde/kxmlgui-5.85.0-x86_64-1.txz: Upgraded.
kde/kxmlrpcclient-5.85.0-x86_64-1.txz: Upgraded.
kde/latte-dock-0.10.0-x86_64-1.txz: Upgraded.
kde/libgravatar-21.08.0-x86_64-1.txz: Upgraded.
kde/libkcddb-21.08.0-x86_64-1.txz: Upgraded.
kde/libkcompactdisc-21.08.0-x86_64-1.txz: Upgraded.
kde/libkdcraw-21.08.0-x86_64-1.txz: Upgraded.
kde/libkdegames-21.08.0-x86_64-1.txz: Upgraded.
kde/libkdepim-21.08.0-x86_64-1.txz: Upgraded.
kde/libkeduvocdocument-21.08.0-x86_64-1.txz: Upgraded.
kde/libkexiv2-21.08.0-x86_64-1.txz: Upgraded.
kde/libkgapi-21.08.0-x86_64-1.txz: Upgraded.
kde/libkipi-21.08.0-x86_64-1.txz: Upgraded.
kde/libkleo-21.08.0-x86_64-1.txz: Upgraded.
kde/libkmahjongg-21.08.0-x86_64-1.txz: Upgraded.
kde/libkomparediff2-21.08.0-x86_64-1.txz: Upgraded.
kde/libksane-21.08.0-x86_64-1.txz: Upgraded.
kde/libksieve-21.08.0-x86_64-1.txz: Upgraded.
kde/libktorrent-21.08.0-x86_64-1.txz: Upgraded.
kde/lokalize-21.08.0-x86_64-1.txz: Upgraded.
kde/lskat-21.08.0-x86_64-1.txz: Upgraded.
kde/mailcommon-21.08.0-x86_64-1.txz: Upgraded.
kde/mailimporter-21.08.0-x86_64-1.txz: Upgraded.
kde/marble-21.08.0-x86_64-1.txz: Upgraded.
kde/markdownpart-21.08.0-x86_64-1.txz: Upgraded.
kde/mbox-importer-21.08.0-x86_64-1.txz: Upgraded.
kde/messagelib-21.08.0-x86_64-1.txz: Upgraded.
kde/minuet-21.08.0-x86_64-1.txz: Upgraded.
kde/modemmanager-qt-5.85.0-x86_64-1.txz: Upgraded.
kde/networkmanager-qt-5.85.0-x86_64-1.txz: Upgraded.
kde/okular-21.08.0-x86_64-1.txz: Upgraded.
kde/oxygen-icons5-5.85.0-noarch-1.txz: Upgraded.
kde/palapeli-21.08.0-x86_64-1.txz: Upgraded.
kde/parley-21.08.0-x86_64-1.txz: Upgraded.
kde/partitionmanager-21.08.0-x86_64-1.txz: Upgraded.
kde/picmi-21.08.0-x86_64-1.txz: Upgraded.
kde/pim-data-exporter-21.08.0-x86_64-1.txz: Upgraded.
kde/pim-sieve-editor-21.08.0-x86_64-1.txz: Upgraded.
kde/pimcommon-21.08.0-x86_64-1.txz: Upgraded.
kde/plasma-framework-5.85.0-x86_64-1.txz: Upgraded.
kde/plasma-workspace-5.22.4-x86_64-2.txz: Rebuilt.
Recompiled against libqalculate-3.20.1.
kde/poxml-21.08.0-x86_64-1.txz: Upgraded.
kde/print-manager-21.08.0-x86_64-1.txz: Upgraded.
kde/prison-5.85.0-x86_64-1.txz: Upgraded.
kde/purpose-5.85.0-x86_64-1.txz: Upgraded.
kde/qqc2-desktop-style-5.85.0-x86_64-1.txz: Upgraded.
kde/rocs-21.08.0-x86_64-1.txz: Upgraded.
kde/skanlite-21.08.0-x86_64-3.txz: Rebuilt.
kde/solid-5.85.0-x86_64-1.txz: Upgraded.
kde/sonnet-5.85.0-x86_64-1.txz: Upgraded.
kde/spectacle-21.08.0-x86_64-1.txz: Upgraded.
kde/step-21.08.0-x86_64-1.txz: Upgraded.
kde/svgpart-21.08.0-x86_64-1.txz: Upgraded.
kde/sweeper-21.08.0-x86_64-1.txz: Upgraded.
kde/syndication-5.85.0-x86_64-1.txz: Upgraded.
kde/syntax-highlighting-5.85.0-x86_64-1.txz: Upgraded.
kde/threadweaver-5.85.0-x86_64-1.txz: Upgraded.
kde/umbrello-21.08.0-x86_64-1.txz: Upgraded.
kde/yakuake-21.08.0-x86_64-1.txz: Upgraded.
kde/zeroconf-ioslave-21.08.0-x86_64-1.txz: Upgraded.
l/SDL2-2.0.16-x86_64-1.txz: Upgraded.
l/atkmm-2.28.2-x86_64-1.txz: Upgraded.
l/boost-1.77.0-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/cryfs-0.10.3-x86_64-3.txz: Rebuilt.
Patched for gcc11 and recompiled against boost-1.77.0.
l/enchant-2.3.1-x86_64-1.txz: Upgraded.
l/gjs-1.68.3-x86_64-1.txz: Upgraded.
l/gtk4-4.2.1-x86_64-1.txz: Added.
l/gtkmm3-3.24.5-x86_64-1.txz: Upgraded.
l/libjpeg-turbo-2.1.1-x86_64-1.txz: Upgraded.
l/libqalculate-3.20.1-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/libwebp-1.2.1-x86_64-1.txz: Upgraded.
l/mlt-7.0.1-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/mozilla-nss-3.69-x86_64-1.txz: Upgraded.
l/mozjs78-78.13.0esr-x86_64-1.txz: Upgraded.
l/netpbm-10.95.01-x86_64-1.txz: Upgraded.
l/ocl-icd-2.3.0-x86_64-2.txz: Rebuilt.
Patched to support the latest Khronos headers.
l/openexr-2.5.7-x86_64-2.txz: Rebuilt.
Recompiled against boost-1.77.0.
l/pango-1.48.8-x86_64-1.txz: Upgraded.
l/pulseaudio-15.0-x86_64-2.txz: Rebuilt.
Ensure that start-pulseaudio-x11 is generated properly when pulseaudio is
built using meson. Thanks to davjohn.
l/python-pygments-2.10.0-x86_64-1.txz: Upgraded.
l/qt5-5.15.2-x86_64-11.txz: Rebuilt.
Patched to compile with gcc11 (such as adding #include <limits> to some of
the header files shipped in the package).
l/tidy-html5-5.8.0-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
n/ModemManager-1.16.8-x86_64-1.txz: Upgraded.
n/NetworkManager-1.32.6-x86_64-1.txz: Upgraded.
n/c-ares-1.17.2-x86_64-1.txz: Upgraded.
This update fixes a security issue:
Missing input validation on hostnames returned by DNS servers.
For more information, see:
https://c-ares.haxx.se/adv_20210810.html
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3672
(* Security fix *)
n/dhcpcd-9.4.0-x86_64-1.txz: Upgraded.
n/fetchmail-6.4.21-x86_64-1.txz: Upgraded.
n/nmap-7.92-x86_64-1.txz: Upgraded.
n/openresolv-3.12.0-noarch-1.txz: Added.
This is needed for wg-quick in the wireguard-tools package.
Thanks to synbq Bucharest, Jeremy Hansen, and Daniel Wilkins.
n/php-7.4.22-x86_64-2.txz: Rebuilt.
Recompiled against tidy-html5-5.8.0.
x/ibus-m17n-1.4.7-x86_64-1.txz: Upgraded.
x/libepoxy-1.5.9-x86_64-1.txz: Upgraded.
x/mesa-21.1.7-x86_64-1.txz: Upgraded.
x/vulkan-sdk-1.2.176.1-x86_64-2.txz: Rebuilt.
x/xrdb-1.2.1-x86_64-1.txz: Upgraded.
xap/mozilla-firefox-91.0-x86_64-1.txz: Upgraded.
New ESR release :-)
This release contains security fixes and improvements.
For more information, see:
https://www.mozilla.org/en-US/firefox/91.0/releasenotes/
https://www.mozilla.org/security/advisories/mfsa2021-33/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29986
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29981
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29988
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29983
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29984
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29980
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29987
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29985
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29982
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29989
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29990
(* Security fix *)
xap/mozilla-thunderbird-91.0-x86_64-1.txz: Upgraded.
This release contains security fixes and improvements.
For more information, see:
https://www.mozilla.org/en-US/thunderbird/91.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2021-36/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29986
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29981
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29988
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29984
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29980
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29987
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29985
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29982
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29989
(* Security fix *)
xap/network-manager-applet-1.22.0-x86_64-1.txz: Upgraded.
xap/vim-gvim-8.2.3352-x86_64-1.txz: Upgraded.
extra/php8/php8-8.0.9-x86_64-2.txz: Rebuilt.
Recompiled against tidy-html5-5.8.0.
isolinux/initrd.img: Rebuilt.
kernels/*: Upgraded.
usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source')
114 files changed, 3272 insertions, 692 deletions
diff --git a/source/a/aaa_libraries/aaa_libraries.SlackBuild b/source/a/aaa_libraries/aaa_libraries.SlackBuild index f8d8f3d2..bdf44ff6 100755 --- a/source/a/aaa_libraries/aaa_libraries.SlackBuild +++ b/source/a/aaa_libraries/aaa_libraries.SlackBuild @@ -23,7 +23,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=aaa_libraries VERSION=${VERSION:-15.0} -BUILD=${BUILD:-7} +BUILD=${BUILD:-8} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/a/aaa_libraries/tracked-files-tmp.d/boost-1.75.0 b/source/a/aaa_libraries/tracked-files-tmp.d/boost-1.75.0 deleted file mode 100644 index 5ec36054..00000000 --- a/source/a/aaa_libraries/tracked-files-tmp.d/boost-1.75.0 +++ /dev/null @@ -1,39 +0,0 @@ -/usr/lib/libboost_atomic.so.1.75.0 -/usr/lib/libboost_chrono.so.1.75.0 -/usr/lib/libboost_container.so.1.75.0 -/usr/lib/libboost_context.so.1.75.0 -/usr/lib/libboost_contract.so.1.75.0 -/usr/lib/libboost_coroutine.so.1.75.0 -/usr/lib/libboost_date_time.so.1.75.0 -/usr/lib/libboost_fiber.so.1.75.0 -/usr/lib/libboost_filesystem.so.1.75.0 -/usr/lib/libboost_graph.so.1.75.0 -/usr/lib/libboost_iostreams.so.1.75.0 -/usr/lib/libboost_json.so.1.75.0 -/usr/lib/libboost_locale.so.1.75.0 -/usr/lib/libboost_log.so.1.75.0 -/usr/lib/libboost_log_setup.so.1.75.0 -/usr/lib/libboost_math_c99.so.1.75.0 -/usr/lib/libboost_math_c99f.so.1.75.0 -/usr/lib/libboost_math_c99l.so.1.75.0 -/usr/lib/libboost_math_tr1.so.1.75.0 -/usr/lib/libboost_math_tr1f.so.1.75.0 -/usr/lib/libboost_math_tr1l.so.1.75.0 -/usr/lib/libboost_nowide.so.1.75.0 -/usr/lib/libboost_prg_exec_monitor.so.1.75.0 -/usr/lib/libboost_program_options.so.1.75.0 -/usr/lib/libboost_python27.so.1.75.0 -/usr/lib/libboost_python39.so.1.75.0 -/usr/lib/libboost_random.so.1.75.0 -/usr/lib/libboost_regex.so.1.75.0 -/usr/lib/libboost_serialization.so.1.75.0 -/usr/lib/libboost_stacktrace_addr2line.so.1.75.0 -/usr/lib/libboost_stacktrace_basic.so.1.75.0 -/usr/lib/libboost_stacktrace_noop.so.1.75.0 -/usr/lib/libboost_system.so.1.75.0 -/usr/lib/libboost_thread.so.1.75.0 -/usr/lib/libboost_timer.so.1.75.0 -/usr/lib/libboost_type_erasure.so.1.75.0 -/usr/lib/libboost_unit_test_framework.so.1.75.0 -/usr/lib/libboost_wave.so.1.75.0 -/usr/lib/libboost_wserialization.so.1.75.0 diff --git a/source/a/aaa_libraries/tracked-files-tmp.d/boost-1.76.0 b/source/a/aaa_libraries/tracked-files-tmp.d/boost-1.76.0 new file mode 100644 index 00000000..7aaa82a6 --- /dev/null +++ b/source/a/aaa_libraries/tracked-files-tmp.d/boost-1.76.0 @@ -0,0 +1,39 @@ +/usr/lib/libboost_atomic.so.1.76.0 +/usr/lib/libboost_chrono.so.1.76.0 +/usr/lib/libboost_container.so.1.76.0 +/usr/lib/libboost_context.so.1.76.0 +/usr/lib/libboost_contract.so.1.76.0 +/usr/lib/libboost_coroutine.so.1.76.0 +/usr/lib/libboost_date_time.so.1.76.0 +/usr/lib/libboost_fiber.so.1.76.0 +/usr/lib/libboost_filesystem.so.1.76.0 +/usr/lib/libboost_graph.so.1.76.0 +/usr/lib/libboost_iostreams.so.1.76.0 +/usr/lib/libboost_json.so.1.76.0 +/usr/lib/libboost_locale.so.1.76.0 +/usr/lib/libboost_log.so.1.76.0 +/usr/lib/libboost_log_setup.so.1.76.0 +/usr/lib/libboost_math_c99.so.1.76.0 +/usr/lib/libboost_math_c99f.so.1.76.0 +/usr/lib/libboost_math_c99l.so.1.76.0 +/usr/lib/libboost_math_tr1.so.1.76.0 +/usr/lib/libboost_math_tr1f.so.1.76.0 +/usr/lib/libboost_math_tr1l.so.1.76.0 +/usr/lib/libboost_nowide.so.1.76.0 +/usr/lib/libboost_prg_exec_monitor.so.1.76.0 +/usr/lib/libboost_program_options.so.1.76.0 +/usr/lib/libboost_python27.so.1.76.0 +/usr/lib/libboost_python39.so.1.76.0 +/usr/lib/libboost_random.so.1.76.0 +/usr/lib/libboost_regex.so.1.76.0 +/usr/lib/libboost_serialization.so.1.76.0 +/usr/lib/libboost_stacktrace_addr2line.so.1.76.0 +/usr/lib/libboost_stacktrace_basic.so.1.76.0 +/usr/lib/libboost_stacktrace_noop.so.1.76.0 +/usr/lib/libboost_system.so.1.76.0 +/usr/lib/libboost_thread.so.1.76.0 +/usr/lib/libboost_timer.so.1.76.0 +/usr/lib/libboost_type_erasure.so.1.76.0 +/usr/lib/libboost_unit_test_framework.so.1.76.0 +/usr/lib/libboost_wave.so.1.76.0 +/usr/lib/libboost_wserialization.so.1.76.0 diff --git a/source/a/grep/grep.SlackBuild b/source/a/grep/grep.SlackBuild index 12281b3b..16e50d5b 100755 --- a/source/a/grep/grep.SlackBuild +++ b/source/a/grep/grep.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=grep VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/ap/linuxdoc-tools/ChangeLog.txt b/source/ap/linuxdoc-tools/ChangeLog.txt index 0dbdf930..b5e57dc7 100644 --- a/source/ap/linuxdoc-tools/ChangeLog.txt +++ b/source/ap/linuxdoc-tools/ChangeLog.txt @@ -1,3 +1,13 @@ +Thu Aug 12 10:02:06 BST 2021 + linuxdoc-tools 0.9.82, build 1. + Stuart Winter <mozes@slackware.com> + * Upgraded to linuxdoc-tools 0.9.82 + No longer apply patch to set default page size to 'letter' + since the patch no longer applies. I think it's unlikely that this + change in default setting will cause any issues. + * Upgraded to asciidoc-9.1.0 + * Upgraded to gtk-doc-1.33.2 + Wed Jan 29 09:11:40 GMT 2020 linuxdoc-tools 0.9.73, build 5. Stuart Winter <mozes@slackware.com> diff --git a/source/ap/linuxdoc-tools/arm/build b/source/ap/linuxdoc-tools/arm/build index 0cb7c95b..708dd699 100755 --- a/source/ap/linuxdoc-tools/arm/build +++ b/source/ap/linuxdoc-tools/arm/build @@ -9,7 +9,7 @@ source /usr/share/slackdev/buildkit.sh # Package metadata: export PKGNAM=linuxdoc-tools -export VERSION=${VERSION:-0.9.73} +export VERSION=${VERSION:-0.9.82} export BUILD=${BUILD:-1} export PKGSERIES=${PKGSERIES:-ap} export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz diff --git a/source/ap/linuxdoc-tools/linuxdoc-tools.build b/source/ap/linuxdoc-tools/linuxdoc-tools.build index 32ecd3ce..7b3962fb 100755 --- a/source/ap/linuxdoc-tools/linuxdoc-tools.build +++ b/source/ap/linuxdoc-tools/linuxdoc-tools.build @@ -23,7 +23,7 @@ LINUXDOCTOOLSVER=$PKGVERSION # Bundled package versions: -ASCIIDOCVER=8.6.10 +ASCIIDOCVER=9.1.0 DSSSLSTYLESHEETSVER=1.79 # docbook-dsssl-*.tar.xz (plus -doc- source archive), not SRPM. XSLSTYLESHEETSVER=1.79.2 # docbook-style-xsl-*src.rpm ("DocBook XSL Stylesheets" in our ChangeLog.txt) DOCBOOKUTILSVER=0.6.14 @@ -31,7 +31,7 @@ SGMLDTD3VER=3.1 SGMLDTD4VER=4.5 XMLDTDVER=4.5 GNOMEDOCUTILSVER=0.20.10 -GTKDOCVER=1.32 +GTKDOCVER=1.33.2 SGMLSPLVER=1.03ii OPENJADEVER=1.3.2 OPENSPVER=1.5.2 @@ -53,11 +53,11 @@ case $ARCH in export LIBDIRSUFFIX="64" export HOSTTARGET="" ;; - i?86) export SLKCFLAGS="-O2 -march=i586 -mtune=i686" - export LIBDIRSUFFIX="" + riscv) export SLKCFLAGS="-O2" + export LIBDIRSUFFIX="64" export HOSTTARGET="" ;; - s390) export SLKCFLAGS="-O2" + i?86) export SLKCFLAGS="-O2 -march=i586 -mtune=i686" export LIBDIRSUFFIX="" export HOSTTARGET="" ;; @@ -80,8 +80,8 @@ cd $TMP rm -rf asciidoc mkdir asciidoc && cd asciidoc rpm2cpio $CWD/sources/asciidoc-${ASCIIDOCVER}*.src.rpm | cpio -div || exit 1 -tar xvf asciidoc-py3-*.tar.*z -cd asciidoc-py3-*/ || exit 1 +tar xvf asciidoc-py-*.tar.*z +cd asciidoc-py-*/ || exit 1 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -90,17 +90,13 @@ find . \ -exec chmod 644 {} \; # Apply patches: -# # Assemble patch list from spec file: # egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}' -for i in \ - \ - asciidoc-python3.patch \ - asciidoc-python3-a2x-decode-fix.patch \ - asciidoc-python3-deprecation-warning.patch \ - \ - ; do patch -p1 --verbose < ../${i} || exit 1 -done || exit 1 +#for i in \ +# \ +# \ +# ; do patch -p1 --verbose < ../${i} || exit 1 +#done || exit 1 # Configure: autoreconf -v @@ -341,6 +337,7 @@ find . -name config.sub -print0 | xargs -0i cp -favv /usr/share/libtool/build-au # This is configured not to build the documentation. If anybody really needs # it, let me know and I'll adjust the build script - it's just a PITA to # get working. +CXXFLAGS="-fno-lifetime-dse" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ @@ -777,6 +774,8 @@ find . \ # Assemble patch list from spec file (and see individual level-2 patch outside of 'for' loop below): # egrep '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}' # Apply patches: +# Note: 'docbook-style-xsl-non-recursive-string-subst.patch' is applied separately +# as it needs a different patch level. for i in \ \ docbook-xsl-pagesetup.patch \ @@ -953,7 +952,7 @@ cd $TMP mkdir linuxdoc-tools && cd linuxdoc-tools #rpm2cpio $CWD/sources/linuxdoc-tools-${LINUXDOCTOOLSVER}*.src.rpm | cpio -div || exit 1 #tar xvf linuxdoc-tools_$LINUXDOCTOOLSVER.tar.gz -tar xvf $CWD/sources/linuxdoc-tools_$LINUXDOCTOOLSVER.tar.xz +tar xvf $CWD/sources/linuxdoc-tools_$LINUXDOCTOOLSVER.tar.?z cd linuxdoc-tools-$LINUXDOCTOOLSVER || exit 1 chown -R root:root . @@ -971,8 +970,10 @@ export PATH=$( echo $PATH | sed -e 's?:/usr/share/texmf/bin??g' -e 's?/usr/share # Apply patches (these were originally taken from the Fedora SRPM but broken out later # when the 'original' source from Debian began to be used) +# We used to apply 'linuxdoc-tools-0.9.13-letter.patch.xz' but it won't apply to the +# latest linuxdoc-tools source. It simply changed the default page size to 'Letter'. +# Probably not too much to worry about there. for i in \ - linuxdoc-tools-0.9.13-letter.patch.xz \ linuxdoc-tools-0.9.20-lib64.patch.xz ; do xzcat $CWD/sources/$i | patch -p1 || exit 1 done || exit 1 @@ -1118,19 +1119,30 @@ for i in \ done || exit 1 # Configure: +mkdir meson-build +pushd meson-build CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ CPPFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --mandir=/usr/man || exit 1 +meson setup \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --libexecdir=/usr/libexec \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --includedir=/usr/include \ + --datadir=/usr/share \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + .. || exit 1 # Build: -make || exit 1 +"${NINJA:=ninja}" $NUMJOBS --verbose || exit 1 # Install: -make install || exit 1 +DESTDIR=/ $NINJA install --verbose || exit 1 +popd # Copy docs: mkdir -vpm755 /usr/doc/gtk-doc-$GTKDOCVER diff --git a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.13-letter.patch b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.13-letter.patch deleted file mode 100644 index 232d1307..00000000 --- a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.13-letter.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- linuxdoc-tools-0.9.13/perl5lib/LinuxDocTools.pm.letter Mon Nov 26 16:09:37 2001 -+++ linuxdoc-tools-0.9.13/perl5lib/LinuxDocTools.pm Mon Nov 26 16:09:49 2001 -@@ -108,7 +108,7 @@ - { option => "pass", type => "s", short => "P" } - ]; - $global->{backend} = "linuxdoc"; -- $global->{papersize} = "a4"; -+ $global->{papersize} = "letter"; - $global->{language} = "en"; - $global->{charset} = "ascii"; - $global->{style} = ""; ---- linuxdoc-tools-0.9.13/man/linuxdoc.1.letter Mon Nov 26 16:10:04 2001 -+++ linuxdoc-tools-0.9.13/man/linuxdoc.1 Mon Nov 26 16:10:42 2001 -@@ -46,8 +46,8 @@ - format, but just output the usage of this suites. - Available formats are: html, info, latex, lyx, rtf, txt, check. - .IP "--papersize=\fIsize\fR, -p --Set the paper size. Default is ``a4'' (European 297x210mm paper). --You may also specify ``letter'' size. -+Set the paper size. Default is ``letter''. -+You may also specify ``a4'' size (European 297x210mm paper). - .IP "--language=\fIlang\fR, -l" - Specify the language of the document (this may change which style - files are used for formatting by a back end). The default language is diff --git a/source/ap/linuxdoc-tools/sources/source.download b/source/ap/linuxdoc-tools/sources/source.download index bb27334e..f51a3dbb 100755 --- a/source/ap/linuxdoc-tools/sources/source.download +++ b/source/ap/linuxdoc-tools/sources/source.download @@ -17,7 +17,7 @@ # https://packages.debian.org/sid/linuxdoc-tools # # This provides things such as sgml2txt. -wget -c http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0.9.73.orig.tar.gz +wget http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0.9.82.orig.tar.gz # We're taking some patches from here - now separated out: #wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/l/linuxdoc-tools-0.9.68-3.fc19.src.rpm @@ -27,7 +27,7 @@ wget -c http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0 # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/ # -wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/opensp-1.5.2-33.fc31.src.rpm +wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/opensp-1.5.2-38.fc35.src.rpm # OpenJade: # http://openjade.sourceforge.net/ @@ -45,7 +45,7 @@ wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everythin # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/sgml-common-0.6.3-53.fc31.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/sgml-common-0.6.3-57.fc35.src.rpm # http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-dsssl.html # Check versions: @@ -58,7 +58,7 @@ wget -c http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1 # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/ # -wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-utils-0.6.14-48.fc31.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-utils-0.6.14-53.fc35.src.rpm # # @@ -70,7 +70,7 @@ wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everyt # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-style-xsl-1.79.2-10.fc31.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-style-xsl-1.79.2-15.fc35.src.rpm # http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook.html wget -c http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip @@ -85,7 +85,7 @@ wget -c http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gnome-doc-utils-0.20.10-20.fc32.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gnome-doc-utils-0.20.10-26.fc35.src.rpm # gtk-doc: # There aren't any patches taken from the SRPM, but you can check the version used in Fedora @@ -93,17 +93,11 @@ wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everythin # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.32-2.fc32.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.33.2-4.fc35.src.rpm +https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.32-2.fc32.src.rpm #wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gtk-doc/1.21/gtk-doc-1.21.tar.xz # http://git.gnome.org/browse/gtk-doc/commit/?id=2bffebcf9c125f5610b8fb660d42c3c5b9dfd4f0 -# sgmlspl -# http://www.cs.indiana.edu/~asengupt/sgml/SGMLSpm/DOC/HTML/sgmlspl/sgmlspl.html -# http://packages.debian.org/search?keywords=sgmlspl&searchon=names&suite=all§ion=all -# There's nothing in the FTP download site at this time, so I'll take it from Debian. -wget -c http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz -wget -c http://http.debian.net/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-36.debian.tar.xz - # xmlto # https://fedorahosted.org/releases/x/m/xmlto # wget -c --no-check-certificate https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.23.tar.bz2 @@ -118,16 +112,25 @@ wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everythin # Also http://asciidoc.org/ # Taken some patches from Fedora. # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/a/asciidoc-8.6.10-0.13.20180605git986f99d.fc32.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/a/asciidoc-9.1.0-3.fc35.src.rpm # docbook2X: # # Pre-requisite PERL modules for docbook2X: # https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-NamespaceSupport-1.12-9.fc31.src.rpm -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-Base-1.09-9.fc31.src.rpm -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-1.02-2.fc31.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-NamespaceSupport-1.12-15.fc35.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-1.02-8.fc35.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-Base-1.09-15.fc35.src.rpm + + + +# sgmlspl +# http://www.cs.indiana.edu/~asengupt/sgml/SGMLSpm/DOC/HTML/sgmlspl/sgmlspl.html +# http://packages.debian.org/search?keywords=sgmlspl&searchon=names&suite=all§ion=all +# There's nothing in the FTP download site at this time, so I'll take it from Debian. +wget -c http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz +wget -c http://http.debian.net/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-36.debian.tar.xz # #http://packages.debian.org/sid/docbook2x diff --git a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools index 2ba2d8f4..ff31fa6a 100755 --- a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools +++ b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools @@ -21,6 +21,10 @@ # Package info: PKGNAM=linuxdoc-tools +export PKGVERSION=0.9.82 # use the version of linuxdoc-tools as the package version. +BUILD=${BUILD:-1} +PKGEXT=${PKGEXT:-txz} + # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -31,10 +35,6 @@ if [ -z "$ARCH" ]; then esac fi -export PKGVERSION=0.9.73 # use the version of linuxdoc-tools as the package version. -BUILD=${BUILD:-9} -PKGEXT=${PKGEXT:-txz} - export CWD=$PWD export PKGSTORE=/tmp export TMP=/tmp/build-$PKGNAM/ diff --git a/source/ap/mc/mc.SlackBuild b/source/ap/mc/mc.SlackBuild index 5f8ba10d..f4f74a83 100755 --- a/source/ap/mc/mc.SlackBuild +++ b/source/ap/mc/mc.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mc VERSION=${VERSION:-$(echo mc-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/ap/pamixer/pamixer.SlackBuild b/source/ap/pamixer/pamixer.SlackBuild index ad39298d..2309960c 100755 --- a/source/ap/pamixer/pamixer.SlackBuild +++ b/source/ap/pamixer/pamixer.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=pamixer VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-10} +BUILD=${BUILD:-11} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/ap/slackpkg/README.md b/source/ap/slackpkg/README.md new file mode 100644 index 00000000..ea4bf2a9 --- /dev/null +++ b/source/ap/slackpkg/README.md @@ -0,0 +1,5 @@ +Slackpkg is a tool for installing or upgrading packages through a network. +You can make a minimal installation of Slackware Linux and then install +additional packages from a Slackware mirror. + +Releases are available from [slackpkg.org](https://slackpkg.org/). diff --git a/source/ap/slackpkg/files/ChangeLog b/source/ap/slackpkg/files/ChangeLog index aa6dba54..8f875390 100644 --- a/source/ap/slackpkg/files/ChangeLog +++ b/source/ap/slackpkg/files/ChangeLog @@ -1,3 +1,9 @@ +Mon Aug 16 02:14:02 UTC 2021 +--------------- + - Release 15.0.7 + - Remove ftp://spout.ussg.indiana.edu from mirrorlist + - Allow "slackpkg help" to work after slackpkg is upgraded (JK Wood) + Tue Jul 6 03:01:40 UTC 2021 --------------- - Release 15.0.6 diff --git a/source/ap/slackpkg/files/core-functions.sh b/source/ap/slackpkg/files/core-functions.sh index ea38f299..1a506277 100644 --- a/source/ap/slackpkg/files/core-functions.sh +++ b/source/ap/slackpkg/files/core-functions.sh @@ -242,7 +242,7 @@ ONE mirror in ${CONF}/mirrors and run:\n\n\ \t# slackpkg update\n\n\ You can see more information about slackpkg functions in slackpkg manpage." cleanup - elif [ "$CMD" != "new-config" ]; then + elif [ "$CMD" != "new-config" ] && [ "$CMD" != "help" ]; then echo -e "\ \nThe package list is missing.\n\ Before you install|upgrade|reinstall anything you need to run:\n\n\ @@ -347,6 +347,7 @@ use slackpkg.\n" elif ! [ -f ${WORKDIR}/CHECKSUMS.md5 ] && \ [ "$CMD" != "update" ] && \ [ "$CMD" != "new-config" ] && \ + [ "$CMD" != "help" ] && \ [ "$CHECKMD5" = "on" ]; then echo -e "\n\ No CHECKSUMS.md5 found! Please disable md5sums checking\n\ diff --git a/source/ap/slackpkg/files/mirrors-x86.sample b/source/ap/slackpkg/files/mirrors-x86.sample index 5ede5cbc..4c07dd72 100644 --- a/source/ap/slackpkg/files/mirrors-x86.sample +++ b/source/ap/slackpkg/files/mirrors-x86.sample @@ -198,7 +198,6 @@ # http://slackware.mirrors.pair.com/slackware-15.0/ # ftp://slackware.mirrors.tds.net/pub/slackware/slackware-15.0/ # http://slackware.mirrors.tds.net/pub/slackware/slackware-15.0/ -# ftp://spout.ussg.indiana.edu/linux/slackware/slackware-15.0/ # http://spout.ussg.indiana.edu/linux/slackware/slackware-15.0/ # ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-15.0/ # http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-15.0/ @@ -371,7 +370,6 @@ # http://slackware.mirrors.pair.com/slackware-current/ # ftp://slackware.mirrors.tds.net/pub/slackware/slackware-current/ # http://slackware.mirrors.tds.net/pub/slackware/slackware-current/ -# ftp://spout.ussg.indiana.edu/linux/slackware/slackware-current/ # http://spout.ussg.indiana.edu/linux/slackware/slackware-current/ # ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-current/ # http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware-current/ diff --git a/source/ap/slackpkg/files/mirrors-x86_64.sample b/source/ap/slackpkg/files/mirrors-x86_64.sample index e66828a4..4f7d8e8b 100644 --- a/source/ap/slackpkg/files/mirrors-x86_64.sample +++ b/source/ap/slackpkg/files/mirrors-x86_64.sample @@ -196,7 +196,6 @@ # http://slackware.mirrors.pair.com/slackware64-15.0/ # ftp://slackware.mirrors.tds.net/pub/slackware/slackware64-15.0/ # http://slackware.mirrors.tds.net/pub/slackware/slackware64-15.0/ -# ftp://spout.ussg.indiana.edu/linux/slackware/slackware64-15.0/ # http://spout.ussg.indiana.edu/linux/slackware/slackware64-15.0/ # ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-15.0/ # http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-15.0/ @@ -363,7 +362,6 @@ # http://slackware.mirrors.pair.com/slackware64-current/ # ftp://slackware.mirrors.tds.net/pub/slackware/slackware64-current/ # http://slackware.mirrors.tds.net/pub/slackware/slackware64-current/ -# ftp://spout.ussg.indiana.edu/linux/slackware/slackware64-current/ # http://spout.ussg.indiana.edu/linux/slackware/slackware64-current/ # ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-current/ # http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-current/ diff --git a/source/ap/slackpkg/slackpkg.SlackBuild b/source/ap/slackpkg/slackpkg.SlackBuild index 3ad02540..76c0347f 100755 --- a/source/ap/slackpkg/slackpkg.SlackBuild +++ b/source/ap/slackpkg/slackpkg.SlackBuild @@ -23,7 +23,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=slackpkg -VERSION=${VERSION:-15.0.6} +VERSION=${VERSION:-15.0.7} ARCH="noarch" BUILD=${BUILD:-1} diff --git a/source/ap/squashfs-tools/squashfs-tools.SlackBuild b/source/ap/squashfs-tools/squashfs-tools.SlackBuild index 3431421f..65f27498 100755 --- a/source/ap/squashfs-tools/squashfs-tools.SlackBuild +++ b/source/ap/squashfs-tools/squashfs-tools.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=squashfs-tools VERSION=${VERSION:-$( echo squashfs-tools*.tar.?z | cut -d- -f3- | rev | cut -f3- -d . | rev )} -BUILD=${BUILD:-4} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/ap/squashfs-tools/squashfs-tools.glibc228.diff b/source/ap/squashfs-tools/squashfs-tools.glibc228.diff deleted file mode 100644 index 305a118d..00000000 --- a/source/ap/squashfs-tools/squashfs-tools.glibc228.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- ./squashfs-tools/unsquashfs.c.orig 2018-09-13 16:02:16.000000000 -0500 -+++ ./squashfs-tools/unsquashfs.c 2018-09-18 19:03:26.607071388 -0500 -@@ -36,6 +36,7 @@ - #include <sys/types.h> - #include <sys/time.h> - #include <sys/resource.h> -+#include <sys/sysmacros.h> - #include <limits.h> - #include <ctype.h> - ---- ./squashfs-tools/mksquashfs.c.orig 2018-09-13 16:02:16.000000000 -0500 -+++ ./squashfs-tools/mksquashfs.c 2018-09-18 19:03:26.605071388 -0500 -@@ -44,6 +44,7 @@ - #include <setjmp.h> - #include <sys/types.h> - #include <sys/mman.h> -+#include <sys/sysmacros.h> - #include <pthread.h> - #include <regex.h> - #include <sys/wait.h> diff --git a/source/d/gcc/fetch-from-svn-and-prep-tarball.sh b/source/d/gcc/fetch-from-svn-and-prep-tarball.sh deleted file mode 100755 index de245906..00000000 --- a/source/d/gcc/fetch-from-svn-and-prep-tarball.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -# Copyright 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA -# -# Parts of this script are based on the gcc_release script by -# Jeffrey Law, Bernd Schmidt, Mark Mitchell. -# Copyright (c) 2001-2015 Free Software Foundation. -# -# 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, 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/>. - -BRANCH=${BRANCH:-gcc-9-branch} - -rm -rf tmp-fetch -mkdir tmp-fetch -cd tmp-fetch -# Not sure why, but this emits a different revision when the fetch is done than -# what's returned by "svn log -r COMMITTED". We'll trust the latter. -svn co svn://gcc.gnu.org/svn/gcc/branches/${BRANCH} gcc -cd gcc -echo "Generating LAST_UPDATED..." -svn log -r COMMITTED > LAST_UPDATED.raw -REVISION="$(cat LAST_UPDATED.raw | head -n 2 | tail -n 1 | cut -f 1 -d ' ' | cut -f 2 -d r)" -DATE="$(date -d "$(cat LAST_UPDATED.raw | head -n 2 | tail -n 1 | cut -f 3 -d '|' | cut -f 1 -d '(')" "+%Y%m%d")" -echo "Obtained from SVN: branches/${BRANCH} revision ${REVISION}" > LAST_UPDATED -cat LAST_UPDATED.raw >> LAST_UPDATED -rm LAST_UPDATED.raw -# Remove the .svn data (not packaged): -rm -r .svn -# Get the version number: -VERSION=$(cat gcc/BASE-VER) -# Rename the directory: -cd .. -GCCDIR="gcc-${VERSION}_${DATE}_r${REVISION}" -mv gcc $GCCDIR -cd $GCCDIR -# Now we need to generate some documentation files that would normally be -# created during the GCC release process: -echo "Generating INSTALL/ documentation..." -SOURCEDIR=gcc/doc \ -DESTDIR=INSTALL \ -gcc/doc/install.texi2html 1> /dev/null 2> /dev/null -echo "Generating NEWS..." -contrib/gennews > NEWS -# Create a "MD5SUMS" file to use for checking the validity of the release. -echo "Generating MD5SUMS..." -echo \ -"# This file contains the MD5 checksums of the files in the -# "${GCCDIR}".tar.lz tarball. -# -# Besides verifying that all files in the tarball were correctly expanded, -# it also can be used to determine if any files have changed since the -# tarball was expanded or to verify that a patchfile was correctly applied. -# -# Suggested usage: -# md5sum -c MD5SUMS | grep -v \"OK$\" -#" > MD5SUMS -find . -type f | -sed -e 's:^\./::' -e '/MD5SUMS/d' | -sort | -xargs md5sum >>MD5SUMS -cd .. -# Tar it up: -echo "Creating ${GCCDIR}.tar..." -tar cf ${GCCDIR}.tar ${GCCDIR} -# Compress with (p)lzip: -echo "Compressing ${GCCDIR}.tar.lz..." -plzip -9 ${GCCDIR}.tar -# Move the new archive up a directory: -mv ${GCCDIR}.tar.lz .. -# Move up a directory and then delete the cruft: -cd .. -rm -r tmp-fetch -echo "Done." diff --git a/source/d/gcc/gcc.SlackBuild b/source/d/gcc/gcc.SlackBuild index 5830d762..a1a6c4c6 100755 --- a/source/d/gcc/gcc.SlackBuild +++ b/source/d/gcc/gcc.SlackBuild @@ -57,7 +57,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=gcc SRCVER=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} VERSION=$(echo $SRCVER | cut -f 1 -d _) -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # How many jobs to run in parallel: NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -171,10 +171,8 @@ zcat $CWD/patches/gcc-no_fixincludes.diff.gz | patch -p1 --verbose --backup --su # Fix a gfortran bug: zcat $CWD/patches/gfortran.deferred-shape-vs-assumed-shape.patch.gz | patch -p0 --verbose --backup --suffix=.orig || exit 1 -# Fix regressions in 10.3.0: -zcat $CWD/patches/PR100101.2efbbba16a0630fac8cadcd6d9e0ffaabfadb79f.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 +# Fix regressions in 10.3.0 (and presumably 11.1.0 since they still apply cleanly): zcat $CWD/patches/PR100102-2.a1b3484a8e6c53c8084723e3f1738d402374198e.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 -zcat $CWD/patches/PR100102.5357ab75dedef403b0eebf9277d61d1cbeb5898f.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 # Fix perms/owners: chown -R root:root . diff --git a/source/d/gcc/patches/PR100101.2efbbba16a0630fac8cadcd6d9e0ffaabfadb79f.patch b/source/d/gcc/patches/PR100101.2efbbba16a0630fac8cadcd6d9e0ffaabfadb79f.patch deleted file mode 100644 index 51ee459f..00000000 --- a/source/d/gcc/patches/PR100101.2efbbba16a0630fac8cadcd6d9e0ffaabfadb79f.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 2efbbba16a0630fac8cadcd6d9e0ffaabfadb79f Mon Sep 17 00:00:00 2001 -From: Jason Merrill <jason@redhat.com> -Date: Thu, 15 Apr 2021 13:38:54 -0400 -Subject: [PATCH] c++: noexcept error recursion [PR100101] - -Here instantiating the noexcept-specifier for bar<void>() means -instantiating A<void>::value, which complains about the conversion from 0 to -int* in the default argument of foo. Since my patch for PR99583, printing -the error context involves looking at C<void>::type, which again wants to -instantiate A<void>::value, which breaks. For now at least, let's break -this recursion by avoiding looking into the noexcept-specifier in -find_typenames, and limit that to just the uses_parameter_packs case that -PR99583 cares about. - -gcc/cp/ChangeLog: - - PR c++/100101 - PR c++/99583 - * pt.c (find_parameter_packs_r) [FUNCTION_TYPE]: Walk into - TYPE_RAISES_EXCEPTIONS here. - -gcc/testsuite/ChangeLog: - - PR c++/100101 - * g++.dg/cpp0x/noexcept67.C: New test. ---- - gcc/cp/pt.c | 11 +++++++++++ - gcc/testsuite/g++.dg/cpp0x/noexcept67.C | 26 +++++++++++++++++++++++++ - 3 files changed, 37 insertions(+), 5 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/cpp0x/noexcept67.C - -diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c -index 0f119a55272..2190f83882a 100644 ---- a/gcc/cp/pt.c -+++ b/gcc/cp/pt.c -@@ -3890,6 +3890,10 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data) - (struct find_parameter_pack_data*)data; - bool parameter_pack_p = false; - -+#define WALK_SUBTREE(NODE) \ -+ cp_walk_tree (&(NODE), &find_parameter_packs_r, \ -+ ppd, ppd->visited) \ -+ - /* Don't look through typedefs; we are interested in whether a - parameter pack is actually written in the expression/type we're - looking at, not the target type. */ -@@ -4070,10 +4074,17 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data) - ppd, ppd->visited); - return NULL_TREE; - -+ case FUNCTION_TYPE: -+ case METHOD_TYPE: -+ WALK_SUBTREE (TYPE_RAISES_EXCEPTIONS (t)); -+ break; -+ - default: - return NULL_TREE; - } - -+#undef WALK_SUBTREE -+ - return NULL_TREE; - } - -diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept67.C b/gcc/testsuite/g++.dg/cpp0x/noexcept67.C -new file mode 100644 -index 00000000000..7f061034323 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept67.C -@@ -0,0 +1,26 @@ -+// PR c++/100101 -+// { dg-do compile { target c++11 } } -+ -+template <typename T> struct A -+{ -+ template <typename U> static char foo(U*, int* = 0); -+ static const bool value = sizeof(foo(static_cast<T*>(nullptr))) > 0; -+}; -+ -+template <bool b> struct B -+{ -+ static const bool value = b; -+}; -+ -+template <typename T> struct C -+{ -+ typedef B<A<T>::value> type; -+}; -+ -+template <typename T> -+void bar() noexcept(A<T>::value && C<T>::type::value) {} -+ -+void baz() -+{ -+ bar<void>(); -+} --- -2.27.0 - - diff --git a/source/d/gcc/patches/PR100102.5357ab75dedef403b0eebf9277d61d1cbeb5898f.patch b/source/d/gcc/patches/PR100102.5357ab75dedef403b0eebf9277d61d1cbeb5898f.patch deleted file mode 100644 index 57432468..00000000 --- a/source/d/gcc/patches/PR100102.5357ab75dedef403b0eebf9277d61d1cbeb5898f.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 5357ab75dedef403b0eebf9277d61d1cbeb5898f Mon Sep 17 00:00:00 2001 -From: Patrick Palka <ppalka@redhat.com> -Date: Fri, 4 Jun 2021 13:46:53 -0400 -Subject: [PATCH 1/1] c++: tsubst_function_decl and excess arg levels - [PR100102] - -Here, when instantiating the dependent alias template -duration::__is_harmonic with args={{T,U},{int}}, we find ourselves -substituting the function decl _S_gcd. Since we have more arg levels -than _S_gcd has parm levels, an old special case in tsubst_function_decl -causes us to unwantedly reduce args to its innermost level, yielding -args={int}, which leads to a nonsensical substitution into the decl -context and eventually a crash. - -The comment for this special case refers to three examples for which we -ought to see more arg levels than parm levels here, but none of the -examples actually demonstrate this. In the first example, when -defining S<int>::f(U) parms_depth is 2 and args_depth is 1, and -later when instantiating say S<int>::f<char> both depths are 2. In the -second example, when substituting the template friend declaration -parms_depth is 2 and args_depth is 1, and later when instantiating f -both depths are 1. Finally, the third example is invalid since we can't -specialize a member template of an unspecialized class template like -that. - -Given that this reduction code seems no longer relevant for its -documented purpose and that it causes problems as in the PR, this patch -just removes it. Note that as far as bootstrap/regtest is concerned, -this code is dead; the below two tests would be the first to reach it. - - PR c++/100102 - -gcc/cp/ChangeLog: - - * pt.c (tsubst_function_decl): Remove old code for reducing - args when it has excess levels. - -gcc/testsuite/ChangeLog: - - * g++.dg/cpp0x/alias-decl-72.C: New test. - * g++.dg/cpp0x/alias-decl-72a.C: New test. ---- - gcc/cp/pt.c | 39 --------------------- - gcc/testsuite/g++.dg/cpp0x/alias-decl-72.C | 9 +++++ - gcc/testsuite/g++.dg/cpp0x/alias-decl-72a.C | 9 +++++ - 3 files changed, 18 insertions(+), 39 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/cpp0x/alias-decl-72.C - create mode 100644 gcc/testsuite/g++.dg/cpp0x/alias-decl-72a.C - -diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c -index 7211bdc5bbc..744461ed8cb 100644 ---- a/gcc/cp/pt.c -+++ b/gcc/cp/pt.c -@@ -13905,45 +13905,6 @@ tsubst_function_decl (tree t, tree args, tsubst_flags_t complain, - if (tree spec = retrieve_specialization (gen_tmpl, argvec, hash)) - return spec; - } -- -- /* We can see more levels of arguments than parameters if -- there was a specialization of a member template, like -- this: -- -- template <class T> struct S { template <class U> void f(); } -- template <> template <class U> void S<int>::f(U); -- -- Here, we'll be substituting into the specialization, -- because that's where we can find the code we actually -- want to generate, but we'll have enough arguments for -- the most general template. -- -- We also deal with the peculiar case: -- -- template <class T> struct S { -- template <class U> friend void f(); -- }; -- template <class U> void f() {} -- template S<int>; -- template void f<double>(); -- -- Here, the ARGS for the instantiation of will be {int, -- double}. But, we only need as many ARGS as there are -- levels of template parameters in CODE_PATTERN. We are -- careful not to get fooled into reducing the ARGS in -- situations like: -- -- template <class T> struct S { template <class U> void f(U); } -- template <class T> template <> void S<T>::f(int) {} -- -- which we can spot because the pattern will be a -- specialization in this case. */ -- int args_depth = TMPL_ARGS_DEPTH (args); -- int parms_depth = -- TMPL_PARMS_DEPTH (DECL_TEMPLATE_PARMS (DECL_TI_TEMPLATE (t))); -- -- if (args_depth > parms_depth && !DECL_TEMPLATE_SPECIALIZATION (t)) -- args = get_innermost_template_args (args, parms_depth); - } - else - { -diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-72.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-72.C -new file mode 100644 -index 00000000000..8009756dcba ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-72.C -@@ -0,0 +1,9 @@ -+// PR c++/100102 -+// { dg-do compile { target c++11 } } -+ -+template<int()> struct ratio; -+template<class T, class U> struct duration { -+ static constexpr int _S_gcd(); -+ template<class> using __is_harmonic = ratio<_S_gcd>; -+ using type = __is_harmonic<int>; -+}; -diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-72a.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-72a.C -new file mode 100644 -index 00000000000..a4443e18f9d ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-72a.C -@@ -0,0 +1,9 @@ -+// PR c++/100102 -+// { dg-do compile { target c++11 } } -+ -+template<int> struct ratio; -+template<class T> struct duration { -+ static constexpr int _S_gcd(); -+ template<class> using __is_harmonic = ratio<(duration::_S_gcd)()>; -+ using type = __is_harmonic<int>; -+}; --- -2.27.0 - - diff --git a/source/d/libtool/libtool.SlackBuild b/source/d/libtool/libtool.SlackBuild index a42ffd12..cd6fd761 100755 --- a/source/d/libtool/libtool.SlackBuild +++ b/source/d/libtool/libtool.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=libtool VERSION=${VERSION:-$(echo libtool-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-17} +BUILD=${BUILD:-18} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/d/slacktrack/slacktrack.SlackBuild b/source/d/slacktrack/slacktrack.SlackBuild index 54d49ebe..a9314c3a 100755 --- a/source/d/slacktrack/slacktrack.SlackBuild +++ b/source/d/slacktrack/slacktrack.SlackBuild @@ -6,7 +6,7 @@ if [ "$TMP" = "" ]; then fi PKGNAM=slacktrack -export VERSION=2.20 +export VERSION=2.21 # Automatically determine the architecture we're building on: case "$( uname -m )" in i?86) export ARCH=i586 @@ -17,7 +17,7 @@ case "$( uname -m )" in *) export ARCH=$( uname -m ) PKGEXT=txz ;; esac -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} export BUILD # If the variable PRINT_PACKAGE_NAME is set, then this script will report what diff --git a/source/k/kernel-configs/config-generic-5.13.8 b/source/k/kernel-configs/config-generic-5.13.11 index 1f978989..993bfaee 100644 --- a/source/k/kernel-configs/config-generic-5.13.8 +++ b/source/k/kernel-configs/config-generic-5.13.11 @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.13.8 Kernel Configuration +# Linux/x86 5.13.11 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 +CONFIG_GCC_VERSION=110200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y CONFIG_AS_VERSION=23601 @@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -6676,6 +6677,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -9757,6 +9760,7 @@ CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set +CONFIG_HAVE_KCSAN_COMPILER=y # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y diff --git a/source/k/kernel-configs/config-generic-5.13.8.x64 b/source/k/kernel-configs/config-generic-5.13.11.x64 index 140df834..a92ea1d5 100644 --- a/source/k/kernel-configs/config-generic-5.13.8.x64 +++ b/source/k/kernel-configs/config-generic-5.13.11.x64 @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.13.8 Kernel Configuration +# Linux/x86 5.13.11 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 +CONFIG_GCC_VERSION=110200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y CONFIG_AS_VERSION=23601 @@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -6617,6 +6618,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -9803,6 +9806,8 @@ CONFIG_HAVE_ARCH_KGDB=y CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_KCSAN_COMPILER=y +# CONFIG_KCSAN is not set # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y diff --git a/source/k/kernel-configs/config-generic-smp-5.13.8-smp b/source/k/kernel-configs/config-generic-smp-5.13.11-smp index b334179d..5412a326 100644 --- a/source/k/kernel-configs/config-generic-smp-5.13.8-smp +++ b/source/k/kernel-configs/config-generic-smp-5.13.11-smp @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.13.8 Kernel Configuration +# Linux/x86 5.13.11 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 +CONFIG_GCC_VERSION=110200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y CONFIG_AS_VERSION=23601 @@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -6724,6 +6725,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -9821,6 +9824,7 @@ CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set +CONFIG_HAVE_KCSAN_COMPILER=y # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y diff --git a/source/k/kernel-configs/config-huge-5.13.8 b/source/k/kernel-configs/config-huge-5.13.11 index ab734d3f..483a6643 100644 --- a/source/k/kernel-configs/config-huge-5.13.8 +++ b/source/k/kernel-configs/config-huge-5.13.11 @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.13.8 Kernel Configuration +# Linux/x86 5.13.11 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 +CONFIG_GCC_VERSION=110200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y CONFIG_AS_VERSION=23601 @@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -6676,6 +6677,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -9757,6 +9760,7 @@ CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set +CONFIG_HAVE_KCSAN_COMPILER=y # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y diff --git a/source/k/kernel-configs/config-huge-5.13.8.x64 b/source/k/kernel-configs/config-huge-5.13.11.x64 index 01c7f00e..aee9dae5 100644 --- a/source/k/kernel-configs/config-huge-5.13.8.x64 +++ b/source/k/kernel-configs/config-huge-5.13.11.x64 @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.13.8 Kernel Configuration +# Linux/x86 5.13.11 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 +CONFIG_GCC_VERSION=110200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y CONFIG_AS_VERSION=23601 @@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -6617,6 +6618,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -9803,6 +9806,8 @@ CONFIG_HAVE_ARCH_KGDB=y CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_KCSAN_COMPILER=y +# CONFIG_KCSAN is not set # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y diff --git a/source/k/kernel-configs/config-huge-smp-5.13.8-smp b/source/k/kernel-configs/config-huge-smp-5.13.11-smp index 1dc6f68a..334b871b 100644 --- a/source/k/kernel-configs/config-huge-smp-5.13.8-smp +++ b/source/k/kernel-configs/config-huge-smp-5.13.11-smp @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.13.8 Kernel Configuration +# Linux/x86 5.13.11 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 +CONFIG_GCC_VERSION=110200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y CONFIG_AS_VERSION=23601 @@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -6724,6 +6725,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -9821,6 +9824,7 @@ CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set +CONFIG_HAVE_KCSAN_COMPILER=y # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y diff --git a/source/kde/kde/build/cantor b/source/kde/kde/build/cantor index 0cfbf088..d00491fd 100644 --- a/source/kde/kde/build/cantor +++ b/source/kde/kde/build/cantor @@ -1 +1 @@ -2 +1 diff --git a/source/kde/kde/build/kfilemetadata b/source/kde/kde/build/kfilemetadata index 0cfbf088..d00491fd 100644 --- a/source/kde/kde/build/kfilemetadata +++ b/source/kde/kde/build/kfilemetadata @@ -1 +1 @@ -2 +1 diff --git a/source/kde/kde/build/kitinerary b/source/kde/kde/build/kitinerary index 0cfbf088..d00491fd 100644 --- a/source/kde/kde/build/kitinerary +++ b/source/kde/kde/build/kitinerary @@ -1 +1 @@ -2 +1 diff --git a/source/kde/kde/build/krita b/source/kde/kde/build/krita index d00491fd..0cfbf088 100644 --- a/source/kde/kde/build/krita +++ b/source/kde/kde/build/krita @@ -1 +1 @@ -1 +2 diff --git a/source/kde/kde/build/ktexteditor b/source/kde/kde/build/ktexteditor index 0cfbf088..d00491fd 100644 --- a/source/kde/kde/build/ktexteditor +++ b/source/kde/kde/build/ktexteditor @@ -1 +1 @@ -2 +1 diff --git a/source/kde/kde/build/minuet b/source/kde/kde/build/minuet index 0cfbf088..d00491fd 100644 --- a/source/kde/kde/build/minuet +++ b/source/kde/kde/build/minuet @@ -1 +1 @@ -2 +1 diff --git a/source/kde/kde/build/okular b/source/kde/kde/build/okular index 0cfbf088..d00491fd 100644 --- a/source/kde/kde/build/okular +++ b/source/kde/kde/build/okular @@ -1 +1 @@ -2 +1 diff --git a/source/kde/kde/build/plasma-workspace b/source/kde/kde/build/plasma-workspace index d00491fd..0cfbf088 100644 --- a/source/kde/kde/build/plasma-workspace +++ b/source/kde/kde/build/plasma-workspace @@ -1 +1 @@ -1 +2 diff --git a/source/kde/kde/modules/all-packaged-applications b/source/kde/kde/modules/all-packaged-applications index 55d82462..7b5551eb 100644 --- a/source/kde/kde/modules/all-packaged-applications +++ b/source/kde/kde/modules/all-packaged-applications @@ -206,3 +206,4 @@ libktorrent ktorrent kpmcore partitionmanager +skanlite diff --git a/source/kde/kde/modules/applications b/source/kde/kde/modules/applications index ffe7b823..f4d81d4d 100644 --- a/source/kde/kde/modules/applications +++ b/source/kde/kde/modules/applications @@ -202,3 +202,6 @@ libktorrent ktorrent kpmcore partitionmanager + +# New in 21.08.0: +skanlite diff --git a/source/kde/kde/modules/applications-extra b/source/kde/kde/modules/applications-extra index ca77f890..a8e06a4d 100644 --- a/source/kde/kde/modules/applications-extra +++ b/source/kde/kde/modules/applications-extra @@ -4,7 +4,6 @@ calligraplan digikam krita falkon -skanlite kdevelop-pg-qt kdevelop kdev-php diff --git a/source/kde/kde/patch/kalgebra/kalgebra_ncurses_linking.diff b/source/kde/kde/patch/kalgebra/kalgebra_ncurses_linking.diff index 3d78fa30..1d73328c 100644 --- a/source/kde/kde/patch/kalgebra/kalgebra_ncurses_linking.diff +++ b/source/kde/kde/patch/kalgebra/kalgebra_ncurses_linking.diff @@ -1,11 +1,11 @@ ---- kalgebra-14.12.1.orig/calgebra/CMakeLists.txt 2014-11-13 02:59:40.000000000 +0100 -+++ kalgebra-14.12.1/calgebra/CMakeLists.txt 2015-01-14 14:35:54.702166188 +0100 +--- ./calgebra/CMakeLists.txt.orig 2021-08-04 16:49:56.000000000 -0500 ++++ ./calgebra/CMakeLists.txt 2021-08-12 22:13:27.013314656 -0500 @@ -13,7 +13,7 @@ endif() add_executable(calgebra main.cpp) --target_link_libraries(calgebra Qt5::Core ${READLINE_LIBRARY} KF5::Analitza) -+target_link_libraries(calgebra Qt5::Core ${READLINE_LIBRARY} ${CURSES_LIBRARIES} KF5::Analitza) +-target_link_libraries(calgebra Qt::Core ${READLINE_LIBRARY} KF5::Analitza) ++target_link_libraries(calgebra Qt::Core ${READLINE_LIBRARY} ${CURSES_LIBRARIES} KF5::Analitza) - install(TARGETS calgebra ${INSTALL_TARGETS_DEFAULT_ARGS}) + install(TARGETS calgebra ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/source/kde/kde/patch/kate/kate_runasroot.patch b/source/kde/kde/patch/kate/kate_runasroot.patch index aa067ce6..3cc919fa 100644 --- a/source/kde/kde/patch/kate/kate_runasroot.patch +++ b/source/kde/kde/patch/kate/kate_runasroot.patch @@ -1,11 +1,7 @@ ---- ./kwrite/main.cpp.orig 2021-04-22 13:26:42.398123759 -0500 -+++ ./kwrite/main.cpp 2021-04-22 13:29:08.356127024 -0500 -@@ -38,20 +38,18 @@ - extern "C" Q_DECL_EXPORT int main(int argc, char **argv) - { - #ifndef Q_OS_WIN -- // Prohibit using sudo or kdesu (but allow using the root user directly) -+ // Warn using sudo or kdesu (but allow using the root user directly) +--- ./kwrite/main.cpp.orig 2021-08-12 21:30:09.752256555 -0500 ++++ ./kwrite/main.cpp 2021-08-12 21:32:05.046259134 -0500 +@@ -41,17 +41,15 @@ + // Prohibit using sudo or kdesu (but allow using the root user directly) if (getuid() == 0) { if (!qEnvironmentVariableIsEmpty("SUDO_USER")) { - std::cout << "Executing KWrite with sudo is not possible due to unfixable security vulnerabilities. " @@ -24,8 +20,8 @@ } } #endif ---- ./kate/main.cpp.orig 2021-04-22 13:26:42.397123759 -0500 -+++ ./kate/main.cpp 2021-04-22 13:30:18.674128597 -0500 +--- ./kate/main.cpp.orig 2021-08-04 21:13:14.000000000 -0500 ++++ ./kate/main.cpp 2021-08-12 21:30:09.753256555 -0500 @@ -49,17 +49,15 @@ // Prohibit using sudo or kdesu (but allow using the root user directly) if (getuid() == 0) { diff --git a/source/kde/kde/patch/kitinerary.patch b/source/kde/kde/patch/kitinerary.patch deleted file mode 100644 index 0ecbe2e4..00000000 --- a/source/kde/kde/patch/kitinerary.patch +++ /dev/null @@ -1,2 +0,0 @@ -# Fix for recent poppler: -cat $CWD/patch/kitinerary/e99d101e2bd4c32566e238ce1340a93781e19eee.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/kde/kde/patch/kitinerary/e99d101e2bd4c32566e238ce1340a93781e19eee.patch b/source/kde/kde/patch/kitinerary/e99d101e2bd4c32566e238ce1340a93781e19eee.patch deleted file mode 100644 index 1bc9dc37..00000000 --- a/source/kde/kde/patch/kitinerary/e99d101e2bd4c32566e238ce1340a93781e19eee.patch +++ /dev/null @@ -1,53 +0,0 @@ -From e99d101e2bd4c32566e238ce1340a93781e19eee Mon Sep 17 00:00:00 2001 -From: Evangelos Foutras <evangelos@foutrelis.com> -Date: Mon, 2 Aug 2021 01:01:31 +0300 -Subject: [PATCH] Fix build with poppler 21.8.0 - -parseDateString() now takes "const GooString *" as the date argument in -order to support unicode date strings. Adjust parsePdfDateTime() to use -the same string type (instead of "const char *") when compiling against -poppler 21.8.0. - -https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/880 ---- - src/lib/pdf/pdfdocument.cpp | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/lib/pdf/pdfdocument.cpp b/src/lib/pdf/pdfdocument.cpp -index 8f0f4cd..0eabf45 100644 ---- a/src/lib/pdf/pdfdocument.cpp -+++ b/src/lib/pdf/pdfdocument.cpp -@@ -201,7 +201,11 @@ int PdfDocument::fileSize() const - } - - #ifdef HAVE_POPPLER -+#if KPOPPLER_VERSION >= QT_VERSION_CHECK(21, 8, 0) -+static QDateTime parsePdfDateTime(const GooString *str) -+#else - static QDateTime parsePdfDateTime(const char *str) -+#endif - { - int year, month, day, hour, min, sec, tzHours, tzMins; - char tz; -@@ -233,7 +237,9 @@ QDateTime PdfDocument::creationTime() const - if (!dt) { - return {}; - } --#if KPOPPLER_VERSION >= QT_VERSION_CHECK(0, 72, 0) -+#if KPOPPLER_VERSION >= QT_VERSION_CHECK(21, 8, 0) -+ return parsePdfDateTime(dt.get()); -+#elif KPOPPLER_VERSION >= QT_VERSION_CHECK(0, 72, 0) - return parsePdfDateTime(dt->c_str()); - #else - return parsePdfDateTime(dt->getCString()); -@@ -250,7 +256,9 @@ QDateTime PdfDocument::modificationTime() const - if (!dt) { - return {}; - } --#if KPOPPLER_VERSION >= QT_VERSION_CHECK(0, 72, 0) -+#if KPOPPLER_VERSION >= QT_VERSION_CHECK(21, 8, 0) -+ return parsePdfDateTime(dt.get()); -+#elif KPOPPLER_VERSION >= QT_VERSION_CHECK(0, 72, 0) - return parsePdfDateTime(dt->c_str()); - #else - return parsePdfDateTime(dt->getCString()); diff --git a/source/kde/kde/patch/ktorrent.patch b/source/kde/kde/patch/ktorrent.patch index 11538623..5cb1ccea 100644 --- a/source/kde/kde/patch/ktorrent.patch +++ b/source/kde/kde/patch/ktorrent.patch @@ -1,2 +1,3 @@ # Embed a copy of the GeoIP database since the download link no longer works. +cat $CWD/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } cat $CWD/patch/ktorrent/ktorrent.use.package.geoip.database.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/kde/kde/patch/ktorrent/geoip.dat b/source/kde/kde/patch/ktorrent/geoip.dat Binary files differindex be8b031f..60b1c357 100644 --- a/source/kde/kde/patch/ktorrent/geoip.dat +++ b/source/kde/kde/patch/ktorrent/geoip.dat diff --git a/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch b/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch new file mode 100644 index 00000000..b23a20e1 --- /dev/null +++ b/source/kde/kde/patch/ktorrent/ktorrent.geoip.revert.6c1ae6b2530c5f7c72611a95aea92275520a5aee.patch @@ -0,0 +1,1474 @@ +--- ./plugins/infowidget/GeoIP.h.orig 2021-08-15 00:18:01.329498947 -0500 ++++ ./plugins/infowidget/GeoIP.h 2021-08-15 00:18:01.329498947 -0500 +@@ -0,0 +1,148 @@ ++/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */ ++/* GeoIP.h ++ ++ SPDX-FileCopyrightText: 2003 MaxMind LLC ++ SPDX-License-Identifier: GPL-2.0-or-later ++*/ ++ ++#ifndef GEOIP_H ++#define GEOIP_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <sys/stat.h> /* for fstat */ ++#include <sys/types.h> /* for fstat */ ++ ++#define SEGMENT_RECORD_LENGTH 3 ++#define STANDARD_RECORD_LENGTH 3 ++#define ORG_RECORD_LENGTH 4 ++#define MAX_RECORD_LENGTH 4 ++#define NUM_DB_TYPES 16 ++ ++typedef struct GeoIPTag { ++ FILE *GeoIPDatabase; ++ char *file_path; ++ unsigned char *cache; ++ unsigned char *index_cache; ++ unsigned int *databaseSegments; ++ char databaseType; ++ time_t mtime; ++ int flags; ++ char record_length; ++ int record_iter; /* used in GeoIP_next_record */ ++} GeoIP; ++ ++typedef struct GeoIPRegionTag { ++ char country_code[3]; ++ char region[3]; ++} GeoIPRegion; ++ ++typedef enum { ++ GEOIP_STANDARD = 0, ++ GEOIP_MEMORY_CACHE = 1, ++ GEOIP_CHECK_CACHE = 2, ++ GEOIP_INDEX_CACHE = 4, ++} GeoIPOptions; ++ ++typedef enum { ++ GEOIP_COUNTRY_EDITION = 1, ++ GEOIP_REGION_EDITION_REV0 = 7, ++ GEOIP_CITY_EDITION_REV0 = 6, ++ GEOIP_ORG_EDITION = 5, ++ GEOIP_ISP_EDITION = 4, ++ GEOIP_CITY_EDITION_REV1 = 2, ++ GEOIP_REGION_EDITION_REV1 = 3, ++ GEOIP_PROXY_EDITION = 8, ++ GEOIP_ASNUM_EDITION = 9, ++ GEOIP_NETSPEED_EDITION = 10 ++} GeoIPDBTypes; ++ ++typedef enum { ++ GEOIP_ANON_PROXY = 1, ++ GEOIP_HTTP_X_FORWARDED_FOR_PROXY = 2, ++ GEOIP_HTTP_CLIENT_IP_PROXY = 3, ++} GeoIPProxyTypes; ++ ++typedef enum { ++ GEOIP_UNKNOWN_SPEED = 0, ++ GEOIP_DIALUP_SPEED = 1, ++ GEOIP_CABLEDSL_SPEED = 2, ++ GEOIP_CORPORATE_SPEED = 3, ++} GeoIPNetspeedValues; ++ ++extern char **GeoIPDBFileName; ++extern const char *GeoIPDBDescription[NUM_DB_TYPES]; ++extern const char *GeoIPCountryDBFileName; ++extern const char *GeoIPRegionDBFileName; ++extern const char *GeoIPCityDBFileName; ++extern const char *GeoIPOrgDBFileName; ++extern const char *GeoIPISPDBFileName; ++ ++extern const char GeoIP_country_code[247][3]; ++extern const char GeoIP_country_code3[247][4]; ++extern const char *GeoIP_country_name[247]; ++extern const char GeoIP_country_continent[247][3]; ++ ++#ifdef DLL ++#define GEOIP_API __declspec(dllexport) ++#else ++#define GEOIP_API ++#endif /* DLL */ ++ ++GEOIP_API GeoIP *GeoIP_open_type(int type, int flags); ++GEOIP_API GeoIP *GeoIP_new(int flags); ++GEOIP_API GeoIP *GeoIP_open(const char *filename, int flags); ++GEOIP_API int GeoIP_db_avail(int type); ++GEOIP_API void GeoIP_delete(GeoIP *gi); ++GEOIP_API const char *GeoIP_country_code_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API const char *GeoIP_country_code_by_name(GeoIP *gi, const char *host); ++GEOIP_API const char *GeoIP_country_code3_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API const char *GeoIP_country_code3_by_name(GeoIP *gi, const char *host); ++GEOIP_API const char *GeoIP_country_name_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API const char *GeoIP_country_name_by_name(GeoIP *gi, const char *host); ++GEOIP_API const char *GeoIP_country_name_by_ipnum(GeoIP *gi, unsigned long ipnum); ++GEOIP_API const char *GeoIP_country_code_by_ipnum(GeoIP *gi, unsigned long ipnum); ++GEOIP_API const char *GeoIP_country_code3_by_ipnum(GeoIP *gi, unsigned long ipnum); ++ ++/* Deprecated - for backwards compatibility only */ ++GEOIP_API int GeoIP_country_id_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API int GeoIP_country_id_by_name(GeoIP *gi, const char *host); ++GEOIP_API char *GeoIP_org_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API char *GeoIP_org_by_name(GeoIP *gi, const char *host); ++/* End deprecated */ ++ ++GEOIP_API int GeoIP_id_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API int GeoIP_id_by_name(GeoIP *gi, const char *host); ++GEOIP_API int GeoIP_id_by_ipnum(GeoIP *gi, unsigned long ipnum); ++ ++GEOIP_API GeoIPRegion *GeoIP_region_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API GeoIPRegion *GeoIP_region_by_name(GeoIP *gi, const char *host); ++GEOIP_API GeoIPRegion *GeoIP_region_by_ipnum(GeoIP *gi, unsigned long ipnum); ++ ++/* Warning - don't call this after GeoIP_assign_region_by_inetaddr calls */ ++GEOIP_API void GeoIPRegion_delete(GeoIPRegion *gir); ++ ++GEOIP_API void GeoIP_assign_region_by_inetaddr(GeoIP *gi, unsigned long inetaddr, GeoIPRegion *gir); ++ ++/* Used to query GeoIP Organization, ISP and AS Number databases */ ++GEOIP_API char *GeoIP_name_by_ipnum(GeoIP *gi, unsigned long ipnum); ++GEOIP_API char *GeoIP_name_by_addr(GeoIP *gi, const char *addr); ++GEOIP_API char *GeoIP_name_by_name(GeoIP *gi, const char *host); ++ ++GEOIP_API char *GeoIP_database_info(GeoIP *gi); ++GEOIP_API unsigned char GeoIP_database_edition(GeoIP *gi); ++ ++#ifdef BSD ++#define memcpy(dest, src, n) bcopy(src, dest, n) ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* GEOIP_H */ +--- ./plugins/infowidget/geoipmanager.cpp.orig 2021-08-04 21:50:44.000000000 -0500 ++++ ./plugins/infowidget/geoipmanager.cpp 2021-08-15 00:18:01.329498947 -0500 +@@ -20,16 +20,47 @@ + + namespace kt + { ++QUrl GeoIPManager::geoip_url = QUrl(QStringLiteral("http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz")); ++ + GeoIPManager::GeoIPManager(QObject *parent) + : QObject(parent) ++ , geo_ip(nullptr) ++ , decompress_thread(nullptr) + { ++#ifdef USE_SYSTEM_GEOIP + geo_ip = GeoIP_open_type(GEOIP_COUNTRY_EDITION, GEOIP_STANDARD); ++#else ++ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("geoip.dat")); ++ if (geoip_data_file.isEmpty()) ++ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("GeoIP.dat")); ++ ++ if (geoip_data_file.isEmpty()) { ++ downloadDataBase(); ++ } else { ++ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0); ++ if (geo_ip) { ++ QFileInfo fi(geoip_data_file); ++ QDateTime now = QDateTime::currentDateTime(); ++ if (fi.lastModified().daysTo(now) >= 30) { ++ // if the last time the geoip file was modified, was more then ++ // 30 days ago, redownload it ++ downloadDataBase(); ++ } ++ } ++ } ++#endif + } + + GeoIPManager::~GeoIPManager() + { + if (geo_ip) + GeoIP_delete(geo_ip); ++ ++ if (decompress_thread) { ++ decompress_thread->cancel(); ++ decompress_thread->wait(); ++ delete decompress_thread; ++ } + } + + int GeoIPManager::findCountry(const QString &addr) +@@ -56,4 +87,66 @@ + return QString(); + } + ++void GeoIPManager::downloadDataBase() ++{ ++#ifndef USE_SYSTEM_GEOIP ++ Out(SYS_INW | LOG_NOTICE) << "Downloading GeoIP database: " << geoip_url << endl; ++ download_destination = kt::DataDir(CreateIfNotExists) + geoip_url.fileName(); ++ KIO::CopyJob *job = KIO::copy(geoip_url, QUrl::fromLocalFile(download_destination), KIO::Overwrite | KIO::HideProgressInfo); ++ connect(job, &KIO::CopyJob::result, this, &GeoIPManager::databaseDownloadFinished); ++#endif ++} ++ ++void GeoIPManager::databaseDownloadFinished(KJob *job) ++{ ++ if (job->error()) { ++ Out(SYS_INW | LOG_IMPORTANT) << "Failed to download GeoIP database: " << job->errorString() << endl; ++ return; ++ } ++ ++ if (download_destination.endsWith(QLatin1String(".dat")) || download_destination.endsWith(QLatin1String(".DAT"))) { ++ Out(SYS_INW | LOG_NOTICE) << "GeoIP database downloaded, opening ... " << endl; ++ geoip_data_file = download_destination; ++ if (geo_ip) { ++ GeoIP_delete(geo_ip); ++ geo_ip = nullptr; ++ } ++ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0); ++ if (!geo_ip) ++ Out(SYS_INW | LOG_NOTICE) << "Failed to open GeoIP database " << endl; ++ } else { ++ Out(SYS_INW | LOG_NOTICE) << "GeoIP database downloaded, decompressing ... " << endl; ++ // decompress the file ++ decompress_thread = new bt::DecompressThread(download_destination, kt::DataDir() + QLatin1String("geoip.dat")); ++ connect(decompress_thread, &bt::DecompressThread::finished, this, &GeoIPManager::decompressFinished, Qt::QueuedConnection); ++ decompress_thread->start(QThread::IdlePriority); ++ } ++} ++ ++void GeoIPManager::decompressFinished() ++{ ++ Out(SYS_INW | LOG_NOTICE) << "GeoIP database decompressed, opening ... " << endl; ++ if (!decompress_thread->error()) { ++ geoip_data_file = kt::DataDir() + QLatin1String("geoip.dat"); ++ if (geo_ip) { ++ GeoIP_delete(geo_ip); ++ geo_ip = nullptr; ++ } ++ geo_ip = GeoIP_open(QFile::encodeName(geoip_data_file).data(), 0); ++ if (!geo_ip) ++ Out(SYS_INW | LOG_NOTICE) << "Failed to open GeoIP database " << endl; ++ } ++ ++ decompress_thread->wait(); ++ delete decompress_thread; ++ decompress_thread = nullptr; ++} ++ ++void GeoIPManager::setGeoIPUrl(const QUrl &url) ++{ ++ geoip_url = url; ++} ++ ++/////////////////////////////////// ++ + } +--- ./plugins/infowidget/GeoIP.c.orig 2021-08-15 00:18:01.329498947 -0500 ++++ ./plugins/infowidget/GeoIP.c 2021-08-15 00:18:01.329498947 -0500 +@@ -0,0 +1,968 @@ ++/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */ ++/* GeoIP.c ++ SPDX-FileCopyrightText: 2003 MaxMind LLC All Rights Reserved. ++ SPDX-License-Identifier: GPL-2.0-or-later ++*/ ++ ++#include "GeoIP.h" ++ ++#include <netdb.h> ++#include <sys/socket.h> ++#include <errno.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#ifndef _WIN32 ++#include <netinet/in.h> /* For ntohl */ ++#include <arpa/inet.h> ++#else ++#include <windows.h> ++#endif ++#include <assert.h> ++#include <sys/types.h> /* for fstat */ ++#include <sys/stat.h> /* for fstat */ ++ ++#ifdef HAVE_STDINT_H ++#include <stdint.h> /* For uint32_t */ ++#endif ++ ++#ifndef INADDR_NONE ++#define INADDR_NONE -1 ++#endif ++ ++#define COUNTRY_BEGIN 16776960 ++#define STATE_BEGIN_REV0 16700000 ++#define STATE_BEGIN_REV1 16000000 ++#define STRUCTURE_INFO_MAX_SIZE 20 ++#define DATABASE_INFO_MAX_SIZE 100 ++#define MAX_ORG_RECORD_LENGTH 300 ++#define US_OFFSET 1 ++#define CANADA_OFFSET 677 ++#define WORLD_OFFSET 1353 ++#define FIPS_RANGE 360 ++ ++#define CHECK_ERR(err, msg) { \ ++ if (err != Z_OK) { \ ++ fprintf(stderr, "%s error: %d\n", msg, err); \ ++ exit(1); \ ++ } \ ++} ++ ++const char GeoIP_country_code[247][3] = { "--", "AP", "EU", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "FX", "GA", "GB", "GD", "GE", "GF", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN", "IO", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TM", "TN", "TO", "TP", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "CS", "ZA", "ZM", "ZR", "ZW", "A1", "A2", "O1"}; ++ ++const char GeoIP_country_code3[247][4] = { "--", "AP", "EU", "AND", "ARE", "AFG", "ATG", "AIA", "ALB", "ARM", "ANT", "AGO", "AQ", "ARG", "ASM", "AUT", "AUS", "ABW", "AZE", "BIH", "BRB", "BGD", "BEL", "BFA", "BGR", "BHR", "BDI", "BEN", "BMU", "BRN", "BOL", "BRA", "BHS", "BTN", "BV", "BWA", "BLR", "BLZ", "CAN", "CC", "COD", "CAF", "COG", "CHE", "CIV", "COK", "CHL", "CMR", "CHN", "COL", "CRI", "CUB", "CPV", "CX", "CYP", "CZE", "DEU", "DJI", "DNK", "DMA", "DOM", "DZA", "ECU", "EST", "EGY", "ESH", "ERI", "ESP", "ETH", "FIN", "FJI", "FLK", "FSM", "FRO", "FRA", "FX", "GAB", "GBR", "GRD", "GEO", "GUF", "GHA", "GIB", "GRL", "GMB", "GIN", "GLP", "GNQ", "GRC", "GS", "GTM", "GUM", "GNB", "GUY", "HKG", "HM", "HND", "HRV", "HTI", "HUN", "IDN", "IRL", "ISR", "IND", "IO", "IRQ", "IRN", "ISL", "ITA", "JAM", "JOR", "JPN", "KEN", "KGZ", "KHM", "KIR", "COM", "KNA", "PRK", "KOR", "KWT", "CYM", "KAZ", "LAO", "LBN", "LCA", "LIE", "LKA", "LBR", "LSO", "LTU", "LUX", "LVA", "LBY", "MAR", "MCO", "MDA", "MDG", "MHL", "MKD", "MLI", "MMR", "MNG", "MAC", "MNP", "MTQ", "MRT", "MSR", "MLT", "MUS", "MDV", "MWI", "MEX", "MYS", "MOZ", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NLD", "NOR", "NPL", "NRU", "NIU", "NZL", "OMN", "PAN", "PER", "PYF", "PNG", "PHL", "PAK", "POL", "SPM", "PCN", "PRI", "PSE", "PRT", "PLW", "PRY", "QAT", "REU", "ROU", "RUS", "RWA", "SAU", "SLB", "SYC", "SDN", "SWE", "SGP", "SHN", "SVN", "SJM", "SVK", "SLE", "SMR", "SEN", "SOM", "SUR", "STP", "SLV", "SYR", "SWZ", "TCA", "TCD", "TF", "TGO", "THA", "TJK", "TKL", "TLS", "TKM", "TUN", "TON", "TUR", "TTO", "TUV", "TWN", "TZA", "UKR", "UGA", "UM", "USA", "URY", "UZB", "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "YEM", "YT", "SCG", "ZAF", "ZMB", "ZR", "ZWE", "A1", "A2", "O1"}; ++ ++const char* GeoIP_country_name[247] = {"N/A", "Asia/Pacific Region", "Europe", "Andorra", "United Arab Emirates", "Afghanistan", "Antigua and Barbuda", "Anguilla", "Albania", "Armenia", "Netherlands Antilles", "Angola", "Antarctica", "Argentina", "American Samoa", "Austria", "Australia", "Aruba", "Azerbaijan", "Bosnia and Herzegovina", "Barbados", "Bangladesh", "Belgium", "Burkina Faso", "Bulgaria", "Bahrain", "Burundi", "Benin", "Bermuda", "Brunei Darussalam", "Bolivia", "Brazil", "Bahamas", "Bhutan", "Bouvet Island", "Botswana", "Belarus", "Belize", "Canada", "Cocos (Keeling) Islands", "Congo, The Democratic Republic of the", "Central African Republic", "Congo", "Switzerland", "Cote D'Ivoire", "Cook Islands", "Chile", "Cameroon", "China", "Colombia", "Costa Rica", "Cuba", "Cape Verde", "Christmas Island", "Cyprus", "Czechia", "Germany", "Djibouti", "Denmark", "Dominica", "Dominican Republic", "Algeria", "Ecuador", "Estonia", "Egypt", "Western Sahara", "Eritrea", "Spain", "Ethiopia", "Finland", "Fiji", "Falkland Islands (Malvinas)", "Micronesia, Federated States of", "Faroe Islands", "France", "France, Metropolitan", "Gabon", "United Kingdom", "Grenada", "Georgia", "French Guiana", "Ghana", "Gibraltar", "Greenland", "Gambia", "Guinea", "Guadeloupe", "Equatorial Guinea", "Greece", "South Georgia and the South Sandwich Islands", "Guatemala", "Guam", "Guinea-Bissau", "Guyana", "Hong Kong", "Heard Island and McDonald Islands", "Honduras", "Croatia", "Haiti", "Hungary", "Indonesia", "Ireland", "Israel", "India", "British Indian Ocean Territory", "Iraq", "Iran, Islamic Republic of", "Iceland", "Italy", "Jamaica", "Jordan", "Japan", "Kenya", "Kyrgyzstan", "Cambodia", "Kiribati", "Comoros", "Saint Kitts and Nevis", ++ "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", "Cayman Islands", "Kazakhstan", "Lao People's Democratic Republic", "Lebanon", "Saint Lucia", "Liechtenstein", "Sri Lanka", "Liberia", "Lesotho", "Lithuania", "Luxembourg", "Latvia", "Libyan Arab Jamahiriya", "Morocco", "Monaco", "Moldova, Republic of", "Madagascar", "Marshall Islands", "Macedonia", "Mali", "Myanmar", "Mongolia", "Macau", "Northern Mariana Islands", "Martinique", "Mauritania", "Montserrat", "Malta", "Mauritius", "Maldives", "Malawi", "Mexico", "Malaysia", "Mozambique", "Namibia", "New Caledonia", "Niger", "Norfolk Island", "Nigeria", "Nicaragua", "Netherlands", "Norway", "Nepal", "Nauru", "Niue", "New Zealand", "Oman", "Panama", "Peru", "French Polynesia", "Papua New Guinea", "Philippines", "Pakistan", "Poland", "Saint Pierre and Miquelon", "Pitcairn Islands", "Puerto Rico", "Palestinian Territory", "Portugal", "Palau", "Paraguay", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda", "Saudi Arabia", "Solomon Islands", "Seychelles", "Sudan", "Sweden", "Singapore", "Saint Helena", "Slovenia", "Svalbard and Jan Mayen", "Slovakia", "Sierra Leone", "San Marino", "Senegal", "Somalia", "Suriname", "Sao Tome and Principe", "El Salvador", "Syrian Arab Republic", "Swaziland", "Turks and Caicos Islands", "Chad", "French Southern Territories", "Togo", "Thailand", "Tajikistan", "Tokelau", "Turkmenistan", "Tunisia", "Tonga", "East Timor", "Turkey", "Trinidad and Tobago", "Tuvalu", "Taiwan", "Tanzania, United Republic of", "Ukraine", "Uganda", "United States Minor Outlying Islands", "United States", "Uruguay", "Uzbekistan", "Holy See (Vatican City State)", "Saint Vincent and the Grenadines", "Venezuela", "Virgin Islands, British", "Virgin Islands, U.S.", "Vietnam", "Vanuatu", "Wallis and Futuna", "Samoa", "Yemen", "Mayotte", "Serbia and Montenegro", "South Africa", "Zambia", "Zaire", "Zimbabwe", ++ "Anonymous Proxy", "Satellite Provider", "Other" ++ }; ++ ++const char GeoIP_country_continent[247][3] = {"--", "AS", "EU", "EU", "AS", "AS", "SA", "SA", "EU", "AS", "SA", "AF", "AN", "SA", "OC", "EU", "OC", "SA", "AS", "EU", "SA", "AS", "EU", "AF", "EU", "AS", "AF", "AF", "SA", "AS", "SA", "SA", "SA", "AS", "AF", "AF", "EU", "SA", "NA", "AS", "AF", "AF", "AF", "EU", "AF", "OC", "SA", "AF", "AS", "SA", "SA", "SA", "AF", "AS", "AS", "EU", "EU", "AF", "EU", "SA", "SA", "AF", "SA", "EU", "AF", "AF", "AF", "EU", "AF", "EU", "OC", "SA", "OC", "EU", "EU", "EU", "AF", "EU", "SA", "AS", "SA", "AF", "EU", "SA", "AF", "AF", "SA", "AF", "EU", "SA", "SA", "OC", "AF", "SA", "AS", "AF", "SA", "EU", "SA", "EU", "AS", "EU", "AS", "AS", "AS", "AS", "AS", "EU", "EU", "SA", "AS", "AS", "AF", "AS", "AS", "OC", "AF", "SA", "AS", "AS", "AS", "SA", "AS", "AS", "AS", "SA", "EU", "AS", "AF", "AF", "EU", "EU", "EU", "AF", "AF", "EU", "EU", "AF", "OC", "EU", "AF", "AS", "AS", "AS", "OC", "SA", "AF", "SA", "EU", "AF", "AS", "AF", "NA", "AS", "AF", "AF", "OC", "AF", "OC", "AF", "SA", "EU", "EU", "AS", "OC", "OC", "OC", "AS", "SA", "SA", "OC", "OC", "AS", "AS", "EU", "SA", "OC", "SA", "AS", "EU", "OC", "SA", "AS", "AF", "EU", "AS", "AF", "AS", "OC", "AF", "AF", "EU", "AS", "AF", "EU", "EU", "EU", "AF", "EU", "AF", "AF", "SA", "AF", "SA", "AS", "AF", "SA", "AF", "AF", "AF", "AS", "AS", "OC", "AS", "AF", "OC", "AS", "AS", "SA", "OC", "AS", "AF", "EU", "AF", "OC", "NA", "SA", "AS", "EU", "SA", "SA", "SA", "SA", "AS", "OC", "OC", "OC", "AS", "AF", "EU", "AF", "AF", "AF", "AF"}; ++ ++const char* GeoIPDBDescription[NUM_DB_TYPES] = {NULL, "GeoIP Country Edition", "GeoIP City Edition, Rev 1", "GeoIP Region Edition, Rev 1", "GeoIP ISP Edition", "GeoIP Organization Edition", "GeoIP City Edition, Rev 0", "GeoIP Region Edition, Rev 0", "GeoIP Proxy Edition", "GeoIP ASNum Edition", "GeoIP Netspeed Edition"}; ++ ++char* _GeoIP_full_path_to(const char* file_name) ++{ ++ char* path = malloc(sizeof(char) * 1024); ++ ++#ifndef _WIN32 ++ memset(path, 0, sizeof(char) * 1024); ++ snprintf(path, sizeof(char) * 1024 - 1, "%s/%s", "/home/ivan/geoip.dat", file_name); ++#else ++ char buf[MAX_PATH], *p, *q = NULL; ++ int len; ++ memset(buf, 0, sizeof(buf)); ++ len = GetModuleFileNameA(GetModuleHandle(NULL), buf, sizeof(buf) - 1); ++ for (p = buf + len; p > buf; p--) ++ if (*p == '\\') ++ { ++ if (!q) ++ q = p; ++ else ++ *p = '/'; ++ } ++ *q = 0; ++ memset(path, 0, sizeof(char) * 1024); ++ snprintf(path, sizeof(char) * 1024 - 1, "%s/%s", buf, file_name); ++#endif ++ ++ return path; ++} ++ ++char** GeoIPDBFileName = NULL; ++ ++void _GeoIP_setup_dbfilename() ++{ ++ if (NULL == GeoIPDBFileName) ++ { ++ GeoIPDBFileName = malloc(sizeof(char*) * NUM_DB_TYPES); ++ memset(GeoIPDBFileName, 0, sizeof(char*) * NUM_DB_TYPES); ++ ++ GeoIPDBFileName[GEOIP_COUNTRY_EDITION] = _GeoIP_full_path_to("GeoIP.dat"); ++ GeoIPDBFileName[GEOIP_REGION_EDITION_REV0] = _GeoIP_full_path_to("GeoIPRegion.dat"); ++ GeoIPDBFileName[GEOIP_REGION_EDITION_REV1] = _GeoIP_full_path_to("GeoIPRegion.dat"); ++ GeoIPDBFileName[GEOIP_CITY_EDITION_REV0] = _GeoIP_full_path_to("GeoIPCity.dat"); ++ GeoIPDBFileName[GEOIP_CITY_EDITION_REV1] = _GeoIP_full_path_to("GeoIPCity.dat"); ++ GeoIPDBFileName[GEOIP_ISP_EDITION] = _GeoIP_full_path_to("GeoIPISP.dat"); ++ GeoIPDBFileName[GEOIP_ORG_EDITION] = _GeoIP_full_path_to("GeoIPOrg.dat"); ++ GeoIPDBFileName[GEOIP_PROXY_EDITION] = _GeoIP_full_path_to("GeoIPProxy.dat"); ++ GeoIPDBFileName[GEOIP_ASNUM_EDITION] = _GeoIP_full_path_to("GeoIPASNum.dat"); ++ GeoIPDBFileName[GEOIP_NETSPEED_EDITION] = _GeoIP_full_path_to("GeoIPNetSpeed.dat"); ++ } ++} ++ ++static ++int _file_exists(const char* file_name) ++{ ++ struct stat file_stat; ++ return((stat(file_name, &file_stat) == 0) ? 1 : 0); ++} ++ ++int GeoIP_db_avail(int type) ++{ ++ const char* filePath; ++ if (type < 0 || type >= NUM_DB_TYPES) ++ { ++ return 0; ++ } ++ filePath = GeoIPDBFileName[type]; ++ if (NULL == filePath) ++ { ++ return 0; ++ } ++ return _file_exists(filePath); ++} ++ ++static ++void _setup_segments(GeoIP* gi) ++{ ++ int i, j; ++ unsigned char delim[3]; ++ unsigned char buf[SEGMENT_RECORD_LENGTH]; ++ ++ /* default to GeoIP Country Edition */ ++ gi->databaseType = GEOIP_COUNTRY_EDITION; ++ gi->record_length = STANDARD_RECORD_LENGTH; ++ fseek(gi->GeoIPDatabase, -3l, SEEK_END); ++ for (i = 0; i < STRUCTURE_INFO_MAX_SIZE; i++) ++ { ++ fread(delim, 1, 3, gi->GeoIPDatabase); ++ if (delim[0] == 255 && delim[1] == 255 && delim[2] == 255) ++ { ++ fread(&gi->databaseType, 1, 1, gi->GeoIPDatabase); ++ if (gi->databaseType >= 106) ++ { ++ /* backwards compatibility with databases from April 2003 and earlier */ ++ gi->databaseType -= 105; ++ } ++ ++ if (gi->databaseType == GEOIP_REGION_EDITION_REV0) ++ { ++ /* Region Edition, pre June 2003 */ ++ gi->databaseSegments = malloc(sizeof(int)); ++ gi->databaseSegments[0] = STATE_BEGIN_REV0; ++ } ++ else if (gi->databaseType == GEOIP_REGION_EDITION_REV1) ++ { ++ /* Region Edition, post June 2003 */ ++ gi->databaseSegments = malloc(sizeof(int)); ++ gi->databaseSegments[0] = STATE_BEGIN_REV1; ++ } ++ else if (gi->databaseType == GEOIP_CITY_EDITION_REV0 || ++ gi->databaseType == GEOIP_CITY_EDITION_REV1 || ++ gi->databaseType == GEOIP_ORG_EDITION || ++ gi->databaseType == GEOIP_ISP_EDITION || ++ gi->databaseType == GEOIP_ASNUM_EDITION) ++ { ++ /* City/Org Editions have two segments, read offset of second segment */ ++ gi->databaseSegments = malloc(sizeof(int)); ++ gi->databaseSegments[0] = 0; ++ fread(buf, SEGMENT_RECORD_LENGTH, 1, gi->GeoIPDatabase); ++ for (j = 0; j < SEGMENT_RECORD_LENGTH; j++) ++ { ++ gi->databaseSegments[0] += (buf[j] << (j * 8)); ++ } ++ if (gi->databaseType == GEOIP_ORG_EDITION || ++ gi->databaseType == GEOIP_ISP_EDITION) ++ gi->record_length = ORG_RECORD_LENGTH; ++ } ++ break; ++ } ++ else ++ { ++ fseek(gi->GeoIPDatabase, -4l, SEEK_CUR); ++ } ++ } ++ if (gi->databaseType == GEOIP_COUNTRY_EDITION || ++ gi->databaseType == GEOIP_PROXY_EDITION || ++ gi->databaseType == GEOIP_NETSPEED_EDITION) ++ { ++ gi->databaseSegments = malloc(sizeof(int)); ++ gi->databaseSegments[0] = COUNTRY_BEGIN; ++ } ++} ++ ++static ++int _check_mtime(GeoIP* gi) ++{ ++ struct stat buf; ++ ++ if (gi->flags & GEOIP_CHECK_CACHE) ++ { ++ if (fstat(fileno(gi->GeoIPDatabase), &buf) != -1) ++ { ++ if (buf.st_mtime > gi->mtime) ++ { ++ /* GeoIP Database file updated */ ++ if (gi->flags & GEOIP_MEMORY_CACHE) ++ { ++ /* reload database into memory cache */ ++ if (realloc(gi->cache, buf.st_size) != NULL) ++ { ++ if (fread(gi->cache, sizeof(unsigned char), buf.st_size, gi->GeoIPDatabase) != (size_t) buf.st_size) ++ { ++ fprintf(stderr, "Error reading file %s\n", gi->file_path); ++ return -1; ++ } ++ gi->mtime = buf.st_mtime; ++ } ++ } ++ else ++ { ++ /* refresh filehandle */ ++ fclose(gi->GeoIPDatabase); ++ if (gi->databaseSegments != NULL) ++ free(gi->databaseSegments); ++ gi->GeoIPDatabase = fopen(gi->file_path, "rb"); ++ if (gi->GeoIPDatabase == NULL) ++ { ++ fprintf(stderr, "Error Opening file %s\n", gi->file_path); ++ return -1; ++ } ++ _setup_segments(gi); ++ } ++ } ++ } ++ } ++ return 0; ++} ++ ++unsigned int _GeoIP_seek_record(GeoIP* gi, unsigned long ipnum) ++{ ++ int depth; ++ unsigned int x; ++ unsigned char stack_buffer[2 * MAX_RECORD_LENGTH]; ++ const unsigned char* buf = (gi->cache == NULL) ? stack_buffer : NULL; ++ unsigned int offset = 0; ++ ++ const unsigned char* p; ++ int j; ++ ++ _check_mtime(gi); ++ for (depth = 31; depth >= 0; depth--) ++ { ++ if (gi->cache == NULL && gi->index_cache == NULL) ++ { ++ /* read from disk */ ++ fseek(gi->GeoIPDatabase, (long)gi->record_length * 2 * offset, SEEK_SET); ++ fread(stack_buffer, gi->record_length, 2, gi->GeoIPDatabase); ++ } ++ else if (gi->index_cache == NULL) ++ { ++ /* simply point to record in memory */ ++ buf = gi->cache + (long)gi->record_length * 2 * offset; ++ } ++ else ++ { ++ buf = gi->index_cache + (long)gi->record_length * 2 * offset; ++ } ++ ++ if (ipnum & (1 << depth)) ++ { ++ /* Take the right-hand branch */ ++ if (gi->record_length == 3) ++ { ++ /* Most common case is completely unrolled and uses constants. */ ++ x = (buf[3 * 1 + 0] << (0 * 8)) ++ + (buf[3 * 1 + 1] << (1 * 8)) ++ + (buf[3 * 1 + 2] << (2 * 8)); ++ ++ } ++ else ++ { ++ /* General case */ ++ j = gi->record_length; ++ p = &buf[2 * j]; ++ x = 0; ++ do ++ { ++ x <<= 8; ++ x += *(--p); ++ } ++ while (--j); ++ } ++ ++ } ++ else ++ { ++ /* Take the left-hand branch */ ++ if (gi->record_length == 3) ++ { ++ /* Most common case is completely unrolled and uses constants. */ ++ x = (buf[3 * 0 + 0] << (0 * 8)) ++ + (buf[3 * 0 + 1] << (1 * 8)) ++ + (buf[3 * 0 + 2] << (2 * 8)); ++ } ++ else ++ { ++ /* General case */ ++ j = gi->record_length; ++ p = &buf[1 * j]; ++ x = 0; ++ do ++ { ++ x <<= 8; ++ x += *(--p); ++ } ++ while (--j); ++ } ++ } ++ ++ if (x >= gi->databaseSegments[0]) ++ { ++ return x; ++ } ++ offset = x; ++ } ++ ++ /* shouldn't reach here */ ++ fprintf(stderr, "Error Traversing Database for ipnum = %lu - Perhaps database is corrupt?\n", ipnum); ++ return 0; ++} ++ ++unsigned long _GeoIP_addr_to_num(const char* addr) ++{ ++ int i; ++ char tok[4]; ++ int octet; ++ int j = 0, k = 0; ++ unsigned long ipnum = 0; ++ char c = 0; ++ ++ for (i = 0; i < 4; i++) ++ { ++ for (;;) ++ { ++ c = addr[k++]; ++ if (c == '.' || c == '\0') ++ { ++ tok[j] = '\0'; ++ octet = atoi(tok); ++ if (octet > 255) ++ return 0; ++ ipnum += (octet << ((3 - i) * 8)); ++ j = 0; ++ break; ++ } ++ else if (c >= '0' && c <= '9') ++ { ++ if (j > 2) ++ { ++ return 0; ++ } ++ tok[j++] = c; ++ } ++ else ++ { ++ return 0; ++ } ++ } ++ if (c == '\0' && i < 3) ++ { ++ return 0; ++ } ++ } ++ return ipnum; ++} ++ ++GeoIP* GeoIP_open_type(int type, int flags) ++{ ++ GeoIP* gi; ++ const char* filePath; ++ if (type < 0 || type >= NUM_DB_TYPES) ++ { ++ printf("Invalid database type %d\n", type); ++ return NULL; ++ } ++ _GeoIP_setup_dbfilename(); ++ filePath = GeoIPDBFileName[type]; ++ if (filePath == NULL) ++ { ++ printf("Invalid database type %d\n", type); ++ return NULL; ++ } ++ gi = GeoIP_open(filePath, flags); ++ return gi; ++} ++ ++GeoIP* GeoIP_new(int flags) ++{ ++ GeoIP* gi; ++ _GeoIP_setup_dbfilename(); ++ gi = GeoIP_open(GeoIPDBFileName[GEOIP_COUNTRY_EDITION], flags); ++ return gi; ++} ++ ++GeoIP* GeoIP_open(const char* filename, int flags) ++{ ++ struct stat buf; ++#ifdef _WIN32 ++ WSADATA wsa; ++ if (WSAStartup(MAKEWORD(1, 1), &wsa) != 0) ++ return NULL; ++#endif ++ { ++ GeoIP* gi = (GeoIP*)malloc(sizeof(GeoIP)); ++ if (gi == NULL) ++ return NULL; ++ gi->file_path = malloc(sizeof(char) * (strlen(filename) + 1)); ++ if (gi->file_path == NULL) ++ return NULL; ++ strcpy(gi->file_path, filename); ++ gi->GeoIPDatabase = fopen(filename, "rb"); ++ if (gi->GeoIPDatabase == NULL) ++ { ++ fprintf(stderr, "Error Opening file %s\n", filename); ++ free(gi->file_path); ++ free(gi); ++ return NULL; ++ } ++ else ++ { ++ if (flags & GEOIP_MEMORY_CACHE) ++ { ++ if (fstat(fileno(gi->GeoIPDatabase), &buf) == -1) ++ { ++ fprintf(stderr, "Error stating file %s\n", filename); ++ free(gi->file_path); ++ free(gi); ++ return NULL; ++ } ++ gi->mtime = buf.st_mtime; ++ gi->cache = (unsigned char*) malloc(sizeof(unsigned char) * buf.st_size); ++ if (gi->cache != NULL) ++ { ++ if (fread(gi->cache, sizeof(unsigned char), buf.st_size, gi->GeoIPDatabase) != (size_t) buf.st_size) ++ { ++ fprintf(stderr, "Error reading file %s\n", filename); ++ free(gi->cache); ++ free(gi); ++ return NULL; ++ } ++ } ++ } ++ else ++ { ++ if (flags & GEOIP_CHECK_CACHE) ++ { ++ if (fstat(fileno(gi->GeoIPDatabase), &buf) == -1) ++ { ++ fprintf(stderr, "Error stating file %s\n", filename); ++ free(gi); ++ return NULL; ++ } ++ gi->mtime = buf.st_mtime; ++ } ++ gi->cache = NULL; ++ } ++ gi->flags = flags; ++ _setup_segments(gi); ++ if (flags & GEOIP_INDEX_CACHE) ++ { ++ gi->index_cache = (unsigned char*) malloc(sizeof(unsigned char) * ((gi->databaseSegments[0] * (long)gi->record_length * 2))); ++ if (gi->index_cache != NULL) ++ { ++ fseek(gi->GeoIPDatabase, 0, SEEK_SET); ++ if (fread(gi->index_cache, sizeof(unsigned char), gi->databaseSegments[0] * (long)gi->record_length * 2, gi->GeoIPDatabase) != (size_t)(gi->databaseSegments[0] * (long)gi->record_length * 2)) ++ { ++ fprintf(stderr, "Error reading file %s\n", filename); ++ free(gi->index_cache); ++ free(gi); ++ return NULL; ++ } ++ } ++ } ++ else ++ { ++ gi->index_cache = NULL; ++ } ++ return gi; ++ } ++ } ++} ++ ++void GeoIP_delete(GeoIP* gi) ++{ ++ if (gi->GeoIPDatabase != NULL) ++ fclose(gi->GeoIPDatabase); ++ if (gi->cache != NULL) ++ free(gi->cache); ++ if (gi->index_cache != NULL) ++ free(gi->index_cache); ++ if (gi->file_path != NULL) ++ free(gi->file_path); ++ if (gi->databaseSegments != NULL) ++ free(gi->databaseSegments); ++ free(gi); ++} ++ ++const char* GeoIP_country_code_by_name(GeoIP* gi, const char* name) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_name(gi, name); ++ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL; ++} ++ ++const char* GeoIP_country_code3_by_name(GeoIP* gi, const char* name) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_name(gi, name); ++ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL; ++} ++ ++const char* GeoIP_country_name_by_name(GeoIP* gi, const char* name) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_name(gi, name); ++ return (country_id > 0) ? GeoIP_country_name[country_id] : NULL; ++} ++ ++unsigned long _GeoIP_lookupaddress(const char* host) ++{ ++ unsigned long addr = inet_addr(host); ++ struct hostent phe2; ++ struct hostent* phe = &phe2; ++ char* buf = NULL; ++ int buflength = 16384; ++ int herr = 0; ++ int result = 0; ++#ifdef HAVE_GETHOSTBYNAME_R ++ buf = malloc(buflength); ++#endif ++ if (addr == INADDR_NONE) ++ { ++#ifdef HAVE_GETHOSTBYNAME_R ++ while (1) ++ { ++ /* we use gethostbyname_r here because it is thread-safe and gethostbyname is not */ ++#ifdef GETHOSTBYNAME_R_RETURNS_INT ++ result = gethostbyname_r(host, &phe2, buf, buflength, &phe, &herr); ++#else ++ phe = gethostbyname_r(host, &phe2, buf, buflength, &herr); ++#endif ++ if (herr != ERANGE) ++ break; ++ if (result == 0) ++ break; ++ /* double the buffer if the buffer is too small */ ++ buflength = buflength * 2; ++ buf = realloc(buf, buflength); ++ } ++#endif ++#ifndef HAVE_GETHOSTBYNAME_R ++ /* Some systems do not support gethostbyname_r, such as Mac OS X */ ++ phe = gethostbyname(host); ++#endif ++ if (!phe || result != 0) ++ { ++ free(buf); ++ return 0; ++ } ++ addr = *((unsigned long*) phe->h_addr_list[0]); ++ } ++#ifdef HAVE_GETHOSTBYNAME_R ++ free(buf); ++#endif ++ return ntohl(addr); ++} ++ ++int GeoIP_id_by_name(GeoIP* gi, const char* name) ++{ ++ unsigned long ipnum; ++ int ret; ++ if (name == NULL) ++ { ++ return 0; ++ } ++ if (gi->databaseType != GEOIP_COUNTRY_EDITION && gi->databaseType != GEOIP_PROXY_EDITION && gi->databaseType != GEOIP_NETSPEED_EDITION) ++ { ++ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_COUNTRY_EDITION]); ++ return 0; ++ } ++ if (!(ipnum = _GeoIP_lookupaddress(name))) ++ return 0; ++ ret = _GeoIP_seek_record(gi, ipnum) - COUNTRY_BEGIN; ++ return ret; ++ ++} ++ ++const char* GeoIP_country_code_by_addr(GeoIP* gi, const char* addr) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_addr(gi, addr); ++ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL; ++} ++ ++const char* GeoIP_country_code3_by_addr(GeoIP* gi, const char* addr) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_addr(gi, addr); ++ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL; ++ return GeoIP_country_code3[country_id]; ++} ++ ++const char* GeoIP_country_name_by_addr(GeoIP* gi, const char* addr) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_addr(gi, addr); ++ return (country_id > 0) ? GeoIP_country_name[country_id] : NULL; ++ return GeoIP_country_name[country_id]; ++} ++ ++const char* GeoIP_country_name_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_ipnum(gi, ipnum); ++ return (country_id > 0) ? GeoIP_country_name[country_id] : NULL; ++} ++ ++const char* GeoIP_country_code_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_ipnum(gi, ipnum); ++ return (country_id > 0) ? GeoIP_country_code[country_id] : NULL; ++} ++ ++const char* GeoIP_country_code3_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ int country_id; ++ country_id = GeoIP_id_by_ipnum(gi, ipnum); ++ return (country_id > 0) ? GeoIP_country_code3[country_id] : NULL; ++} ++ ++int GeoIP_country_id_by_addr(GeoIP* gi, const char* addr) ++{ ++ return GeoIP_id_by_addr(gi, addr); ++} ++ ++int GeoIP_country_id_by_name(GeoIP* gi, const char* host) ++{ ++ return GeoIP_id_by_name(gi, host); ++} ++ ++int GeoIP_id_by_addr(GeoIP* gi, const char* addr) ++{ ++ unsigned long ipnum; ++ int ret; ++ if (addr == NULL) ++ { ++ return 0; ++ } ++ if (gi->databaseType != GEOIP_COUNTRY_EDITION && ++ gi->databaseType != GEOIP_PROXY_EDITION && ++ gi->databaseType != GEOIP_NETSPEED_EDITION) ++ { ++ printf("Invalid database type %s, expected %s\n", ++ GeoIPDBDescription[(int)gi->databaseType], ++ GeoIPDBDescription[GEOIP_COUNTRY_EDITION]); ++ return 0; ++ } ++ ipnum = _GeoIP_addr_to_num(addr); ++ ret = _GeoIP_seek_record(gi, ipnum) - COUNTRY_BEGIN; ++ return ret; ++} ++ ++int GeoIP_id_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ int ret; ++ if (ipnum == 0) ++ { ++ return 0; ++ } ++ if (gi->databaseType != GEOIP_COUNTRY_EDITION && ++ gi->databaseType != GEOIP_PROXY_EDITION && ++ gi->databaseType != GEOIP_NETSPEED_EDITION) ++ { ++ printf("Invalid database type %s, expected %s\n", ++ GeoIPDBDescription[(int)gi->databaseType], ++ GeoIPDBDescription[GEOIP_COUNTRY_EDITION]); ++ return 0; ++ } ++ ret = _GeoIP_seek_record(gi, ipnum) - COUNTRY_BEGIN; ++ return ret; ++} ++ ++char* GeoIP_database_info(GeoIP* gi) ++{ ++ int i; ++ unsigned char buf[3]; ++ char* retval; ++ int hasStructureInfo = 0; ++ ++ if (gi == NULL) ++ return NULL; ++ ++ _check_mtime(gi); ++ fseek(gi->GeoIPDatabase, -3l, SEEK_END); ++ ++ /* first get past the database structure information */ ++ for (i = 0; i < STRUCTURE_INFO_MAX_SIZE; i++) ++ { ++ fread(buf, 1, 3, gi->GeoIPDatabase); ++ if (buf[0] == 255 && buf[1] == 255 && buf[2] == 255) ++ { ++ hasStructureInfo = 1; ++ break; ++ } ++ fseek(gi->GeoIPDatabase, -4l, SEEK_CUR); ++ } ++ if (hasStructureInfo == 1) ++ { ++ fseek(gi->GeoIPDatabase, -3l, SEEK_CUR); ++ } ++ else ++ { ++ /* no structure info, must be pre Sep 2002 database, go back to end */ ++ fseek(gi->GeoIPDatabase, -3l, SEEK_END); ++ } ++ ++ for (i = 0; i < DATABASE_INFO_MAX_SIZE; i++) ++ { ++ fread(buf, 1, 3, gi->GeoIPDatabase); ++ if (buf[0] == 0 && buf[1] == 0 && buf[2] == 0) ++ { ++ retval = malloc(sizeof(char) * (i + 1)); ++ if (retval == NULL) ++ { ++ return NULL; ++ } ++ fread(retval, 1, i, gi->GeoIPDatabase); ++ retval[i] = '\0'; ++ return retval; ++ } ++ fseek(gi->GeoIPDatabase, -4l, SEEK_CUR); ++ } ++ return NULL; ++} ++ ++/* GeoIP Region Edition functions */ ++ ++void GeoIP_assign_region_by_inetaddr(GeoIP* gi, unsigned long inetaddr, GeoIPRegion* region) ++{ ++ unsigned int seek_region; ++ ++ /* This also writes in the terminating NULs (if you decide to ++ * keep them) and clear any fields that are not set. */ ++ memset(region, 0, sizeof(GeoIPRegion)); ++ ++ seek_region = _GeoIP_seek_record(gi, ntohl(inetaddr)); ++ ++ if (gi->databaseType == GEOIP_REGION_EDITION_REV0) ++ { ++ /* Region Edition, pre June 2003 */ ++ seek_region -= STATE_BEGIN_REV0; ++ if (seek_region >= 1000) ++ { ++ region->country_code[0] = 'U'; ++ region->country_code[1] = 'S'; ++ region->region[0] = (char)((seek_region - 1000) / 26 + 65); ++ region->region[1] = (char)((seek_region - 1000) % 26 + 65); ++ } ++ else ++ { ++ memcpy(region->country_code, GeoIP_country_code[seek_region], 2); ++ } ++ } ++ else if (gi->databaseType == GEOIP_REGION_EDITION_REV1) ++ { ++ /* Region Edition, post June 2003 */ ++ seek_region -= STATE_BEGIN_REV1; ++ if (seek_region < US_OFFSET) ++ { ++ /* Unknown */ ++ /* we don't need to do anything here b/c we memset region to 0 */ ++ } ++ else if (seek_region < CANADA_OFFSET) ++ { ++ /* USA State */ ++ region->country_code[0] = 'U'; ++ region->country_code[1] = 'S'; ++ region->region[0] = (char)((seek_region - US_OFFSET) / 26 + 65); ++ region->region[1] = (char)((seek_region - US_OFFSET) % 26 + 65); ++ } ++ else if (seek_region < WORLD_OFFSET) ++ { ++ /* Canada Province */ ++ region->country_code[0] = 'C'; ++ region->country_code[1] = 'A'; ++ region->region[0] = (char)((seek_region - CANADA_OFFSET) / 26 + 65); ++ region->region[1] = (char)((seek_region - CANADA_OFFSET) % 26 + 65); ++ } ++ else ++ { ++ /* Not US or Canada */ ++ memcpy(region->country_code, GeoIP_country_code[(seek_region - WORLD_OFFSET) / FIPS_RANGE], 2); ++ } ++ } ++} ++ ++static ++GeoIPRegion* _get_region(GeoIP* gi, unsigned long ipnum) ++{ ++ GeoIPRegion* region; ++ ++ region = malloc(sizeof(GeoIPRegion)); ++ if (region) ++ { ++ GeoIP_assign_region_by_inetaddr(gi, htonl(ipnum), region); ++ } ++ return region; ++} ++ ++GeoIPRegion* GeoIP_region_by_addr(GeoIP* gi, const char* addr) ++{ ++ unsigned long ipnum; ++ if (addr == NULL) ++ { ++ return 0; ++ } ++ if (gi->databaseType != GEOIP_REGION_EDITION_REV0 && ++ gi->databaseType != GEOIP_REGION_EDITION_REV1) ++ { ++ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_REGION_EDITION_REV1]); ++ return 0; ++ } ++ ipnum = _GeoIP_addr_to_num(addr); ++ return _get_region(gi, ipnum); ++} ++ ++GeoIPRegion* GeoIP_region_by_name(GeoIP* gi, const char* name) ++{ ++ unsigned long ipnum; ++ if (name == NULL) ++ { ++ return 0; ++ } ++ if (gi->databaseType != GEOIP_REGION_EDITION_REV0 && ++ gi->databaseType != GEOIP_REGION_EDITION_REV1) ++ { ++ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_REGION_EDITION_REV1]); ++ return 0; ++ } ++ if (!(ipnum = _GeoIP_lookupaddress(name))) ++ return 0; ++ return _get_region(gi, ipnum); ++} ++ ++GeoIPRegion* GeoIP_region_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ if (gi->databaseType != GEOIP_REGION_EDITION_REV0 && ++ gi->databaseType != GEOIP_REGION_EDITION_REV1) ++ { ++ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_REGION_EDITION_REV1]); ++ return 0; ++ } ++ return _get_region(gi, ipnum); ++} ++ ++void GeoIPRegion_delete(GeoIPRegion* gir) ++{ ++ free(gir); ++} ++ ++/* GeoIP Organization, ISP and AS Number Edition private method */ ++static ++char* _get_name(GeoIP* gi, unsigned long ipnum) ++{ ++ int seek_org; ++ char buf[MAX_ORG_RECORD_LENGTH]; ++ char* org_buf, * buf_pointer; ++ int record_pointer; ++ ++ if (gi->databaseType != GEOIP_ORG_EDITION && ++ gi->databaseType != GEOIP_ISP_EDITION && ++ gi->databaseType != GEOIP_ASNUM_EDITION) ++ { ++ printf("Invalid database type %s, expected %s\n", GeoIPDBDescription[(int)gi->databaseType], GeoIPDBDescription[GEOIP_ORG_EDITION]); ++ return 0; ++ } ++ ++ seek_org = _GeoIP_seek_record(gi, ipnum); ++ if (seek_org == (int) gi->databaseSegments[0]) ++ return NULL; ++ ++ record_pointer = seek_org + (2 * gi->record_length - 1) * gi->databaseSegments[0]; ++ ++ if (gi->cache == NULL) ++ { ++ fseek(gi->GeoIPDatabase, record_pointer, SEEK_SET); ++ fread(buf, sizeof(char), MAX_ORG_RECORD_LENGTH, gi->GeoIPDatabase); ++ org_buf = malloc(sizeof(char) * (strlen(buf) + 1)); ++ strcpy(org_buf, buf); ++ } ++ else ++ { ++ buf_pointer = (char*)gi->cache + (long)record_pointer; ++ org_buf = malloc(sizeof(char) * (strlen(buf_pointer) + 1)); ++ strcpy(org_buf, buf_pointer); ++ } ++ return org_buf; ++} ++ ++char* GeoIP_name_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ return _get_name(gi, ipnum); ++} ++ ++char* GeoIP_name_by_addr(GeoIP* gi, const char* addr) ++{ ++ unsigned long ipnum; ++ if (addr == NULL) ++ { ++ return 0; ++ } ++ ipnum = _GeoIP_addr_to_num(addr); ++ return _get_name(gi, ipnum); ++} ++ ++char* GeoIP_name_by_name(GeoIP* gi, const char* name) ++{ ++ unsigned long ipnum; ++ if (name == NULL) ++ { ++ return 0; ++ } ++ if (!(ipnum = _GeoIP_lookupaddress(name))) ++ return 0; ++ return _get_name(gi, ipnum); ++} ++ ++char* GeoIP_org_by_ipnum(GeoIP* gi, unsigned long ipnum) ++{ ++ return GeoIP_name_by_ipnum(gi, ipnum); ++} ++ ++char* GeoIP_org_by_addr(GeoIP* gi, const char* addr) ++{ ++ return GeoIP_name_by_addr(gi, addr); ++} ++ ++char* GeoIP_org_by_name(GeoIP* gi, const char* name) ++{ ++ return GeoIP_name_by_name(gi, name); ++} ++ ++unsigned char GeoIP_database_edition(GeoIP* gi) ++{ ++ return gi->databaseType; ++} +--- ./plugins/infowidget/CMakeLists.txt.orig 2021-08-04 21:50:44.000000000 -0500 ++++ ./plugins/infowidget/CMakeLists.txt 2021-08-15 00:20:25.218503074 -0500 +@@ -1,23 +1,30 @@ +-# Add an option to compile & link against system GeoIP +-option(BUILD_WITH_GEOIP ++# Add an option to compile & link against system GeoIP (off by default) ++option(WITH_SYSTEM_GEOIP + "Link InfoWidget plugin against system GeoIP library and use system-wide default GeoIP Country database" +- ON) ++ OFF) + +-if (BUILD_WITH_GEOIP) ++if (WITH_SYSTEM_GEOIP) + find_path(GEOIP_INCLUDE_DIR NAMES GeoIP.h PATHS / ${INCLUDE_INSTALL_DIR}/) +- find_library(GEOIP_LIBRARY NAMES GeoIP PATHS ${LIB_INSTALL_DIR}) ++ find_library(GEOIP_LIBRARY NAMES GeoIP PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR}) + + if (NOT GEOIP_INCLUDE_DIR OR NOT GEOIP_LIBRARY) +- set(BUILD_WITH_GEOIP OFF CACHE BOOL ++ set(WITH_SYSTEM_GEOIP OFF CACHE BOOL + "GeoIP development files could not be found on this system. Forcing this option to OFF" + FORCE) +- message(WARNING "GeoIP library development files could not be found on your system.") +- else() +- message(STATUS " Linking InfoWidget against system GeoIP library") +- include_directories(GEOIP_INCLUDE_DIR) +- set(geoip_link ${GEOIP_LIBRARY}) +- endif() +-endif(BUILD_WITH_GEOIP) ++ message(SEND_ERROR ++ "GeoIP library development files could not be found on your system. Embedding a local copy of GeoIP instead") ++ endif(NOT GEOIP_INCLUDE_DIR OR NOT GEOIP_LIBRARY) ++endif(WITH_SYSTEM_GEOIP) ++ ++if (WITH_SYSTEM_GEOIP) ++ message(STATUS " Linking InfoWidget against system GeoIP library") ++ add_definitions( -DUSE_SYSTEM_GEOIP ) ++ include_directories(GEOIP_INCLUDE_DIR) ++ set(geoip_link ${GEOIP_LIBRARY}) ++else(WITH_SYSTEM_GEOIP) ++ message(STATUS " Compiling GeoIP support directly into InfoWidget plugin") ++ set(geoip_src GeoIP.c) ++endif(WITH_SYSTEM_GEOIP) + + add_library(ktorrent_infowidget MODULE) + +@@ -36,19 +43,14 @@ + trackerview.cpp + trackermodel.cpp + addtrackersdialog.cpp ++ ${geoip_src} ++ geoipmanager.cpp + flagdb.cpp + iwfiletreemodel.cpp + iwfilelistmodel.cpp + webseedstab.cpp + webseedsmodel.cpp) + +-if (BUILD_WITH_GEOIP) +- target_sources(ktorrent_infowidget PRIVATE geoipmanager.cpp) +- add_definitions(-DBUILD_WITH_GEOIP=1) +-else() +- add_definitions(-DBUILD_WITH_GEOIP=0) +-endif() +- + ki18n_wrap_ui(ktorrent_infowidget iwprefpage.ui statustab.ui chunkdownloadview.ui trackerview.ui webseedstab.ui) + kconfig_add_kcfg_files(ktorrent_infowidget infowidgetpluginsettings.kcfgc) + +--- ./plugins/infowidget/geoipmanager.h.orig 2021-08-04 21:50:44.000000000 -0500 ++++ ./plugins/infowidget/geoipmanager.h 2021-08-15 00:18:01.330498947 -0500 +@@ -7,7 +7,21 @@ + #define KT_GEOIPMANAGER_H + + #include <QObject> ++#include <QThread> ++#include <QUrl> ++ ++#ifdef USE_SYSTEM_GEOIP + #include <GeoIP.h> ++#else ++#include "GeoIP.h" ++#endif ++ ++class KJob; ++ ++namespace bt ++{ ++class DecompressThread; ++} + + namespace kt + { +@@ -42,8 +56,28 @@ + */ + QString countryCode(int country_id); + ++ /// Get the database URL ++ static QUrl geoIPUrl() ++ { ++ return geoip_url; ++ } ++ ++ /// Set the database URL ++ static void setGeoIPUrl(const QUrl &url); ++ ++ /// Download the database ++ void downloadDataBase(); ++ ++private Q_SLOTS: ++ void databaseDownloadFinished(KJob *job); ++ void decompressFinished(); ++ + private: + GeoIP *geo_ip; ++ QString geoip_data_file; ++ QString download_destination; ++ bt::DecompressThread *decompress_thread; ++ static QUrl geoip_url; + }; + + } +--- ./plugins/infowidget/peerviewmodel.cpp.orig 2021-08-04 21:50:44.000000000 -0500 ++++ ./plugins/infowidget/peerviewmodel.cpp 2021-08-15 00:18:01.330498947 -0500 +@@ -13,13 +13,10 @@ + #include <KLocalizedString> + + #include "flagdb.h" ++#include "geoipmanager.h" + #include <interfaces/torrentinterface.h> + #include <util/functions.h> + +-#if BUILD_WITH_GEOIP +-#include "geoipmanager.h" +-#endif +- + using namespace bt; + + namespace kt +@@ -28,12 +25,7 @@ + static bool icons_loaded = false; + static FlagDB flagDB(22, 18); + +-PeerViewModel::Item::Item(bt::PeerInterface *peer +-#if BUILD_WITH_GEOIP +- , +- GeoIPManager *geo_ip +-#endif +- ) ++PeerViewModel::Item::Item(bt::PeerInterface *peer, GeoIPManager *geo_ip) + : peer(peer) + { + stats = peer->getStats(); +@@ -47,13 +39,13 @@ + flagDB.addFlagSource(path + QStringLiteral("/%1/flag.png")); + } + +-#if BUILD_WITH_GEOIP +- int country_id = geo_ip->findCountry(stats.ip_address); +- if (country_id > 0) { +- country = geo_ip->countryName(country_id); +- flag = flagDB.getFlag(geo_ip->countryCode(country_id)); ++ if (geo_ip) { ++ int country_id = geo_ip->findCountry(stats.ip_address); ++ if (country_id > 0) { ++ country = geo_ip->countryName(country_id); ++ flag = flagDB.getFlag(geo_ip->countryCode(country_id)); ++ } + } +-#endif + } + + bool PeerViewModel::Item::changed() const +@@ -191,10 +183,9 @@ + + PeerViewModel::PeerViewModel(QObject *parent) + : QAbstractTableModel(parent) ++ , geo_ip(nullptr) + { +-#if BUILD_WITH_GEOIP + geo_ip = new GeoIPManager(this); +-#endif + } + + PeerViewModel::~PeerViewModel() +@@ -204,12 +195,7 @@ + + void PeerViewModel::peerAdded(bt::PeerInterface *peer) + { +- items.append(new Item(peer +-#if BUILD_WITH_GEOIP +- , +- geo_ip +-#endif +- )); ++ items.append(new Item(peer, geo_ip)); + insertRow(items.count() - 1); + } + +--- ./plugins/infowidget/infowidgetplugin.cpp.orig 2021-08-04 21:50:44.000000000 -0500 ++++ ./plugins/infowidget/infowidgetplugin.cpp 2021-08-15 00:18:01.330498947 -0500 +@@ -18,6 +18,7 @@ + + #include "chunkdownloadview.h" + #include "fileview.h" ++#include "geoipmanager.h" + #include "infowidgetpluginsettings.h" + #include "iwprefpage.h" + #include "monitor.h" +--- ./plugins/infowidget/peerviewmodel.h.orig 2021-08-04 21:50:44.000000000 -0500 ++++ ./plugins/infowidget/peerviewmodel.h 2021-08-15 00:18:01.331498947 -0500 +@@ -61,12 +61,7 @@ + QString country; + QIcon flag; + +- Item(bt::PeerInterface *peer +-#if BUILD_WITH_GEOIP +- , +- GeoIPManager *geo_ip +-#endif +- ); ++ Item(bt::PeerInterface *peer, GeoIPManager *geo_ip); + + bool changed() const; + QVariant data(int col) const; +@@ -76,9 +71,7 @@ + + private: + QVector<Item *> items; +-#if BUILD_WITH_GEOIP +- GeoIPManager *geo_ip = nullptr; +-#endif ++ GeoIPManager *geo_ip; + }; + + } diff --git a/source/kde/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff b/source/kde/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff index 3b2407ac..8b45be43 100644 --- a/source/kde/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff +++ b/source/kde/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff @@ -1,6 +1,6 @@ ---- ./plugins/infowidget/geoipmanager.cpp.orig 2021-06-05 16:25:43.000000000 -0500 -+++ ./plugins/infowidget/geoipmanager.cpp 2021-06-10 15:57:49.201091341 -0500 -@@ -45,7 +45,7 @@ +--- ./plugins/infowidget/geoipmanager.cpp.orig 2021-08-15 00:22:42.578507015 -0500 ++++ ./plugins/infowidget/geoipmanager.cpp 2021-08-15 00:26:18.456513207 -0500 +@@ -30,7 +30,7 @@ #ifdef USE_SYSTEM_GEOIP geo_ip = GeoIP_open_type(GEOIP_COUNTRY_EDITION, GEOIP_STANDARD); #else @@ -9,7 +9,7 @@ if (geoip_data_file.isEmpty()) geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("GeoIP.dat")); -@@ -56,11 +56,6 @@ +@@ -41,11 +41,6 @@ if (geo_ip) { QFileInfo fi(geoip_data_file); QDateTime now = QDateTime::currentDateTime(); @@ -21,12 +21,10 @@ } } #endif -@@ -104,14 +99,6 @@ +@@ -89,12 +84,6 @@ void GeoIPManager::downloadDataBase() { -- Out(SYS_INW | LOG_IMPORTANT) << "The download GeoIP database loading is defunct, skipping download" << endl; -- return; -#ifndef USE_SYSTEM_GEOIP - Out(SYS_INW | LOG_NOTICE) << "Downloading GeoIP database: " << geoip_url << endl; - download_destination = kt::DataDir(CreateIfNotExists) + geoip_url.fileName(); diff --git a/source/kde/kde/patch/plasma-framework.patch b/source/kde/kde/patch/plasma-framework.patch new file mode 100644 index 00000000..b10b4a5e --- /dev/null +++ b/source/kde/kde/patch/plasma-framework.patch @@ -0,0 +1,2 @@ +# Fix icon sizing regression: +cat $CWD/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch b/source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch new file mode 100644 index 00000000..9c0e9046 --- /dev/null +++ b/source/kde/kde/patch/plasma-framework/837bb6975f6a0661d211107823b7587808fc3d4e.patch @@ -0,0 +1,44 @@ +From 837bb6975f6a0661d211107823b7587808fc3d4e Mon Sep 17 00:00:00 2001 +From: Nate Graham <nate@kde.org> +Date: Sun, 15 Aug 2021 09:33:10 -0600 +Subject: [PATCH] Fix Plasma (non-Qt) icon scaling with integer scale factors + +An embarrassing error in 4edb830f53aac4833ece024df59441029b01fde6 +caused the function which returns an appropriate scale factor for icons +to both take and return integer values rather than floating point +values, preventing it from working properly with any scale factor other +than an integer scale factor (e.g. 200%). This commit fixes that issue. +--- + src/declarativeimports/core/units.cpp | 2 +- + src/declarativeimports/core/units.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/declarativeimports/core/units.cpp b/src/declarativeimports/core/units.cpp +index 6788ed952..fbcc6d888 100644 +--- a/src/declarativeimports/core/units.cpp ++++ b/src/declarativeimports/core/units.cpp +@@ -174,7 +174,7 @@ int Units::roundToIconSize(int size) + } + } + +-int Units::bestIconScaleForDevicePixelRatio(const int ratio) ++qreal Units::bestIconScaleForDevicePixelRatio(const qreal ratio) + { + if (ratio < 1.5) { + return 1; +diff --git a/src/declarativeimports/core/units.h b/src/declarativeimports/core/units.h +index c19cf0dd8..855738e7d 100644 +--- a/src/declarativeimports/core/units.h ++++ b/src/declarativeimports/core/units.h +@@ -271,7 +271,7 @@ private: + * Note that this function is only relevant when using Plasma scaling and + * when using Qt scaling, it always returns 1. + */ +- static int bestIconScaleForDevicePixelRatio(const int ratio); ++ static qreal bestIconScaleForDevicePixelRatio(const qreal ratio); + + /** + * @return The dpi-adjusted size for a given icon size +-- +GitLab + diff --git a/source/l/SDL2/SDL2.SlackBuild b/source/l/SDL2/SDL2.SlackBuild index 99b87eb0..984c5880 100755 --- a/source/l/SDL2/SDL2.SlackBuild +++ b/source/l/SDL2/SDL2.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=SDL2 VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/l/atkmm/atkmm.SlackBuild b/source/l/atkmm/atkmm.SlackBuild index db7365d6..fb955461 100755 --- a/source/l/atkmm/atkmm.SlackBuild +++ b/source/l/atkmm/atkmm.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=atkmm VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch b/source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch new file mode 100644 index 00000000..22d8b344 --- /dev/null +++ b/source/l/cryfs/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch @@ -0,0 +1,27 @@ +From 041b5baea5a4efceff33df2f316646b47a1cd7c0 Mon Sep 17 00:00:00 2001 +From: Sam James <11667869+thesamesam@users.noreply.github.com> +Date: Sat, 14 Aug 2021 17:29:24 +0100 +Subject: [PATCH] src/fspp/fuse/Fuse.h: add <memory.h> include for + std::shared_ptr (#395) + +Needed to fix build with Boost 1.77 (some indirect inclusion +got lost). + +Signed-off-by: Sam James <sam@gentoo.org> +--- + src/fspp/fuse/Fuse.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/fspp/fuse/Fuse.h b/src/fspp/fuse/Fuse.h +index 2dd3c2d4d..3841e38a4 100644 +--- a/src/fspp/fuse/Fuse.h ++++ b/src/fspp/fuse/Fuse.h +@@ -11,6 +11,7 @@ + #include <boost/optional.hpp> + #include <cpp-utils/macros.h> + #include <atomic> ++#include <memory> + #include "stat_compatibility.h" + #include <fspp/fs_interface/Context.h> + + diff --git a/source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch b/source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch new file mode 100644 index 00000000..0d739b07 --- /dev/null +++ b/source/l/cryfs/27587ea1acec5f939a31217f1c43953378f18821.patch @@ -0,0 +1,297 @@ +From 27587ea1acec5f939a31217f1c43953378f18821 Mon Sep 17 00:00:00 2001 +From: Sebastian Messmer <messmer@cryfs.org> +Date: Sat, 8 May 2021 14:44:27 -0700 +Subject: [PATCH] Fixed an issue when compiling with GCC 11, see + https://github.com/cryfs/cryfs/issues/389 + +--- + ChangeLog.txt | 5 ++ + .../onblocks/datanodestore/DataNodeView.h | 8 +-- + .../filesystem/fsblobstore/utils/DirEntry.cpp | 66 +++++++++---------- + src/cryfs/localstate/LocalStateMetadata.cpp | 24 +++---- + src/cryfs/localstate/LocalStateMetadata.h | 10 +-- + 5 files changed, 59 insertions(+), 54 deletions(-) + +diff --git a/ChangeLog.txt b/ChangeLog.txt +index f9776eb93..9d7a6708c 100644 +--- a/ChangeLog.txt ++++ b/ChangeLog.txt +@@ -1,3 +1,8 @@ ++Version 0.10.4 (unreleased) ++-------------- ++Fixed bugs: ++* Fixed an issue when compiling with GCC 11, see https://github.com/cryfs/cryfs/issues/389 ++ + Version 0.10.3 + --------------- + Fixed bugs: +diff --git a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h +index 256c28495..3799612e3 100644 +--- a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h ++++ b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h +@@ -67,7 +67,7 @@ class DataNodeView final { + + static DataNodeView create(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { + ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node"); +- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); ++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data)); + ASSERT(serialized.size() == layout.blocksizeBytes(), "Wrong block size"); + auto block = blockStore->create(serialized); + return DataNodeView(std::move(block)); +@@ -75,7 +75,7 @@ class DataNodeView final { + + static DataNodeView initialize(cpputils::unique_ref<blockstore::Block> block, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { + ASSERT(data.size() <= DataNodeLayout(block->size()).datasizeBytes(), "Data is too large for node"); +- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); ++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data)); + ASSERT(serialized.size() == block->size(), "Block has wrong size"); + block->write(serialized.data(), 0, serialized.size()); + return DataNodeView(std::move(block)); +@@ -83,7 +83,7 @@ class DataNodeView final { + + static DataNodeView overwrite(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, const blockstore::BlockId &blockId, cpputils::Data data) { + ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node"); +- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); ++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data)); + auto block = blockStore->overwrite(blockId, std::move(serialized)); + return DataNodeView(std::move(block)); + } +@@ -143,7 +143,7 @@ class DataNodeView final { + } + + private: +- static cpputils::Data _serialize(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { ++ static cpputils::Data serialize_(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { + cpputils::Data result(layout.blocksizeBytes()); + cpputils::serialize<uint16_t>(result.dataOffset(layout.FORMAT_VERSION_OFFSET_BYTES), formatVersion); + cpputils::serialize<uint8_t>(result.dataOffset(layout.DEPTH_OFFSET_BYTES), depth); +diff --git a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp +index 941148db9..70dd5a560 100644 +--- a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp ++++ b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp +@@ -11,55 +11,55 @@ namespace cryfs { + + namespace { + template<typename DataType> +- size_t _serialize(void* dst, const DataType& obj) { ++ size_t serialize_(void* dst, const DataType& obj) { + cpputils::serialize<DataType>(dst, obj); + return sizeof(DataType); + } + + template<typename DataType> +- DataType _deserialize(const char** src) { ++ DataType deserialize_(const char** src) { + DataType result = cpputils::deserialize<DataType>(*src); + *src += sizeof(DataType); + return result; + } + +- constexpr size_t _serializedTimeValueSize() { ++ constexpr size_t serializedTimeValueSize_() { + return sizeof(uint64_t) + sizeof(uint32_t); + } + +- unsigned int _serializeTimeValue(uint8_t *dest, timespec value) { ++ unsigned int serializeTimeValue_(uint8_t *dest, timespec value) { + unsigned int offset = 0; +- offset += _serialize<uint64_t>(dest + offset, value.tv_sec); +- offset += _serialize<uint32_t>(dest + offset, value.tv_nsec); +- ASSERT(offset == _serializedTimeValueSize(), "serialized to wrong size"); ++ offset += serialize_<uint64_t>(dest + offset, value.tv_sec); ++ offset += serialize_<uint32_t>(dest + offset, value.tv_nsec); ++ ASSERT(offset == serializedTimeValueSize_(), "serialized to wrong size"); + return offset; + } + +- timespec _deserializeTimeValue(const char **pos) { ++ timespec deserializeTimeValue_(const char **pos) { + timespec value{}; +- value.tv_sec = _deserialize<uint64_t>(pos); +- value.tv_nsec = _deserialize<uint32_t>(pos); ++ value.tv_sec = deserialize_<uint64_t>(pos); ++ value.tv_nsec = deserialize_<uint32_t>(pos); + return value; + } + +- unsigned int _serializeString(uint8_t *dest, const string &value) { ++ unsigned int serializeString_(uint8_t *dest, const string &value) { + std::memcpy(dest, value.c_str(), value.size()+1); + return value.size() + 1; + } + +- string _deserializeString(const char **pos) { ++ string deserializeString_(const char **pos) { + size_t length = strlen(*pos); + string value(*pos, length); + *pos += length + 1; + return value; + } + +- unsigned int _serializeBlockId(uint8_t *dest, const BlockId &blockId) { ++ unsigned int serializeBlockId_(uint8_t *dest, const BlockId &blockId) { + blockId.ToBinary(dest); + return blockId.BINARY_LENGTH; + } + +- BlockId _deserializeBlockId(const char **pos) { ++ BlockId deserializeBlockId_(const char **pos) { + BlockId blockId = BlockId::FromBinary(*pos); + *pos += BlockId::BINARY_LENGTH; + return blockId; +@@ -75,35 +75,35 @@ namespace cryfs { + _mode.hasDirFlag()) + ", " + std::to_string(_mode.hasSymlinkFlag()) + ", " + std::to_string(static_cast<uint8_t>(_type)) + ); + unsigned int offset = 0; +- offset += _serialize<uint8_t>(dest + offset, static_cast<uint8_t>(_type)); +- offset += _serialize<uint32_t>(dest + offset, _mode.value()); +- offset += _serialize<uint32_t>(dest + offset, _uid.value()); +- offset += _serialize<uint32_t>(dest + offset, _gid.value()); +- offset += _serializeTimeValue(dest + offset, _lastAccessTime); +- offset += _serializeTimeValue(dest + offset, _lastModificationTime); +- offset += _serializeTimeValue(dest + offset, _lastMetadataChangeTime); +- offset += _serializeString(dest + offset, _name); +- offset += _serializeBlockId(dest + offset, _blockId); ++ offset += serialize_<uint8_t>(dest + offset, static_cast<uint8_t>(_type)); ++ offset += serialize_<uint32_t>(dest + offset, _mode.value()); ++ offset += serialize_<uint32_t>(dest + offset, _uid.value()); ++ offset += serialize_<uint32_t>(dest + offset, _gid.value()); ++ offset += serializeTimeValue_(dest + offset, _lastAccessTime); ++ offset += serializeTimeValue_(dest + offset, _lastModificationTime); ++ offset += serializeTimeValue_(dest + offset, _lastMetadataChangeTime); ++ offset += serializeString_(dest + offset, _name); ++ offset += serializeBlockId_(dest + offset, _blockId); + ASSERT(offset == serializedSize(), "Didn't write correct number of elements"); + } + + const char *DirEntry::deserializeAndAddToVector(const char *pos, vector<DirEntry> *result) { +- fspp::Dir::EntryType type = static_cast<fspp::Dir::EntryType>(_deserialize<uint8_t>(&pos)); +- fspp::mode_t mode = fspp::mode_t(_deserialize<uint32_t>(&pos)); +- fspp::uid_t uid = fspp::uid_t(_deserialize<uint32_t>(&pos)); +- fspp::gid_t gid = fspp::gid_t(_deserialize<uint32_t>(&pos)); +- timespec lastAccessTime = _deserializeTimeValue(&pos); +- timespec lastModificationTime = _deserializeTimeValue(&pos); +- timespec lastMetadataChangeTime = _deserializeTimeValue(&pos); +- string name = _deserializeString(&pos); +- BlockId blockId = _deserializeBlockId(&pos); ++ fspp::Dir::EntryType type = static_cast<fspp::Dir::EntryType>(deserialize_<uint8_t>(&pos)); ++ fspp::mode_t mode = fspp::mode_t(deserialize_<uint32_t>(&pos)); ++ fspp::uid_t uid = fspp::uid_t(deserialize_<uint32_t>(&pos)); ++ fspp::gid_t gid = fspp::gid_t(deserialize_<uint32_t>(&pos)); ++ timespec lastAccessTime = deserializeTimeValue_(&pos); ++ timespec lastModificationTime = deserializeTimeValue_(&pos); ++ timespec lastMetadataChangeTime = deserializeTimeValue_(&pos); ++ string name = deserializeString_(&pos); ++ BlockId blockId = deserializeBlockId_(&pos); + + result->emplace_back(type, name, blockId, mode, uid, gid, lastAccessTime, lastModificationTime, lastMetadataChangeTime); + return pos; + } + + size_t DirEntry::serializedSize() const { +- return 1 + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + 3*_serializedTimeValueSize() + ( ++ return 1 + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + 3*serializedTimeValueSize_() + ( + _name.size() + 1) + _blockId.BINARY_LENGTH; + } + } +diff --git a/src/cryfs/localstate/LocalStateMetadata.cpp b/src/cryfs/localstate/LocalStateMetadata.cpp +index 529a26129..dfa952a1a 100644 +--- a/src/cryfs/localstate/LocalStateMetadata.cpp ++++ b/src/cryfs/localstate/LocalStateMetadata.cpp +@@ -30,10 +30,10 @@ LocalStateMetadata::LocalStateMetadata(uint32_t myClientId, Hash encryptionKeyHa + + LocalStateMetadata LocalStateMetadata::loadOrGenerate(const bf::path &statePath, const Data& encryptionKey, bool allowReplacedFilesystem) { + auto metadataFile = statePath / "metadata"; +- auto loaded = _load(metadataFile); ++ auto loaded = load_(metadataFile); + if (loaded == none) { + // If it couldn't be loaded, generate a new client id. +- return _generate(metadataFile, encryptionKey); ++ return generate_(metadataFile, encryptionKey); + } + + if (!allowReplacedFilesystem && loaded->_encryptionKeyHash.digest != cpputils::hash::hash(encryptionKey, loaded->_encryptionKeyHash.salt).digest) { +@@ -42,22 +42,22 @@ LocalStateMetadata LocalStateMetadata::loadOrGenerate(const bf::path &statePath, + return *loaded; + } + +-optional<LocalStateMetadata> LocalStateMetadata::_load(const bf::path &metadataFilePath) { ++optional<LocalStateMetadata> LocalStateMetadata::load_(const bf::path &metadataFilePath) { + ifstream file(metadataFilePath.string()); + if (!file.good()) { + // State file doesn't exist + return none; + } +- return _deserialize(file); ++ return deserialize_(file); + } + +-void LocalStateMetadata::_save(const bf::path &metadataFilePath) const { ++void LocalStateMetadata::save_(const bf::path &metadataFilePath) const { + ofstream file(metadataFilePath.string(), std::ios::trunc); +- _serialize(file); ++ serialize_(file); + } + + namespace { +-uint32_t _generateClientId() { ++uint32_t generateClientId_() { + uint32_t result; + do { + result = cpputils::deserialize<uint32_t>(Random::PseudoRandom().getFixedSize<sizeof(uint32_t)>().data()); +@@ -82,8 +82,8 @@ optional<uint32_t> _tryLoadClientIdFromLegacyFile(const bf::path &metadataFilePa + #endif + } + +-LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePath, const Data& encryptionKey) { +- uint32_t myClientId = _generateClientId(); ++LocalStateMetadata LocalStateMetadata::generate_(const bf::path &metadataFilePath, const Data& encryptionKey) { ++ uint32_t myClientId = generateClientId_(); + #ifndef CRYFS_NO_COMPATIBILITY + // In the old format, this was stored in a "myClientId" file. If that file exists, load it from there. + optional<uint32_t> legacy = _tryLoadClientIdFromLegacyFile(metadataFilePath); +@@ -93,11 +93,11 @@ LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePat + #endif + + LocalStateMetadata result(myClientId, cpputils::hash::hash(encryptionKey, cpputils::hash::generateSalt())); +- result._save(metadataFilePath); ++ result.save_(metadataFilePath); + return result; + } + +-void LocalStateMetadata::_serialize(ostream& stream) const { ++void LocalStateMetadata::serialize_(ostream& stream) const { + ptree pt; + pt.put<uint32_t>("myClientId", myClientId()); + pt.put<string>("encryptionKey.salt", _encryptionKeyHash.salt.ToString()); +@@ -106,7 +106,7 @@ void LocalStateMetadata::_serialize(ostream& stream) const { + write_json(stream, pt); + } + +-LocalStateMetadata LocalStateMetadata::_deserialize(istream& stream) { ++LocalStateMetadata LocalStateMetadata::deserialize_(istream& stream) { + try { + ptree pt; + read_json(stream, pt); +diff --git a/src/cryfs/localstate/LocalStateMetadata.h b/src/cryfs/localstate/LocalStateMetadata.h +index 8b0ffc662..c06b0f05b 100644 +--- a/src/cryfs/localstate/LocalStateMetadata.h ++++ b/src/cryfs/localstate/LocalStateMetadata.h +@@ -20,11 +20,11 @@ class LocalStateMetadata final { + const uint32_t _myClientId; + const cpputils::hash::Hash _encryptionKeyHash; + +- static boost::optional<LocalStateMetadata> _load(const boost::filesystem::path &metadataFilePath); +- static LocalStateMetadata _deserialize(std::istream& stream); +- static LocalStateMetadata _generate(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey); +- void _save(const boost::filesystem::path &metadataFilePath) const; +- void _serialize(std::ostream& stream) const; ++ static boost::optional<LocalStateMetadata> load_(const boost::filesystem::path &metadataFilePath); ++ static LocalStateMetadata deserialize_(std::istream& stream); ++ static LocalStateMetadata generate_(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey); ++ void save_(const boost::filesystem::path &metadataFilePath) const; ++ void serialize_(std::ostream& stream) const; + + LocalStateMetadata(uint32_t myClientId, cpputils::hash::Hash encryptionKey); + }; + diff --git a/source/l/cryfs/cryfs.SlackBuild b/source/l/cryfs/cryfs.SlackBuild index 007bd1f7..e37b529b 100755 --- a/source/l/cryfs/cryfs.SlackBuild +++ b/source/l/cryfs/cryfs.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=cryfs VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -89,6 +89,12 @@ find . \ # Oddly, cryfs expects a static boost, so we'll need to hit it with the LART: export LDFLAGS="$SLKLDFLAGS -lboost_thread -lboost_program_options -lboost_filesystem -lboost_chrono -lcryptopp -lfuse" +# gcc11 fixes: +zcat $CWD/27587ea1acec5f939a31217f1c43953378f18821.patch.gz | patch -p1 --verbose || exit 1 + +# Boost 1.77.0 fix: +zcat $CWD/041b5baea5a4efceff33df2f316646b47a1cd7c0.patch.gz | patch -p1 --verbose || exit 1 + # Configure, build, and install: mkdir cmake-build cd cmake-build diff --git a/source/l/glib2/glib2.SlackBuild b/source/l/glib2/glib2.SlackBuild index ca7b1431..dc4bbfde 100755 --- a/source/l/glib2/glib2.SlackBuild +++ b/source/l/glib2/glib2.SlackBuild @@ -100,7 +100,7 @@ meson setup \ -Dselinux=disabled \ -Dfam=false \ -Dman=true \ - -Dgtk_doc=true \ + -Dgtk_doc=false \ -Dinstalled_tests=false \ .. || exit 1 "${NINJA:=ninja}" $NUMJOBS || exit 1 diff --git a/source/l/gst-plugins-base/gst-plugins-base.SlackBuild b/source/l/gst-plugins-base/gst-plugins-base.SlackBuild index 22de1419..2221f7b7 100755 --- a/source/l/gst-plugins-base/gst-plugins-base.SlackBuild +++ b/source/l/gst-plugins-base/gst-plugins-base.SlackBuild @@ -101,7 +101,7 @@ meson setup \ --buildtype=release \ -Dexamples=disabled \ .. || exit 1 - "${NINJA:=ninja}" $NUMJOBS || exit 1 + "${NINJA:=ninja}" $NUMJOBS || cp -a gst-libs/gst/gl/xdg-shell-client-protocol.h .. && "${NINJA:=ninja}" $NUMJOBS || exit 1 DESTDIR=$PKG $NINJA install || exit 1 cd .. diff --git a/source/l/gst-plugins-good/gst-plugins-good.SlackBuild b/source/l/gst-plugins-good/gst-plugins-good.SlackBuild index 1a7b8b6f..fd87f2d5 100755 --- a/source/l/gst-plugins-good/gst-plugins-good.SlackBuild +++ b/source/l/gst-plugins-good/gst-plugins-good.SlackBuild @@ -88,6 +88,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +zcat $CWD/gst-plugins-good.gcc11.patch.gz | patch -p1 --verbose || exit 1 + # Configure, build, and install: export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" diff --git a/source/l/gst-plugins-good/gst-plugins-good.gcc11.patch b/source/l/gst-plugins-good/gst-plugins-good.gcc11.patch new file mode 100644 index 00000000..f44e3a72 --- /dev/null +++ b/source/l/gst-plugins-good/gst-plugins-good.gcc11.patch @@ -0,0 +1,316 @@ +From a1bf3d8d540a25268d612a489e1e836d6ea737b0 Mon Sep 17 00:00:00 2001 +From: Matthew Waters <matthew@centricular.com> +Date: Thu, 18 Mar 2021 19:52:53 +1100 +Subject: [PATCH] gst: don't use volatile to mean atomic + +volatile is not sufficient to provide atomic guarantees and real atomics +should be used instead. GCC 11 has started warning about using volatile +with atomic operations. + +https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 + +Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/941> +--- + ext/jack/gstjack.c | 6 +++--- + ext/jack/gstjackaudiosink.c | 2 +- + ext/jack/gstjackaudiosrc.c | 2 +- + ext/pulse/pulsesink.h | 2 +- + ext/qt/gstqsgtexture.cc | 2 +- + ext/qt/gstqtglutility.cc | 2 +- + ext/qt/qtglrenderer.cc | 6 +++--- + ext/qt/qtitem.cc | 2 +- + ext/qt/qtwindow.cc | 4 ++-- + ext/vpx/gstvpxdec.c | 2 +- + ext/vpx/gstvpxenc.c | 14 +++++++------- + gst/audioparsers/gstac3parse.h | 2 +- + sys/rpicamsrc/gstrpicamsrc.c | 2 +- + sys/ximage/ximageutil.c | 2 +- + 14 files changed, 25 insertions(+), 25 deletions(-) + +diff --git a/ext/jack/gstjack.c b/ext/jack/gstjack.c +index ca98dc405..fdd507d87 100644 +--- a/ext/jack/gstjack.c ++++ b/ext/jack/gstjack.c +@@ -28,7 +28,7 @@ + GType + gst_jack_connect_get_type (void) + { +- static volatile gsize jack_connect_type = 0; ++ static gsize jack_connect_type = 0; + + if (g_once_init_enter (&jack_connect_type)) { + static const GEnumValue jack_connect_enums[] = { +@@ -50,7 +50,7 @@ gst_jack_connect_get_type (void) + GType + gst_jack_transport_get_type (void) + { +- static volatile gsize type = 0; ++ static gsize type = 0; + + if (g_once_init_enter (&type)) { + static const GFlagsValue flag_values[] = { +@@ -84,7 +84,7 @@ gst_jack_client_free (gpointer jclient) + GType + gst_jack_client_get_type (void) + { +- static volatile gsize jack_client_type = 0; ++ static gsize jack_client_type = 0; + + if (g_once_init_enter (&jack_client_type)) { + /* hackish, but makes it show up nicely in gst-inspect */ +diff --git a/ext/jack/gstjackaudiosink.c b/ext/jack/gstjackaudiosink.c +index ee7cea8c0..6e8d04ae5 100644 +--- a/ext/jack/gstjackaudiosink.c ++++ b/ext/jack/gstjackaudiosink.c +@@ -131,7 +131,7 @@ gst_jack_audio_sink_free_channels (GstJackAudioSink * sink) + static GType + gst_jack_ring_buffer_get_type (void) + { +- static volatile gsize ringbuffer_type = 0; ++ static gsize ringbuffer_type = 0; + + if (g_once_init_enter (&ringbuffer_type)) { + static const GTypeInfo ringbuffer_info = { +diff --git a/ext/jack/gstjackaudiosrc.c b/ext/jack/gstjackaudiosrc.c +index 1d2cf82ee..d43a447a7 100644 +--- a/ext/jack/gstjackaudiosrc.c ++++ b/ext/jack/gstjackaudiosrc.c +@@ -151,7 +151,7 @@ gst_jack_audio_src_free_channels (GstJackAudioSrc * src) + static GType + gst_jack_ring_buffer_get_type (void) + { +- static volatile gsize ringbuffer_type = 0; ++ static gsize ringbuffer_type = 0; + + if (g_once_init_enter (&ringbuffer_type)) { + static const GTypeInfo ringbuffer_info = { sizeof (GstJackRingBufferClass), +diff --git a/ext/pulse/pulsesink.h b/ext/pulse/pulsesink.h +index 86f3dcdbb..51ec86a25 100644 +--- a/ext/pulse/pulsesink.h ++++ b/ext/pulse/pulsesink.h +@@ -72,7 +72,7 @@ struct _GstPulseSink + GstStructure *properties; + pa_proplist *proplist; + +- volatile gint format_lost; ++ gint format_lost; + GstClockTime format_lost_time; + }; + +diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc +index a05d26edd..bfa79cda0 100644 +--- a/ext/qt/gstqsgtexture.cc ++++ b/ext/qt/gstqsgtexture.cc +@@ -35,7 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); + + GstQSGTexture::GstQSGTexture () + { +- static volatile gsize _debug; ++ static gsize _debug; + + initializeOpenGLFunctions(); + +diff --git a/ext/qt/gstqtglutility.cc b/ext/qt/gstqtglutility.cc +index acb89b6e1..d2c092202 100644 +--- a/ext/qt/gstqtglutility.cc ++++ b/ext/qt/gstqtglutility.cc +@@ -66,7 +66,7 @@ gst_qt_get_gl_display () + { + GstGLDisplay *display = NULL; + QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ()); +- static volatile gsize _debug; ++ static gsize _debug; + + g_assert (app != NULL); + +diff --git a/ext/qt/qtglrenderer.cc b/ext/qt/qtglrenderer.cc +index 2ad5601fc..52965fd0b 100644 +--- a/ext/qt/qtglrenderer.cc ++++ b/ext/qt/qtglrenderer.cc +@@ -22,7 +22,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); + static void + init_debug (void) + { +- static volatile gsize _debug; ++ static gsize _debug; + + if (g_once_init_enter (&_debug)) { + GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglrenderer", 0, +@@ -115,7 +115,7 @@ typedef enum + + struct SharedRenderData + { +- volatile int refcount; ++ int refcount; + SharedRenderDataState state; + GMutex lock; + GCond cond; +@@ -130,7 +130,7 @@ shared_render_data_new (void) + { + struct SharedRenderData *ret = g_new0 (struct SharedRenderData, 1); + +- ret->refcount = 1; ++ g_atomic_int_set (&ret->refcount, 1); + g_mutex_init (&ret->lock); + + return ret; +diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc +index 7659800b6..bc99639b4 100644 +--- a/ext/qt/qtitem.cc ++++ b/ext/qt/qtitem.cc +@@ -104,7 +104,7 @@ void InitializeSceneGraph::run() + + QtGLVideoItem::QtGLVideoItem() + { +- static volatile gsize _debug; ++ static gsize _debug; + + if (g_once_init_enter (&_debug)) { + GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget"); +diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc +index 9360c3337..7c44ac54e 100644 +--- a/ext/qt/qtwindow.cc ++++ b/ext/qt/qtwindow.cc +@@ -103,7 +103,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) : + QQuickWindow( parent ), source (src) + { + QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ()); +- static volatile gsize _debug; ++ static gsize _debug; + + g_assert (app != NULL); + +@@ -152,7 +152,7 @@ QtGLWindow::beforeRendering() + + g_mutex_lock (&this->priv->lock); + +- static volatile gsize once = 0; ++ static gsize once = 0; + if (g_once_init_enter(&once)) { + this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch(); + g_once_init_leave(&once,1); +diff --git a/ext/vpx/gstvpxdec.c b/ext/vpx/gstvpxdec.c +index e92aa85c7..74cc3c970 100644 +--- a/ext/vpx/gstvpxdec.c ++++ b/ext/vpx/gstvpxdec.c +@@ -79,7 +79,7 @@ gst_vpx_dec_post_processing_flags_get_type (void) + {C_FLAGS (VP8_MFQE), "Multi-frame quality enhancement", "mfqe"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +diff --git a/ext/vpx/gstvpxenc.c b/ext/vpx/gstvpxenc.c +index cd5b30d14..4b3b4f770 100644 +--- a/ext/vpx/gstvpxenc.c ++++ b/ext/vpx/gstvpxenc.c +@@ -165,7 +165,7 @@ gst_vpx_enc_end_usage_get_type (void) + {VPX_CQ, "Constant Quality Mode (CQ) mode", "cq"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +@@ -188,7 +188,7 @@ gst_vpx_enc_multipass_mode_get_type (void) + {VPX_RC_LAST_PASS, "Last pass of multipass encoding", "last-pass"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +@@ -210,7 +210,7 @@ gst_vpx_enc_kf_mode_get_type (void) + {VPX_KF_DISABLED, "Don't automatically place keyframes", "disabled"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +@@ -232,7 +232,7 @@ gst_vpx_enc_tuning_get_type (void) + {VP8_TUNE_SSIM, "Tune for SSIM", "ssim"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +@@ -256,7 +256,7 @@ gst_vpx_enc_scaling_mode_get_type (void) + {VP8E_ONETWO, "1:2", "1:2"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +@@ -280,7 +280,7 @@ gst_vpx_enc_token_partitions_get_type (void) + {VP8_EIGHT_TOKENPARTITION, "Eight token partitions", "8"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +@@ -303,7 +303,7 @@ gst_vpx_enc_er_flags_get_type (void) + "Allow partitions to be decoded independently", "partitions"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + + if (g_once_init_enter ((gsize *) & id)) { + GType _id; +diff --git a/gst/audioparsers/gstac3parse.h b/gst/audioparsers/gstac3parse.h +index 0e7af5acd..81e2104d5 100644 +--- a/gst/audioparsers/gstac3parse.h ++++ b/gst/audioparsers/gstac3parse.h +@@ -62,7 +62,7 @@ struct _GstAc3Parse { + gint blocks; + gboolean eac; + gboolean sent_codec_tag; +- volatile gint align; ++ gint align; + GstPadChainFunction baseparse_chainfunc; + }; + +diff --git a/sys/rpicamsrc/gstrpicamsrc.c b/sys/rpicamsrc/gstrpicamsrc.c +index a148d4106..f719acb4c 100644 +--- a/sys/rpicamsrc/gstrpicamsrc.c ++++ b/sys/rpicamsrc/gstrpicamsrc.c +@@ -292,7 +292,7 @@ gst_rpi_cam_src_sensor_mode_get_type (void) + "640x480 4:3 60.1-90fps", "640x480-fast"}, + {0, NULL, NULL} + }; +- static volatile GType id = 0; ++ static GType id = 0; + if (g_once_init_enter ((gsize *) & id)) { + GType _id; + _id = g_enum_register_static ("GstRpiCamSrcSensorMode", values); +diff --git a/sys/ximage/ximageutil.c b/sys/ximage/ximageutil.c +index 57c9392c7..018b60515 100644 +--- a/sys/ximage/ximageutil.c ++++ b/sys/ximage/ximageutil.c +@@ -26,7 +26,7 @@ + GType + gst_meta_ximage_api_get_type (void) + { +- static volatile GType type; ++ static GType type; + static const gchar *tags[] = { "memory", NULL }; + + if (g_once_init_enter (&type)) { +-- +GitLab + + diff --git a/source/l/gtk+3/gtk+3.SlackBuild b/source/l/gtk+3/gtk+3.SlackBuild index 377b619a..74090980 100755 --- a/source/l/gtk+3/gtk+3.SlackBuild +++ b/source/l/gtk+3/gtk+3.SlackBuild @@ -82,6 +82,9 @@ find . \ # the configure process doesn't try to call it: zcat $CWD/gtk.fix.missing.version-check.py.diff.gz | patch -p1 --verbose || exit 1 +# Loosen this up for gcc11: +zcat $CWD/gtk.array-bounds.gcc11.diff.gz | patch -p1 --verbose || exit 1 + # Configure, build, and install: export CFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" export CXXFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" diff --git a/source/l/gtk+3/gtk.array-bounds.gcc11.diff b/source/l/gtk+3/gtk.array-bounds.gcc11.diff new file mode 100644 index 00000000..99392a31 --- /dev/null +++ b/source/l/gtk+3/gtk.array-bounds.gcc11.diff @@ -0,0 +1,10 @@ +--- ./meson.build.orig 2021-08-05 23:49:52.169416580 -0500 ++++ ./meson.build 2021-08-05 23:50:01.955416038 -0500 +@@ -309,7 +309,6 @@ + '-Werror=sequence-point', + '-Werror=return-type', + '-Werror=trigraphs', +- '-Werror=array-bounds', + '-Werror=write-strings', + '-Werror=address', + '-Werror=int-to-pointer-cast', diff --git a/source/l/gtk4/doinst.sh b/source/l/gtk4/doinst.sh new file mode 100644 index 00000000..74cd752a --- /dev/null +++ b/source/l/gtk4/doinst.sh @@ -0,0 +1,21 @@ +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... +} + +# Obsolete in gtk4? +#config etc/gtk-4.0/gtkrc.new +#config etc/gtk-4.0/im-multipress.conf.new +#rm -f etc/gtk-4.0/gtkrc.new + +chroot . rm -f /usr/share/icons/*/icon-theme.cache 1> /dev/null 2> /dev/null +chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 1> /dev/null 2> /dev/null +chroot . /usr/bin/gio-querymodules /usr/lib64/gtk-4.0/4.0.0/media 1> /dev/null 2> /dev/null +chroot . /usr/bin/gio-querymodules /usr/lib64/gtk-4.0/4.0.0/printbackends 1> /dev/null 2> /dev/null diff --git a/source/l/gtk4/gtk4.SlackBuild b/source/l/gtk4/gtk4.SlackBuild new file mode 100755 index 00000000..6f6101b1 --- /dev/null +++ b/source/l/gtk4/gtk4.SlackBuild @@ -0,0 +1,161 @@ +#!/bin/bash + +# Copyright 2008, 2009, 2010, 2011, 2013, 2018, 2020, 2021 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. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=gtk4 +VERSION=${VERSION:-$(echo gtk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-gtk4 + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG/usr +cd $TMP +rm -rf gtk-$VERSION +tar xvf $CWD/gtk-$VERSION.tar.?z || exit 1 +cd gtk-$VERSION || 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 {} \+ + +# Configure, build, and install: +export CFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG" +export CXXFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG" +mkdir meson-build +cd meson-build +meson setup \ + --prefix=/usr \ + --libdir=lib${LIBDIRSUFFIX} \ + --libexecdir=/usr/libexec \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --includedir=/usr/include \ + --datadir=/usr/share \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --buildtype=release \ + -Dman-pages=true \ + -Ddemos=true \ + -Dgtk_doc=false \ + -Dbroadway_backend=true \ + -Dexamples=false \ + -Dtests=false \ + -Dinstalled_tests=false \ + -Dwayland_backend=true \ + .. || exit 1 + "${NINJA:=ninja}" $NUMJOBS || exit 1 + DESTDIR=$PKG $NINJA install || exit 1 +cd .. + +# The following four things don't seem to be used by gtk4. But if something +# similar ends up being required, let me know. + +# Don't clobber im-multipress.conf +#mv $PKG/etc/gtk-4.0/im-multipress.conf $PKG/etc/gtk-4.0/im-multipress.conf.new + +# Install a "starter" gtkrc +#echo 'gtk-theme-name="Adwaita"' > $PKG/etc/gtk-4.0/gtkrc.new + +# We need to have separate 32-bit and 64-bit binaries for places where we have +# two copies of the GTK package installed (we might have x86_64 and i586 +# packages on the same system, for example.) +#if [ "$LIBDIRSUFFIX" = "64" ]; then +# mv $PKG/usr/bin/gtk-query-immodules-4.0{,-64} +# ( cd $PKG/usr/bin +# ln -sf gtk-query-immodules-4.0-64 gtk-query-immodules-4.0 +# ) +#else +# mv $PKG/usr/bin/gtk-query-immodules-4.0{,-32} +# ( cd $PKG/usr/bin +# ln -sf gtk-query-immodules-4.0-32 gtk-query-immodules-4.0 +# ) +#fi + +# Install wrappers for the binaries: +#cp $CWD/update-gtk-immodules-4.0 $PKG/usr/bin/update-gtk-immodules-4.0 +#chmod 0755 $PKG/usr/bin/update-* + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual 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 + +# Copy extra documentation into package. +mkdir -p $PKG/usr/doc/gtk4-$VERSION +cp -a \ + AUTHORS COPYING NEWS README \ + $PKG/usr/doc/gtk4-$VERSION +find $PKG/usr/doc/gtk4-$VERSION/ -type f -exec chmod 644 {} \+ +chown -R root:root $PKG/usr/doc/gtk4-$VERSION + +mkdir -p $PKG/install +zcat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -p -l y -c n $TMP/gtk4-${VERSION}-$ARCH-${BUILD}.txz diff --git a/source/l/gtk4/slack-desc b/source/l/gtk4/slack-desc new file mode 100644 index 00000000..7187360b --- /dev/null +++ b/source/l/gtk4/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 ':'. + + |-----handy-ruler------------------------------------------------------| +gtk4: gtk4 (multi-platform GUI toolkit v4) +gtk4: +gtk4: This is GTK, a multi-platform toolkit for creating graphical user +gtk4: interfaces. Offering a complete set of widgets, GTK+ is suitable for +gtk4: projects ranging from small one-off projects to complete application +gtk4: suites. +gtk4: +gtk4: +gtk4: +gtk4: +gtk4: diff --git a/source/l/gtkmm3/gtkmm3.SlackBuild b/source/l/gtkmm3/gtkmm3.SlackBuild index 1c944f61..cb5d066a 100755 --- a/source/l/gtkmm3/gtkmm3.SlackBuild +++ b/source/l/gtkmm3/gtkmm3.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) SRCNAM=gtkmm PKGNAM=gtkmm3 VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} SRCNAM=gtkmm diff --git a/source/l/libwebp/libwebp.SlackBuild b/source/l/libwebp/libwebp.SlackBuild index 4474c8d2..3417a96e 100755 --- a/source/l/libwebp/libwebp.SlackBuild +++ b/source/l/libwebp/libwebp.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=libwebp VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/l/libwpd/libwpd.SlackBuild b/source/l/libwpd/libwpd.SlackBuild index 86a6eeff..bd365653 100755 --- a/source/l/libwpd/libwpd.SlackBuild +++ b/source/l/libwpd/libwpd.SlackBuild @@ -81,6 +81,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +zcat $CWD/libwpd.gcc11.diff.gz | patch -p1 --verbose || exit 1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/l/libwpd/libwpd.gcc11.diff b/source/l/libwpd/libwpd.gcc11.diff new file mode 100644 index 00000000..83855a04 --- /dev/null +++ b/source/l/libwpd/libwpd.gcc11.diff @@ -0,0 +1,21 @@ +--- ./src/lib/WPXContentListener.cpp.orig 2018-12-25 10:19:19.000000000 -0600 ++++ ./src/lib/WPXContentListener.cpp 2021-08-06 00:05:53.939363381 -0500 +@@ -23,6 +23,7 @@ + * Corel Corporation or Corel Corporation Limited." + */ + ++#include <cstddef> + #include "WPXContentListener.h" + #include "WPXPageSpan.h" + #include "libwpd_internal.h" +--- ./src/lib/WPXTable.cpp.orig 2018-12-25 10:19:19.000000000 -0600 ++++ ./src/lib/WPXTable.cpp 2021-08-06 00:05:19.424365290 -0500 +@@ -25,6 +25,8 @@ + * Corel Corporation or Corel Corporation Limited." + */ + ++#include <cstddef> ++ + #include "WPXTable.h" + + #include "libwpd_internal.h" diff --git a/source/l/mlt/mlt.SlackBuild b/source/l/mlt/mlt.SlackBuild index 59182265..870e1b7d 100755 --- a/source/l/mlt/mlt.SlackBuild +++ b/source/l/mlt/mlt.SlackBuild @@ -1,7 +1,6 @@ #!/bin/bash -# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL -# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -86,66 +85,37 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -PYTHONSITEPKG=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") - # Configure, build, and install: -if [ ! -r configure ]; then - if [ -x ./autogen.sh ]; then - NOCONFIGURE=1 ./autogen.sh - else - autoreconf -vif - fi -fi -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --docdir=/usr/doc/$PKGNAM-$VERSION \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --disable-static \ - --avformat-swscale \ - --disable-debug \ - --enable-gpl \ - --enable-gpl3 \ - --enable-motion-est \ - --enable-opencv \ - --enable-qt \ - --qt-libdir=$(pkg-config Qt5Core --variable=libdir) \ - --qt-includedir=$(pkg-config Qt5Core --variable=includedir) \ - --swig-languages="python" \ - --build=$ARCH-slackware-linux || exit 1 -make $NUMJOBS || make || exit 1 -make install DESTDIR=$PKG || exit 1 - -# Install the extensions we enabled: -install -D -m0755 src/swig/python/_mlt.so $PKG/$PYTHONSITEPKG/_mlt.so -install -D -m0755 src/swig/python/mlt_wrap.o $PKG/$PYTHONSITEPKG/mlt_wrap.o -install -D -m0755 src/swig/python/mlt.py $PKG/$PYTHONSITEPKG/mlt.py - -# Don't ship .la files: -rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la +mkdir cmake-build +cd cmake-build + cmake \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX="$LIBDIRSUFFIX" \ + -DDOC_INSTALL_DIR="doc" \ + -DMAN_INSTALL_DIR=/usr/man \ + .. || exit 1 + make $NUMJOBS || make || exit 1 + make install DESTDIR=$PKG || exit 1 +cd .. # Strip binaries: find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +# Compress manual 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 + # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - AUTHORS* ChangeLog COPYING* GPL* NEWS* README* docs/*.txt \ + AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \ $PKG/usr/doc/${PKGNAM}-$VERSION -# 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/${PKGNAM}-$VERSION) - cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog - touch -r ChangeLog $DOCSDIR/ChangeLog -fi - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/source/l/mozilla-nss/mozilla-nss.SlackBuild b/source/l/mozilla-nss/mozilla-nss.SlackBuild index 4bef0f09..073f8b9c 100755 --- a/source/l/mozilla-nss/mozilla-nss.SlackBuild +++ b/source/l/mozilla-nss/mozilla-nss.SlackBuild @@ -26,8 +26,8 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mozilla-nss SRCNAM=nss -VERSION=${VERSION:-3.67} -NSPR=${NSPR:-4.31} +VERSION=${VERSION:-3.69} +NSPR=${NSPR:-4.32} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: diff --git a/source/l/ocl-icd/ocl-icd.SlackBuild b/source/l/ocl-icd/ocl-icd.SlackBuild index c133142d..a190ca15 100755 --- a/source/l/ocl-icd/ocl-icd.SlackBuild +++ b/source/l/ocl-icd/ocl-icd.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=ocl-icd VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/l/openexr/openexr.SlackBuild b/source/l/openexr/openexr.SlackBuild index 6305eae9..286b4fc0 100755 --- a/source/l/openexr/openexr.SlackBuild +++ b/source/l/openexr/openexr.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=openexr VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/l/pulseaudio/pulseaudio-autostart-meson.build.patch b/source/l/pulseaudio/pulseaudio-autostart-meson.build.patch new file mode 100644 index 00000000..a7fadb99 --- /dev/null +++ b/source/l/pulseaudio/pulseaudio-autostart-meson.build.patch @@ -0,0 +1,10 @@ +--- ./src/daemon/meson.build.orig 2021-07-27 15:02:27.738868200 -0500 ++++ ./src/daemon/meson.build 2021-08-09 13:15:24.344941127 -0500 +@@ -38,6 +38,7 @@ + if x11_dep.found() + conf = configuration_data() + conf.set('PACTL_BINARY', join_paths(bindir, 'pactl')) ++ conf.set('PA_BINARY', join_paths(bindir, 'pulseaudio')) + + configure_file( + input : 'start-pulseaudio-x11.in', diff --git a/source/l/pulseaudio/pulseaudio.SlackBuild b/source/l/pulseaudio/pulseaudio.SlackBuild index 39d4b77b..bf389d8f 100755 --- a/source/l/pulseaudio/pulseaudio.SlackBuild +++ b/source/l/pulseaudio/pulseaudio.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=pulseaudio VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -91,6 +91,8 @@ echo "X-MATE-Autostart-Phase=Initialization" >> src/daemon/pulseaudio.desktop.in # If autospawn isn't working, start-pulseaudio-x11 should start it manually: zcat $CWD/pulseaudio-autostart.patch.gz | patch -p1 --verbose || exit 1 +# When built by meson, this patch also required to fix the above issue: +zcat $CWD/pulseaudio-autostart-meson.build.patch.gz | patch -p1 --verbose || exit 1 # Configure, build, and install: export CFLAGS="$SLKCFLAGS" diff --git a/source/l/qt5/patches/0006-Fix-build-with-GCC-11-include-limits.patch b/source/l/qt5/patches/0006-Fix-build-with-GCC-11-include-limits.patch new file mode 100644 index 00000000..f014a160 --- /dev/null +++ b/source/l/qt5/patches/0006-Fix-build-with-GCC-11-include-limits.patch @@ -0,0 +1,53 @@ +From 9c56d4da2ff631a8c1c30475bd792f6c86bda53c Mon Sep 17 00:00:00 2001 +From: Thiago Macieira <thiago.macieira@intel.com> +Date: Mon, 18 Jan 2021 07:40:54 -0800 +Subject: [PATCH] Fix build with GCC 11: include <limits> + +Fixes: QTBUG-90395 +Pick-to: 6.0 +Change-Id: Iecc74d2000eb40dfbe7bfffd165b5dd3708b7a40 +Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> + +[Retrieved (and backported) from: +https://github.com/qt/qtbase/commit/9c56d4da2ff631a8c1c30475bd792f6c86bda53c] +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> +--- + src/corelib/global/qendian.h | 6 ++++-- + src/corelib/global/qfloat16.h | 1 + + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h +index 99b529f17cd..c874c5e47ab 100644 +--- a/src/corelib/global/qendian.h ++++ b/src/corelib/global/qendian.h +@@ -1,7 +1,7 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. +-** Copyright (C) 2016 Intel Corporation. ++** Copyright (C) 2021 The Qt Company Ltd. ++** Copyright (C) 2021 Intel Corporation. + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtCore module of the Qt Toolkit. +@@ -44,6 +44,8 @@ + #include <QtCore/qfloat16.h> + #include <QtCore/qglobal.h> + ++#include <limits> ++ + // include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems + #include <stdlib.h> + #include <string.h> +diff --git a/src/corelib/global/qfloat16.h b/src/corelib/global/qfloat16.h +index e9477d2ecec..a25fac28862 100644 +--- a/src/corelib/global/qfloat16.h ++++ b/src/corelib/global/qfloat16.h +@@ -44,6 +44,7 @@ + + #include <QtCore/qglobal.h> + #include <QtCore/qmetatype.h> ++#include <limits> + #include <string.h> + + #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__) diff --git a/source/l/qt5/patches/qt5-qtbase-gcc11.patch b/source/l/qt5/patches/qt5-qtbase-gcc11.patch new file mode 100644 index 00000000..c9567128 --- /dev/null +++ b/source/l/qt5/patches/qt5-qtbase-gcc11.patch @@ -0,0 +1,171 @@ +diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp +index 06fd88da..dbff3239 100644 +--- a/src/corelib/codecs/qtextcodec.cpp ++++ b/src/corelib/codecs/qtextcodec.cpp +@@ -38,6 +38,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qplatformdefs.h" + + #include "qtextcodec.h" +diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp +index 8561f908..8128d3cf 100644 +--- a/src/corelib/codecs/qutfcodec.cpp ++++ b/src/corelib/codecs/qutfcodec.cpp +@@ -38,6 +38,8 @@ + ** + ****************************************************************************/ + ++#include <limits> ++ + #include "qutfcodec_p.h" + #include "qlist.h" + #include "qendian.h" +diff --git a/src/corelib/global/qendian.cpp b/src/corelib/global/qendian.cpp +index eb08b2f8..6b41b3dd 100644 +--- a/src/corelib/global/qendian.cpp ++++ b/src/corelib/global/qendian.cpp +@@ -38,6 +38,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qendian.h" + + #include "qalgorithms.h" +diff --git a/src/corelib/global/qfloat16.cpp b/src/corelib/global/qfloat16.cpp +index c9733174..c62a1972 100644 +--- a/src/corelib/global/qfloat16.cpp ++++ b/src/corelib/global/qfloat16.cpp +@@ -38,6 +38,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qfloat16.h" + #include "private/qsimd_p.h" + #include <cmath> // for fpclassify()'s return values +diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp +index 10672c1f..6d5fd63e 100644 +--- a/src/corelib/global/qrandom.cpp ++++ b/src/corelib/global/qrandom.cpp +@@ -40,6 +40,7 @@ + // for rand_s + #define _CRT_RAND_S + ++#include <limits> + #include "qrandom.h" + #include "qrandom_p.h" + #include <qobjectdefs.h> +diff --git a/src/corelib/plugin/qelfparser_p.cpp b/src/corelib/plugin/qelfparser_p.cpp +index 13eee353..9e7a7a41 100644 +--- a/src/corelib/plugin/qelfparser_p.cpp ++++ b/src/corelib/plugin/qelfparser_p.cpp +@@ -37,6 +37,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qelfparser_p.h" + + #if defined (Q_OF_ELF) && defined(Q_CC_GNU) +diff --git a/src/corelib/plugin/qmachparser.cpp b/src/corelib/plugin/qmachparser.cpp +index 11670caf..39f5596b 100644 +--- a/src/corelib/plugin/qmachparser.cpp ++++ b/src/corelib/plugin/qmachparser.cpp +@@ -37,6 +37,8 @@ + ** + ****************************************************************************/ + ++#include <limits> ++ + #include "qmachparser_p.h" + + #if defined(Q_OF_MACH_O) +diff --git a/src/corelib/plugin/quuid.cpp b/src/corelib/plugin/quuid.cpp +index 83873edf..5aafb4e5 100644 +--- a/src/corelib/plugin/quuid.cpp ++++ b/src/corelib/plugin/quuid.cpp +@@ -38,6 +38,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "quuid.h" + + #include "qcryptographichash.h" +diff --git a/src/corelib/serialization/qdatastream.cpp b/src/corelib/serialization/qdatastream.cpp +index 5082a8cb..7eecfcca 100644 +--- a/src/corelib/serialization/qdatastream.cpp ++++ b/src/corelib/serialization/qdatastream.cpp +@@ -40,6 +40,8 @@ + #include "qdatastream.h" + #include "qdatastream_p.h" + ++#include <limits> ++ + #if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED) + #include "qbuffer.h" + #include "qfloat16.h" +diff --git a/src/corelib/text/qbytearray.cpp b/src/corelib/text/qbytearray.cpp +index 9a72df58..6651ee98 100644 +--- a/src/corelib/text/qbytearray.cpp ++++ b/src/corelib/text/qbytearray.cpp +@@ -39,6 +39,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qbytearray.h" + #include "qbytearraymatcher.h" + #include "private/qtools_p.h" +diff --git a/src/corelib/text/qbytearraymatcher.cpp b/src/corelib/text/qbytearraymatcher.cpp +index 72e09226..80511cb5 100644 +--- a/src/corelib/text/qbytearraymatcher.cpp ++++ b/src/corelib/text/qbytearraymatcher.cpp +@@ -37,6 +37,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qbytearraymatcher.h" + + #include <limits.h> +diff --git a/src/corelib/tools/qbitarray.cpp b/src/corelib/tools/qbitarray.cpp +index ab3054d5..22efb3a0 100644 +--- a/src/corelib/tools/qbitarray.cpp ++++ b/src/corelib/tools/qbitarray.cpp +@@ -38,6 +38,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qbitarray.h" + #include <qalgorithms.h> + #include <qdatastream.h> +diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp +index fa8d21e0..cd85956d 100644 +--- a/src/corelib/tools/qcryptographichash.cpp ++++ b/src/corelib/tools/qcryptographichash.cpp +@@ -38,6 +38,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include <qcryptographichash.h> + #include <qiodevice.h> + +diff --git a/src/gui/text/qfontengine_qpf2.cpp b/src/gui/text/qfontengine_qpf2.cpp +index e00f9d05..917ab5f9 100644 +--- a/src/gui/text/qfontengine_qpf2.cpp ++++ b/src/gui/text/qfontengine_qpf2.cpp +@@ -37,6 +37,7 @@ + ** + ****************************************************************************/ + ++#include <limits> + #include "qfontengine_qpf2_p.h" + + #include <QtCore/QFile> diff --git a/source/l/qt5/patches/qt5-qtdeclarative-gcc11.patch b/source/l/qt5/patches/qt5-qtdeclarative-gcc11.patch new file mode 100644 index 00000000..91ea88b9 --- /dev/null +++ b/source/l/qt5/patches/qt5-qtdeclarative-gcc11.patch @@ -0,0 +1,21 @@ +--- ./qtdeclarative/src/qml/jsruntime/qv4regexp_p.h.orig 2020-10-27 03:02:12.000000000 -0500 ++++ ./qtdeclarative/src/qml/jsruntime/qv4regexp_p.h 2021-08-05 13:38:38.366445122 -0500 +@@ -57,7 +57,7 @@ + #include <wtf/FastAllocBase.h> + #include <wtf/BumpPointerAllocator.h> + +-#include <limits.h> ++#include <limits> + + #include <yarr/Yarr.h> + #include <yarr/YarrInterpreter.h> +--- ./qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h.orig 2020-10-27 03:02:12.000000000 -0500 ++++ ./qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h 2021-08-05 13:39:39.671441731 -0500 +@@ -48,6 +48,7 @@ + #include <QtCore/qmetatype.h> + + #include <initializer_list> ++#include <limits> + #include <type_traits> + + // diff --git a/source/l/qt5/patches/qt5-qtwebengine-gcc11.patch b/source/l/qt5/patches/qt5-qtwebengine-gcc11.patch new file mode 100644 index 00000000..3b2606e6 --- /dev/null +++ b/source/l/qt5/patches/qt5-qtwebengine-gcc11.patch @@ -0,0 +1,20 @@ +-- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
+@@ -40,6 +40,7 @@
+ #include "absl/base/internal/hide_ptr.h"
+ #include "absl/base/internal/raw_logging.h"
+ #include "absl/base/internal/spinlock.h"
++#include <limits>
+
+ // Do not use STL. This module does not use standard memory allocation.
+
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h
+@@ -19,6 +19,7 @@
+
+ #include <stddef.h>
+ #include <stdint.h>
++#include <limits>
+
+ #include <unordered_map>
+ #include <vector>
diff --git a/source/l/qt5/patches/qt5-qtwebsockets-gcc11.patch b/source/l/qt5/patches/qt5-qtwebsockets-gcc11.patch new file mode 100644 index 00000000..5b33d7b3 --- /dev/null +++ b/source/l/qt5/patches/qt5-qtwebsockets-gcc11.patch @@ -0,0 +1,12 @@ +diff --git a/src/websockets/qwebsocketprotocol.cpp b/src/websockets/qwebsocketprotocol.cpp +index df87a93..9556d18 100644 +--- a/src/websockets/qwebsocketprotocol.cpp ++++ b/src/websockets/qwebsocketprotocol.cpp +@@ -38,6 +38,7 @@ + ****************************************************************************/ + + #include "qwebsocketprotocol_p.h" ++#include <limits> + #include <QtCore/QString> + #include <QtCore/QSet> + #include <QtCore/QtEndian> diff --git a/source/l/qt5/patches/qtconcurrentthreadengine.h-gcc11.patch b/source/l/qt5/patches/qtconcurrentthreadengine.h-gcc11.patch new file mode 100644 index 00000000..534b594d --- /dev/null +++ b/source/l/qt5/patches/qtconcurrentthreadengine.h-gcc11.patch @@ -0,0 +1,14 @@ +--- ./qtbase/src/concurrent/qtconcurrentthreadengine.h.orig 2020-10-27 03:02:11.000000000 -0500 ++++ ./qtbase/src/concurrent/qtconcurrentthreadengine.h 2021-08-05 14:20:37.774305766 -0500 +@@ -247,8 +247,9 @@ + class ThreadEngineStarter<void> : public ThreadEngineStarterBase<void> + { + public: +- ThreadEngineStarter<void>(ThreadEngine<void> *_threadEngine) +- :ThreadEngineStarterBase<void>(_threadEngine) {} ++ ThreadEngineStarter(ThreadEngine<void> *_threadEngine) ++ : ThreadEngineStarterBase<void>(_threadEngine) {} ++ + + void startBlocking() + { diff --git a/source/l/qt5/qt5.SlackBuild b/source/l/qt5/qt5.SlackBuild index a406bd9f..d6de2438 100755 --- a/source/l/qt5/qt5.SlackBuild +++ b/source/l/qt5/qt5.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -31,7 +31,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=qt5 VERSION=$(ls qt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev) -BUILD=${BUILD:-10} +BUILD=${BUILD:-11} PKGSRC=$(echo $VERSION | cut -d - -f 1) PKGVER=$(echo $VERSION | tr - _) @@ -124,6 +124,20 @@ fi # Fix path to mysql header: zcat $CWD/patches/qt5.mysql.h.diff.gz | patch -p1 --verbose || exit 1 +# Fix build with gcc11: +cd qtbase + zcat $CWD/patches/qt5-qtbase-gcc11.patch.gz | patch -p1 --verbose || exit 1 + zcat $CWD/patches/0006-Fix-build-with-GCC-11-include-limits.patch.gz | patch -p1 --verbose || exit 1 +cd - 1>/dev/null +zcat $CWD/patches/qt5-qtdeclarative-gcc11.patch.gz | patch -p1 --verbose || exit 1 +cd qtwebsockets + zcat $CWD/patches/qt5-qtwebsockets-gcc11.patch.gz | patch -p1 --verbose || exit 1 +cd - 1>/dev/null +zcat $CWD/patches/qtconcurrentthreadengine.h-gcc11.patch.gz | patch -p1 --verbose || exit 1 +cd qtwebengine + zcat $CWD/patches/qt5-qtwebengine-gcc11.patch.gz | patch -p1 --verbose || exit 1 +cd - 1>/dev/null + # CMake generates wrong -isystem /usr/include compilations flags with Qt5::Gui # and for it breaks KWin compilation with: # /usr/include/c++/9.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory @@ -217,7 +231,9 @@ export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins" # Sometimes a failure happens when parallelizing make. Try again if make fails, # but make a failure the second time around (single threaded) a fatal error: -make $NUMJOBS || make || exit 1 +#### DEBUG +make $NUMJOBS || exit 1 +#make $NUMJOBS || make || exit 1 make install INSTALL_ROOT=$PKG || exit 1 # Strip binaries: diff --git a/source/l/tidy-html5/tidy-html5.SlackBuild b/source/l/tidy-html5/tidy-html5.SlackBuild index 5b42defa..70402eaa 100755 --- a/source/l/tidy-html5/tidy-html5.SlackBuild +++ b/source/l/tidy-html5/tidy-html5.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2020, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=tidy-html5 VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -102,7 +102,7 @@ cd cmake-build cd .. # Don't package static library: -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libtidys.a +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libtidy.a # Strip binaries: find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null diff --git a/source/l/v4l-utils/v4l-utils.SlackBuild b/source/l/v4l-utils/v4l-utils.SlackBuild index e2ac7aa3..f83a0899 100755 --- a/source/l/v4l-utils/v4l-utils.SlackBuild +++ b/source/l/v4l-utils/v4l-utils.SlackBuild @@ -79,9 +79,12 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +# Using -std=gnu++14 to fix compile with gcc11 - revisit later to see if it's +# still needed. + # Configure: CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS -std=gnu++14" \ ./configure \ --prefix=/usr \ --sysconfdir=/etc \ diff --git a/source/n/ModemManager/ModemManager.SlackBuild b/source/n/ModemManager/ModemManager.SlackBuild index fdb4017e..84ca46a6 100755 --- a/source/n/ModemManager/ModemManager.SlackBuild +++ b/source/n/ModemManager/ModemManager.SlackBuild @@ -29,7 +29,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=ModemManager VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d- | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/n/dhcpcd/dhcpcd-8.1.9.tar.xz.distinfo b/source/n/dhcpcd/dhcpcd-8.1.9.tar.xz.distinfo deleted file mode 100644 index 395b1162..00000000 --- a/source/n/dhcpcd/dhcpcd-8.1.9.tar.xz.distinfo +++ /dev/null @@ -1 +0,0 @@ -SHA256 (dhcpcd-8.1.9.tar.xz) = 8e2a505eb2bd8007d7c6fd855fcb4dd28cced8fc28886c7ce41fb4fc5630fbcf diff --git a/source/n/dhcpcd/dhcpcd-9.4.0.tar.xz.distinfo b/source/n/dhcpcd/dhcpcd-9.4.0.tar.xz.distinfo new file mode 100644 index 00000000..fa1cbf65 --- /dev/null +++ b/source/n/dhcpcd/dhcpcd-9.4.0.tar.xz.distinfo @@ -0,0 +1 @@ +SHA256 (dhcpcd-9.4.0.tar.xz) = 41a69297f380bf15ee8f94f73154f8c2bca7157a087c0d5aca8de000ba1d4513 diff --git a/source/n/dhcpcd/dhcpcd.SlackBuild b/source/n/dhcpcd/dhcpcd.SlackBuild index 1a7e1526..2027e5b6 100755 --- a/source/n/dhcpcd/dhcpcd.SlackBuild +++ b/source/n/dhcpcd/dhcpcd.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=dhcpcd VERSION=${VERSION:-$(echo dhcpcd-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/n/dhcpcd/patches/use-hostname_short-in-dhcpcd.conf.patch b/source/n/dhcpcd/patches/use-hostname_short-in-dhcpcd.conf.patch index 077aa17b..75322ad8 100644 --- a/source/n/dhcpcd/patches/use-hostname_short-in-dhcpcd.conf.patch +++ b/source/n/dhcpcd/patches/use-hostname_short-in-dhcpcd.conf.patch @@ -1,11 +1,10 @@ -diff -Nur dhcpcd-7.0.0.orig/src/dhcpcd.conf dhcpcd-7.0.0/src/dhcpcd.conf ---- dhcpcd-7.0.0.orig/src/dhcpcd.conf 2018-01-01 05:17:56.000000000 -0600 -+++ dhcpcd-7.0.0/src/dhcpcd.conf 2018-01-02 04:14:37.026484155 -0600 +--- ./src/dhcpcd.conf.orig 2021-08-09 22:58:29.034640117 -0500 ++++ ./src/dhcpcd.conf 2021-08-09 23:00:11.296642405 -0500 @@ -5,7 +5,7 @@ #controlgroup wheel # Inform the DHCP server of our hostname for DDNS. --hostname +-#hostname +hostname_short # Use the hardware address of the interface for the Client ID. diff --git a/source/n/nmap/nmap.SlackBuild b/source/n/nmap/nmap.SlackBuild index c2ba46ab..b35e4133 100755 --- a/source/n/nmap/nmap.SlackBuild +++ b/source/n/nmap/nmap.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=nmap VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/n/openresolv/doinst.sh b/source/n/openresolv/doinst.sh new file mode 100644 index 00000000..810b1c10 --- /dev/null +++ b/source/n/openresolv/doinst.sh @@ -0,0 +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/resolvconf.conf.new +# This file is optional (added with OPENVPN=yes); let's make sure it exists +if [ -e etc/openvpn/update-resolv-conf.new ]; then + config etc/openvpn/update-resolv-conf.new +fi diff --git a/source/n/openresolv/openresolv-3.12.0.tar.xz.distinfo b/source/n/openresolv/openresolv-3.12.0.tar.xz.distinfo new file mode 100644 index 00000000..c2f8e4a1 --- /dev/null +++ b/source/n/openresolv/openresolv-3.12.0.tar.xz.distinfo @@ -0,0 +1 @@ +SHA256 (openresolv-3.12.0.tar.xz) = 42b30508e857a228535c631eaac936862d86eca68c14b5c0bf387ba176b91b97 diff --git a/source/n/openresolv/openresolv.SlackBuild b/source/n/openresolv/openresolv.SlackBuild new file mode 100755 index 00000000..85c340e9 --- /dev/null +++ b/source/n/openresolv/openresolv.SlackBuild @@ -0,0 +1,134 @@ +#!/bin/bash + +# Copyright 2012-2013 synbq Bucharest +# Copyright 2017-2021 Jeremy Hansen <jebrhansen+SBo -at- gmail.com> +# Copyright 2021 Patrick J. Volkerding, Sebeka, Minnesota, 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. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=openresolv +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +# Set this option to yes to add an optional config script for OpenVPN: +OPENVPN=${OPENVPN:-no} + +# 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 + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-noarch-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || 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 {} \+ + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libexecdir=/usr/libexec/openresolv \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mv $PKG/etc/resolvconf.conf $PKG/etc/resolvconf.conf.new +if [ "${OPENVPN}" = "yes" ]; then + mkdir -p $PKG/etc/openvpn + install -m 0755 $CWD/update-resolv-conf $PKG/etc/openvpn/update-resolv-conf.new +fi + +## There are no ELF objects in this package... +## Strip binaries: +#find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual 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 + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + LICENSE* COPYING* README* \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-noarch-$BUILD.txz diff --git a/source/n/openresolv/openresolv.url b/source/n/openresolv/openresolv.url new file mode 100644 index 00000000..1ca43733 --- /dev/null +++ b/source/n/openresolv/openresolv.url @@ -0,0 +1 @@ +https://roy.marples.name/downloads/openresolv/ diff --git a/source/n/openresolv/slack-desc b/source/n/openresolv/slack-desc new file mode 100644 index 00000000..c4d8a732 --- /dev/null +++ b/source/n/openresolv/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------------------------------------------------------| +openresolv: openresolv (management framework for resolv.conf) +openresolv: +openresolv: Allows multiple daemons to manage resolv.conf and configures local +openresolv: resolvers such as dnsmasq and unbound. +openresolv: This package may require some manual configuration. +openresolv: Please read resolvconf(8) and resolvconf.conf(5) for detailed +openresolv: instructions. +openresolv: +openresolv: Homepage: https://roy.marples.name/projects/openresolv +openresolv: +openresolv: diff --git a/source/n/openresolv/update-resolv-conf b/source/n/openresolv/update-resolv-conf new file mode 100644 index 00000000..a2026057 --- /dev/null +++ b/source/n/openresolv/update-resolv-conf @@ -0,0 +1,54 @@ +#!/bin/bash +# +# Parses DHCP options from openvpn to update resolv.conf +# To use set as 'up' and 'down' script in your openvpn *.conf: +# up /etc/openvpn/update-resolv-conf +# down /etc/openvpn/update-resolv-conf +# +# Used snippets of resolvconf script by Thomas Hood <jdthood@yahoo.co.uk> +# and Chris Hanson +# Licensed under the GNU GPL. See /usr/share/common-licenses/GPL. +# +# 05/2006 chlauber@bnc.ch +# +# Example envs set from openvpn: +# foreign_option_1='dhcp-option DNS 193.43.27.132' +# foreign_option_2='dhcp-option DNS 193.43.27.133' +# foreign_option_3='dhcp-option DOMAIN be.bnc.ch' + +[ -x /usr/sbin/resolvconf ] || exit 0 + +case $script_type in + +up) + for optionname in ${!foreign_option_*} ; do + option="${!optionname}" + echo $option + part1=$(echo "$option" | cut -d " " -f 1) + if [ "$part1" == "dhcp-option" ] ; then + part2=$(echo "$option" | cut -d " " -f 2) + part3=$(echo "$option" | cut -d " " -f 3) + if [ "$part2" == "DNS" ] ; then + IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3" + fi + if [ "$part2" == "DOMAIN" ] ; then + IF_DNS_SEARCH="$IF_DNS_SEARCH $part3" + fi + fi + done + R="" + for SS in $IF_DNS_SEARCH ; do + R="${R}search $SS +" + done + for NS in $IF_DNS_NAMESERVERS ; do + R="${R}nameserver $NS +" + done + echo -n "$R" | /usr/sbin/resolvconf -x -a "${dev}.inet" + ;; +down) + /usr/sbin/resolvconf -d "${dev}.inet" + ;; +esac + diff --git a/source/n/php/php.SlackBuild b/source/n/php/php.SlackBuild index 9b7cde93..9e03145a 100755 --- a/source/n/php/php.SlackBuild +++ b/source/n/php/php.SlackBuild @@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=php VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} ALPINE=2.24 -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/x/libepoxy/libepoxy.url b/source/x/libepoxy/libepoxy.url index 91bbee9f..bf9b5eda 100644 --- a/source/x/libepoxy/libepoxy.url +++ b/source/x/libepoxy/libepoxy.url @@ -1 +1 @@ -https://github.com/anholt/libepoxy/releases/download/1.5.8/libepoxy-1.5.8.tar.xz +https://github.com/anholt/libepoxy/releases/download/1.5.9/libepoxy-1.5.9.tar.xz diff --git a/source/x/vulkan-sdk/vulkan-sdk.SlackBuild b/source/x/vulkan-sdk/vulkan-sdk.SlackBuild index a6ee5ae2..72a86f7d 100755 --- a/source/x/vulkan-sdk/vulkan-sdk.SlackBuild +++ b/source/x/vulkan-sdk/vulkan-sdk.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=vulkan-sdk # The ./VERSION file is created by ./fetch-sources.sh: VERSION=${VERSION:-$(cat VERSION)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -461,7 +461,7 @@ mkdir -p build cd build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=stringop-overflow" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ .. @@ -484,7 +484,7 @@ mkdir -p build cd build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=stringop-truncation" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_INCLUDEDIR=include/dxc \ diff --git a/source/x/x11/build/xrdb b/source/x/x11/build/xrdb index 00750edc..d00491fd 100644 --- a/source/x/x11/build/xrdb +++ b/source/x/x11/build/xrdb @@ -1 +1 @@ -3 +1 diff --git a/source/xap/fluxbox/fluxbox.SlackBuild b/source/xap/fluxbox/fluxbox.SlackBuild index 5bb39832..934b6b0a 100755 --- a/source/xap/fluxbox/fluxbox.SlackBuild +++ b/source/xap/fluxbox/fluxbox.SlackBuild @@ -83,6 +83,9 @@ zcat $CWD/fluxbox.startfluxbox.dbus.diff.gz | patch -p1 --verbose || exit 1 # Fix multimedia volume keys: zcat $CWD/fluxbox.keys.diff.gz | patch -p1 --verbose || exit 1 +# Fix build with gcc11: +zcat $CWD/fluxbox.gcc11.patch.gz | patch -p1 --verbose || exit 1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xap/fluxbox/fluxbox.gcc11.patch b/source/xap/fluxbox/fluxbox.gcc11.patch new file mode 100644 index 00000000..f0184971 --- /dev/null +++ b/source/xap/fluxbox/fluxbox.gcc11.patch @@ -0,0 +1,11 @@ +--- ./util/fluxbox-remote.cc.orig 2015-02-08 04:44:45.377187009 -0600 ++++ ./util/fluxbox-remote.cc 2021-08-05 23:16:44.301526535 -0500 +@@ -73,7 +73,7 @@ + if (strcmp(cmd, "result") == 0) { + XTextProperty text_prop; + if (XGetTextProperty(disp, root, &text_prop, atom_result) != 0 +- && text_prop.value > 0 ++ && text_prop.value != 0 + && text_prop.nitems > 0) { + + printf("%s", text_prop.value); diff --git a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build b/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build index d0813df0..aa09beab 100755 --- a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build +++ b/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build @@ -81,6 +81,9 @@ if [ ! -z $LIBDIRSUFFIX ]; then sed -i "s|lib/|lib${LIBDIRSUFFIX}/|g" tools/install.py fi +# Use gcc as there have been linker failures with objects build with clang: +CC="gcc" \ +CXX="g++" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url b/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url index 88bd888a..75f7f4d3 100644 --- a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url +++ b/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url @@ -1,2 +1,2 @@ -https://nodejs.org/dist/latest-v14.x/node-v14.17.1.tar.xz +https://nodejs.org/dist/v10.16.0/node-v10.16.0.tar.gz #https://github.com/nodejs/node diff --git a/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild b/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild index d81bea33..4b558e78 100755 --- a/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild +++ b/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild @@ -333,8 +333,8 @@ DESTDIR=$PKG ./mach install || exit 1 # Strip binaries: find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -# Clean up the build time dependencies: -rm -rf $TMP/mozilla-firefox-build-deps +## Clean up the build time dependencies: +#rm -rf $TMP/mozilla-firefox-build-deps # We don't need these (just symlinks anyway): rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$RELEASEVER diff --git a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build index 6f98074f..e07f5a72 100755 --- a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build +++ b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build @@ -81,6 +81,9 @@ if [ ! -z $LIBDIRSUFFIX ]; then sed -i "s|lib/|lib${LIBDIRSUFFIX}/|g" tools/install.py fi +# Use gcc as there have been linker failures with objects build with clang: +CC="gcc" \ +CXX="g++" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff b/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff index 75980927..115ba0e7 100644 --- a/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff +++ b/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff @@ -1,27 +1,31 @@ ---- ./config/makefiles/rust.mk.orig 2020-08-04 21:42:49.000000000 -0500 -+++ ./config/makefiles/rust.mk 2020-08-24 21:44:11.930497037 -0500 -@@ -303,15 +303,15 @@ +--- ./config/makefiles/rust.mk.orig 2021-03-15 12:42:08.219987929 -0500 ++++ ./config/makefiles/rust.mk 2021-03-15 12:43:15.996984180 -0500 +@@ -332,17 +332,17 @@ # the chance of proxy bypasses originating from rust code. - # The check only works when rust code is built with -Clto. + # The check only works when rust code is built with -Clto but without MOZ_LTO_RUST_CROSS. # Sanitizers and sancov also fail because compiler-rt hooks network functions. -ifndef MOZ_PROFILE_GENERATE -ifeq ($(OS_ARCH), Linux) -ifeq (,$(rustflags_sancov)$(MOZ_ASAN)$(MOZ_TSAN)$(MOZ_UBSAN)) +-ifndef MOZ_LTO_RUST_CROSS -ifneq (,$(filter -Clto,$(cargo_rustc_flags))) - $(call py_action,check_binary,--target --networking $@) -endif -endif -endif -endif +-endif +#ifndef MOZ_PROFILE_GENERATE +#ifeq ($(OS_ARCH), Linux) +#ifeq (,$(rustflags_sancov)$(MOZ_ASAN)$(MOZ_TSAN)$(MOZ_UBSAN)) ++#ifndef MOZ_LTO_RUST_CROSS +#ifneq (,$(filter -Clto,$(cargo_rustc_flags))) +# $(call py_action,check_binary,--target --networking $@) +#endif +#endif +#endif +#endif ++#endif force-cargo-library-check: $(call CARGO_CHECK) --lib $(cargo_target_flag) $(rust_features_flag) diff --git a/source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch b/source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch deleted file mode 100644 index 7309b55a..00000000 --- a/source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/xpcom/glue/objs.mk -+++ a/xpcom/glue/objs.mk -@@ -71,13 +71,13 @@ XPCOM_GLUENS_SRC_LCPPSRCS = \ - SSE.cpp \ - unused.cpp \ - nsProxyRelease.cpp \ - nsTextFormatter.cpp \ - GenericFactory.cpp \ - FileUtils.cpp \ - $(NULL) - --ifeq (arm,$(TARGET_CPU)) -+ifneq (,$(filter arm%,$(TARGET_CPU))) - XPCOM_GLUENS_SRC_LCPPSRCS += arm.cpp - endif - - XPCOM_GLUENS_SRC_CPPSRCS = $(addprefix $(topsrcdir)/xpcom/glue/,$(XPCOM_GLUENS_SRC_LCPPSRCS)) - diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild index afc9aa5b..3ad94b60 100755 --- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild +++ b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild @@ -50,14 +50,6 @@ LANG=C # this to something other than "YES": MOZ_ALLOW_DOWNGRADE=${MOZ_ALLOW_DOWNGRADE:-YES} -# This can be set to YES or NO: -ENABLE_CALENDAR=${ENABLE_CALENDAR:-YES} -if [ "$ENABLE_CALENDAR" = "NO" ]; then - ENABLE_CALENDAR="--disable-calendar" -else - ENABLE_CALENDAR="--enable-calendar" -fi - # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -192,8 +184,6 @@ fi # Arch-dependent patches: case "$ARCH" in armv7hl) ARCH_CONFIG="--with-arch=armv7-a --with-float-abi=hard --with-fpu=vfpv3-d16 --disable-elf-hack" - # Make Thunderbird compile on ARM platforms lacking neon support: - zcat $CWD/mozilla-firefox.xpcom_arm.patch.gz | patch -p1 --verbose || exit 1 ;; *) ARCH_CONFIG=" " ;; @@ -216,7 +206,6 @@ OPTIONS="\ --with-system-nspr \ --enable-alsa \ --enable-application=comm/mail \ - $ENABLE_CALENDAR \ --enable-default-toolkit=cairo-gtk3-wayland \ --enable-linker=$LINKER \ --disable-strip \ @@ -291,8 +280,8 @@ DESTDIR=$PKG ./mach install || exit 1 # Strip binaries: find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -# Clean up the build time dependencies: -rm -rf $TMP/mozilla-thunderbird-build-deps +## Clean up the build time dependencies: +#rm -rf $TMP/mozilla-thunderbird-build-deps # We don't need these (just symlinks anyway): rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$RELEASEVER diff --git a/source/xap/network-manager-applet/network-manager-applet.SlackBuild b/source/xap/network-manager-applet/network-manager-applet.SlackBuild index f033b3e1..1e39ed78 100755 --- a/source/xap/network-manager-applet/network-manager-applet.SlackBuild +++ b/source/xap/network-manager-applet/network-manager-applet.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=network-manager-applet VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/xap/pan/pan.SlackBuild b/source/xap/pan/pan.SlackBuild index d9cacee9..a7dec169 100755 --- a/source/xap/pan/pan.SlackBuild +++ b/source/xap/pan/pan.SlackBuild @@ -81,6 +81,8 @@ zcat $CWD/pan.glib-2.68.0.diff.gz | patch -p1 --verbose || exit 1 # Build with enchant-2: zcat $CWD/pan.enchant2.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/pan.gcc11.diff.gz | patch -p1 --verbose || exit 1 + # Configure: CFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xap/pan/pan.gcc11.diff b/source/xap/pan/pan.gcc11.diff new file mode 100644 index 00000000..fe7e6b2f --- /dev/null +++ b/source/xap/pan/pan.gcc11.diff @@ -0,0 +1,20 @@ +--- ./pan/usenet-utils/mime-utils.cc.orig 2019-09-29 16:01:34.000000000 -0500 ++++ ./pan/usenet-utils/mime-utils.cc 2021-08-05 23:56:48.628393544 -0500 +@@ -1749,7 +1749,7 @@ + #ifdef HAVE_GMIME_30 + GMimeObject *gmo; + gmo = g_mime_message_get_mime_part (body); +- if (g_mime_multipart_signed_sign (gpg_ctx, gmo, uid.c_str(), &err) <0) ++ if (g_mime_multipart_signed_sign (gpg_ctx, gmo, uid.c_str(), &err) != 0) + #else + if (g_mime_multipart_signed_sign (mps, GMIME_OBJECT (part), gpg_ctx, uid.c_str(), GMIME_DIGEST_ALGO_SHA1, &err) <0) + #endif +@@ -1784,7 +1784,7 @@ + + #ifdef HAVE_GMIME_30 + if (g_mime_multipart_encrypted_encrypt(gpg_ctx, GMIME_OBJECT (part), sign, uid.c_str(), +- GMIME_ENCRYPT_NONE, rcp, &err) < 0) ++ GMIME_ENCRYPT_NONE, rcp, &err) != 0) + #else + if (g_mime_multipart_encrypted_encrypt(mpe, GMIME_OBJECT (part), gpg_ctx, sign, + uid.c_str(), GMIME_DIGEST_ALGO_SHA1, rcp, &err) < 0) |