summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/.rootbld-repositories4
-rw-r--r--user/accountsservice/APKBUILD6
-rw-r--r--user/accountsservice/disable-msgfmt8
-rw-r--r--user/adwaita-icon-theme/APKBUILD6
-rw-r--r--user/alegreya/APKBUILD4
-rw-r--r--user/alkimia/APKBUILD11
-rw-r--r--user/alpine/APKBUILD46
-rw-r--r--user/alpine/support-musl.patch20
-rw-r--r--user/analitza/APKBUILD4
-rw-r--r--user/anonymous-pro/APKBUILD14
-rw-r--r--user/ant/APKBUILD58
-rw-r--r--user/ant/ant.sh3
-rw-r--r--user/ant/imageio_fix_java_test.patch26
-rw-r--r--user/ant/imageio_fix_test.patch23
-rw-r--r--user/apache-httpd/APKBUILD4
-rw-r--r--user/apr/APKBUILD6
-rw-r--r--user/ark/APKBUILD4
-rw-r--r--user/artikulate/APKBUILD4
-rw-r--r--user/at-spi2-atk/APKBUILD4
-rw-r--r--user/at-spi2-core/APKBUILD4
-rw-r--r--user/atk/APKBUILD4
-rw-r--r--user/atril/APKBUILD44
-rw-r--r--user/ayatana-ido/APKBUILD46
-rw-r--r--user/ayatana-ido/gtk-doc-fix.patch16
-rw-r--r--user/baloo-widgets/APKBUILD9
-rw-r--r--user/baloo-widgets/frameworks.patch11
-rw-r--r--user/blinken/APKBUILD4
-rw-r--r--user/bomber/APKBUILD4
-rw-r--r--user/bovo/APKBUILD4
-rw-r--r--user/btrfs-progs/APKBUILD4
-rw-r--r--user/bugzilla/APKBUILD4
-rw-r--r--user/caja-dropbox/APKBUILD38
-rw-r--r--user/caja-extensions/APKBUILD37
-rw-r--r--user/caja/APKBUILD44
-rw-r--r--user/cantor/APKBUILD4
-rw-r--r--user/cdrtools/APKBUILD34
-rw-r--r--user/cgmanager/APKBUILD6
-rw-r--r--user/checkbashisms/APKBUILD6
-rw-r--r--user/chelf/APKBUILD9
-rw-r--r--user/chelf/fix-uninitialised-read.patch11
-rw-r--r--user/chrpath/APKBUILD2
-rw-r--r--user/cifs-utils/APKBUILD9
-rw-r--r--user/clang/0001-Add-support-for-Ad-lie-Linux.patch46
-rw-r--r--user/clang/APKBUILD22
-rw-r--r--user/clang/cfe-005-ppc64-dynamic-linker-path.patch17
-rw-r--r--user/clang/pmmx-musl.patch12
-rw-r--r--user/clang/ppc64-elfv2.patch38
-rw-r--r--user/cmus/APKBUILD6
-rw-r--r--user/cmus/ppc-libatomic.patch29
-rw-r--r--user/cogl/APKBUILD8
-rw-r--r--user/cogl/fix-wayland-egl-check.patch12
-rw-r--r--user/comic-neue/APKBUILD8
-rw-r--r--user/consolekit2/APKBUILD8
-rw-r--r--user/consolekit2/poweroff.patch22
-rw-r--r--user/cracklib/APKBUILD16
-rw-r--r--user/cups-filters/APKBUILD7
-rw-r--r--user/cups/APKBUILD6
-rw-r--r--user/dconf/APKBUILD37
-rw-r--r--user/dialog/APKBUILD2
-rw-r--r--user/dolphin/APKBUILD9
-rw-r--r--user/dolphin/frameworks.patch11
-rw-r--r--user/dosbox/APKBUILD6
-rw-r--r--user/dosbox/gcc8-pmmx.patch32
-rw-r--r--user/dragonplayer/APKBUILD4
-rw-r--r--user/engrampa/APKBUILD39
-rw-r--r--user/eom/APKBUILD39
-rw-r--r--user/ethtool/APKBUILD7
-rw-r--r--user/eudev/APKBUILD14
-rw-r--r--user/evince/APKBUILD8
-rw-r--r--user/exiv2/APKBUILD2
-rw-r--r--user/featherpad/APKBUILD4
-rw-r--r--user/ffmpeg/APKBUILD4
-rw-r--r--user/ffmpegthumbs/APKBUILD4
-rw-r--r--user/fira/APKBUILD25
-rw-r--r--user/fluidsynth/APKBUILD6
-rw-r--r--user/fontawesome/APKBUILD6
-rw-r--r--user/free42/APKBUILD17
-rw-r--r--user/free42/libx11.patch4
-rw-r--r--user/free42/patch.patch8
-rw-r--r--user/free42/unsigned-char.patch15
-rw-r--r--user/freetds/APKBUILD10
-rw-r--r--user/freetype/0001-Enable-table-validation-modules.patch34
-rw-r--r--user/freetype/0002-Enable-subpixel-rendering.patch25
-rw-r--r--user/freetype/0003-Enable-infinality-subpixel-hinting.patch27
-rw-r--r--user/freetype/0004-Enable-long-PCF-family-names.patch25
-rw-r--r--user/freetype/40-memcpy-fix.patch14
-rw-r--r--user/freetype/APKBUILD28
-rw-r--r--user/freetype/freetype-profile.sh12
-rw-r--r--user/fuse/APKBUILD8
-rw-r--r--user/fuse3/APKBUILD6
-rw-r--r--user/gcompat/APKBUILD14
-rw-r--r--user/gdk-pixbuf/APKBUILD11
-rw-r--r--user/giblib/APKBUILD2
-rw-r--r--user/giflib/APKBUILD25
-rw-r--r--user/giflib/xmlto-skip-validation.patch19
-rw-r--r--user/glib-networking/APKBUILD6
-rw-r--r--user/glib/APKBUILD21
-rw-r--r--user/glibmm/APKBUILD6
-rw-r--r--user/gnupg/APKBUILD6
-rw-r--r--user/gnutls/APKBUILD11
-rw-r--r--user/gobject-introspection/APKBUILD9
-rw-r--r--user/gpgme/1.12.0-fix-t-tofuinfo.patch100
-rw-r--r--user/gpgme/APKBUILD20
-rw-r--r--user/gpgme/test32bit.patch93
-rw-r--r--user/granatier/APKBUILD4
-rw-r--r--user/grub/2.02_beta3-mkconfig-alpine.patch30
-rw-r--r--user/grub/APKBUILD9
-rw-r--r--user/grub/default-grub8
-rw-r--r--user/grub/the-arch-everyone-uses-and-nobody-loves.patch72
-rw-r--r--user/gsettings-desktop-schemas/APKBUILD27
-rw-r--r--user/gst-plugins-base/APKBUILD14
-rw-r--r--user/gst-plugins-base/endian.patch11
-rw-r--r--user/gst-plugins-good/APKBUILD4
-rw-r--r--user/gstreamer/APKBUILD4
-rw-r--r--user/gtk+3.0/APKBUILD4
-rw-r--r--user/gtksourceview-3.0/APKBUILD4
-rw-r--r--user/gucharmap/APKBUILD40
-rw-r--r--user/gutenprint/APKBUILD9
-rw-r--r--user/gutenprint/freopen.patch11
-rw-r--r--user/gvim/APKBUILD4
-rw-r--r--user/gwenview/APKBUILD4
-rw-r--r--user/harfbuzz/APKBUILD4
-rw-r--r--user/highlight/APKBUILD4
-rw-r--r--user/http-parser/APKBUILD7
-rw-r--r--user/hwids/APKBUILD4
-rw-r--r--user/i3lock/APKBUILD8
-rw-r--r--user/icewm/APKBUILD4
-rw-r--r--user/icon-naming-utils/APKBUILD2
-rw-r--r--user/imagemagick/APKBUILD4
-rw-r--r--user/ipaexfont/APKBUILD4
-rw-r--r--user/iso-codes/APKBUILD4
-rw-r--r--user/isync/APKBUILD4
-rw-r--r--user/itstool/APKBUILD4
-rw-r--r--user/iw/APKBUILD24
-rw-r--r--user/jasper/APKBUILD7
-rw-r--r--user/java-common/APKBUILD11
-rw-r--r--user/java-common/java.profd2
-rw-r--r--user/juk/APKBUILD4
-rw-r--r--user/kaffeine/APKBUILD4
-rw-r--r--user/kalgebra/APKBUILD4
-rw-r--r--user/kalzium/APKBUILD4
-rw-r--r--user/kanagram/APKBUILD4
-rw-r--r--user/kapman/APKBUILD4
-rw-r--r--user/kate/APKBUILD4
-rw-r--r--user/katomic/APKBUILD4
-rw-r--r--user/kblackbox/APKBUILD4
-rw-r--r--user/kblocks/APKBUILD4
-rw-r--r--user/kbounce/APKBUILD4
-rw-r--r--user/kbreakout/APKBUILD4
-rw-r--r--user/kbruch/APKBUILD4
-rw-r--r--user/kcachegrind/APKBUILD4
-rw-r--r--user/kcalc/APKBUILD4
-rw-r--r--user/kcharselect/APKBUILD4
-rw-r--r--user/kcolorchooser/APKBUILD4
-rw-r--r--user/kconfigwidgets/APKBUILD9
-rw-r--r--user/kconfigwidgets/languagename.patch716
-rw-r--r--user/kde-education/APKBUILD2
-rw-r--r--user/kde-games/APKBUILD2
-rw-r--r--user/kde-graphics/APKBUILD2
-rw-r--r--user/kde-multimedia/APKBUILD2
-rw-r--r--user/kde-system/APKBUILD2
-rw-r--r--user/kde-utilities/APKBUILD2
-rw-r--r--user/kdegraphics-thumbnailers/APKBUILD4
-rw-r--r--user/kdenlive/APKBUILD11
-rw-r--r--user/kdf/APKBUILD4
-rw-r--r--user/kdiamond/APKBUILD4
-rw-r--r--user/keepassxc/APKBUILD12
-rw-r--r--user/kfilemetadata/APKBUILD11
-rw-r--r--user/kfilemetadata/add-formatting-fn.patch479
-rw-r--r--user/kfind/APKBUILD4
-rw-r--r--user/kfloppy/APKBUILD4
-rw-r--r--user/kfourinline/APKBUILD4
-rw-r--r--user/kgeography/APKBUILD4
-rw-r--r--user/kget/APKBUILD4
-rw-r--r--user/kgoldrunner/APKBUILD4
-rw-r--r--user/kgpg/APKBUILD4
-rw-r--r--user/khangman/APKBUILD4
-rw-r--r--user/khelpcenter/APKBUILD9
-rw-r--r--user/khelpcenter/es-doc-fix.patch31
-rw-r--r--user/kig/APKBUILD4
-rw-r--r--user/kigo/APKBUILD4
-rw-r--r--user/killbots/APKBUILD4
-rw-r--r--user/kio-extras/APKBUILD6
-rw-r--r--user/kiriki/APKBUILD4
-rw-r--r--user/kiten/APKBUILD4
-rw-r--r--user/kjumpingcube/APKBUILD4
-rw-r--r--user/kleopatra/APKBUILD9
-rw-r--r--user/kleopatra/qt5.9.patch76
-rw-r--r--user/klettres/APKBUILD4
-rw-r--r--user/klickety/APKBUILD4
-rw-r--r--user/klines/APKBUILD4
-rw-r--r--user/kmag/APKBUILD4
-rw-r--r--user/kmahjongg/APKBUILD4
-rw-r--r--user/kmime/APKBUILD12
-rw-r--r--user/kmime/egregious-versions.patch24
-rw-r--r--user/kmines/APKBUILD4
-rw-r--r--user/kmix/APKBUILD4
-rw-r--r--user/kmousetool/APKBUILD4
-rw-r--r--user/kmplot/APKBUILD4
-rw-r--r--user/knavalbattle/APKBUILD4
-rw-r--r--user/knetwalk/APKBUILD4
-rw-r--r--user/kolf/APKBUILD4
-rw-r--r--user/kollision/APKBUILD4
-rw-r--r--user/kolourpaint/APKBUILD4
-rw-r--r--user/konquest/APKBUILD4
-rw-r--r--user/konsole/APKBUILD9
-rw-r--r--user/konsole/cursor.patch87
-rw-r--r--user/kpat/APKBUILD4
-rw-r--r--user/kphotoalbum/APKBUILD6
-rw-r--r--user/kpimtextedit/APKBUILD9
-rw-r--r--user/kpimtextedit/qt5.9.patch49
-rw-r--r--user/krdc/APKBUILD4
-rw-r--r--user/kreversi/APKBUILD4
-rw-r--r--user/krfb/APKBUILD4
-rw-r--r--user/krita/APKBUILD6
-rw-r--r--user/kruler/APKBUILD4
-rw-r--r--user/kshisen/APKBUILD4
-rw-r--r--user/ksirk/APKBUILD4
-rw-r--r--user/ksnakeduel/APKBUILD4
-rw-r--r--user/kspaceduel/APKBUILD4
-rw-r--r--user/ksquares/APKBUILD4
-rw-r--r--user/kstars/0001-htmesh-Fix-compile-error-on-modern-Linux-systems.patch25
-rw-r--r--user/kstars/APKBUILD22
-rw-r--r--user/ksudoku/APKBUILD4
-rw-r--r--user/ksystemlog/APKBUILD4
-rw-r--r--user/kteatime/APKBUILD4
-rw-r--r--user/ktimer/APKBUILD4
-rw-r--r--user/ktouch/APKBUILD4
-rw-r--r--user/ktuberling/APKBUILD9
-rw-r--r--user/ktuberling/frameworks.patch11
-rw-r--r--user/kturtle/APKBUILD4
-rw-r--r--user/kubrick/APKBUILD4
-rw-r--r--user/kwalletmanager/APKBUILD4
-rw-r--r--user/kwave/APKBUILD6
-rw-r--r--user/kwave/es-doc-fix.patch101
-rw-r--r--user/kwordquiz/APKBUILD4
-rw-r--r--user/labplot/APKBUILD11
-rw-r--r--user/labplot/liborigin-endian.patch26
-rw-r--r--user/libassuan/APKBUILD6
-rw-r--r--user/libayatana-indicator/APKBUILD44
-rw-r--r--user/libblockdev/APKBUILD4
-rw-r--r--user/libbluray/APKBUILD4
-rw-r--r--user/libcroco/APKBUILD10
-rw-r--r--user/libcroco/CVE-2017-7960.patch58
-rw-r--r--user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch37
-rw-r--r--user/libdc1394/APKBUILD11
-rw-r--r--user/libdrm/APKBUILD7
-rw-r--r--user/libebml/APKBUILD4
-rw-r--r--user/libetpan/APKBUILD17
-rw-r--r--user/libetpan/missing-header.patch32
-rw-r--r--user/libexecinfo/APKBUILD2
-rw-r--r--user/libfakekey/APKBUILD43
-rw-r--r--user/libfm-extra/APKBUILD4
-rw-r--r--user/libfm/APKBUILD18
-rw-r--r--user/libfm/without-extra.patch75
-rw-r--r--user/libfontenc/APKBUILD9
-rw-r--r--user/libfs/APKBUILD9
-rw-r--r--user/libgda/APKBUILD2
-rw-r--r--user/libglade/APKBUILD43
-rw-r--r--user/libgnome-keyring/APKBUILD39
-rw-r--r--user/libgphoto2/APKBUILD4
-rw-r--r--user/libgsf/APKBUILD4
-rw-r--r--user/libgtop/APKBUILD37
-rw-r--r--user/libical/APKBUILD9
-rw-r--r--user/libinput/APKBUILD15
-rw-r--r--user/libkdcraw/APKBUILD4
-rw-r--r--user/libkdegames/APKBUILD4
-rw-r--r--user/libkeduvocdocument/APKBUILD4
-rw-r--r--user/libkexiv2/APKBUILD4
-rw-r--r--user/libkipi/APKBUILD4
-rw-r--r--user/libkleo/APKBUILD9
-rw-r--r--user/libkleo/egregious-versions.patch22
-rw-r--r--user/libkmahjongg/APKBUILD4
-rw-r--r--user/libksane/APKBUILD9
-rw-r--r--user/libksane/frameworks.patch11
-rw-r--r--user/libmatekbd/APKBUILD38
-rw-r--r--user/libmatemixer/APKBUILD51
-rw-r--r--user/libmateweather/APKBUILD37
-rw-r--r--user/libmatroska/APKBUILD4
-rw-r--r--user/libmbim/APKBUILD35
-rw-r--r--user/libmpeg2/APKBUILD12
-rw-r--r--user/libmpeg2/altivec.patch16
-rw-r--r--user/libndp/APKBUILD34
-rw-r--r--user/libnice/APKBUILD4
-rw-r--r--user/libnotify/APKBUILD24
-rw-r--r--user/libopenraw/APKBUILD8
-rw-r--r--user/libpeas/APKBUILD39
-rw-r--r--user/libpng/APKBUILD6
-rw-r--r--user/libpsl/APKBUILD4
-rw-r--r--user/libqmatrixclient/APKBUILD11
-rw-r--r--user/libqmi/APKBUILD35
-rw-r--r--user/libsecret/APKBUILD7
-rw-r--r--user/libshout/APKBUILD6
-rw-r--r--user/libsoup/APKBUILD32
-rw-r--r--user/libssh2/APKBUILD11
-rw-r--r--user/libtap/APKBUILD12
-rw-r--r--user/libtommath/APKBUILD7
-rw-r--r--user/libuninameslist/APKBUILD7
-rw-r--r--user/libutempter/APKBUILD2
-rw-r--r--user/libva/APKBUILD13
-rw-r--r--user/libvdpau/APKBUILD18
-rw-r--r--user/libvncserver/APKBUILD35
-rw-r--r--user/libwacom/APKBUILD15
-rw-r--r--user/libwacom/fix-database.patch15
-rw-r--r--user/libwnck/APKBUILD39
-rw-r--r--user/libwpd/APKBUILD13
-rw-r--r--user/libwpg/APKBUILD18
-rw-r--r--user/libxcomposite/APKBUILD21
-rw-r--r--user/libxcursor/APKBUILD11
-rw-r--r--user/libxdamage/APKBUILD18
-rw-r--r--user/libxdmcp/APKBUILD12
-rw-r--r--user/libxext/APKBUILD14
-rw-r--r--user/libxft/APKBUILD14
-rw-r--r--user/libxkbfile/APKBUILD11
-rw-r--r--user/libxklavier/APKBUILD6
-rw-r--r--user/libxmu/APKBUILD15
-rw-r--r--user/libxrandr/APKBUILD12
-rw-r--r--user/libxres/APKBUILD34
-rw-r--r--user/libxvmc/APKBUILD13
-rw-r--r--user/libxxf86dga/APKBUILD11
-rw-r--r--user/libzip/APKBUILD9
-rw-r--r--user/lighttpd/APKBUILD4
-rw-r--r--user/links/APKBUILD6
-rw-r--r--user/lksctp-tools/APKBUILD18
-rw-r--r--user/lksctp-tools/header-install.patch32
-rw-r--r--user/llvm7/more-secure-plt.patch15
-rw-r--r--user/llvm7/ppc32-calling-convention.patch69
-rw-r--r--user/llvm8/APKBUILD (renamed from user/llvm7/APKBUILD)19
-rw-r--r--user/llvm8/disable-FileSystemTest.CreateDir-perms-assert.patch (renamed from user/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch)0
-rw-r--r--user/llvm8/disable-dlclose-test.patch (renamed from user/llvm7/disable-dlclose-test.patch)0
-rw-r--r--user/llvm8/even-more-secure-plt.patch (renamed from user/llvm7/even-more-secure-plt.patch)0
-rw-r--r--user/llvm8/llvm-fix-build-with-musl-libc.patch (renamed from user/llvm7/llvm-fix-build-with-musl-libc.patch)0
-rw-r--r--user/llvm8/more-secure-plt.patch28
-rw-r--r--user/llvm8/musl-ppc64-elfv2.patch (renamed from user/llvm7/musl-ppc64-elfv2.patch)0
-rw-r--r--user/llvm8/python3-test.patch (renamed from user/llvm7/python3-test.patch)0
-rw-r--r--user/lskat/APKBUILD4
-rw-r--r--user/luarocks/APKBUILD4
-rw-r--r--user/lynx/APKBUILD2
-rw-r--r--user/makedepend/APKBUILD9
-rw-r--r--user/marble/APKBUILD4
-rw-r--r--user/marco/APKBUILD40
-rw-r--r--user/marco/correctly-posix.patch12
-rw-r--r--user/mate-applets/APKBUILD41
-rw-r--r--user/mate-backgrounds/APKBUILD37
-rw-r--r--user/mate-calc/APKBUILD37
-rw-r--r--user/mate-common/APKBUILD37
-rw-r--r--user/mate-complete/APKBUILD26
-rw-r--r--user/mate-complete/org.adelie-linux.about-mate.desktop8
-rw-r--r--user/mate-control-center/APKBUILD40
-rw-r--r--user/mate-desktop/APKBUILD38
-rw-r--r--user/mate-icon-theme/APKBUILD38
-rw-r--r--user/mate-indicator-applet/APKBUILD38
-rw-r--r--user/mate-media/APKBUILD38
-rw-r--r--user/mate-menus/APKBUILD37
-rw-r--r--user/mate-netbook/APKBUILD38
-rw-r--r--user/mate-notification-daemon/APKBUILD37
-rw-r--r--user/mate-panel/APKBUILD39
-rw-r--r--user/mate-polkit/APKBUILD37
-rw-r--r--user/mate-power-manager/APKBUILD39
-rw-r--r--user/mate-screensaver/APKBUILD38
-rw-r--r--user/mate-sensors-applet/APKBUILD38
-rw-r--r--user/mate-session-manager/APKBUILD37
-rw-r--r--user/mate-settings-daemon/APKBUILD39
-rw-r--r--user/mate-system-monitor/APKBUILD38
-rw-r--r--user/mate-terminal/APKBUILD38
-rw-r--r--user/mate-user-guide/APKBUILD37
-rw-r--r--user/mate-user-share/APKBUILD40
-rw-r--r--user/mate-utils/APKBUILD38
-rw-r--r--user/mednafen/APKBUILD22
-rw-r--r--user/mednafen/ppc.patch11
-rw-r--r--user/mednafen/ppc64.patch13
-rw-r--r--user/mesa-demos/APKBUILD4
-rw-r--r--user/mesa/APKBUILD6
-rw-r--r--user/meson/APKBUILD4
-rw-r--r--user/minuet/APKBUILD4
-rw-r--r--user/mkcomposecache/APKBUILD14
-rw-r--r--user/mkfontdir/APKBUILD41
-rw-r--r--user/mkfontdir/mkfontdir.trigger6
-rw-r--r--user/mkfontscale/APKBUILD10
-rw-r--r--user/mkfontscale/mkfontscale.trigger1
-rw-r--r--user/mlt/APKBUILD8
-rw-r--r--user/mlt/mlt-6.14.0-locale-header.patch12
-rw-r--r--user/mlt/mlt-6.8.0-locale-header.patch18
-rw-r--r--user/modemmanager/01-org.freedesktop.ModemManager.rules8
-rw-r--r--user/modemmanager/APKBUILD48
-rw-r--r--user/modemmanager/no-translit.patch92
-rw-r--r--user/montecarlo/APKBUILD2
-rw-r--r--user/mosh/APKBUILD2
-rw-r--r--user/mozjs/0004-build-Copy-headers-on-install-instead-of-symlinking.patch35
-rw-r--r--user/mozjs/0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch68
-rw-r--r--user/mozjs/0008-tests-Skip-on-all-64-bit-archs.patch51
-rw-r--r--user/mozjs/1002_drop_build_id.patch33
-rw-r--r--user/mozjs/1004_fix_pie_detection.patch34
-rw-r--r--user/mozjs/6006_musl_pthread_setname.patch29
-rw-r--r--user/mozjs/APKBUILD62
-rw-r--r--user/mozjs/baseconfig.patch22
-rw-r--r--user/mozjs/dont-fail-tests-without-ion.patch39
-rw-r--r--user/mozjs/endian.patch141
-rw-r--r--user/mozjs/python3.patch331
-rw-r--r--user/mozo/APKBUILD37
-rw-r--r--user/muparser/APKBUILD17
-rw-r--r--user/mutt/APKBUILD8
-rw-r--r--user/nano/APKBUILD4
-rw-r--r--user/ncompress/APKBUILD8
-rw-r--r--user/networkmanager/01-org.freedesktop.NetworkManager.rules7
-rw-r--r--user/networkmanager/10-openrc-status35
-rw-r--r--user/networkmanager/APKBUILD100
-rw-r--r--user/networkmanager/editline.patch128
-rw-r--r--user/networkmanager/errno.patch21
-rw-r--r--user/networkmanager/musl.patch223
-rw-r--r--user/networkmanager/nm.confd4
-rw-r--r--user/networkmanager/nm.initd58
-rw-r--r--user/networkmanager/tests.patch18
-rw-r--r--user/newt/APKBUILD37
-rw-r--r--user/nextcloud-client/APKBUILD22
-rw-r--r--user/nextcloud-client/no-webengine.patch1040
-rw-r--r--user/nfs-utils/APKBUILD4
-rw-r--r--user/nfs-utils/freeaddrinfo-properly.patch126
-rw-r--r--user/nghttp2/APKBUILD4
-rw-r--r--user/node/APKBUILD71
-rw-r--r--user/node/gyp-python3.patch3862
-rw-r--r--user/node/libatomic.patch14
-rw-r--r--user/node/ppc32.patch18
-rw-r--r--user/node/ppc64.patch40
-rw-r--r--user/node/python3.patch163
-rw-r--r--user/node/stack-silliness.patch14
-rw-r--r--user/node/v8-python3.patch169
-rw-r--r--user/notmuch/APKBUILD4
-rw-r--r--user/nsd/APKBUILD4
-rw-r--r--user/okteta/APKBUILD9
-rw-r--r--user/okular/APKBUILD9
-rw-r--r--user/okular/es-doc-fix.patch11
-rw-r--r--user/opengfx/APKBUILD8
-rw-r--r--user/opengfx/Makefile.patch9
-rw-r--r--user/openjdk7/APKBUILD2
-rw-r--r--user/openjdk8/APKBUILD309
-rw-r--r--user/openjdk8/icedtea-autoconf-config.patch114
-rw-r--r--user/openjdk8/icedtea-hotspot-musl-ppc.patch169
-rw-r--r--user/openjdk8/icedtea-hotspot-musl.patch135
-rw-r--r--user/openjdk8/icedtea-hotspot-noagent-musl.patch79
-rw-r--r--user/openjdk8/icedtea-jdk-execinfo.patch20
-rw-r--r--user/openjdk8/icedtea-jdk-fix-ipv6-init.patch42
-rw-r--r--user/openjdk8/icedtea-jdk-fix-libjvm-load.patch14
-rw-r--r--user/openjdk8/icedtea-jdk-getmntent-buffer.patch88
-rw-r--r--user/openjdk8/icedtea-jdk-includes.patch154
-rw-r--r--user/openjdk8/icedtea-jdk-musl.patch105
-rw-r--r--user/openjdk8/icedtea-jdk-tls-nist-curves.patch47
-rw-r--r--user/openjdk8/remove-gawk.patch125
-rw-r--r--user/openjpeg/APKBUILD13
-rw-r--r--user/openjpeg/fix-include-path.patch11
-rw-r--r--user/openldap/APKBUILD5
-rw-r--r--user/openttd/APKBUILD9
-rw-r--r--user/openttd/icu61.patch45
-rw-r--r--user/opus/APKBUILD4
-rw-r--r--user/orc/APKBUILD10
-rw-r--r--user/orc/orc-0.4.28-ppc64-elfv2.patch28
-rw-r--r--user/otf-culmus/APKBUILD3
-rw-r--r--user/oxygen-fonts/APKBUILD6
-rw-r--r--user/p11-kit/APKBUILD4
-rw-r--r--user/palapeli/APKBUILD4
-rw-r--r--user/parole/APKBUILD4
-rw-r--r--user/pcsc-lite/APKBUILD4
-rw-r--r--user/perl-app-licensecheck/APKBUILD39
-rw-r--r--user/perl-b-hooks-op-check/APKBUILD33
-rw-r--r--user/perl-bareword-filehandles/APKBUILD34
-rw-r--r--user/perl-cgi/APKBUILD4
-rw-r--r--user/perl-class-inspector/APKBUILD4
-rw-r--r--user/perl-data-section/APKBUILD33
-rw-r--r--user/perl-datetime-locale/APKBUILD4
-rw-r--r--user/perl-datetime-timezone/APKBUILD4
-rw-r--r--user/perl-devel-hide/APKBUILD33
-rw-r--r--user/perl-extutils-depends/APKBUILD4
-rw-r--r--user/perl-file-find-object-rule/APKBUILD4
-rw-r--r--user/perl-file-slurp/APKBUILD4
-rw-r--r--user/perl-games-solitaire-verify/APKBUILD6
-rw-r--r--user/perl-http-headers-fast/APKBUILD4
-rw-r--r--user/perl-importer/APKBUILD33
-rw-r--r--user/perl-indirect/APKBUILD33
-rw-r--r--user/perl-inline-c/APKBUILD4
-rw-r--r--user/perl-inline/APKBUILD4
-rw-r--r--user/perl-json-xs/APKBUILD4
-rw-r--r--user/perl-lib-relative/APKBUILD4
-rw-r--r--user/perl-multidimensional/APKBUILD33
-rw-r--r--user/perl-number-range/APKBUILD33
-rw-r--r--user/perl-path-iterator-rule/APKBUILD34
-rw-r--r--user/perl-pod-constants/APKBUILD34
-rw-r--r--user/perl-probe-perl/APKBUILD33
-rw-r--r--user/perl-regexp-pattern-license/APKBUILD34
-rw-r--r--user/perl-regexp-pattern/APKBUILD34
-rw-r--r--user/perl-software-license/APKBUILD33
-rw-r--r--user/perl-sort-key/APKBUILD34
-rw-r--r--user/perl-strictures/APKBUILD33
-rw-r--r--user/perl-string-copyright/APKBUILD33
-rw-r--r--user/perl-string-escape/APKBUILD33
-rw-r--r--user/perl-sub-info/APKBUILD33
-rw-r--r--user/perl-sub-quote/APKBUILD4
-rw-r--r--user/perl-term-size-any/APKBUILD33
-rw-r--r--user/perl-term-size-perl/APKBUILD33
-rw-r--r--user/perl-term-table/APKBUILD33
-rw-r--r--user/perl-test-differences/APKBUILD4
-rw-r--r--user/perl-test-failwarnings/APKBUILD33
-rw-r--r--user/perl-test-filename/APKBUILD33
-rw-r--r--user/perl-test-more-utf8/APKBUILD33
-rw-r--r--user/perl-test-perltidy/APKBUILD7
-rw-r--r--user/perl-test-script/APKBUILD34
-rw-r--r--user/perl-test2-suite/APKBUILD37
-rw-r--r--user/perl-text-template/APKBUILD33
-rw-r--r--user/perl-yaml-libyaml/APKBUILD4
-rw-r--r--user/phonon-vlc/APKBUILD8
-rw-r--r--user/phonon/APKBUILD7
-rw-r--r--user/php7/APKBUILD12
-rw-r--r--user/php7/fix-32bit-int-min.patch1351
-rw-r--r--user/physfs/APKBUILD7
-rw-r--r--user/physlock/APKBUILD12
-rw-r--r--user/physlock/makefile.patch14
-rw-r--r--user/physlock/utmps.patch30
-rw-r--r--user/pixman/APKBUILD4
-rw-r--r--user/pluma/APKBUILD39
-rw-r--r--user/polkit/0001-make-netgroup-support-optional.patch278
-rw-r--r--user/polkit/APKBUILD10
-rw-r--r--user/polkit/CVE-2018-19788.patch183
-rw-r--r--user/postfix/APKBUILD6
-rw-r--r--user/powerpc-utils/APKBUILD11
-rw-r--r--user/ppp/02_all_make-vars.patch185
-rw-r--r--user/ppp/03_all_use_internal_logwtmp.patch22
-rw-r--r--user/ppp/04_all_mpls.patch427
-rw-r--r--user/ppp/06_all_killaddr-smarter.patch131
-rw-r--r--user/ppp/08_all_wait-children.patch76
-rw-r--r--user/ppp/10_all_defaultgateway.patch90
-rw-r--r--user/ppp/12_all_linkpidfile.patch93
-rw-r--r--user/ppp/16_all_auth-fail.patch138
-rw-r--r--user/ppp/18_all_defaultmetric.patch104
-rw-r--r--user/ppp/19_all_radius_pid_overflow.patch14
-rw-r--r--user/ppp/20_all_dev-ppp.patch20
-rw-r--r--user/ppp/21_all_custom_iface_names.patch144
-rw-r--r--user/ppp/24_all_passwordfd-read-early.patch84
-rw-r--r--user/ppp/26_all_pppd-usepeerwins.patch256
-rw-r--r--user/ppp/28_all_connect-errors.patch11
-rw-r--r--user/ppp/30_all_Makefile.patch37
-rw-r--r--user/ppp/32_all_pado-timeout.patch254
-rw-r--r--user/ppp/34_all_lcp-echo-adaptive.patch56
-rw-r--r--user/ppp/50_all_linux-headers.patch28
-rw-r--r--user/ppp/51_all_glibc-2.28.patch110
-rw-r--r--user/ppp/80_all_eaptls-mppe-1.101a.patch3233
-rw-r--r--user/ppp/85_all_dhcp-make-vars.patch19
-rw-r--r--user/ppp/86_all_dhcp-sys_error_to_strerror.patch128
-rw-r--r--user/ppp/APKBUILD125
-rw-r--r--user/ppp/adelie.patch88
-rw-r--r--user/ppp/dhcp.patch324
-rw-r--r--user/ppp/install-path.patch11
-rw-r--r--user/ppp/musl-fix-headers.patch137
-rw-r--r--user/ppp/ppp.mod10
-rw-r--r--user/ppp/ppp.pamd7
-rw-r--r--user/ppp/pppd.initd13
-rw-r--r--user/ppp/utmpx.patch142
-rw-r--r--user/protobuf/APKBUILD46
-rw-r--r--user/protobuf/musl-fix.patch22
-rw-r--r--user/protobuf/trim-rakefile.patch72
-rw-r--r--user/py3-alabaster/APKBUILD34
-rw-r--r--user/py3-babel/APKBUILD33
-rw-r--r--user/py3-cffi/APKBUILD12
-rw-r--r--user/py3-commonmark/APKBUILD29
-rw-r--r--user/py3-freezegun/APKBUILD34
-rw-r--r--user/py3-html5lib/APKBUILD33
-rw-r--r--user/py3-hypothesis/APKBUILD34
-rw-r--r--user/py3-imagesize/APKBUILD33
-rw-r--r--user/py3-jinja2/APKBUILD33
-rw-r--r--user/py3-lxml/APKBUILD9
-rw-r--r--user/py3-mako/APKBUILD10
-rw-r--r--user/py3-markupsafe/APKBUILD33
-rw-r--r--user/py3-packaging/APKBUILD33
-rw-r--r--user/py3-pexpect/APKBUILD7
-rw-r--r--user/py3-pretend/APKBUILD34
-rw-r--r--user/py3-pycairo/APKBUILD5
-rw-r--r--user/py3-pygments/APKBUILD2
-rw-r--r--user/py3-pygobject/APKBUILD8
-rw-r--r--user/py3-pyparsing/APKBUILD34
-rw-r--r--user/py3-pytest-expect/APKBUILD33
-rw-r--r--user/py3-python-dateutil/APKBUILD33
-rw-r--r--user/py3-recommonmark/APKBUILD31
-rw-r--r--user/py3-six/APKBUILD6
-rw-r--r--user/py3-snowballstemmer/APKBUILD33
-rw-r--r--user/py3-sphinx-rtd-theme/APKBUILD30
-rw-r--r--user/py3-sphinx/APKBUILD49
-rw-r--r--user/py3-sphinxcontrib-applehelp/APKBUILD34
-rw-r--r--user/py3-sphinxcontrib-devhelp/APKBUILD34
-rw-r--r--user/py3-sphinxcontrib-htmlhelp/APKBUILD34
-rw-r--r--user/py3-sphinxcontrib-jsmath/APKBUILD34
-rw-r--r--user/py3-sphinxcontrib-qthelp/APKBUILD34
-rw-r--r--user/py3-sphinxcontrib-serializinghtml/APKBUILD34
-rw-r--r--user/py3-twisted/APKBUILD6
-rw-r--r--user/py3-u-msgpack-python/APKBUILD33
-rw-r--r--user/py3-webencodings/APKBUILD34
-rw-r--r--user/qca/APKBUILD8
-rw-r--r--user/qpdf/APKBUILD4
-rw-r--r--user/qt-creator/APKBUILD8
-rw-r--r--user/qt5ct/APKBUILD4
-rw-r--r--user/quassel/APKBUILD9
-rw-r--r--user/quassel/unterminated-mIRC-codes.patch40
-rw-r--r--user/quaternion/APKBUILD13
-rw-r--r--user/rc/APKBUILD5
-rw-r--r--user/ristretto/APKBUILD4
-rw-r--r--user/rocs/APKBUILD4
-rw-r--r--user/rrdtool/APKBUILD10
-rw-r--r--user/rrdtool/disable-rpn2.patch35
-rw-r--r--user/rrdtool/no-posix-fallocate.patch12
-rw-r--r--user/rttr/APKBUILD46
-rw-r--r--user/rttr/arm64.patch22
-rw-r--r--user/rttr/dlclose-doesnt-work.patch94
-rw-r--r--user/rttr/install-doc.patch11
-rw-r--r--user/rttr/permissions.patch36
-rw-r--r--user/ruby-diff-lcs/APKBUILD50
-rw-r--r--user/ruby-diff-lcs/gemspec.patch16
-rw-r--r--user/ruby-rake-compiler/APKBUILD46
-rw-r--r--user/ruby-rake-compiler/gemfile-remove-unwanted-files.patch26
-rw-r--r--user/ruby-rspec-core/APKBUILD41
-rw-r--r--user/ruby-rspec-core/gemspec.patch16
-rw-r--r--user/ruby-rspec-expectations/APKBUILD40
-rw-r--r--user/ruby-rspec-expectations/gemspec.patch12
-rw-r--r--user/ruby-rspec-mocks/APKBUILD40
-rw-r--r--user/ruby-rspec-mocks/gemspec.patch12
-rw-r--r--user/ruby-rspec-support/APKBUILD40
-rw-r--r--user/ruby-rspec-support/gemspec.patch12
-rw-r--r--user/ruby-rspec/APKBUILD43
-rw-r--r--user/ruby-rspec/gemspec.patch14
-rw-r--r--user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch32
-rw-r--r--user/rust/0002-Fix-LLVM-build.patch12
-rw-r--r--user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch27
-rw-r--r--user/rust/0004-Require-static-native-libraries-when-linking-static-.patch40
-rw-r--r--user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch264
-rw-r--r--user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch10
-rw-r--r--user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch66
-rw-r--r--user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch (renamed from user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch)14
-rw-r--r--user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch79
-rw-r--r--user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch (renamed from user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch)14
-rw-r--r--user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch50
-rw-r--r--user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch (renamed from user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch)6
-rw-r--r--user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch67
-rw-r--r--user/rust/0010-Ignore-broken-and-non-applicable-tests.patch104
-rw-r--r--user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch (renamed from user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch)10
-rw-r--r--user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch209
-rw-r--r--user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch (renamed from user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch)20
-rw-r--r--user/rust/0013-Add-foxkit-target-specs.patch (renamed from user/rust/0023-Add-foxkit-target-specs.patch)134
-rw-r--r--user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch75
-rw-r--r--user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch25
-rw-r--r--user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch30
-rw-r--r--user/rust/0016-x.py-Use-python3-instead-of-python.patch22
-rw-r--r--user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch37
-rw-r--r--user/rust/0020-Ignore-broken-and-non-applicable-tests.patch48
-rw-r--r--user/rust/0030-libc-linkage.patch33
-rw-r--r--user/rust/0030-liblibc-linkage.patch17
-rw-r--r--user/rust/0031-liblibc-1b130d4c349d.patch126
-rw-r--r--user/rust/0031-typenum-pmmx.patch33
-rw-r--r--user/rust/0040-rls-atomics.patch35
-rw-r--r--user/rust/APKBUILD99
-rw-r--r--user/sane/APKBUILD15
-rw-r--r--user/scons/APKBUILD7
-rw-r--r--user/sddm/APKBUILD26
-rw-r--r--user/sddm/sddm.initd17
-rw-r--r--user/sddm/xdm.confd1
-rw-r--r--user/shared-mime-info/APKBUILD13
-rw-r--r--user/slang/APKBUILD34
-rw-r--r--user/smake/APKBUILD35
-rw-r--r--user/smartmontools/APKBUILD10
-rw-r--r--user/smartmontools/musl-canonicalize_file_name.patch12
-rw-r--r--user/socat/APKBUILD4
-rw-r--r--user/spectacle/APKBUILD9
-rw-r--r--user/spectacle/qt5.9.patch23
-rw-r--r--user/speech-dispatcher/APKBUILD12
-rw-r--r--user/spice-protocol/APKBUILD11
-rw-r--r--user/spice/APKBUILD5
-rw-r--r--user/sshfs/APKBUILD6
-rw-r--r--user/step/APKBUILD4
-rw-r--r--user/subversion/APKBUILD23
-rw-r--r--user/subversion/apr-1.7.0.patch18
-rw-r--r--user/talloc/APKBUILD13
-rw-r--r--user/talloc/waf-location.patch10
-rw-r--r--user/tellico/APKBUILD9
-rw-r--r--user/terminus-font/75-yes-terminus.conf17
-rw-r--r--user/terminus-font/APKBUILD16
-rw-r--r--user/thunar-volman/APKBUILD4
-rw-r--r--user/thunar/APKBUILD4
-rw-r--r--user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch50
-rw-r--r--user/tigervnc/APKBUILD10
-rw-r--r--user/tigervnc/ensure-throw.patch59
-rw-r--r--user/tigervnc/initialise-var.patch24
-rw-r--r--user/tigervnc/null-termination.patch39
-rw-r--r--user/tinyxml2/APKBUILD38
-rw-r--r--user/tlp/APKBUILD18
-rw-r--r--user/trigger-rally/APKBUILD8
-rw-r--r--user/trigger-rally/trigger-rally.desktop2
-rw-r--r--user/ttc-iosevka/APKBUILD12
-rw-r--r--user/ttf-alee/APKBUILD7
-rw-r--r--user/ttf-liberation/APKBUILD8
-rw-r--r--user/tumbler/APKBUILD6
-rw-r--r--user/udisks2/APKBUILD9
-rw-r--r--user/umbrello/APKBUILD4
-rw-r--r--user/unicode-data/APKBUILD38
-rw-r--r--user/unifont/APKBUILD4
-rw-r--r--user/upower/APKBUILD9
-rw-r--r--user/utf8proc/APKBUILD5
-rw-r--r--user/uwsgi/APKBUILD8
-rw-r--r--user/v4l-utils/APKBUILD4
-rw-r--r--user/vala/APKBUILD4
-rw-r--r--user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch153
-rw-r--r--user/valgrind/APKBUILD8
-rw-r--r--user/vlc/APKBUILD131
-rw-r--r--user/vte/APKBUILD12
-rw-r--r--user/vte/vala.patch29
-rw-r--r--user/wine/APKBUILD11
-rw-r--r--user/wine/no-pie.patch21
-rw-r--r--user/wine/nopie.patch10
-rw-r--r--user/wireguard-module-power8-64k/APKBUILD4
-rw-r--r--user/wireguard-module-power8/APKBUILD4
-rw-r--r--user/wireguard-module/APKBUILD4
-rw-r--r--user/wireguard-tools/APKBUILD4
-rw-r--r--user/wireless-regdb/APKBUILD22
-rw-r--r--user/wpa_supplicant/APKBUILD55
-rw-r--r--user/wpa_supplicant/dbus.patch13
-rw-r--r--user/wpa_supplicant/libressl.patch49
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch174
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch250
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch184
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch79
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch64
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch132
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch43
-rw-r--r--user/wpa_supplicant/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch82
-rw-r--r--user/x11perf/APKBUILD7
-rw-r--r--user/xcalc/APKBUILD9
-rw-r--r--user/xclock/APKBUILD9
-rw-r--r--user/xcompmgr/APKBUILD9
-rw-r--r--user/xcursor-themes/APKBUILD9
-rw-r--r--user/xcursorgen/APKBUILD9
-rw-r--r--user/xditview/APKBUILD9
-rw-r--r--user/xev/APKBUILD9
-rw-r--r--user/xf86-input-libinput/APKBUILD8
-rw-r--r--user/xf86-video-ati/APKBUILD7
-rw-r--r--user/xf86-video-intel/APKBUILD7
-rw-r--r--user/xf86-video-intel/pmmx.patch13
-rw-r--r--user/xf86-video-nouveau/APKBUILD14
-rw-r--r--user/xf86-video-nouveau/dont-strcmp-null.patch33
-rw-r--r--user/xf86-video-tdfx/APKBUILD9
-rw-r--r--user/xfce4-appfinder/APKBUILD4
-rw-r--r--user/xfce4-notifyd/APKBUILD4
-rw-r--r--user/xfce4-panel/APKBUILD4
-rw-r--r--user/xfce4-power-manager/APKBUILD4
-rw-r--r--user/xfce4-screenshooter/APKBUILD4
-rw-r--r--user/xfce4-session/APKBUILD9
-rw-r--r--user/xfce4-settings/APKBUILD4
-rw-r--r--user/xfce4-whiskermenu-plugin/APKBUILD4
-rw-r--r--user/xfconf/APKBUILD4
-rw-r--r--user/xfd/APKBUILD13
-rw-r--r--user/xfdesktop/APKBUILD4
-rw-r--r--user/xfsinfo/APKBUILD9
-rw-r--r--user/xfwm4/APKBUILD10
-rw-r--r--user/xfwm4/fix-mask-length.patch12
-rw-r--r--user/xhost/APKBUILD8
-rw-r--r--user/xinit/APKBUILD7
-rw-r--r--user/xkeyboard-config/APKBUILD9
-rw-r--r--user/xlogo/APKBUILD13
-rw-r--r--user/xlsatoms/APKBUILD9
-rw-r--r--user/xmlsec/APKBUILD13
-rw-r--r--user/xmodmap/APKBUILD10
-rw-r--r--user/xmore/APKBUILD15
-rw-r--r--user/xorg-gtest/APKBUILD51
-rw-r--r--user/xorg-gtest/remove-ridiculous-va_list-hacks.patch24
-rw-r--r--user/xprop/APKBUILD7
-rw-r--r--user/xrdb/APKBUILD7
-rw-r--r--user/xsane/APKBUILD2
-rw-r--r--user/xscreensaver/APKBUILD37
-rw-r--r--user/xscreensaver/xscreensaver-fixes.patch14
-rw-r--r--user/xstdcmap/APKBUILD16
-rw-r--r--user/xterm/APKBUILD9
-rw-r--r--user/xtrans/APKBUILD10
-rw-r--r--user/xvinfo/APKBUILD9
-rw-r--r--user/youtube-dl/APKBUILD6
-rw-r--r--user/z3/APKBUILD40
-rw-r--r--user/zenity/APKBUILD37
-rw-r--r--user/zstd/APKBUILD10
780 files changed, 24332 insertions, 7470 deletions
diff --git a/user/.rootbld-repositories b/user/.rootbld-repositories
index dd670b51f..1f6b7e3cc 100644
--- a/user/.rootbld-repositories
+++ b/user/.rootbld-repositories
@@ -1,2 +1,2 @@
-https://distfiles.adelielinux.org/adelie/1.0-beta1/system/
-https://distfiles.adelielinux.org/adelie/1.0-beta1/user/
+https://distfiles.adelielinux.org/adelie/current/system/
+https://distfiles.adelielinux.org/adelie/current/user/
diff --git a/user/accountsservice/APKBUILD b/user/accountsservice/APKBUILD
index 2ea23a416..2cee00a05 100644
--- a/user/accountsservice/APKBUILD
+++ b/user/accountsservice/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=accountsservice
-pkgver=0.6.54
+pkgver=0.6.55
pkgrel=0
pkgdesc="D-Bus service for accessing user account information"
url="https://www.freedesktop.org/wiki/Software/AccountsService/"
@@ -45,5 +45,5 @@ package() {
DESTDIR="$pkgdir" ninja -C output install
}
-sha512sums="5fbcccc286dba60efba905aa79b1b51a5478fe52bf2e256d40d9fc2d7a311aea4ce397365045659a4ef2ecb2cc079130fb1d0107749c3c906c394517056ac1c0 accountsservice-0.6.54.tar.xz
-d3cd21c871f66359aae0b4688aeb5f31ba124579212350870540344a489299413a13ad4b66872a9fb549ed3b3664dfbadd03c9b20df3714cb4d26e3f2cf107ce disable-msgfmt"
+sha512sums="c12e6a8e80f9b087f97238da4734d2d3a14a7c5cbd870a32a04b00116f176c818c39fb886f6dc72c3e93c136b0c2074ddf8f77e20431fa3bd54f138bea9d262d accountsservice-0.6.55.tar.xz
+218b6e28cd277365569c0a214276e7c40a41a3cfd6037a34b86b57dbab4273031089d91fa24191d9a9c30423b8dbb7d946ff62a564783d7f9d002125f9cf27e5 disable-msgfmt"
diff --git a/user/accountsservice/disable-msgfmt b/user/accountsservice/disable-msgfmt
index 3342f7eab..5db05f140 100644
--- a/user/accountsservice/disable-msgfmt
+++ b/user/accountsservice/disable-msgfmt
@@ -5,11 +5,11 @@
# Build rules for targets
-build data/org.freedesktop.accounts.policy: CUSTOM_COMMAND ../data/org.freedesktop.accounts.policy.in
-- COMMAND = /usr/bin/meson --internal msgfmthelper ../data/org.freedesktop.accounts.policy.in data/org.freedesktop.accounts.policy xml /usr/src/packages/user/accountsservice/src/accountsservice-0.6.54/po
+- COMMAND = /usr/bin/meson --internal msgfmthelper ../data/org.freedesktop.accounts.policy.in data/org.freedesktop.accounts.policy xml /usr/src/packages/user/accountsservice/src/accountsservice-0.6.55/po
- description = Generating$ org.freedesktop.accounts.policy_data_merge$ with$ a$ custom$ command.
+#build data/org.freedesktop.accounts.policy: CUSTOM_COMMAND ../data/org.freedesktop.accounts.policy.in
-+# COMMAND = /usr/bin/meson --internal msgfmthelper ../data/org.freedesktop.accounts.policy.in data/org.freedesktop.accounts.policy xml /usr/src/packages/user/accountsservice/src/accountsservice-0.6.54/po
++# COMMAND = /usr/bin/meson --internal msgfmthelper ../data/org.freedesktop.accounts.policy.in data/org.freedesktop.accounts.policy xml /usr/src/packages/user/accountsservice/src/accountsservice-0.6.55/po
+# description = Generating$ org.freedesktop.accounts.policy_data_merge$ with$ a$ custom$ command.
- build src/accounts-generated.c: CUSTOM_COMMAND /usr/src/packages/user/accountsservice/src/accountsservice-0.6.54/data/org.freedesktop.Accounts.xml | /usr/bin/gdbus-codegen
- COMMAND = /usr/bin/gdbus-codegen --c-generate-autocleanup all --interface-prefix org.freedesktop. --c-namespace Accounts --body --output src/accounts-generated.c /usr/src/packages/user/accountsservice/src/accountsservice-0.6.54/data/org.freedesktop.Accounts.xml
+ build src/accounts-generated.c: CUSTOM_COMMAND /usr/src/packages/user/accountsservice/src/accountsservice-0.6.55/data/org.freedesktop.Accounts.xml | /usr/bin/gdbus-codegen
+ COMMAND = /usr/bin/gdbus-codegen --c-generate-autocleanup all --interface-prefix org.freedesktop. --c-namespace Accounts --body --output src/accounts-generated.c /usr/src/packages/user/accountsservice/src/accountsservice-0.6.55/data/org.freedesktop.Accounts.xml
diff --git a/user/adwaita-icon-theme/APKBUILD b/user/adwaita-icon-theme/APKBUILD
index 3f182961a..1815af7fb 100644
--- a/user/adwaita-icon-theme/APKBUILD
+++ b/user/adwaita-icon-theme/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=adwaita-icon-theme
-pkgver=3.30.1
+pkgver=3.32.0
pkgrel=0
pkgdesc="GNOME system icon set"
url="https://www.gnome.org/"
@@ -10,7 +10,7 @@ license="CC-BY-SA-3.0 OR LGPL-3.0-only"
depends=""
makedepends=""
subpackages=""
-source="https://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.30/adwaita-icon-theme-$pkgver.tar.xz"
+source="https://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.32/adwaita-icon-theme-$pkgver.tar.xz"
build() {
cd "$builddir"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6ec37190802655156e4883622717e0fa97cad3488008fd78df508675f48dedaf50933365d82e806a8595309d4daf50cb15ef9e7c88d6735e972ecc51d6bcd3d6 adwaita-icon-theme-3.30.1.tar.xz"
+sha512sums="9609732cd51c6794d4d86598818bb2a589b0f4b6b795e57f3507dad69b21ef1b2fc2e83e24e937428bbace32fcccf587a5771cbc02c5768206e704f0456a6d1d adwaita-icon-theme-3.32.0.tar.xz"
diff --git a/user/alegreya/APKBUILD b/user/alegreya/APKBUILD
index 12e45aa4f..354b8c276 100644
--- a/user/alegreya/APKBUILD
+++ b/user/alegreya/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=alegreya
-pkgver=2.007
+pkgver=2.008
pkgrel=0
pkgdesc="Alegreya serif typeface"
url="https://www.huertatipografica.com/en/fonts/alegreya-ht-pro"
@@ -19,4 +19,4 @@ package() {
install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/OTF/ fonts/otf/*.otf
}
-sha512sums="7220aaf9f9861ed4f3104aeb16f33267b5cc2139b91ddafbd7ff86f94faeb37bca558c642a03108094d0a60f9db77167c19996fdaeeca3fcac0346205ba4e785 Alegreya-2.007.tar.gz"
+sha512sums="ca4b9e7ccdd1568e841bb7bda60d184776ca36266567eef1fdf9ae44f7c688474bd91df93a8a3f59c45e22c02fc7e231bd6bfd0b5763932df8b0f933cdb127e8 Alegreya-2.008.tar.gz"
diff --git a/user/alkimia/APKBUILD b/user/alkimia/APKBUILD
index 311041c2f..31c586984 100644
--- a/user/alkimia/APKBUILD
+++ b/user/alkimia/APKBUILD
@@ -1,16 +1,19 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=alkimia
-pkgver=7.0.2
+pkgver=8.0.1
pkgrel=0
pkgdesc="Library for common financial functionality"
url="https://community.kde.org/Alkimia/libalkimia"
arch="all"
+options="!check" # WebKit complains about the DOM
license="LGPL-2.1+"
depends=""
depends_dev="gmp-dev qt5-qtbase-dev"
-makedepends="$depends_dev cmake extra-cmake-modules"
-subpackages="$pkgname-dev"
+makedepends="$depends_dev cmake extra-cmake-modules qt5-qtwebkit-dev
+ kconfig-dev kcoreaddons-dev kdelibs4support-dev knewstuff-dev
+ kpackage-dev plasma-framework-dev"
+subpackages="$pkgname-dev $pkgname-lang"
source="https://download.kde.org/stable/alkimia/$pkgver/alkimia-$pkgver.tar.xz"
build() {
@@ -39,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="275ea48cd33caed9393a170efcc6053a581c1cc000862dd73a63bdb6de3e3c3ad2e492901a859e517033e1239e297a43088580553efe32f1d99a85051f5af3e4 alkimia-7.0.2.tar.xz"
+sha512sums="be943e854c6c2d3f85332b456be9fb3c3528fac403228a7d4ab9362856d53ea622ba9e96b70f7be47058aa0016eec78381dc7649db3b06938d4547ba1e181517 alkimia-8.0.1.tar.xz"
diff --git a/user/alpine/APKBUILD b/user/alpine/APKBUILD
new file mode 100644
index 000000000..189057dea
--- /dev/null
+++ b/user/alpine/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=alpine
+pkgver=2.21
+pkgrel=0
+pkgdesc="Terminal-based email client"
+url="http://alpine.x10host.com/alpine/"
+arch="all"
+license="Apache-2.0"
+depends=""
+makedepends="aspell-dev krb5-dev linux-pam-dev ncurses-dev openldap-dev
+ openssl-dev"
+subpackages="$pkgname-doc"
+source="http://alpine.x10host.com/alpine/release/src/alpine-$pkgver.tar.xz
+ support-musl.patch"
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ autoreconf -vif
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="a2a36a033c8af79810816a7da7185c269808ba6d84d013691fd8b3764c63f5fb2284e6844ec5a5e99d168514ae636debf59fae962533a2916679e4e9109c6264 alpine-2.21.tar.xz
+cdf827b5947fd14b6a6c1ad86df4ff1b8be1ffd51279aaa02376b2b60f3de742c54364e18d73d9a75c5c87ed3c8668a3f0c9eb59733f8da195e85833b4364782 support-musl.patch"
diff --git a/user/alpine/support-musl.patch b/user/alpine/support-musl.patch
new file mode 100644
index 000000000..ab3c2d857
--- /dev/null
+++ b/user/alpine/support-musl.patch
@@ -0,0 +1,20 @@
+--- ./configure.ac.orig
++++ ./configure.ac
+@@ -723,7 +723,7 @@
+ else
+ dnl preload c-client default locations/options
+ case $host in
+- *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*)
++ *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*|*-linux-musl*)
+ if test -f /etc/fedora-release -o -f /etc/redhat-release -o -f /etc/redhat_version ; then
+ alpine_SSLTYPE="nopwd"
+ if test -d /etc/pki/tls ; then
+@@ -1059,7 +1059,7 @@
+ dnl build from c-client. Most of this will go away when c-client
+ dnl adopts configure
+ case "$host" in
+- *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*)
++ *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*|*-linux-musl*)
+ alpine_path_delim="/"
+ alpine_mode_readonly="(0600)"
+ if test -f /etc/fedora-release ; then
diff --git a/user/analitza/APKBUILD b/user/analitza/APKBUILD
index 4dfd623df..e5cf07800 100644
--- a/user/analitza/APKBUILD
+++ b/user/analitza/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=analitza
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Mathematical object library"
url="https://api.kde.org/4.x-api/kdeedu-apidocs/analitza/html/index.html"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d20ac4ce1a9ed5737d6e29f92f86c081cbdded829055d4d077832bdeadd00afa736ee4c6c99a8d7de242d6d8b5165368f6ca05cc9c623a9533b2cf3deedb33a9 analitza-18.12.3.tar.xz"
+sha512sums="c0ba20b6776dbf40bdf3a30231a6230f2b5ec0aa632235b09353a30f9f9f8b38da703c58736ee943239d0541b149100be2eaf924d8f435a4367a1e3072720a3b analitza-19.04.1.tar.xz"
diff --git a/user/anonymous-pro/APKBUILD b/user/anonymous-pro/APKBUILD
index 5d4ece60c..33466e792 100644
--- a/user/anonymous-pro/APKBUILD
+++ b/user/anonymous-pro/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=anonymous-pro
-pkgver=1.002
+pkgver=1.003
+_prev=1.002
pkgrel=0
pkgdesc="Fixed-width (monospace) font designed for programming"
url="https://www.marksimonson.com/fonts/view/anonymous-pro"
@@ -11,12 +12,15 @@ license="OFL-1.1"
depends="fontconfig"
makedepends=""
subpackages=""
-source="https://www.marksimonson.com/assets/content/fonts/AnonymousPro-$pkgver.zip"
+source="https://www.marksimonson.com/assets/content/fonts/AnonymousPro-$_prev.zip
+ https://www.marksimonson.com/assets/content/fonts/AnonymousProMinus-$pkgver.zip"
builddir="$srcdir/AnonymousPro-1.002.001"
package() {
- cd "$builddir"
- install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/TTF/ *.ttf
+ cd "$srcdir"
+ install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/TTF/ AnonymousPro-1.002.001/*.ttf
+ install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/TTF/ AnonymousProMinus-$pkgver/*.ttf
}
-sha512sums="7606d520ad79fbf4e13d676c1aff61b764dce74e170f8783b8e606f7907c4b8db0871e5568504d15aa23ca26e925ada4eb6b60fcf27171dccee0d3d32d9a92a1 AnonymousPro-1.002.zip"
+sha512sums="7606d520ad79fbf4e13d676c1aff61b764dce74e170f8783b8e606f7907c4b8db0871e5568504d15aa23ca26e925ada4eb6b60fcf27171dccee0d3d32d9a92a1 AnonymousPro-1.002.zip
+1c81c449edb80cdcaf10c9779a3b5b2ea09ce9d0c457f620384cb0486cb1987449ba5c5b57de4f8e01b7d3c4fd54e7ec45baf02ab75232b8c29c36381697baf9 AnonymousProMinus-1.003.zip"
diff --git a/user/ant/APKBUILD b/user/ant/APKBUILD
new file mode 100644
index 000000000..8afaf5929
--- /dev/null
+++ b/user/ant/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Steeve Chailloux <steeve@chaahk.com>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=ant
+pkgver=1.10.6
+pkgrel=0
+pkgdesc="Java-based build tool"
+url="http://ant.apache.org/"
+arch="noarch"
+license="Apache-2.0"
+makedepends=""
+depends="openjdk8"
+source="https://www-eu.apache.org/dist/ant/source/apache-$pkgname-$pkgver-src.tar.gz
+ ant.sh
+ imageio_fix_java_test.patch
+ imageio_fix_test.patch"
+builddir="$srcdir/apache-$pkgname-$pkgver"
+
+_anthome="/usr/lib/java/$pkgname"
+
+build() {
+ sh ./bootstrap.sh
+ ./bootstrap/bin/ant dist-lite
+}
+
+check() {
+ ./bootstrap/bin/ant test
+}
+
+package() {
+ local destdir="$pkgdir/$_anthome"
+
+ install -dm755 "$destdir"/bin
+ rm dist/bin/*.bat dist/bin/*.cmd
+ install -m755 dist/bin/* "$destdir"/bin
+
+ install -dm755 "$pkgdir"/usr/bin
+ ln -sf $_anthome/bin/ant "$pkgdir"/usr/bin/ant
+
+ install -dm755 "$destdir"/lib
+ install -m644 dist/lib/*.jar "$destdir"/lib
+
+ # symlink to junit so it's on the javac build path for ant
+ # matches behavior on ubuntu 9 and makes sense for compatibility
+ ln -sf ../../junit.jar "$destdir"/lib/junit.jar
+
+ # The license says the NOTICE file should be redistributed for
+ # derivative works, so lets supply it.
+ install -m644 -D NOTICE "$pkgdir"/usr/share/licenses/$pkgname/NOTICE
+
+ install -m644 -D $srcdir/$pkgname.sh "$pkgdir"/etc/profile.d/$pkgname.sh
+}
+
+sha512sums="2bef0cf5f53ce9fa6e9dc7a673745f75bcd0df027f9ff07442cf66bc8d7d99e022153b08d20d314061b497763e85d587c3087952b3f5730e5a19b2656f3236fb apache-ant-1.10.6-src.tar.gz
+955fe52b415d57716df1338eff6d667d80e06a67bffd53def7d63d96f1224157b724a92df647afe8b3243dea749e221aec1e86d5be01060408fa000ec1132374 ant.sh
+9a698041a06ccc6db7765133fc6fabc6f2d0e70b96ff9de594bd836fc05ac33f489968a4fdd12fe044458eb3b99e905ca1e2a62a55acdbacebff9782c82a27de imageio_fix_java_test.patch
+1457c7415df1e80c8763b4db9f41cbdebfa58e17bcd263dae9ce31f9ee601650b51a893e4e0a324c974b60a6c2076fddfd78180baca0bcdbff65e9e88b30e063 imageio_fix_test.patch"
diff --git a/user/ant/ant.sh b/user/ant/ant.sh
new file mode 100644
index 000000000..bab7b972d
--- /dev/null
+++ b/user/ant/ant.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+ANT_HOME="/usr/share/java/ant"
+export ANT_HOME
diff --git a/user/ant/imageio_fix_java_test.patch b/user/ant/imageio_fix_java_test.patch
new file mode 100644
index 000000000..4fa856e73
--- /dev/null
+++ b/user/ant/imageio_fix_java_test.patch
@@ -0,0 +1,26 @@
+diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java
+index c96691d..e8cfd29 100644
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageIOTest.java
+@@ -86,21 +86,6 @@ public class ImageIOTest {
+ assertTrue("File was not overwritten.", lastModified < overwrittenLastModified);
+ }
+
+- @Test
+- public void testDrawOverwriteTrue() {
+- buildRule.executeTarget("testSimpleScale");
+- assertThat(buildRule.getLog(), containsString("Processing File"));
+- File f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+- assumeTrue("Could not change file modification date",
+- f.setLastModified(f.lastModified() - FILE_UTILS.getFileTimestampGranularity() * 2));
+- long lastModified = f.lastModified();
+- buildRule.executeTarget("testDrawOverwriteTrue");
+- assertThat(buildRule.getLog(), containsString("Processing File"));
+- f = new File(buildRule.getOutputDir(), LARGEIMAGE);
+- long overwrittenLastModified = f.lastModified();
+- assertTrue("File was not overwritten.", lastModified < overwrittenLastModified);
+- }
+-
+ @Test
+ public void testOverwriteFalse() {
+ buildRule.executeTarget("testSimpleScale");
diff --git a/user/ant/imageio_fix_test.patch b/user/ant/imageio_fix_test.patch
new file mode 100644
index 000000000..ad3cc3e67
--- /dev/null
+++ b/user/ant/imageio_fix_test.patch
@@ -0,0 +1,23 @@
+diff --git a/src/etc/testcases/taskdefs/optional/image/imageio.xml b/src/etc/testcases/taskdefs/optional/image/imageio.xml
+index a7d6a23..0f0318b 100644
+--- a/src/etc/testcases/taskdefs/optional/image/imageio.xml
++++ b/src/etc/testcases/taskdefs/optional/image/imageio.xml
+@@ -59,18 +59,6 @@
+ </imageio>
+ </target>
+
+- <!-- this should produce a single file in the dest dir, overwriting any existing file -->
+- <target name="testDrawOverwriteTrue" depends="setUp">
+- <imageio includes="*.jpg" srcdir="${src.dir}" destdir="${output}"
+- overwrite="yes" failonerror="no">
+- <scale width="300" proportions="width"/>
+- <draw xloc="10" yloc="10">
+- <rectangle height="50" width="50" strokewidth="2"/>
+- <text string="Test"/>
+- </draw>
+- </imageio>
+- </target>
+-
+ <!-- this should not overwrite the existing file -->
+ <target name="testOverwriteFalse" depends="setUp">
+ <imageio includes="*.jpg" srcdir="${src.dir}" destdir="${output}"
diff --git a/user/apache-httpd/APKBUILD b/user/apache-httpd/APKBUILD
index d688954ee..fb5e75d29 100644
--- a/user/apache-httpd/APKBUILD
+++ b/user/apache-httpd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=apache-httpd
_pkgreal=httpd
-pkgver=2.4.38
+pkgver=2.4.39
pkgrel=0
pkgdesc="Open-source HTTP server"
url="https://httpd.apache.org"
@@ -135,7 +135,7 @@ ldap() {
"$subpkgdir"/usr/libexec/apache2
}
-sha512sums="8bdc36fa2bd13fd83feee17fdce4a5316ed8f96c1ac32b636ba106572ba257815438c72068d2d0e900783a3fa25c90a5da34c3f83fc2c04a1dbdbf234f7ad448 httpd-2.4.38.tar.bz2
+sha512sums="9742202040b3dc6344b301540f54b2d3f8e36898410d24206a7f8dcecb1bea7d7230fabc7256752724558af249facf64bffe2cf678b8f7cccb64076737abfda7 httpd-2.4.39.tar.bz2
c8bc2bb06ae51b0956e0ee673e80c444551c9b33dfcbb845106477c46d9e52786a8896022e1f00102264fecdf66e35e47fc6cf0abe9836fa536735cff4e6adf4 adelie.layout
336e81fa0d08f8fbe6243d52bd59b12cf2e925deb49b29d7a22953c5d40a951b6b753f51e5a396752cb0bbaf1cf25b1358902f375fb65639d00e62db7ae55ff2 apache-httpd.confd
9893248f1724748c9ef91171728b4c557ced7de543e23ed72cb75c02728048b2813ac99015a4a28e7984daa51faa6e42403c17b875539fe71c33424865eccecf apache-httpd.initd
diff --git a/user/apr/APKBUILD b/user/apr/APKBUILD
index 1d7ba9d30..5b973eeec 100644
--- a/user/apr/APKBUILD
+++ b/user/apr/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=apr
-pkgver=1.6.5
+pkgver=1.7.0
pkgrel=0
pkgdesc="The Apache Portable Runtime"
url="http://apr.apache.org/"
@@ -21,7 +21,7 @@ build() {
--host=$CHOST \
--prefix=/usr \
--datadir=/usr/share \
- --enable-nonportable-atomics \
+ --disable-nonportable-atomics \
--with-devrandom=/dev/urandom
make
}
@@ -45,5 +45,5 @@ dev() {
mv "$subpkgdir"/usr/lib/*.so* "$pkgdir"/usr/lib/
}
-sha512sums="d3511e320457b5531f565813e626e7941f6b82864852db6aa03dd298a65dbccdcdc4bd580f5314f8be45d268388edab25efe88cf8340b7d2897a4dbe9d0a41fc apr-1.6.5.tar.bz2
+sha512sums="3dc42d5caf17aab16f5c154080f020d5aed761e22db4c5f6506917f6bfd2bf8becfb40af919042bd4ce1077d5de74aa666f5edfba7f275efba78e8893c115148 apr-1.7.0.tar.bz2
9fb931e45f30fbe68af56849dfca148c09cdf85e300af14fb259cbd43470113288680bdb21189d4cf13f5ce95f8d28666822535e017e64ace5324339ab50cbef apr-1.6.2-dont-test-dlclose.patch"
diff --git a/user/ark/APKBUILD b/user/ark/APKBUILD
index 1c2cd87e4..d83b3f1ce 100644
--- a/user/ark/APKBUILD
+++ b/user/ark/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ark
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Graphical file compression/decompression utility with support for multiple formats"
url="https://utils.kde.org/projects/ark/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0dc232b004134c048bb516aa43e478545b4052fba9321a6166a3bb4e05638288802f578cea51340c8416257f10e1bcbd55740a8945ae5f95cee6864f107d633f ark-18.12.3.tar.xz"
+sha512sums="6a053239dfa0cfc0b96aad087d0912114a96a1de3f77ac8b720477c775a088d0df78531372f105cd982c9f7009d1fdeec03a06ada743142f2d2eddbe38f652de ark-19.04.1.tar.xz"
diff --git a/user/artikulate/APKBUILD b/user/artikulate/APKBUILD
index f68438764..0fe94ed73 100644
--- a/user/artikulate/APKBUILD
+++ b/user/artikulate/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=artikulate
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Pronunciation trainer for languages"
url="https://www.kde.org/applications/education/artikulate/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="cab931686929a73a3fea25a6718818514a0216b096431f972cfc494e7df754a701a8d4c61874d6914bf8331c0b944b2053a5003bf7bf01901bf2fe79cdf7eba8 artikulate-18.12.3.tar.xz"
+sha512sums="0d0195bfd85250cafd37be0d91fa6650fb3322b32abdde877090d29593e3ff918adc7f2577d223d3283583229d4a4eb00d57677438b60b7e1a6a9bc54a1e3642 artikulate-19.04.1.tar.xz"
diff --git a/user/at-spi2-atk/APKBUILD b/user/at-spi2-atk/APKBUILD
index 52cc5f8aa..4f328d84f 100644
--- a/user/at-spi2-atk/APKBUILD
+++ b/user/at-spi2-atk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer:
pkgname=at-spi2-atk
-pkgver=2.30.1
+pkgver=2.32.0
pkgrel=0
pkgdesc="GTK+ module to bridge ATK to D-Bus at-spi"
url="https://wiki.linuxfoundation.org/accessibility/d-bus"
@@ -37,4 +37,4 @@ package() {
DESTDIR="$pkgdir" ninja install
}
-sha512sums="862cccb65d2a8a7df4e899e4f53742535389a0efa0a75c936b52e68690c07e206b19d8308f0910cddb71bda0d803012d613f6959329ae43c411d1314062b7018 at-spi2-atk-2.30.1.tar.xz"
+sha512sums="095ceaa33d5b35f1f4f81a31bea00487c054493cb29d4fdbcf74331ec8d1b9570dc7cb93e1cc06da9ea3f5805e7a3a9e7bf80cfdbce86a1822c2a46327109393 at-spi2-atk-2.32.0.tar.xz"
diff --git a/user/at-spi2-core/APKBUILD b/user/at-spi2-core/APKBUILD
index 1ccdb23c6..edd3dd5f3 100644
--- a/user/at-spi2-core/APKBUILD
+++ b/user/at-spi2-core/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer:
pkgname=at-spi2-core
-pkgver=2.30.1
+pkgver=2.32.1
pkgrel=0
pkgdesc="Protocol definitions and daemon for D-Bus at-spi"
url="https://wiki.linuxfoundation.org/accessibility/d-bus"
@@ -31,4 +31,4 @@ package() {
DESTDIR="$pkgdir" ninja -C builddir/ install
}
-sha512sums="c8b6a2ae5f96ce7d8c1fd32c9fec861148ceff631069b417296425fe6e2ae15198628826e13a72e018871d38e12b1128aa299edcc45eaf3eb7bbff83774361cd at-spi2-core-2.30.1.tar.xz"
+sha512sums="cec6ea1426b25d9738c5c401a1038b39e04b1e989b7ef8e02590d117b35cfb253b260cc6e41b09e10e007801fedcb7702c48ba7f3a0c7b6c1f16edd4e8ad0cca at-spi2-core-2.32.1.tar.xz"
diff --git a/user/atk/APKBUILD b/user/atk/APKBUILD
index 6beebfcb0..c87c8dfd7 100644
--- a/user/atk/APKBUILD
+++ b/user/atk/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=atk
-pkgver=2.30.0
+pkgver=2.32.0
pkgrel=0
pkgdesc="A library providing a set of interfaces for accessibility"
url="https://www.gtk.org/"
@@ -33,4 +33,4 @@ package() {
DESTDIR="$pkgdir" ninja install
}
-sha512sums="03f311378fdb91442f27ed542fa36edd2c9c036837c9f25ff37468bf7f743277d0b9253621563d15894e0da9d37e8df0a0e2c0e47e6aae33a38b13744c3b8b8e atk-2.30.0.tar.xz"
+sha512sums="8cd2a3ee006f21835f3e564f2e1de4ae61bd9529b4c0b4f2e3ece88e905e2dd36b67affb089f41582806a1397576602a526a4b8698303708894f20af97ecac22 atk-2.32.0.tar.xz"
diff --git a/user/atril/APKBUILD b/user/atril/APKBUILD
new file mode 100644
index 000000000..ac04541d5
--- /dev/null
+++ b/user/atril/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=atril
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Document viewer for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+options="!check" # testsuite requires X and py3-dogtail
+license="GPL-2.0+ AND Afmparse AND Info-ZIP AND libtiff AND LGPL-2.0+ AND MIT AND LGPL-2.1+"
+depends=""
+makedepends="caja-dev djvulibre-dev gobject-introspection-dev gtk+3.0-dev
+ intltool itstool libgxps-dev libsecret-dev libsm-dev libspectre-dev
+ libxml2-dev libxml2-utils poppler-dev python3 tiff-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://pub.mate-desktop.org/releases/1.22/atril-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-introspection \
+ --enable-pixbuf \
+ --enable-comics \
+ --enable-xps
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="838ae397c868ac417c9266e4a06525d66214650cf8647e91c1472d83d50c8954f6dbb29411384892a98f0929e1fbac9947118bd0db10d50400fc0d5270a3619d atril-1.22.1.tar.xz"
diff --git a/user/ayatana-ido/APKBUILD b/user/ayatana-ido/APKBUILD
new file mode 100644
index 000000000..dea352c42
--- /dev/null
+++ b/user/ayatana-ido/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=ayatana-ido
+pkgver=0.4.4
+pkgrel=0
+pkgdesc="Indicator display object library for the Gnome desktop environment"
+url="https://ayatanaindicators.github.io/"
+arch="all"
+license="GPL-3.0-only AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0+"
+depends=""
+makedepends="glib-dev gobject-introspection-dev gtest-dev gtk+3.0-dev
+ mate-common-dev vala-dev xorg-gtest-dev"
+subpackages="$pkgname-dev"
+source="ayatana-ido-$pkgver.tar.gz::https://github.com/AyatanaIndicators/ayatana-ido/archive/$pkgver.tar.gz
+ gtk-doc-fix.patch"
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ autoreconf -vif
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ DESTDIR="$pkgdir" make install
+}
+
+sha512sums="ef04b0b6c959d209e88b1de322ac64ea33fdd043a73980bf3b043380603b6a448ea7bf43ba8e2750e1a0a9bef704a7099f7ae9b92a97d3ce0be2e9f48ba16703 ayatana-ido-0.4.4.tar.gz
+92ddc4f09c5ed7800357a76e2276c07db682408f259e22d6511696df032d6712ecd295d0775db36ad6ace5d3f352ce7d59cd9f1b24e899b7accaf680c0e4488d gtk-doc-fix.patch"
diff --git a/user/ayatana-ido/gtk-doc-fix.patch b/user/ayatana-ido/gtk-doc-fix.patch
new file mode 100644
index 000000000..867aa0b2c
--- /dev/null
+++ b/user/ayatana-ido/gtk-doc-fix.patch
@@ -0,0 +1,16 @@
+diff -Nurd ayatana-ido-0.4.4/configure.ac ayatana-ido-0.4.4.new/configure.ac
+--- ayatana-ido-0.4.4/configure.ac 2018-08-13 05:34:25.000000000 -0500
++++ ayatana-ido-0.4.4.new/configure.ac 2019-03-23 19:40:02.167258822 -0500
+@@ -138,7 +138,11 @@
+
+ dnl = GTK Doc Check ===========================================================
+
+-GTK_DOC_CHECK([1.8])
++m4_ifdef([GTK_DOC_CHECK], [
++GTK_DOC_CHECK([1.8],[])
++],[
++AM_CONDITIONAL([ENABLE_GTK_DOC], false)
++])
+
+ dnl ===========================================================================
+
diff --git a/user/baloo-widgets/APKBUILD b/user/baloo-widgets/APKBUILD
index f30e3c168..d5800d48a 100644
--- a/user/baloo-widgets/APKBUILD
+++ b/user/baloo-widgets/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=baloo-widgets
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Widgets that utilise the Baloo desktop indexing engine"
url="https://www.KDE.org/"
@@ -13,7 +13,9 @@ depends_dev="qt5-qtbase-dev baloo-dev kio-dev"
makedepends="$depends_dev cmake extra-cmake-modules kconfig-dev
kfilemetadata-dev ki18n-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/baloo-widgets-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/baloo-widgets-$pkgver.tar.xz
+ frameworks.patch
+ "
build() {
cd "$builddir"
@@ -41,4 +43,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="40b62fd9fb204ba60f0f5d8550e33506907de11b8cc6a222071402ed4eef83d3171df6eef1be31c501dfc4b7271a05f79def095aec6d83c705dcbc52760966dc baloo-widgets-18.12.3.tar.xz"
+sha512sums="e797b4f878f1382cd58d91e61a5a846e2f47adb1a2f718f9c5f686a6978031b8c6ce061ae55948c3beed16d4798e3f8abeb70c428a91ce602c94adf423616eaa baloo-widgets-19.04.1.tar.xz
+b8de7699919edb1ecc64aa733b8a937fc0c1b06e3e03fc5f2ea1d78ca190a0bdbf4b6011c57de464ad657103981aa337f3a04953da3a02b6c161f47eda5d7372 frameworks.patch"
diff --git a/user/baloo-widgets/frameworks.patch b/user/baloo-widgets/frameworks.patch
new file mode 100644
index 000000000..002445bde
--- /dev/null
+++ b/user/baloo-widgets/frameworks.patch
@@ -0,0 +1,11 @@
+--- baloo-widgets-19.04.0/CMakeLists.txt.old 2019-04-12 00:13:39.000000000 +0000
++++ baloo-widgets-19.04.0/CMakeLists.txt 2019-04-19 07:30:31.523838076 +0000
+@@ -8,7 +8,7 @@
+ project(baloo-widgets VERSION ${KDE_APPLICATIONS_VERSION})
+
+ set(QT_MIN_VERSION "5.8.0")
+-set(KF5_MIN_VERSION "5.56.0")
++set(KF5_MIN_VERSION "5.54.0")
+
+ find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
+ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${ECM_MODULE_PATH})
diff --git a/user/blinken/APKBUILD b/user/blinken/APKBUILD
index 5c4f4e35a..516818484 100644
--- a/user/blinken/APKBUILD
+++ b/user/blinken/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=blinken
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Memory enhancement game"
url="https://www.kde.org/applications/education/blinken/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="605d4015b122419c512f614bf2b27c23f5219dc2ef48a7cf86beb0aa0333872058b0cdb04c98799bd4780909cbfc9544e13ace22b809457bd362b3c4555c1d89 blinken-18.12.3.tar.xz"
+sha512sums="a6f6f552df473872e25ec854d956581966b8e763d4d02fb9355e2b57da7565ace856a83175cb71878602e1aefa256b4ead6d5f936ebeeb99405c1194143dd83d blinken-19.04.1.tar.xz"
diff --git a/user/bomber/APKBUILD b/user/bomber/APKBUILD
index b5e6658e0..270520353 100644
--- a/user/bomber/APKBUILD
+++ b/user/bomber/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=bomber
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Arcade bombing game"
url="https://www.kde.org/applications/games/bomber/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7292e5449e4a6444730f771aeb7ab9c2290fda12c213edfae190593f30cae5c4b2d6b0622d9fceaebb474f38cb12396961326af34435e26c1feda64e5153a881 bomber-18.12.3.tar.xz"
+sha512sums="c407dc51a137e1c5242bc4b3d9d10b855e36cb0c1988bcc3b93aeca79a147dcb039c72984b91426373523bceefdd4269880737e41d0ce2fc0e147ba8216b1504 bomber-19.04.1.tar.xz"
diff --git a/user/bovo/APKBUILD b/user/bovo/APKBUILD
index 8e747d9ef..9b99e296f 100644
--- a/user/bovo/APKBUILD
+++ b/user/bovo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=bovo
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Gomoku or Connect Five game"
url="https://www.kde.org/applications/games/bovo/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="077221d1a510e587fe8d90cb8f026dee78fcd88f831c26ad098c62db0bd2788bac30864247762f5221c7b3b3a55f772aa33e861fe0e9f91aacb3cd03f07a8fdd bovo-18.12.3.tar.xz"
+sha512sums="4fbf5334a7f7a3cd86736d762818d4259aa148b238ff65e8d79b02d2caa3a0d33c30da4ced7d14464d2559aaabd95a8b72ac8d11e5f1f03a3141a39c9d589938 bovo-19.04.1.tar.xz"
diff --git a/user/btrfs-progs/APKBUILD b/user/btrfs-progs/APKBUILD
index 9c1453b01..5e30eb457 100644
--- a/user/btrfs-progs/APKBUILD
+++ b/user/btrfs-progs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=btrfs-progs
-pkgver=4.17.1
+pkgver=4.20.2
pkgrel=0
pkgdesc="File system utilities for Btrfs"
url="https://btrfs.wiki.kernel.org/index.php/Main_Page"
@@ -40,4 +40,4 @@ python() {
make DESTDIR="$subpkgdir" install_python
}
-sha512sums="90f291e362b640a22b41036351619e7b8a793a3b57d0537e7865edf4b830d6dc57b3051c0aed9e1ff38b602441a20fea7f974ccff789a3b4a622a0ea57756538 btrfs-progs-v4.17.1.tar.xz"
+sha512sums="a542423589e7ee35b9a1791ef13e4c8ea4be56b33d6119a18d046233cfc04678c525cad545387aeb48e0dbd8249c5a501100fdee8f6d6882c906e0a737a1778a btrfs-progs-v4.20.2.tar.xz"
diff --git a/user/bugzilla/APKBUILD b/user/bugzilla/APKBUILD
index 897142939..5e0f6f31d 100644
--- a/user/bugzilla/APKBUILD
+++ b/user/bugzilla/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=bugzilla
-pkgver=5.0.4
+pkgver=5.0.6
pkgrel=0
pkgdesc="Bug tracking software from Mozilla"
url="https://www.bugzilla.org/"
@@ -40,4 +40,4 @@ package() {
mv bugzilla-$pkgver "$pkgdir"/usr/share/webapps/
}
-sha512sums="508fdc5ab599f007f848a583907c726a876d4f3bc6d4e71d93c1efe82072f67309d229f5ba213443ad90a5f11e6e97e691fb11515ef2db71e36587e72fc849a8 bugzilla-5.0.4.tar.gz"
+sha512sums="8ca47ea1be2b433a6ce68e1a595d72f3d0f0fede44d1194dc6bc9a116dbde3ab7285212c71995e200d31544876e4c3c57b63da1f877a0cb22747ab87a5d598de bugzilla-5.0.6.tar.gz"
diff --git a/user/caja-dropbox/APKBUILD b/user/caja-dropbox/APKBUILD
new file mode 100644
index 000000000..938d76160
--- /dev/null
+++ b/user/caja-dropbox/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=caja-dropbox
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="DropBox extension for Caja"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-3.0+"
+depends=""
+makedepends="caja-dev py3-docutils py3-pygobject"
+subpackages="$pkgname-doc"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/caja-dropbox-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib/caja/extensions-2.0/libcaja-dropbox.a
+}
+
+sha512sums="e7e9107c7654fac910762727782f35e3039b45e737341937d225126b2f63f8911f99281097b2488d3b79c0ed09fff4270b4c557166b94a722a2b1cd30fea2a2c caja-dropbox-1.22.1.tar.xz"
diff --git a/user/caja-extensions/APKBUILD b/user/caja-extensions/APKBUILD
new file mode 100644
index 000000000..530be8356
--- /dev/null
+++ b/user/caja-extensions/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=caja-extensions
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Extensions for the Caja file manager"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends="caja-dev dbus-glib-dev intltool mate-desktop-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/caja-extensions-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="19fd287123b8d2ba67b636066e9f8910aadd47d375eb1d52136d9b808b48abacade81dde490ce3edb6fc4a9d2ddfd39d9abf294a58aed8bcaf620c1eff03e761 caja-extensions-1.22.0.tar.xz"
diff --git a/user/caja/APKBUILD b/user/caja/APKBUILD
new file mode 100644
index 000000000..d39dce4e8
--- /dev/null
+++ b/user/caja/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=caja
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="File manager for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+options="!check" # testsuite requires X
+license="GPL-2.0+ AND LGPL-2.0+"
+depends=""
+makedepends="gobject-introspection-dev intltool libexif-dev libnotify-dev
+ libxml2-dev mate-desktop-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/caja-$pkgver.tar.xz"
+builddir="$srcdir/caja-$pkgver"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+
+ for i in icons globs globs2 XMLnamespaces magic aliases subclasses types treemagic mime.cache version generic-icons; do
+ rm "$pkgdir"/usr/share/mime/$i
+ done
+}
+
+sha512sums="dea2e9cac7802df5335a716a1a7df149b637014525202600f4bf3eab293eff29bf2df66df22203aa036898149cb26ba1d05491234dc75203480925cce0333a17 caja-1.22.1.tar.xz"
diff --git a/user/cantor/APKBUILD b/user/cantor/APKBUILD
index dbebd6089..015945e99 100644
--- a/user/cantor/APKBUILD
+++ b/user/cantor/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=cantor
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE worksheet interface for popular mathematical applications"
url="https://edu.kde.org/cantor/"
@@ -45,4 +45,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="196d47adef9cb35c1816efa0a88dcf904ac7b91176bde779f84c40315732bbc1196c21dff4a6c363cbf6fc4785aaa512590638a965c79c50574b264a4d7beccf cantor-18.12.3.tar.xz"
+sha512sums="a6ae43ace5761a12157f2cfdd2dafeb5ac5cf0f0e96b4328cd7913d9168976b75133c122604f8296fb9baaae252e786a16128c2c9e1f2df4403f1bbef507493b cantor-19.04.1.tar.xz"
diff --git a/user/cdrtools/APKBUILD b/user/cdrtools/APKBUILD
deleted file mode 100644
index 39a3021c8..000000000
--- a/user/cdrtools/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: A. Wilcox <awilfox@adelielinux.org>
-# Maintainer: A. Wilcox <awilfox@adelielinux.org>
-pkgname=cdrtools
-pkgver=3.01
-pkgrel=1
-pkgdesc="Highly portable CD/DVD/Blu-Ray command line recording software"
-url="http://schilytools.sourceforge.net/"
-arch="all"
-options="suid"
-license="CDDL-1.0"
-depends=""
-makedepends="attr-dev byacc expat-dev openssl-dev smake"
-subpackages="$pkgname-doc"
-source="https://download.sourceforge.net/cdrtools/cdrtools-$pkgver.tar.bz2"
-
-build() {
- cd "$builddir"
- smake INS_BASE=/usr
-}
-
-check() {
- cd "$builddir"
- smake check
-}
-
-package() {
- cd "$builddir"
- smake INS_BASE=/usr DESTDIR="$pkgdir" install
-
- mv "$pkgdir"/usr/share/man/man3 "$pkgdir"/usr/share/man/man3sch
- rename .3 .3sch "$pkgdir"/usr/share/man/man3sch/*.3
-}
-
-sha512sums="54f06496e47184e324fc9d8b1153d3c806ed43c3c57e2a8d79a79afe12aa5334e82fa500fe1b1bf49307ad7dfabe687f6e1ad914fc2f0c5c429d8e6a34c293eb cdrtools-3.01.tar.bz2"
diff --git a/user/cgmanager/APKBUILD b/user/cgmanager/APKBUILD
index 958ba8327..3074679fd 100644
--- a/user/cgmanager/APKBUILD
+++ b/user/cgmanager/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=cgmanager
-pkgver=0.41
+pkgver=0.42
pkgrel=0
pkgdesc="CGroup management daemon"
url="https://linuxcontainers.org/cgmanager/introduction/"
arch="all"
license="LGPL-2.1+ AND GPL-2.0-only"
depends=""
-makedepends="help2man libnih-dev linux-pam-dev"
+makedepends="help2man libnih-dev linux-pam-dev popt-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
source="https://linuxcontainers.org/downloads/cgmanager/cgmanager-$pkgver.tar.gz"
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e8ba64665a21d987cd835580c2b6bafbcb05e22ce7f6216762d04840957c2cd21fb571360e0206ae9143656beed88ff3396eb1f644052c05189093a665a705fd cgmanager-0.41.tar.gz"
+sha512sums="d92113a6748084f1c0708f75c8bdf5de484d534bf00f664a5288902be887c2a1c7cf3d91afaab3331f0d573a86fbc6edb2fa1d37c070250cf53e0621213d7d74 cgmanager-0.42.tar.gz"
diff --git a/user/checkbashisms/APKBUILD b/user/checkbashisms/APKBUILD
index 09f3359c8..a916e2915 100644
--- a/user/checkbashisms/APKBUILD
+++ b/user/checkbashisms/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=checkbashisms
-pkgver=2.18.6
+pkgver=2.19.4
pkgrel=0
pkgdesc="Check shell scripts for POSIX compliance"
url="https://tracker.debian.org/pkg/devscripts"
@@ -20,12 +20,10 @@ prepare() {
}
check() {
- cd "$builddir"
./test/test_checkbashisms
}
package() {
- cd "$builddir"
install -Dm755 "scripts/$pkgname.pl" "$pkgdir/usr/bin/$pkgname"
install -Dm644 "scripts/$pkgname.1" "$pkgdir/usr/share/man/man1/$pkgname.1"
}
@@ -40,4 +38,4 @@ bashcomp() {
"$subpkgdir/usr/share/bash-completion/completions/$pkgname"
}
-sha512sums="6bbd5ab2ac522bf4201cf57cc481d3885dd26b0a57338812b5a7ae10ca4575a2942b84b6bd05934898551eae7263ed28f0f7d8d295d055aa5c80111da1531014 devscripts_2.18.6.tar.xz"
+sha512sums="43d9484dbbff6f48cf8e2cbcf50a5ee752796db881ec6ca2d1b038c938d7d3fe6d45d0f88d5f62a7bf5889366618fa85c8c0089869e6d6a39f6a87e8f1b5c97c devscripts_2.19.4.tar.xz"
diff --git a/user/chelf/APKBUILD b/user/chelf/APKBUILD
index 83b9c1402..6e7aff4c0 100644
--- a/user/chelf/APKBUILD
+++ b/user/chelf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=chelf
-pkgver=0.1_git20190110
+pkgver=0.2.2
pkgrel=0
pkgdesc="Display or change the stack size of an ELF binary"
url=" "
@@ -11,9 +11,7 @@ license="BSD-2-Clause"
depends=""
makedepends=""
subpackages=""
-source="$pkgname-$pkgver.tar.xz::https://distfiles.adelielinux.org/source/$pkgname-$pkgver.txz
- fix-uninitialised-read.patch
- "
+source="$pkgname-$pkgver.tar.xz::https://distfiles.adelielinux.org/source/$pkgname-$pkgver.txz"
build() {
cd "$builddir"
@@ -25,5 +23,4 @@ package() {
install -D -m755 chelf "$pkgdir"/usr/bin/chelf
}
-sha512sums="6154e1580f4ea355aaa5017cced37d278d7e864d2c924e521aadc79d839ce79d1a94a9f8ebef1274f92748058278b628ec384f5d5e4572fe56d7745208146dbe chelf-0.1_git20190110.tar.xz
-435610112eec83b27c922b5f84ca1e9abfa8c1834f5fafea0deb6911532fd7c0924da002a0c5523d6cd013c8d56e02cc6ae30321fdf4955399b7fcabe5c64e35 fix-uninitialised-read.patch"
+sha512sums="bf29f0f526ca1977e0d0743901f6afeb23b2dd78b60618ea65201ea95000832854250f44de6e7625b6d546cace4638be094989cdb96b4e842285ef85718c0082 chelf-0.2.2.tar.xz"
diff --git a/user/chelf/fix-uninitialised-read.patch b/user/chelf/fix-uninitialised-read.patch
deleted file mode 100644
index 0623647fe..000000000
--- a/user/chelf/fix-uninitialised-read.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- chelf-0.1_git20190110/main.c.old 2018-10-29 10:37:25.000000000 +0000
-+++ chelf-0.1_git20190110/main.c 2019-01-10 18:44:45.320000000 +0000
-@@ -32,7 +32,7 @@
- {
- int fd, rv = -1;
- struct stat st;
-- void *elf;
-+ void *elf = NULL;
- const int open_flags = (mode == MODE_WRITE) ? O_RDWR : O_RDONLY;
- const int mmap_flags = (mode == MODE_WRITE) ?
- (PROT_WRITE|PROT_READ) : PROT_READ;
diff --git a/user/chrpath/APKBUILD b/user/chrpath/APKBUILD
index 869a8bfdd..9eed07b26 100644
--- a/user/chrpath/APKBUILD
+++ b/user/chrpath/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Dead Upstream <nobody@deprecated.invalid>
+# Maintainer:
pkgname=chrpath
pkgver=0.16
pkgrel=2
diff --git a/user/cifs-utils/APKBUILD b/user/cifs-utils/APKBUILD
index f5987a037..436e0d909 100644
--- a/user/cifs-utils/APKBUILD
+++ b/user/cifs-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=cifs-utils
-pkgver=6.8
+pkgver=6.9
pkgrel=0
pkgdesc="CIFS filesystem user-space tools"
url="https://wiki.samba.org/index.php/LinuxCIFS_utils"
@@ -17,7 +17,6 @@ source="https://ftp.samba.org/pub/linux-cifs/$pkgname/$pkgname-$pkgver.tar.bz2
xattr_size_max.patch"
build() {
- cd "$builddir"
# --enable-cifsidmap and --enable-cifsacl require libwbclient (samba)
autoreconf -i
@@ -35,19 +34,15 @@ build() {
}
check() {
- cd "$builddir"
-
make check
}
package() {
- cd "$builddir"
-
make DESTDIR="$pkgdir" install
# Allow unprivileged mount
chmod u+s "$pkgdir"/sbin/mount.cifs
}
-sha512sums="54a094f78c9e07acc997adfe0c8d4c2fb8e15c18adcc1805450e2180f8539aaec8619e781e985b289e097932637e2de3e6815e32f59ec2fc06cfc3762b832e13 cifs-utils-6.8.tar.bz2
+sha512sums="b92e4e39eeed1032bb175659296cde034703fb3ca63aae00419d46a33dadf821fedaf03734128112c164c84bcbb48d92d03cdc275c4a7cba26f984aeca40a40a cifs-utils-6.9.tar.bz2
99a2fab05bc2f14a600f89526ae0ed2c183cfa179fe386cb327075f710aee3aed5ae823f7c2f51913d1217c2371990d6d4609fdb8d80288bd3a6139df3c8aebe musl-fix-includes.patch
2a9366ec1ddb0389c535d2fa889f63287cb8374535a47232de102c7e50b6874f67a3d5ef3318df23733300fd8459c7ec4b11f3211508aca7800b756119308e98 xattr_size_max.patch"
diff --git a/user/clang/0001-Add-support-for-Ad-lie-Linux.patch b/user/clang/0001-Add-support-for-Ad-lie-Linux.patch
index f12adf513..6fdb58542 100644
--- a/user/clang/0001-Add-support-for-Ad-lie-Linux.patch
+++ b/user/clang/0001-Add-support-for-Ad-lie-Linux.patch
@@ -24,8 +24,8 @@ index 7b34a09256..7a3774a4f1 100644
AlpineLinux,
ArchLinux,
DebianLenny,
-@@ -118,6 +119,10 @@ public:
- return DistroVal >= UbuntuHardy && DistroVal <= UbuntuCosmic;
+@@ -120,6 +121,10 @@ public:
+ return DistroVal >= UbuntuHardy && DistroVal <= UbuntuDisco;
}
+ bool IsAdelieLinux() const {
@@ -39,7 +39,7 @@ diff --git a/lib/Driver/Distro.cpp b/lib/Driver/Distro.cpp
index 2c4d44faf8..7ef35ab379 100644
--- a/lib/Driver/Distro.cpp
+++ b/lib/Driver/Distro.cpp
-@@ -130,6 +130,9 @@ static Distro::DistroType DetectDistro(vfs::FileSystem &VFS) {
+@@ -132,6 +132,9 @@ static Distro::DistroType DetectDistro(vfs::FileSystem &VFS) {
if (VFS.exists("/etc/exherbo-release"))
return Distro::Exherbo;
@@ -49,30 +49,34 @@ index 2c4d44faf8..7ef35ab379 100644
if (VFS.exists("/etc/alpine-release"))
return Distro::AlpineLinux;
-diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
-index 2a87cb077c..85bcd8ed47 100644
---- a/lib/Driver/ToolChains/Linux.cpp
-+++ b/lib/Driver/ToolChains/Linux.cpp
-@@ -234,7 +234,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+--
+2.18.0
+
+--- cfe-8.0.0.src/lib/Driver/ToolChains/Linux.cpp.old 2018-11-29 18:52:22.000000000 +0000
++++ cfe-8.0.0.src/lib/Driver/ToolChains/Linux.cpp 2019-04-23 23:49:37.786181838 +0000
+@@ -236,13 +236,13 @@
+
+ Distro Distro(D.getVFS());
+
+- if (Distro.IsAlpineLinux() || Triple.isAndroid()) {
++ if (Distro.IsAdelieLinux() || Distro.IsAlpineLinux() || Triple.isAndroid()) {
+ ExtraOpts.push_back("-z");
ExtraOpts.push_back("now");
}
-- if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux()) {
-+ if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() ||
-+ Distro.IsAdelieLinux()) {
+ if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() ||
+- Triple.isAndroid()) {
++ Distro.IsAdelieLinux() || Triple.isAndroid()) {
ExtraOpts.push_back("-z");
ExtraOpts.push_back("relro");
}
-@@ -268,7 +269,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
- // Hexagon linker/loader does not support .gnu.hash
- if (!IsMips && !IsAndroid && !IsHexagon) {
+@@ -285,7 +285,8 @@
+ if (!IsMips && !IsHexagon) {
if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsAlpineLinux() ||
-- (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick))
-+ Distro.IsAdelieLinux() ||
-+ (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick))
+ (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick) ||
+- (IsAndroid && !Triple.isAndroidVersionLT(23)))
++ (IsAndroid && !Triple.isAndroidVersionLT(23)) ||
++ Distro.IsAdelieLinux())
ExtraOpts.push_back("--hash-style=gnu");
- if (Distro.IsDebian() || Distro.IsOpenSUSE() || Distro == Distro::UbuntuLucid ||
---
-2.18.0
-
+ if (Distro.IsDebian() || Distro.IsOpenSUSE() ||
diff --git a/user/clang/APKBUILD b/user/clang/APKBUILD
index a56e16368..e5ed50d06 100644
--- a/user/clang/APKBUILD
+++ b/user/clang/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=clang
# Note: Update together with llvm.
-pkgver=7.0.1
+pkgver=8.0.0
pkgrel=0
_llvmver=${pkgver%%.*}
pkgdesc="A C language family front-end for LLVM"
@@ -12,14 +12,18 @@ url="https://llvm.org/"
license="NCSA"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="cmake isl-dev libedit-dev libexecinfo-dev libxml2-dev libxml2-utils
- llvm-dev>=$_llvmver llvm-static>=$_llvmver llvm-test-utils>=$_llvmver"
+ llvm-dev>=$_llvmver llvm-static>=$_llvmver llvm-test-utils>=$_llvmver
+ z3 z3-dev"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs
$pkgname-analyzer::noarch"
source="https://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz
0001-Add-support-for-Ad-lie-Linux.patch
0008-Fix-ClangConfig-cmake-LLVM-path.patch
- use-llvm-lit.patch
+ cfe-005-ppc64-dynamic-linker-path.patch
+ pmmx-musl.patch
+ ppc64-elfv2.patch
secure-plt.patch
+ use-llvm-lit.patch
"
builddir="$srcdir/cfe-$pkgver.src"
@@ -27,6 +31,7 @@ build() {
mkdir -p "$builddir"/build
cd "$builddir"/build
+ CMAKE_PREFIX_PATH=/usr/lib/llvm$_llvmver/lib/cmake \
cmake .. -Wno-dev \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -103,8 +108,11 @@ analyzer() {
mv usr/share/scan-* "$subpkgdir"/usr/share/
}
-sha512sums="df2f38153ebdc261bcfa6a569567f759bbb1a803192882a9d4eca55a47878166ac9057151a94ad341dc1281136547e4faa783a68070dfde2307b48cacd4b9194 cfe-7.0.1.src.tar.xz
-44aa152d50822a9e1a223b9e07e150ffa830c55deb4c4ca29e6218a0103eb263a00b41fd1ca84390e65fa08005901a0a0f88cf529bff8764220e99d06adef5fc 0001-Add-support-for-Ad-lie-Linux.patch
+sha512sums="98e540222719716985e5d8439116e47469cb01201ea91d1da7e46cb6633da099688d9352c3b65e5c5f660cbbae353b3d79bb803fc66b3be663f2b04b1feed1c3 cfe-8.0.0.src.tar.xz
+c3218a1622f53bb6bef65f844e32e1b048a1ed7d5aa444a7592f9b8e8543d41438a0ac032674adb2c1bf0ef8c6fbd6880c34f8c8e778a8fd31bb542968a3547e 0001-Add-support-for-Ad-lie-Linux.patch
9485fe4fd6182df543735ed8f4ce618693d0faeafa86d3f9574a6c7abf50978e2d56e0a94be3ed94d515cc937c388d66ceff1bbc9bb120d371b6d3e95340da00 0008-Fix-ClangConfig-cmake-LLVM-path.patch
-8a596e7369b5791e7e9c3278320aa5bac30d91f27d9a0df335ea862c359623869353d12145c3b64730f721600522f3acc5abe706428091482e0209e4ff308175 use-llvm-lit.patch
-9dad6dfb0097f79939b743dbe7ed20274c463d9c41f061a957841c60070247a4760b676465652e2e844fc75aab9a5b7f9f4dd7632f2ff5dd5b0a335fcbd29312 secure-plt.patch"
+e24b0eb5f0f2b58f8d18d7d191dccc76510a179738db1f42624bd68c6de92ea57d323e28f9ee1e4df59e44a2c00a23527ba21c1c1fce9ac5858db9b3049914f2 cfe-005-ppc64-dynamic-linker-path.patch
+1a76a74c193ea59b0114b116c5a9a7807b40a449e9c601263379fd7252867adb8ea8d4720f9fc8d801748176976d968990be29323bff9d5f3a03c4cfe80c61c4 pmmx-musl.patch
+26b6cb952a77e15f113c88f2417e510ddd496f5c3c3de2e51c1a7cf14a78d0b25cd881f40c5c7e95dde3b2b63bbd3d485544097eed8673669a755b456a1dcd71 ppc64-elfv2.patch
+9dad6dfb0097f79939b743dbe7ed20274c463d9c41f061a957841c60070247a4760b676465652e2e844fc75aab9a5b7f9f4dd7632f2ff5dd5b0a335fcbd29312 secure-plt.patch
+8a596e7369b5791e7e9c3278320aa5bac30d91f27d9a0df335ea862c359623869353d12145c3b64730f721600522f3acc5abe706428091482e0209e4ff308175 use-llvm-lit.patch"
diff --git a/user/clang/cfe-005-ppc64-dynamic-linker-path.patch b/user/clang/cfe-005-ppc64-dynamic-linker-path.patch
new file mode 100644
index 000000000..d559d949b
--- /dev/null
+++ b/user/clang/cfe-005-ppc64-dynamic-linker-path.patch
@@ -0,0 +1,17 @@
+--- a/lib/Driver/ToolChains/Linux.cpp
++++ b/lib/Driver/ToolChains/Linux.cpp
+@@ -590,12 +590,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
+ Loader = "ld.so.1";
+ break;
+ case llvm::Triple::ppc64:
+- LibDir = "lib64";
++ LibDir = "lib";
+ Loader =
+ (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
+ break;
+ case llvm::Triple::ppc64le:
+- LibDir = "lib64";
++ LibDir = "lib";
+ Loader =
+ (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
+ break;
diff --git a/user/clang/pmmx-musl.patch b/user/clang/pmmx-musl.patch
new file mode 100644
index 000000000..7286c0ab8
--- /dev/null
+++ b/user/clang/pmmx-musl.patch
@@ -0,0 +1,12 @@
+--- cfe-8.0.0.src/lib/Driver/ToolChains/Linux.cpp.old 2018-11-29 18:52:22.000000000 +0000
++++ cfe-8.0.0.src/lib/Driver/ToolChains/Linux.cpp 2019-06-01 23:22:27.015221397 +0000
+@@ -528,6 +528,9 @@
+ ArchName = "armeb";
+ IsArm = true;
+ break;
++ case llvm::Triple::x86:
++ ArchName = "i386";
++ break;
+ default:
+ ArchName = Triple.getArchName().str();
+ }
diff --git a/user/clang/ppc64-elfv2.patch b/user/clang/ppc64-elfv2.patch
new file mode 100644
index 000000000..59f300ebc
--- /dev/null
+++ b/user/clang/ppc64-elfv2.patch
@@ -0,0 +1,38 @@
+--- cfe-8.0.0.src/lib/Basic/Targets/PPC.h.old 2019-02-12 11:19:21.000000000 +0000
++++ cfe-8.0.0.src/lib/Basic/Targets/PPC.h 2019-06-01 23:18:07.613180102 +0000
+@@ -367,7 +367,7 @@
+ ABI = "elfv2";
+ } else {
+ resetDataLayout("E-m:e-i64:64-n32:64");
+- ABI = "elfv1";
++ ABI = (Triple.getEnvironment() == llvm::Triple::Musl) ? "elfv2" : "elfv1";
+ }
+
+ switch (getTriple().getOS()) {
+@@ -375,6 +375,15 @@
+ LongDoubleWidth = LongDoubleAlign = 64;
+ LongDoubleFormat = &llvm::APFloat::IEEEdouble();
+ break;
++ default:
++ break;
++ }
++
++ switch (getTriple().getEnvironment()) {
++ case llvm::Triple::Musl:
++ LongDoubleWidth = LongDoubleAlign = 64;
++ LongDoubleFormat = &llvm::APFloat::IEEEdouble();
++ break;
+ default:
+ break;
+ }
+--- cfe-8.0.0.src/lib/Driver/ToolChains/Clang.cpp.old 2019-01-25 00:15:41.000000000 +0000
++++ cfe-8.0.0.src/lib/Driver/ToolChains/Clang.cpp 2019-06-01 23:19:33.973868618 +0000
+@@ -1745,7 +1745,7 @@
+ break;
+ }
+
+- ABIName = "elfv1";
++ ABIName = (getToolChain().getTriple().isMusl()) ? "elfv2" : "elfv1";
+ break;
+ }
+ case llvm::Triple::ppc64le:
diff --git a/user/cmus/APKBUILD b/user/cmus/APKBUILD
index 918cef34c..0be94312e 100644
--- a/user/cmus/APKBUILD
+++ b/user/cmus/APKBUILD
@@ -13,7 +13,8 @@ makedepends="alsa-lib-dev faad2-dev ffmpeg-dev flac-dev libao-dev libcddb-dev
libcdio-paranoia-dev libmad-dev libmodplug-dev libvorbis-dev ncurses-dev
opusfile-dev pulseaudio-dev wavpack-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz
+ ppc-libatomic.patch"
build() {
cd "$builddir"
@@ -60,4 +61,5 @@ package() {
make DESTDIR="$pkgdir" PREFIX=/usr install
}
-sha512sums="cf359dfcefa833a5b10a2d16ac405672bea762b62b7177c115560127035682fba65c15b9a8710179a343d1f99212a0260b5c095542982202e2cd1bef5b0c17fc cmus-2.8.0.tar.gz"
+sha512sums="cf359dfcefa833a5b10a2d16ac405672bea762b62b7177c115560127035682fba65c15b9a8710179a343d1f99212a0260b5c095542982202e2cd1bef5b0c17fc cmus-2.8.0.tar.gz
+06a91da06cc916aa475467aa90bd7170c7288b68459706c3416700e79ba8707fd7a85bded0c0d5d51d805c15f59ff395670f11318ca5a419d17ab1070a48775f ppc-libatomic.patch"
diff --git a/user/cmus/ppc-libatomic.patch b/user/cmus/ppc-libatomic.patch
new file mode 100644
index 000000000..7107fb5db
--- /dev/null
+++ b/user/cmus/ppc-libatomic.patch
@@ -0,0 +1,29 @@
+From 9a56c86a663e53195a32b7908cf2bd4349bad5c3 Mon Sep 17 00:00:00 2001
+From: Luis Ressel <aranea@aixah.de>
+Date: Fri, 29 Mar 2019 17:16:16 +0100
+Subject: [PATCH] Link against libatomic on ppc32. DO NOT UPSTREAM.
+
+Assuming that we'll always need libatomic on ppc32, but never elsewhere
+is hideous and broken, but gcc is making it a huge pain to handle this
+properly.
+---
+ configure | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/configure b/configure
+index e76acdd..2cd5d45 100755
+--- a/configure
++++ b/configure
+@@ -98,6 +98,9 @@ check_compat()
+ CONFIG_CYGWIN=y
+ makefile_vars CONFIG_CYGWIN
+ esac
++
++ test ppc = "$(uname -m)" && try_link -latomic && COMPAT_LIBS="$COMPAT_LIBS -latomic"
++
+ makefile_vars COMPAT_LIBS
+ }
+
+--
+2.21.0
+
diff --git a/user/cogl/APKBUILD b/user/cogl/APKBUILD
index 4f1b2202f..f7e7b699c 100644
--- a/user/cogl/APKBUILD
+++ b/user/cogl/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=cogl
-pkgver=1.22.2
+pkgver=1.22.4
pkgrel=0
pkgdesc="GObject-based GL/GLES abstraction library"
url="https://gnome.org"
@@ -11,8 +11,7 @@ license="MIT AND SGI-B-2.0 AND BSD-3-Clause AND Public-Domain AND LGPL-2.0+ AND
makedepends="glib-dev libxcomposite-dev libxrandr-dev mesa-dev cairo-dev
pango-dev vala gobject-introspection-dev gdk-pixbuf-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.gnome.org/sources/cogl/1.22/cogl-$pkgver.tar.xz
- fix-wayland-egl-check.patch"
+source="https://download.gnome.org/sources/cogl/1.22/cogl-$pkgver.tar.xz"
build() {
cd "$builddir"
@@ -38,5 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2ec99f5ff22683d12925b9a1f748387b47c4506aaf3c5afec851b3b6fe6b7cdfd211fb7e4359bd7a1d1b7cb3cb7fbd257efbcb7d2941d0f133a60bad1c9645e3 cogl-1.22.2.tar.xz
-73fa3a7258e2624d13abfe36259bef1a28e993653f0fdebfb4b0822752fa40a95399f4f9cd707873938bc6b8edcc7db46228247851471899f05a7e7132af58c7 fix-wayland-egl-check.patch"
+sha512sums="85f3af49c16dd2e545a3b91c076ac10107a4b9d0dc785cefe489e91eabdd82837f732685f1f0dca1695fc2f8095f42d5f30f145b659eb4295964787f06c1e37a cogl-1.22.4.tar.xz"
diff --git a/user/cogl/fix-wayland-egl-check.patch b/user/cogl/fix-wayland-egl-check.patch
deleted file mode 100644
index 72ec484e5..000000000
--- a/user/cogl/fix-wayland-egl-check.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nurd cogl-1.22.2/cogl/winsys/cogl-winsys-egl.c cogl-1.22.2.new/cogl/winsys/cogl-winsys-egl.c
---- cogl-1.22.2/cogl/winsys/cogl-winsys-egl.c 2016-08-26 11:18:16.000000000 -0500
-+++ cogl-1.22.2.new/cogl/winsys/cogl-winsys-egl.c 2018-09-07 08:28:36.950138458 -0500
-@@ -1029,7 +1029,7 @@
- egl_ctx = EGL_NO_CONTEXT;
- else
- #endif
--#if COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
-+#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
- /* The WL_bind_wayland_display spec states that EGL_NO_CONTEXT is to be used
- * in conjunction with the EGL_WAYLAND_BUFFER_WL target */
- if (target == EGL_WAYLAND_BUFFER_WL)
diff --git a/user/comic-neue/APKBUILD b/user/comic-neue/APKBUILD
index 8b731ab10..dc12db220 100644
--- a/user/comic-neue/APKBUILD
+++ b/user/comic-neue/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=comic-neue
-pkgver=2.3
+pkgver=2.4
pkgrel=0
pkgdesc="Casual typeface"
url="http://comicneue.com/"
@@ -11,12 +11,12 @@ license="OFL-1.1"
depends="fontconfig"
makedepends=""
subpackages=""
-source="http://comicneue.com/comic-neue-$pkgver.zip"
-builddir="$srcdir"
+source="$pkgname-$pkgver.zip::https://github.com/crozynski/comicneue/archive/v$pkgver.zip"
+builddir="$srcdir/comicneue-$pkgver"
package() {
cd "$builddir"
install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/OTF/ OTF/*.otf
}
-sha512sums="37adcc314f6d4bdc888e056488b209c4a8f3ee5f51618960a733e9d88ee513bafb2abf2b3d9d5bc4d2106297cf38645a8ab56c0fe79974b2ee6e0528aebaf4f5 comic-neue-2.3.zip"
+sha512sums="12c93efc00e1caecd6be9080de37ecf2049384185c4043dc250945b7cb47fbbe3fcc973ebdf7d58f3351ba11f87341c24af7e1039b873d463b0d84da9c72f0b8 comic-neue-2.4.zip"
diff --git a/user/consolekit2/APKBUILD b/user/consolekit2/APKBUILD
index 3325c3cb1..3c7e5035b 100644
--- a/user/consolekit2/APKBUILD
+++ b/user/consolekit2/APKBUILD
@@ -3,7 +3,7 @@
pkgbase=ConsoleKit2
pkgname=consolekit2
pkgver=1.2.1
-pkgrel=0
+pkgrel=1
pkgdesc="Framework for defining and tracking users, login sessions, and seats"
provides="consolekit=$pkgver"
replaces="consolekit"
@@ -18,7 +18,8 @@ checkdepends="libxml2-utils"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc"
source="https://github.com/ConsoleKit2/$pkgbase/releases/download/$pkgver/$pkgbase-$pkgver.tar.bz2
consolekit2.initd
- pam-foreground-compat.ck"
+ pam-foreground-compat.ck
+ poweroff.patch"
# Capital "ConsoleKit"
builddir="$srcdir"/$pkgbase-$pkgver
@@ -54,4 +55,5 @@ package() {
sha512sums="31befe89f7fa604138bfb0722fc6cf12f0934bac004f98fc331004eb5a7f466ed7bd0dc9adc9869da739974208f9a3bc125068ff8a60d4b2badb58ef70a3eb10 ConsoleKit2-1.2.1.tar.bz2
8c16c452707475bdd4a50d3ade367d52ad92a6560be48b4e21e5b5eadef6e56c39d3d03d3a64f9b45a59eca50179cf5aa9c11978904d5d101db7498fb9bc0339 consolekit2.initd
-3b114fbbe74cfba0bfd4dad0eb1b85d08b4979a998980c1cbcd7f44b8a16b0ceca224680d4f4a1644cd24698f8817e5e8bdfcdc4ead87a122d0e323142f47910 pam-foreground-compat.ck"
+3b114fbbe74cfba0bfd4dad0eb1b85d08b4979a998980c1cbcd7f44b8a16b0ceca224680d4f4a1644cd24698f8817e5e8bdfcdc4ead87a122d0e323142f47910 pam-foreground-compat.ck
+033595766671f545ba6c9f3fcb529547d20359cdd8eb901bb7a6c3b319b495038e8072e3b01f2fd264f592b0c7825a79282d8bc590f057a5f62e9fdfedde9c68 poweroff.patch"
diff --git a/user/consolekit2/poweroff.patch b/user/consolekit2/poweroff.patch
new file mode 100644
index 000000000..8ae9d21a5
--- /dev/null
+++ b/user/consolekit2/poweroff.patch
@@ -0,0 +1,22 @@
+Most users expect "shutdown" to also power off the machine when
+requested from a graphical environment. "Actions after halting are
+unspecified" when using -h (LSB 3.0) - sysvinit additionally tries to
+power off when using -h, whereas s6-linux-init only halts.
+Use the **non-standard** -P option (implemented by sysvinit and
+s6-linux-init since 1.0.2.0) to request power off after halting.
+
+--- ConsoleKit2-1.2.1/tools/linux/ck-system-stop 2017-06-02 01:31:44.000000000 +0000
++++ ConsoleKit2-1.2.1/tools/linux/ck-system-stop 2019-06-09 17:40:31.110006347 +0000
+@@ -2,10 +2,10 @@
+
+ #Try for common tools
+ if [ -x "/sbin/shutdown" ] ; then
+- /sbin/shutdown -h now
++ /sbin/shutdown -hP now
+ exit $?
+ elif [ -x "/usr/sbin/shutdown" ] ; then
+- /usr/sbin/shutdown -h now
++ /usr/sbin/shutdown -hP now
+ exit $?
+ else
+ exit 1
diff --git a/user/cracklib/APKBUILD b/user/cracklib/APKBUILD
index eba2a0c49..ebc721a79 100644
--- a/user/cracklib/APKBUILD
+++ b/user/cracklib/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=cracklib
-pkgver=2.9.6
+pkgver=2.9.7
pkgrel=0
pkgdesc="Library for checking passwords against dictionary words"
url=" "
@@ -11,17 +11,15 @@ depends=""
makedepends=""
subpackages="$pkgname-dev $pkgname-lang"
triggers="$pkgname.trigger=/usr/share/dict"
-source="https://github.com/cracklib/cracklib/releases/download/cracklib-$pkgver/cracklib-$pkgver.tar.gz
+source="https://github.com/cracklib/cracklib/releases/download/v$pkgver/cracklib-$pkgver.tar.bz2
$pkgname.trigger
"
-prepare() {
- cd "$builddir"
- default_prepare
-}
+# secfixes:
+# 2.9.7-r0:
+# - CVE-2016-6318
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -33,15 +31,13 @@ build() {
}
check() {
- cd "$builddir"
make test
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
install -D -m644 dicts/cracklib-small "$pkgdir"/usr/share/dict/cracklib-small
}
-sha512sums="2b09672e5b412d670e7ed911ebf0c0023fe2901ea05c9c02eefb7a58a13cddbc27a65d75bb20be9f8cebf4c90a9a56dfe1a3b656dff62b1d6048f5376e671786 cracklib-2.9.6.tar.gz
+sha512sums="f6bf65ac092ba46ff78ddbc115692260fb76dc71219cd679d2ea935ebfb9e709fbb30259a7406743ed00dbdc415335b3ac9d9fcba1d204ea36d5eb96bf1333a2 cracklib-2.9.7.tar.bz2
deef4710a3bf78348adfe699ff995acc21a7671ab03c4dd28da7f38f4a83008af4c97c9c1d4e1e98a47c0148c84146b36477f41f98fb0ee028cc0fadebb85ab9 cracklib.trigger"
diff --git a/user/cups-filters/APKBUILD b/user/cups-filters/APKBUILD
index 98205aecb..7ebfd4e0d 100644
--- a/user/cups-filters/APKBUILD
+++ b/user/cups-filters/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=cups-filters
-pkgver=1.21.6
+pkgver=1.22.5
pkgrel=0
pkgdesc="OpenPrinting CUPS filters and backends"
url="https://wiki.linuxfoundation.org/openprinting/cups-filters"
@@ -15,7 +15,6 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="https://www.openprinting.org/download/cups-filters/cups-filters-$pkgver.tar.xz"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -37,12 +36,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
# the pdf.utf-8 symlink isn't quite good enough
cd "$pkgdir"/usr/share/cups/charsets && \
@@ -62,4 +59,4 @@ libs() {
mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib/
}
-sha512sums="804250745ac710706ff1bfa6e161c0b1a8a65a74850a76a311b7614694a7e5d07f01dfd15f277ad79ed7fe1e84ea680bab1643e0b82cefa3e26603fa2eea935a cups-filters-1.21.6.tar.xz"
+sha512sums="ed33e6d6f090c00f0f0d1d012d3b394bfaa1f81feeb5b0b7ead1dffa2399f0165ce916a99c3bf28aca7f279bffba5b6575feff700130cabfcd46eb4c904d5c59 cups-filters-1.22.5.tar.xz"
diff --git a/user/cups/APKBUILD b/user/cups/APKBUILD
index 156eb247c..f37bc34d0 100644
--- a/user/cups/APKBUILD
+++ b/user/cups/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer:
pkgname=cups
-pkgver=2.2.10
-pkgrel=1
+pkgver=2.2.11
+pkgrel=0
pkgdesc="The CUPS Printing System"
url="https://www.cups.org/"
arch="all"
@@ -127,7 +127,7 @@ _mv() {
done
}
-sha512sums="1393987a263ebf20089dd3008ae4ed770a27a1f289032604eb9e18f2e863bd0e4215a70118f5a6d3940875625278b6798fbc9070e791ec559179c6cf7dc7b05f cups-2.2.10-source.tar.gz
+sha512sums="21a6916041b50044d336871f10d1192635458a3d318f19a18ad21d27027dd3839400601019e758424c218225a34aba148ba3a57f0ce3fe14c4df03bd1fde3403 cups-2.2.11-source.tar.gz
cf64211da59e79285f99d437c02fdd7db462855fb2920ec9563ba47bd8a9e5cbd10555094940ceedeb41ac805c4f0ddb9147481470112a11a76220d0298aef79 cups.logrotate
2c2683f755a220166b3a1653fdd1a6daa9718c8f0bbdff2e2d5e61d1133306260d63a83d3ff41619b5cf84c4913fae5822b79553e2822858f38fa3613f4c7082 cupsd.initd
7a8cd9ac33b0dd4627c72df4275db8ccd7cf8e201bce3833719b42f532f526bb347b842e3ea1ef0d61855b5c6e1088b5d20b68942f2c2c0acf504d8d9728efd3 cups-no-export-ssllibs.patch
diff --git a/user/dconf/APKBUILD b/user/dconf/APKBUILD
new file mode 100644
index 000000000..988cfbae5
--- /dev/null
+++ b/user/dconf/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=dconf
+pkgver=0.32.0
+pkgrel=0
+pkgdesc="Configuration management for the Gnome desktop environment"
+url="https://gnome.org"
+arch="all"
+license="LGPL-2.0+ AND LGPL-2.1+"
+depends="dbus"
+makedepends="meson ninja
+ bash-completion dbus-dev docbook-xsl libxslt-dev python3-dev vala-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://download.gnome.org/sources/dconf/${pkgver%.*}/dconf-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ meson \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --buildtype=release \
+ . output
+ ninja -C output
+}
+
+check() {
+ cd "$builddir"
+}
+
+package() {
+ cd "$builddir"
+ DESTDIR="$pkgdir" ninja -C output install
+}
+
+sha512sums="09ae65ad365947aed24228b94978b290060264e55b443d18a743e943627703c92e16e3a5ca8a0aaf3549f7a1d5aad77bdc285d4c8519db705d3104ec22b111a0 dconf-0.32.0.tar.xz"
diff --git a/user/dialog/APKBUILD b/user/dialog/APKBUILD
index 0d8ab9abc..6e0547a1f 100644
--- a/user/dialog/APKBUILD
+++ b/user/dialog/APKBUILD
@@ -12,7 +12,7 @@ license="LGPL-2.1-only"
depends=""
makedepends="ncurses-dev"
subpackages="$pkgname-doc"
-source="ftp://ftp.invisible-island.net/$pkgname/$pkgname-$_realver.tgz"
+source="https://invisible-mirror.net/archives/dialog/dialog-$_realver.tgz"
builddir="$srcdir"/$pkgname-$_realver
build() {
diff --git a/user/dolphin/APKBUILD b/user/dolphin/APKBUILD
index 2a7ec1437..cd3d15501 100644
--- a/user/dolphin/APKBUILD
+++ b/user/dolphin/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=dolphin
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Lightweight desktop file manager"
url="https://www.kde.org/applications/system/dolphin/"
@@ -16,7 +16,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kdoctools-dev kinit-dev
baloo-dev kfilemetadata-dev kdelibs4support-dev kactivities-dev
baloo-widgets-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/dolphin-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/dolphin-$pkgver.tar.xz
+ frameworks.patch
+ "
build() {
cd "$builddir"
@@ -44,4 +46,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="369592af52053550eb482fecfbb54fda3d65db75b0bcf000f88c32d4e709e056f8f5399427674b3aac0bcea438fe8fa24bdbb08109373e0c44e495d9c772da1f dolphin-18.12.3.tar.xz"
+sha512sums="a967e5cb5606c7eba00d6a1eb88336b86e02c6a80cf04d5be3fe7ba573243c36a64275ca61c512bd5b212a9d647b1c3f59c9f5572cade57da3dc1fd031d3eabf dolphin-19.04.1.tar.xz
+4ec4b440f5ed52439152fb6132448e674f8e357413ef1eae339cfefb602a82909bceba85f5f517b51a985e3101d6be42b25bee6a4dd338a190d995deef57c708 frameworks.patch"
diff --git a/user/dolphin/frameworks.patch b/user/dolphin/frameworks.patch
new file mode 100644
index 000000000..3fc7130bb
--- /dev/null
+++ b/user/dolphin/frameworks.patch
@@ -0,0 +1,11 @@
+--- dolphin-19.04.0/CMakeLists.txt.old 2019-04-12 00:02:11.000000000 +0000
++++ dolphin-19.04.0/CMakeLists.txt 2019-04-18 20:17:53.396872289 +0000
+@@ -8,7 +8,7 @@
+ project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION})
+
+ set(QT_MIN_VERSION "5.8.0")
+-set(KF5_MIN_VERSION "5.56.0")
++set(KF5_MIN_VERSION "5.54.0")
+
+ # ECM setup
+ find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
diff --git a/user/dosbox/APKBUILD b/user/dosbox/APKBUILD
index 0b9418d50..e8674b531 100644
--- a/user/dosbox/APKBUILD
+++ b/user/dosbox/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Horst Burkhardt <horst@adelielinux.org>
pkgname=dosbox
pkgver=0.82.7
-pkgrel=1
+pkgrel=2
pkgdesc="Emulator for MS-DOS games"
url="https://github.com/joncampbell123/dosbox-x/"
arch="all !s390x"
@@ -15,6 +15,7 @@ source="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-wip-20180513
asmfix.patch
posix-headers.patch
constness.patch
+ gcc8-pmmx.patch
"
builddir="$srcdir/dosbox-x-dosbox-x-wip-20180513-1316"
@@ -40,4 +41,5 @@ sha512sums="38b7423b695f3b0dfd26f8c8913f26afba73ea6235bb205ec3a5d7f08ef3c74a9b6c
daf0efea03d6295f5a20d8d197f7d0ba38e0608edcfe8be19fc6091b783885d523557674f0f7df83b88186b77794723106cf7a0e02125d2cc75ecfd7d51fa91d porttalk-fix.patch
266ede57d21030f7752287f18660b47e9185a9aef9d022337dded9c9ce93e572691b41aca878f8a28c67bf5d217c7e84912336c21aacf594085dc31d99862ebf asmfix.patch
462e84d5bac8fb2c1317b303d1bdda72a50e9eedfb5251450cb8d0f98f4297d6a483eb2c95624cbc8d25e917788032dd1e7d8b0d06d82dad6600f8bd6eec85f4 posix-headers.patch
-775d8f209ea04a81fda5c3dcf8186b529248befb962019c66e60344a5e07c95462f9cc4acf0f82c44635fc86f1b4817030792a1900d36e6d911b6f782722f320 constness.patch"
+775d8f209ea04a81fda5c3dcf8186b529248befb962019c66e60344a5e07c95462f9cc4acf0f82c44635fc86f1b4817030792a1900d36e6d911b6f782722f320 constness.patch
+0e23ccef2c238583b1fbbf598da95f6e5f805edef37bd08d0d0c4a69e92f11b935b94dd3a8d889dc9587ec264b8540169b2858116f20d8467c345a179893090d gcc8-pmmx.patch"
diff --git a/user/dosbox/gcc8-pmmx.patch b/user/dosbox/gcc8-pmmx.patch
new file mode 100644
index 000000000..3b86802ed
--- /dev/null
+++ b/user/dosbox/gcc8-pmmx.patch
@@ -0,0 +1,32 @@
+From 771f1c8304253fcb95aef54da739f43712aea726 Mon Sep 17 00:00:00 2001
+From: Jonathan Campbell <jonathan@castus.tv>
+Date: Sun, 20 May 2018 19:30:58 -0700
+Subject: [PATCH] Suddenly MinGW GCC 7.3.0 does not allow the dynamic core to
+ declare EBP clobbered. Fix dynamic core entry appropriately
+
+---
+ src/cpu/core_dyn_x86/risc_x86.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/cpu/core_dyn_x86/risc_x86.h b/src/cpu/core_dyn_x86/risc_x86.h
+index dea5ae0ca..d2a847a4f 100644
+--- a/src/cpu/core_dyn_x86/risc_x86.h
++++ b/src/cpu/core_dyn_x86/risc_x86.h
+@@ -130,13 +130,15 @@ static BlockReturn gen_runcode(Bit8u * code) {
+ #else
+ register Bit32u tempflags=reg_flags & FMASK_TEST;
+ __asm__ volatile (
++ "pushl %%ebp \n"
+- "call 1f ; 1: addl $run_return_adress-.,(%%esp) \n"
++ "pushl $(run_return_adress) \n"
+ "pushl %2 \n"
+ "jmp *%3 \n"
+ "run_return_adress: \n"
++ "popl %%ebp \n"
+ :"=a" (retval), "=c" (tempflags)
+ :"r" (tempflags),"r" (code)
+- :"%edx","%ebx","%edi","%esi","%ebp","cc","memory"
++ :"%edx","%ebx","%edi","%esi"/*,"%ebp"*/,"cc","memory" /* NTS: GCC 7.3.0 MinGW suddenly will not allow this code to declare EBP clobbered */
+ );
+ reg_flags=(reg_flags & ~FMASK_TEST) | (tempflags & FMASK_TEST);
+ #endif
diff --git a/user/dragonplayer/APKBUILD b/user/dragonplayer/APKBUILD
index 59c394962..2e9421b1e 100644
--- a/user/dragonplayer/APKBUILD
+++ b/user/dragonplayer/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=dragonplayer
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Multimedia player with a focus on simplicity"
url="https://www.kde.org/applications/multimedia/dragonplayer/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1173ca6bc1fa65161e35add94f08681de211000b571456edb41015d72f9e4a0ae2e5b1d323dcd3e599f35f54e24ce7714771e89d53c8c9a135a1641cf91e862a dragon-18.12.3.tar.xz"
+sha512sums="80ba2e643b79e9f83edc01e0fe5def947e4d674950655795df7adc9760221e1d6b969f1e37d11d7ed6711bf26a56fd36807a5846b7f92973e63424abc5371aa6 dragon-19.04.1.tar.xz"
diff --git a/user/engrampa/APKBUILD b/user/engrampa/APKBUILD
new file mode 100644
index 000000000..22f4d94db
--- /dev/null
+++ b/user/engrampa/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=engrampa
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Archive manager for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.0+"
+depends=""
+makedepends="caja-dev file-dev gtk+3.0-dev intltool itstool json-glib-dev
+ libsm-dev libxml2-utils"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/engrampa-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-magic
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="111eeb470555ae8edb7754159bb2e70b03cbbc7b1c9d61c253d9d67e50d84ff0e0654e16547883c39aeeb223e8ba58201d45b50819784fc6cf7a21f0cf176c70 engrampa-1.22.1.tar.xz"
diff --git a/user/eom/APKBUILD b/user/eom/APKBUILD
new file mode 100644
index 000000000..a9a26040a
--- /dev/null
+++ b/user/eom/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=eom
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Image viewer for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.0+ AND GPL-2.0-only"
+depends=""
+makedepends="gobject-introspection-dev gtk+3.0-dev intltool itstool
+ mate-desktop-dev libjpeg-turbo-dev libexif-dev libpeas-dev librsvg-dev
+ libxml2-dev libxml2-utils"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/eom-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="f510de62b9b6f11d02df067128042d6905484e0509a939b7919405d0c1dd03fe4b6735dcd8ccf780d36c5713f4585b50b2727645a454da148307a74cf542be87 eom-1.22.1.tar.xz"
diff --git a/user/ethtool/APKBUILD b/user/ethtool/APKBUILD
index 8d4823e3d..e24ad4d76 100644
--- a/user/ethtool/APKBUILD
+++ b/user/ethtool/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=ethtool
-pkgver=4.18
+pkgver=5.0
pkgrel=0
pkgdesc="Utility for controlling network drivers and hardware"
url="https://mirrors.edge.kernel.org/pub/software/network/ethtool/"
@@ -12,7 +12,6 @@ subpackages="$pkgname-doc"
source="https://www.kernel.org/pub/software/network/ethtool/$pkgname-$pkgver.tar.xz"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -24,13 +23,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="e77f9967be4634955640d9dccbc539455d333bcbad61326617dffea32cfd13a72a7dda4087caf6fff41b49c9ce476435cc1310e131705d0ad402685e10b4fb0e ethtool-4.18.tar.xz"
+sha512sums="9ff6433466585e38dd0dbb99ed06430cd885f26ef4e11f6b95c024ed7511c376f8d86ff53c298cb8e811193500514737ce21eb0cd925bede0373799eb3a990b6 ethtool-5.0.tar.xz"
diff --git a/user/eudev/APKBUILD b/user/eudev/APKBUILD
index 5b9aa2526..f1cc65903 100644
--- a/user/eudev/APKBUILD
+++ b/user/eudev/APKBUILD
@@ -2,21 +2,20 @@
# Maintainer:
pkgname=eudev
pkgver=3.2.7
-pkgrel=0
+pkgrel=1
pkgdesc="OpenRC compatible fork of systemd-udev"
url="https://wiki.gentoo.org/wiki/Project:Eudev"
arch="all"
options="!checkroot"
license="GPL-2.0-only"
depends=""
-depends_dev=""
-replaces="udev udev-init-scripts"
-provides="udev=176"
makedepends="gperf glib-dev linux-headers kmod-dev gobject-introspection-dev
util-linux-dev"
checkdepends="tree xz"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc
$pkgname-netifnames::noarch"
+provides="udev=176"
+replaces="udev udev-init-scripts"
source="http://dev.gentoo.org/~blueness/$pkgname/$pkgname-$pkgver.tar.gz
default-rules.patch
load-fbcon.patch
@@ -102,6 +101,13 @@ netifnames() {
openrc() {
replaces="udev-init-scripts-openrc"
default_openrc
+ install -d "$subpkgdir"/usr/share/runlevels/openrc/sysinit
+ # https://bts.adelielinux.org/show_bug.cgi?id=51
+ # if eudev is installed, it should be running in the sysinit runlevel
+ ln -s /etc/init.d/udev \
+ "$subpkgdir"/usr/share/runlevels/openrc/sysinit/udev
+ ln -s /etc/init.d/udev-trigger \
+ "$subpkgdir"/usr/share/runlevels/openrc/sysinit/udev-trigger
}
sha512sums="e6c8ec86ae434c967f6a568fa0b281229bb87be7e3fec025dc3e0225de7843ffaa5dd65bdeffefbc91e9e2911aa3de9df84c76148fe8863ff60fba4c88653c40 eudev-3.2.7.tar.gz
diff --git a/user/evince/APKBUILD b/user/evince/APKBUILD
index 9f9e7172e..9f8ba5d66 100644
--- a/user/evince/APKBUILD
+++ b/user/evince/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=evince
-pkgver=3.31.4
+pkgver=3.32.0
pkgrel=0
pkgdesc="GNOME document viewer"
url="https://wiki.gnome.org/Apps/Evince"
@@ -13,8 +13,8 @@ makedepends="djvulibre-dev glib-dev gobject-introspection-dev
gtk+3.0-dev itstool libarchive-dev libexecinfo-dev libgxps-dev
libsecret-dev libspectre-dev libxml2-dev libxml2-utils poppler-dev
tiff-dev zlib-dev"
-subpackages="$pkgname-doc $pkgname-lang"
-source="https://ftp.gnome.org/pub/gnome/sources/evince/3.31/evince-$pkgver.tar.xz"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://ftp.gnome.org/pub/gnome/sources/evince/3.32/evince-$pkgver.tar.xz"
build() {
cd "$builddir"
@@ -74,4 +74,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="bed3950fb5ec58855a915c9e06b158924fd07b41c022e281cbada30174d8918c69a29f3408d27db2f1df70e2ba6bc2c35a6f0d5075627397682b9602a6f94a0f evince-3.31.4.tar.xz"
+sha512sums="565298a200d9ae2f6b4cb53c3cba0d0d0e4cfbef60e4145bfb9c82a5682947ceb2371e52c27179cd69a238cd387bcfd744d3c55df814b6347f07781aec3ea658 evince-3.32.0.tar.xz"
diff --git a/user/exiv2/APKBUILD b/user/exiv2/APKBUILD
index 12c8c21c6..7cf8693fe 100644
--- a/user/exiv2/APKBUILD
+++ b/user/exiv2/APKBUILD
@@ -3,7 +3,7 @@ pkgname=exiv2
pkgver=0.26
pkgrel=2
pkgdesc="Exif, IPTC and XMP metadata library and tools"
-url="http://www.exiv2.org"
+url="https://www.exiv2.org/"
arch="all"
options="!check" # No test suite.
license="GPL-2.0+"
diff --git a/user/featherpad/APKBUILD b/user/featherpad/APKBUILD
index 85110b2c9..fc73865e7 100644
--- a/user/featherpad/APKBUILD
+++ b/user/featherpad/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=featherpad
-pkgver=0.9.3
+pkgver=0.9.4
pkgrel=0
pkgdesc="Featureful Qt-based text editor"
url="https://github.com/tsujan/FeatherPad"
@@ -31,4 +31,4 @@ package() {
make INSTALL_ROOT="$pkgdir" PREFIX=/usr install
}
-sha512sums="f06749b0ab57e6869bb6568367a7ef777a0f91c6a9229fe7892e720f48020ceac36d6948159b0516f4d1c920bff4ceb23f6b29a492d58908305856d2f03c2d36 FeatherPad-0.9.3.tar.gz"
+sha512sums="95fe137ccc0de49bb464b15aec586287e46b04ff2fe636d6092e39a6c5e3d633ca0b809181a728a8931a6628cdcf51cd0b91d8dfa58eee6a551fb3ec4ff42280 FeatherPad-0.9.4.tar.gz"
diff --git a/user/ffmpeg/APKBUILD b/user/ffmpeg/APKBUILD
index fdab8f0bd..dada6f23a 100644
--- a/user/ffmpeg/APKBUILD
+++ b/user/ffmpeg/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ffmpeg
-pkgver=4.1.1
+pkgver=4.1.3
pkgrel=0
pkgdesc="Record, convert, and stream audio and video"
url="https://ffmpeg.org/"
@@ -100,5 +100,5 @@ libs() {
mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
}
-sha512sums="fe72680f1e4ca0b226199d1407803e1de11f00f5a88a23251182172cda4a7369cf1826c4ef86230bf60b0f9ff0d69382da5eeec26574a31eacd9935cf4eeb86f ffmpeg-4.1.1.tar.xz
+sha512sums="0a540a0c5395f42c6079bc26d1b3baca453995693da7de21da469ce40b3a548bea14ff46a72c6f4c32256333855f9b86207cb8bf1d0dda33a17ddca54970daa3 ffmpeg-4.1.3.tar.xz
32652e18d4eb231a2e32ad1cacffdf33264aac9d459e0e2e6dd91484fced4e1ca5a62886057b1f0b4b1589c014bbe793d17c78adbaffec195f9a75733b5b18cb 0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch"
diff --git a/user/ffmpegthumbs/APKBUILD b/user/ffmpegthumbs/APKBUILD
index 74d46e589..f49d6b865 100644
--- a/user/ffmpegthumbs/APKBUILD
+++ b/user/ffmpegthumbs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ffmpegthumbs
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE video thumbnail system using FFmpeg"
url="https://www.KDE.org/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="50d15d72b4181bea11895d8fc79a898d11c21c2f5c8b5d37e046f2d03f8b4b09047d3558c763c272e6e854693797b1f7f4a093981bdaefa2f405ec5d4f66dec0 ffmpegthumbs-18.12.3.tar.xz"
+sha512sums="f91ea978fd3682e6bb1510e03a01e21be9b682d8b5aecd95bff47fb64028e798dba36111b18602c9144e2dfae42bbacb905b9ac3f9cc2e6bcd263cee6e169fd9 ffmpegthumbs-19.04.1.tar.xz"
diff --git a/user/fira/APKBUILD b/user/fira/APKBUILD
index 6719c19b2..8d0b68e9b 100644
--- a/user/fira/APKBUILD
+++ b/user/fira/APKBUILD
@@ -1,22 +1,31 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=fira
-pkgver=4.202
+pkgver=4.301
+_pkgver=${pkgver%.*}${pkgver#*.}
+_monover=3.2
pkgrel=0
-pkgdesc="Typefaces from Mozilla"
-url="https://mozilla.github.io/Fira/"
+pkgdesc="Typefaces formerly from Mozilla"
+url="https://bboxtype.com/typefaces/FiraSans/"
arch="noarch"
options="!check" # No test suite.
license="OFL-1.1"
depends="fontconfig"
makedepends=""
subpackages=""
-source="Fira-$pkgver.tar.gz::https://github.com/mozilla/Fira/archive/$pkgver.tar.gz"
-builddir="$srcdir/Fira-$pkgver"
+source="https://bboxtype.com/downloads/Fira/Download_Folder_FiraSans_$_pkgver.zip
+ https://bboxtype.com/downloads/Fira/Fira_Mono_${_monover/./_}.zip"
package() {
- cd "$builddir"
- install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/OTF/ otf/*.otf
+ cd "$srcdir"/Download_Folder_FiraSans_$_pkgver/Fonts/Fira_Sans_OTF_$_pkgver
+
+ for i in Compressed Condensed Normal; do
+ for j in Italic Roman; do
+ install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/OTF/ $i/$j/*.otf
+ done
+ done
+ install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/OTF/ "$srcdir"/Fira_Mono_3_2/Fonts/FiraMono_OTF_32/*.otf
}
-sha512sums="fec770fa038f2aa0654f9382f95aa1266a2655970f4c7755b237af9d1c09f47ce719f8daf3afc39812fc69448b9481ee0e2a1414f1d007ad70b4254c92950ebb Fira-4.202.tar.gz"
+sha512sums="37e3b17b0c90b99e704a9f54887d9029a5536fb16cc31bfc52d36d87aa20b3df5b024ea4181cda6068364d249a3e7bf1371a5d07e9f4aa5d93518ac3401d3e97 Download_Folder_FiraSans_4301.zip
+476ead044a97c7b46fb386e009a92e7ddd5499cd30f65a8e0225084aa2d24d2527bde9c90f195ffe0d4c3922d250abd969751e8c3c08bf767480f11b83163849 Fira_Mono_3_2.zip"
diff --git a/user/fluidsynth/APKBUILD b/user/fluidsynth/APKBUILD
index dab03f8e1..1630ac43d 100644
--- a/user/fluidsynth/APKBUILD
+++ b/user/fluidsynth/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=fluidsynth
-pkgver=2.0.4
+pkgver=2.0.5
pkgrel=0
pkgdesc="Real-time, software synthesiser based on SoundFont 2"
url="http://www.fluidsynth.org/"
arch="all"
license="LGPL-2.1+"
depends=""
-makedepends="alsa-lib-dev dbus-dev glib-dev libsndfile-dev"
+makedepends="alsa-lib-dev dbus-dev glib-dev libsndfile-dev pulseaudio-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="fluidsynth-$pkgver.tar.gz::https://github.com/FluidSynth/fluidsynth/archive/v$pkgver.tar.gz"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d58ddc5f4da9bb5954a82749617548ef32edd25f6ca5c6d5c2b06d23090784ec175d2422553a66776f543c6b253f037a6cf1e717a853344ffb899fa53752eec0 fluidsynth-2.0.4.tar.gz"
+sha512sums="5344ac889d2927dc2465bae40096d756a9bf9b1100e287ba0621c55ffc76f9cb8fa763f6bc832d701cd0ad2997965cf344f58ae4b3dd445eb3491e3659c093d9 fluidsynth-2.0.5.tar.gz"
diff --git a/user/fontawesome/APKBUILD b/user/fontawesome/APKBUILD
index 89d614288..a98397685 100644
--- a/user/fontawesome/APKBUILD
+++ b/user/fontawesome/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=fontawesome
-pkgver=5.7.0
+pkgver=5.8.1
pkgrel=0
pkgdesc="Typeface for iconography"
url="https://fontawesome.com"
@@ -12,11 +12,11 @@ depends="fontconfig"
makedepends=""
subpackages=""
source="https://use.fontawesome.com/releases/v$pkgver/fontawesome-free-$pkgver-desktop.zip"
-builddir="$srcdir/fontawesome-free-5.7.0-desktop/otfs"
+builddir="$srcdir/fontawesome-free-$pkgver-desktop/otfs"
package() {
cd "$builddir"
install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/OTF/ *.otf
}
-sha512sums="34f9e3c4bbf03f1d3cd247717a6c2ea19b83321a0c4db6587cba2276ccf7d59e982dd2696d58da8d212c4f30ab87b58601edc1b98bd33339f1fd45eef1e18a0d fontawesome-free-5.7.0-desktop.zip"
+sha512sums="078b67e41d5161651e6571ca7cd92fe78a400c9e92108fe0ebc71b0339a1b758fed5f255d666f29c5f59934a949df209ba9159b0232822c7caee404714311135 fontawesome-free-5.8.1-desktop.zip"
diff --git a/user/free42/APKBUILD b/user/free42/APKBUILD
index ba8814388..c0f490ea0 100644
--- a/user/free42/APKBUILD
+++ b/user/free42/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=free42
pkgver=2.0.22
-pkgrel=1
+pkgrel=2
pkgdesc="Scientific programmable calculator"
-url="http://thomasokken.com/free42/"
+url="https://thomasokken.com/free42/"
arch="all"
options="!check" # No test suite.
license="GPL-2.0-only AND Public-Domain"
@@ -15,11 +15,12 @@ source="https://distfiles.adelielinux.org/source/free42-nologo-$pkgver.tgz
free42.desktop
libx11.patch
patch.patch
+ unsigned-char.patch
"
-builddir="$srcdir/free42-nologo-$pkgver/gtk"
+builddir="$srcdir/free42-nologo-$pkgver"
build() {
- cd "$builddir"
+ cd "$builddir"/gtk
local SAVE_CFLAGS
SAVE_CFLAGS=$CFLAGS
unset CFLAGS
@@ -29,13 +30,13 @@ build() {
}
package() {
- cd "$builddir"
- install -D -m755 free42dec "$pkgdir"/usr/bin/free42dec
+ install -D -m755 gtk/free42dec "$pkgdir"/usr/bin/free42dec
install -D -m644 "$srcdir"/free42.desktop \
"$pkgdir"/usr/share/applications/free42.desktop
}
sha512sums="865e8cce86a882aba10e7e756308e195a6675f0b6db4b881e7b7df67de95f5169ca801005e25dd0e61a70a5a0cd6a374b0cf58003251cdc9dc526a2506e18e1d free42-nologo-2.0.22.tgz
f52700d234719f4ee7cdd369fc5f28ade190ff77ed1a824cd2cdaeef62419700de3d85a28fd6ae378f904e018813dc4145ca4cc9f2669fdf50f3e13baa7ec634 free42.desktop
-f8434fd1c20f0dd40de5773615eaf798329870231f7ce66785a1bc8e208fa0a64919f48ac3eea5ab9ceb818570ae93f61b0e81baec4261bbdfbf04237108ab6a libx11.patch
-7b48609bff5466d81f42ed65405cd09e98fa675c087837b22caebab2b97420a34d1156399c3b18608bcae42896c12aa63a6f87515f5677587dfff6ed135dc760 patch.patch"
+470eb88936c65a053860af94955bf979973bad48c4b1f593598818f8ff0c39c4869613a05ad0e82b7a3fc6ce19fa7b8642a38e726d4a48e3fe63a9cbac8a45d6 libx11.patch
+33afc0d0deb88143b3ec0a09fd2ba3de14d6ad269c9ecff55c9e89348d7bf76e2bbf880e0eef9a2c71eedb1da9136051a471d4aaaf9aa5acd4e992964a69692b patch.patch
+2e2e6c5a00de96f2ca1c61a0039a945bf0416c889b9131abf89c6eca4d8816ff0144c32634ac7c7b112fc1bd8cd6d816f22f2aed31bde59b96a79b9588235a02 unsigned-char.patch"
diff --git a/user/free42/libx11.patch b/user/free42/libx11.patch
index 54c4c6cc0..aa07ba2d1 100644
--- a/user/free42/libx11.patch
+++ b/user/free42/libx11.patch
@@ -1,5 +1,5 @@
---- gtk/Makefile.old 2019-01-13 14:52:39.000000000 +0000
-+++ gtk/Makefile 2019-01-17 01:38:40.500000000 +0000
+--- free42/gtk/Makefile.old 2019-01-13 14:52:39.000000000 +0000
++++ free42/gtk/Makefile 2019-01-17 01:38:40.500000000 +0000
@@ -35,7 +35,7 @@
-D_WCHAR_T_DEFINED
diff --git a/user/free42/patch.patch b/user/free42/patch.patch
index e84b3f7b8..f79bb6c8e 100644
--- a/user/free42/patch.patch
+++ b/user/free42/patch.patch
@@ -1,5 +1,5 @@
---- gtk/intel-lib-linux.patch.old 2019-01-13 14:52:39.000000000 +0000
-+++ gtk/intel-lib-linux.patch 2019-01-17 01:27:01.470000000 +0000
+--- free42/gtk/intel-lib-linux.patch.old 2019-01-13 14:52:39.000000000 +0000
++++ free42/gtk/intel-lib-linux.patch 2019-01-17 01:27:01.470000000 +0000
@@ -1668,3 +1668,62 @@
}
@@ -63,8 +63,8 @@
+ else
+ __TMP := $(strip $(subst /, ,$(firstword $(CC))))
+ CC_NAME := $(word $(words $(__TMP)), $(__TMP))
---- gtk/intel-lib-linux.patch.old 2019-01-23 03:43:48.830000000 +0000
-+++ gtk/intel-lib-linux.patch 2019-01-23 03:46:18.170000000 +0000
+--- free42/gtk/intel-lib-linux.patch.old 2019-01-23 03:43:48.830000000 +0000
++++ free42/gtk/intel-lib-linux.patch 2019-01-23 03:46:18.170000000 +0000
@@ -1727,3 +1727,14 @@
else
__TMP := $(strip $(subst /, ,$(firstword $(CC))))
diff --git a/user/free42/unsigned-char.patch b/user/free42/unsigned-char.patch
new file mode 100644
index 000000000..af3f47ef5
--- /dev/null
+++ b/user/free42/unsigned-char.patch
@@ -0,0 +1,15 @@
+This only breaks on platforms where 'char' is signed.
+
+(currently, pmmx and x86_64)
+
+--- free42/common/core_display.cc.old 2019-01-13 14:52:39.000000000 +0000
++++ free42/common/core_display.cc 2019-04-17 23:01:56.398695993 +0000
+@@ -43,7 +43,7 @@
+ #endif
+
+
+-static char bigchars[130][5] =
++static unsigned char bigchars[130][5] =
+ {
+ { 0x08, 0x08, 0x2a, 0x08, 0x08 },
+ { 0x22, 0x14, 0x08, 0x14, 0x22 },
diff --git a/user/freetds/APKBUILD b/user/freetds/APKBUILD
index ec1d26e66..07145e5b9 100644
--- a/user/freetds/APKBUILD
+++ b/user/freetds/APKBUILD
@@ -1,21 +1,19 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=freetds
-pkgver=1.00.109
+pkgver=1.00.111
pkgrel=0
pkgdesc="Tabular Datastream Library"
url="http://www.freetds.org/"
arch="all"
license="LGPL-2.0+"
-depends=
+depends=""
makedepends="linux-headers openssl-dev unixodbc-dev"
-install=
subpackages="$pkgname-doc $pkgname-dev"
source="ftp://ftp.freetds.org/pub/freetds/stable/$pkgname-$pkgver.tar.gz
fix-includes.patch"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,14 +29,12 @@ build() {
}
check() {
- cd "$builddir"
make -C "src/replacements" check
}
package() {
- cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="0c0742414aea533635a9d9b550d0cde10c14226a48d5ec9d353dfa07199d6788ae505e8e671945003a824a4049f11ddac1e4229eed51ac795c91dbf16ed6a4ef freetds-1.00.109.tar.gz
+sha512sums="c7f0886aaa83ee626c9738486ebc256f6fbae297a1e152848c2fba8954661d3ee74278f40c781f2c25eb11f2df38e833031126017555b827115f6cd9163cf771 freetds-1.00.111.tar.gz
d75d1aab6687586697f3e430db1e82f21208f10076b45996542eea682e36cbbbb344f479a9336fcfd294b5b87d7acb2ec5fb8ddd1914e990e23dd5e7ae93a0b6 fix-includes.patch"
diff --git a/user/freetype/0001-Enable-table-validation-modules.patch b/user/freetype/0001-Enable-table-validation-modules.patch
deleted file mode 100644
index 3e9451fa8..000000000
--- a/user/freetype/0001-Enable-table-validation-modules.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c3680bf8d38cf759c1e33dcc2d2d51e0a4fea2f9 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Tue, 23 Jun 2015 08:40:29 +0200
-Subject: [PATCH 1/3] Enable table validation modules
-
----
- modules.cfg | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.cfg b/modules.cfg
-index f30049c38cc45159..7b8e50fe1b34584a 100644
---- a/modules.cfg
-+++ b/modules.cfg
-@@ -120,7 +120,7 @@ AUX_MODULES += cache
- # TrueType GX/AAT table validation. Needs ftgxval.c below.
- #
- # No FT_CONFIG_OPTION_PIC support.
--# AUX_MODULES += gxvalid
-+AUX_MODULES += gxvalid
-
- # Support for streams compressed with gzip (files with suffix .gz).
- #
-@@ -143,7 +143,7 @@ AUX_MODULES += bzip2
- # OpenType table validation. Needs ftotval.c below.
- #
- # No FT_CONFIG_OPTION_PIC support.
--# AUX_MODULES += otvalid
-+AUX_MODULES += otvalid
-
- # Auxiliary PostScript driver component to share common code.
- #
---
-2.9.3
-
diff --git a/user/freetype/0002-Enable-subpixel-rendering.patch b/user/freetype/0002-Enable-subpixel-rendering.patch
deleted file mode 100644
index dfb57966e..000000000
--- a/user/freetype/0002-Enable-subpixel-rendering.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 96f09f08417887b2618c177bccfb6da2906568d9 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Tue, 23 Jun 2015 08:43:07 +0200
-Subject: [PATCH 2/3] Enable subpixel rendering
-
----
- include/freetype/config/ftoption.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index 90c123ef93e9ea04..67a361dd41e0b026 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -122,7 +122,7 @@ FT_BEGIN_HEADER
- /* This is done to allow FreeType clients to run unmodified, forcing */
- /* them to display normal gray-level anti-aliased glyphs. */
- /* */
--/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
-+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-
-
- /*************************************************************************/
---
-2.9.3
-
diff --git a/user/freetype/0003-Enable-infinality-subpixel-hinting.patch b/user/freetype/0003-Enable-infinality-subpixel-hinting.patch
deleted file mode 100644
index bbfa2a2cd..000000000
--- a/user/freetype/0003-Enable-infinality-subpixel-hinting.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 220e96a9a8d7aff6ad0f0f1aa12c79cdb563331c Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 29 Aug 2016 08:43:10 +0200
-Subject: [PATCH 3/3] Enable infinality subpixel hinting
-
----
- include/freetype/config/ftoption.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index 67a361dd41e0b026..c4812862518b66a6 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -675,8 +675,8 @@ FT_BEGIN_HEADER
- /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
- /* */
- /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
--#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
--/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
-+/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 */
-+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )
-
-
- /*************************************************************************/
---
-2.9.3
-
diff --git a/user/freetype/0004-Enable-long-PCF-family-names.patch b/user/freetype/0004-Enable-long-PCF-family-names.patch
deleted file mode 100644
index 675423a7c..000000000
--- a/user/freetype/0004-Enable-long-PCF-family-names.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 62da6a0f7f5cb77859a793863c386c452411e2a6 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Sun, 14 May 2017 18:09:31 +0200
-Subject: [PATCH 4/4] Enable long PCF family names
-
----
- include/freetype/config/ftoption.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index ebb44acdbbef9a47..0b39b417162707e4 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -865,7 +865,7 @@ FT_BEGIN_HEADER
- /* If this option is activated, it can be controlled with the */
- /* `no-long-family-names' property of the pcf driver module. */
- /* */
--/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-
-
- /*************************************************************************/
---
-2.13.0
-
diff --git a/user/freetype/40-memcpy-fix.patch b/user/freetype/40-memcpy-fix.patch
deleted file mode 100644
index 89e61cd0b..000000000
--- a/user/freetype/40-memcpy-fix.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- ./src/psaux/psobjs.c~ 2006-04-26 16:38:17.000000000 +0200
-+++ ./src/psaux/psobjs.c 2006-09-10 15:01:13.000000000 +0200
-@@ -165,6 +165,11 @@
- return PSaux_Err_Invalid_Argument;
- }
-
-+ if ( length < 0 ) {
-+ FT_ERROR(( "ps_table_add: invalid length\n" ));
-+ return PSaux_Err_Invalid_Argument;
-+ }
-+
- /* grow the base block if needed */
- if ( table->cursor + length > table->capacity )
- {
diff --git a/user/freetype/APKBUILD b/user/freetype/APKBUILD
index 652bef747..b2f5cd66e 100644
--- a/user/freetype/APKBUILD
+++ b/user/freetype/APKBUILD
@@ -1,25 +1,17 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=freetype
-pkgver=2.9.1
-pkgrel=2
+pkgver=2.10.0
+pkgrel=0
pkgdesc="TrueType font rendering library"
url="https://www.freetype.org/"
arch="all"
license="FTL OR GPL-2.0+"
options="!check"
depends=""
-depends_dev=""
-makedepends="$depends_dev zlib-dev libpng-dev bzip2-dev"
+makedepends="zlib-dev libpng-dev bzip2-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.bz2
- 40-memcpy-fix.patch
- 0001-Enable-table-validation-modules.patch
- 0003-Enable-infinality-subpixel-hinting.patch
- 0004-Enable-long-PCF-family-names.patch
-
- freetype-profile.sh
- "
+source="http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.bz2"
# secfixes:
# 2.9.1-r0:
@@ -29,7 +21,6 @@ source="http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.
# - CVE-2017-8287
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -43,11 +34,7 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
-
- install -Dm644 "$srcdir"/freetype-profile.sh \
- "$pkgdir"/etc/profile.d/freetype.sh
}
doc() {
@@ -55,9 +42,4 @@ doc() {
default_doc
}
-sha512sums="856766e1f3f4c7dc8afb2b5ee991138c8b642c6a6e5e007cd2bc04ae58bde827f082557cf41bf541d97e8485f7fd064d10390d1ee597f19d1daed6c152e27708 freetype-2.9.1.tar.bz2
-9981be8a3ea6f2cf856860b87a4e895e4610c9d5ea4beb611815e757e6080e060f6853ace02dd8ea55e5888cdf4bae5ad5eadd2d8a123754bb3c0bfe7ef41dea 40-memcpy-fix.patch
-41a84be2631b53072a76b78c582575aa48b650ee7b00017d018381002bc25df10cf33da4954c95ef50db39f1fa566678e3b4ae9bfee1dfd705423fb53e53e494 0001-Enable-table-validation-modules.patch
-7b52a3d67750d59b2c98e83dab4e0a0ab263142c2ca7bd5f8be5f8fe9cd1dc1f4debad44111c7886665329d8d2a3163756455618a6615df8f85d82bb0372d4dd 0003-Enable-infinality-subpixel-hinting.patch
-64c20fbcbf48372ea35fe2e0dae8fec4be8c601c899a4a71913060c6ea4082a2f41d69701da511e09fee126bf198d560986469e2356bd088d2dd5961f437df63 0004-Enable-long-PCF-family-names.patch
-7100cde5b2ca16bfbe968fce3e2eba5ba49e6ed53792d5db889c8d89e572d7d80da1338ccc9eeb9b243664ca2337467e9f73c1074bee0b34c417f6c7832ed390 freetype-profile.sh"
+sha512sums="dfad66f419ea9577f09932e0730c0c887bdcbdbc8152fa7477a0c39d69a5b68476761deed6864ddcc5cf18d100a7a3f728049768e24afcb04b1a74b25b6acf7e freetype-2.10.0.tar.bz2"
diff --git a/user/freetype/freetype-profile.sh b/user/freetype/freetype-profile.sh
deleted file mode 100644
index a4cc6423b..000000000
--- a/user/freetype/freetype-profile.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-# Subpixel hinting mode can be chosen by setting the right TrueType interpreter
-# version. The available settings are:
-#
-# truetype:interpreter-version=35 # Classic mode (default in 2.6)
-# truetype:interpreter-version=38 # Infinality mode
-# truetype:interpreter-version=40 # Minimal mode (default in 2.7)
-#
-# There are more properties that can be set, separated by whitespace. Please
-# refer to the FreeType documentation for details.
-
-# Uncomment and configure below
-export FREETYPE_PROPERTIES="truetype:interpreter-version=38"
diff --git a/user/fuse/APKBUILD b/user/fuse/APKBUILD
index 92840ed41..690b69d51 100644
--- a/user/fuse/APKBUILD
+++ b/user/fuse/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=fuse
-pkgver=2.9.8
-pkgrel=2
+pkgver=2.9.9
+pkgrel=0
pkgdesc="Linux Filesystem in Userspace (legacy version)"
url="https://github.com/libfuse/libfuse"
arch="all"
@@ -20,7 +20,6 @@ source="https://github.com/libfuse/libfuse/releases/download/$pkgname-$pkgver/$p
# - CVE-2018-10906
build() {
- cd "$builddir"
UDEV_RULES_PATH='/lib/udev/rules.d' ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -36,10 +35,9 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
rm -r "$pkgdir"/dev "$pkgdir"/etc/init.d
}
-sha512sums="0a9b14d96c6f98f5c903baf00114bfff72f9aeb97224702bbed370516b2b582401d5b436fcef979918ffd85d69ba4a82c8f722c0b35ebd50f7aa5f4ddfdcf8ad fuse-2.9.8.tar.gz
+sha512sums="3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2 fuse-2.9.9.tar.gz
5672ceb35acabb4bd97b6efc30614f22def62882fe198e2a8598a074d45b6b5337c082a5e09b5e399b6e5212dc1fbde9071c2a5051534c32091444c350b9c657 fix-realpath.patch"
diff --git a/user/fuse3/APKBUILD b/user/fuse3/APKBUILD
index dc049071d..31ef0032c 100644
--- a/user/fuse3/APKBUILD
+++ b/user/fuse3/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=fuse3
_pkgname=fuse
-pkgver=3.2.6
+pkgver=3.5.0
pkgrel=0
pkgdesc="The reference implementation of the Linux FUSE (Filesystem in Userspace) interface"
url="https://github.com/libfuse/libfuse"
@@ -25,7 +25,6 @@ builddir="$srcdir/$_pkgname-$pkgver"
# - CVE-2018-10906
build() {
- cd "$builddir"
meson \
--prefix=/usr \
--sysconfdir=/etc \
@@ -42,7 +41,6 @@ check() {
}
package() {
- cd "$builddir"
DESTDIR="$pkgdir" ninja -C output install
rm -r "$pkgdir"/dev "$pkgdir"/etc/init.d
@@ -72,6 +70,6 @@ openrc() {
install_if="openrc fuse-common=$pkgver-r$pkgrel"
}
-sha512sums="3a1ef77ab4c79a24aad0b259e17f568a30a5faf53ac17eb25d05f30dc7423f0081583f5b3c284ca9196a01885843e97c323a84231272b7e2b55c8e73848a61b8 fuse-3.2.6.tar.xz
+sha512sums="953066a25ab2f67fd5a1f15e97f8d739271c42a6260aa29ccc7b9ffddb9c972d2797d93d9ff0d34c6b51a20f3254ef6f748c14f852603280b318b36899867a27 fuse-3.5.0.tar.xz
1a9e1d1e8a7b0778ffde328e4322c73b5d57ec98d52767c846d755cce861ab27989823a75b6c5f994432ddb77fa351dfa4a8f948c9467c5f7d5f471e4608358b fix-realpath.patch
7f6a503ef23cfa8b809c544375c2d83ad56525269b48ad1a7dff0ce36f4bf2f2a3fafed9dc70a71ff6281b261db5f01829e16c06f041921a5d8c8d715a04a8c1 fuse.initd"
diff --git a/user/gcompat/APKBUILD b/user/gcompat/APKBUILD
index f5cde0815..e6b142f84 100644
--- a/user/gcompat/APKBUILD
+++ b/user/gcompat/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gcompat
-pkgver=0.3.0
+pkgver=0.4.0
pkgrel=0
pkgdesc="The GNU C Library compatibility layer for musl"
url="https://code.foxkit.us/adelie/gcompat"
@@ -8,11 +8,9 @@ arch="all"
options="!check" # No test suite.
license="UoI-NCSA"
depends=""
-makedepends="libucontext-dev"
+makedepends="libucontext-dev utmps-dev"
replaces="libc6-compat"
-source="https://distfiles.adelielinux.org/source/gcompat/$pkgname-$pkgver.tar.xz
- no-utmp.patch
- "
+source="https://distfiles.adelielinux.org/source/gcompat/$pkgname-$pkgver.tar.xz"
_link_arch=$CARCH
case "$CARCH" in
@@ -23,8 +21,7 @@ x86) _ld="ld-linux.so.2" ;;
pmmx) _ld="ld-linux.so.2" _link_arch=i386;;
x86_64) _ld="ld-linux-x86-64.so.2" ;;
mips* | ppc | s390*) _ld="ld.so.1" ;;
-ppc64le) _ld="ld64.so.2" ;;
-ppc64) _ld="ld64.so.1" ;;
+ppc64*) _ld="ld64.so.2" ;;
esac
build() {
@@ -37,5 +34,4 @@ package() {
make LINKER_PATH="/lib/ld-musl-${_link_arch}.so.1" LOADER_NAME="$_ld" WITH_LIBUCONTEXT=YesPlease DESTDIR="$pkgdir" install
}
-sha512sums="1f7dd73efd556b7e0f7f1c80751185583de24daf4ab235b488ea1ab98cea2d3a94abed341b922be0bd43c8d539a00176b892c78acf09f2adacb279c09648b3be gcompat-0.3.0.tar.xz
-34fbf97cfbad2bae219e238f5edcb55425c6d7c9be7dde02aa0e8223dbf163ff20f535539de2232a1ef3c6f47a92eac6e00484af99dc8beb192c761b15389b82 no-utmp.patch"
+sha512sums="32b4038a031b9af2d5febb547fe9268eb829f40bb2437c94afe5b939e06e7337448ad7f2dce34362829d19672ede54eec8fc34dc755736dbc76f347906ba5ead gcompat-0.4.0.tar.xz"
diff --git a/user/gdk-pixbuf/APKBUILD b/user/gdk-pixbuf/APKBUILD
index 52876cc19..6092f1eff 100644
--- a/user/gdk-pixbuf/APKBUILD
+++ b/user/gdk-pixbuf/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gdk-pixbuf
-pkgver=2.38.0
+pkgver=2.38.1
pkgrel=0
pkgdesc="GTK+ image loading library"
url="https://www.gtk.org/"
@@ -24,7 +24,6 @@ replaces="gtk+"
# - CVE-2017-6314
build() {
- cd "$builddir"
mkdir build
cd build
meson -Dprefix=/usr -Dinstalled_tests=false
@@ -32,13 +31,11 @@ build() {
}
check() {
- cd "$builddir"/build
- ninja test
+ ninja -C build test
}
package() {
- cd "$builddir"/build
- DESTDIR="$pkgdir" ninja install
+ DESTDIR="$pkgdir" ninja -C build install
}
-sha512sums="10fcd7999dcff48d6e965306e208cc8ca324ba98f3f4f56755d015e96938bcfbfaadc56ed75142c037e3df34b04283cd4fdf043b32e3e091b32115fccde229f4 gdk-pixbuf-2.38.0.tar.xz"
+sha512sums="e50badaad2ccb3c816ba0849be386ecb75ea3c7df203d0b0144541c463ad1ace86c0d190b7550e3f59f0cba9639acc5cc048b7127484287894e4df6d62777920 gdk-pixbuf-2.38.1.tar.xz"
diff --git a/user/giblib/APKBUILD b/user/giblib/APKBUILD
index dcc509921..22f125ef3 100644
--- a/user/giblib/APKBUILD
+++ b/user/giblib/APKBUILD
@@ -10,7 +10,7 @@ subpackages="$pkgname-doc $pkgname-dev"
depends=""
depends_dev="freetype-dev imlib2-dev libx11-dev libxext-dev zlib-dev"
makedepends="$depends_dev"
-source="https://distfiles.gentoo.org/distfiles/$pkgname-$pkgver.tar.gz"
+source="http://distfiles.gentoo.org/distfiles/$pkgname-$pkgver.tar.gz"
prepare() {
cd "$builddir"
diff --git a/user/giflib/APKBUILD b/user/giflib/APKBUILD
index c8f01adce..8ab3be41d 100644
--- a/user/giflib/APKBUILD
+++ b/user/giflib/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=giflib
-pkgver=5.1.4
-pkgrel=3
+pkgver=5.1.9
+pkgrel=0
pkgdesc="Library for reading and writing GIF images"
url="https://sourceforge.net/projects/giflib/"
arch="all"
@@ -10,27 +10,21 @@ depends=""
makedepends="libsm-dev libx11-dev util-linux-dev xmlto"
checkdepends="coreutils"
subpackages="$pkgname-dev $pkgname-doc $pkgname-utils"
-source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
- xmlto-skip-validation.patch"
+source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --disable-static
- make
+ sed -i '/^PREFIX =/d
+ /^OFLAGS/d' \
+ Makefile
+ make PREFIX=/usr OFLAGS="$CFLAGS"
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
+ make PREFIX=/usr DESTDIR="$pkgdir" install
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
@@ -40,5 +34,4 @@ utils() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="32b5e342056c210e6478e9cb3b6ceec9594dcfaf34feea1eb4dad633a081ed4465bceee578c19165907cb47cb83912ac359ceea666a8e07dbbb5420f9928f96d giflib-5.1.4.tar.bz2
-36f92cb092ee9dc463aa1b6b9857d1a1591fa5ed6bf973b02385a979a7178cf2c1f7fc75d6474c2fa90c090e9659178ab8cfe6bb3e147425828a1b5a59ca6f06 xmlto-skip-validation.patch"
+sha512sums="f1e0c91fb90c7bf3f2b073f79b1bd4041df5178ff2e5b93975158fc2c6dd6c8ac888f8ff95c3a1804f988ce09154539c20a3196a40704b4d42a0f5846155e0ea giflib-5.1.9.tar.bz2"
diff --git a/user/giflib/xmlto-skip-validation.patch b/user/giflib/xmlto-skip-validation.patch
deleted file mode 100644
index 96573ad6c..000000000
--- a/user/giflib/xmlto-skip-validation.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ./doc/Makefile.in.orig 2013-07-15 14:59:04.840695596 +0000
-+++ ./doc/Makefile.in 2013-07-15 14:59:30.667643646 +0000
-@@ -379,13 +379,13 @@
-
-
- .xml.html:
-- xmlto xhtml-nochunks $<
-+ xmlto --skip-validation xhtml-nochunks $<
-
- .xml.1:
-- xmlto man $<
-+ xmlto --skip-validation man $<
-
- .xml.txt:
-- xmlto txt $<
-+ xmlto --skip-validation txt $<
-
- all: allhtml manpages
-
diff --git a/user/glib-networking/APKBUILD b/user/glib-networking/APKBUILD
index 8cb1a8019..c0ef9ac59 100644
--- a/user/glib-networking/APKBUILD
+++ b/user/glib-networking/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer:
pkgname=glib-networking
-pkgver=2.58.0
-_ver=2.58
+pkgver=2.60.2
+_ver=${pkgver%.*}
pkgrel=0
pkgdesc="Networking support for GLib"
url="https://www.gnome.org/"
@@ -37,4 +37,4 @@ package() {
rm -f "$pkgdir"/usr/lib/gio/modules/*.a
}
-sha512sums="d9cfd97ef9905eceb1f807a7d18c648fcf148214bf3fc55c718c5bcd6fb0afc429ab5b7bf72e83cf959d5ce7f145ce17952c1288d4225cc99d3c6ad66e4494ff glib-networking-2.58.0.tar.xz"
+sha512sums="bfb8c716e78dfce997baaeb8aaafc1f187aa18fabee0197211f741d6175c21760e8eb5f514711e12f19ed7d7a0e4931dc7469b0ba778dc0e354c9123cf5a67f1 glib-networking-2.60.2.tar.xz"
diff --git a/user/glib/APKBUILD b/user/glib/APKBUILD
index fe75d5aa8..52a6a4c3c 100644
--- a/user/glib/APKBUILD
+++ b/user/glib/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=glib
-pkgver=2.60.0
+pkgver=2.60.2
pkgrel=0
pkgdesc="Common C routines used by Gtk+ and other libs"
url="https://developer.gnome.org/glib/"
@@ -24,30 +24,21 @@ source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgve
"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-static $pkgname-dev $pkgname-lang $pkgname-bash-completion:bashcomp:noarch"
-prepare() {
- default_prepare
-
- mkdir -p dumb_meson
-}
-
build() {
- cd "$builddir"/dumb_meson
meson --default-library=both \
-Dprefix=/usr \
-Dselinux=disabled \
- -Dman=true ..
- ninja
+ -Dman=true build
+ ninja -C build
}
check() {
- cd "$builddir"/dumb_meson
# workaround if a user builds it on a computer running X11
- DISPLAY= ninja test
+ DISPLAY= ninja -C build test
}
package() {
- cd "$builddir"/dumb_meson
- DESTDIR="$pkgdir" ninja install
+ DESTDIR="$pkgdir" ninja -C build install
rm -rf "$pkgdir"/usr/lib/charset.alias
}
@@ -80,7 +71,7 @@ bashcomp() {
[ "$(ls -A "$pkgdir"/usr/share)" ] || rmdir "$pkgdir"/usr/share
}
-sha512sums="8184371aa5a8936ef86e578ee66307dadc351203ad0773c7669ab6d3f6bca49e7391ccafeb624d7bfe67f0d9aafe72799defee4660f254c3a3013c752e897e6c glib-2.60.0.tar.xz
+sha512sums="38479c8e48fda5adaa5f7ac8e1f09c184be48adf38ab614eb69f8e11301a1b0235767abf556e09fd4d5df345822db5b3dc85d1c53d05fdba1c1b40f75b61777b glib-2.60.2.tar.xz
32e5aca9a315fb985fafa0b4355e4498c1f877fc1f0b58ad4ac261fb9fbced9f026c7756a5f2af7d61ce756b55c8cd02811bb08df397040e93510056f073756b 0001-gquark-fix-initialization-with-c-constructors.patch
657d3fdf7f8ac7edd5bae572d00497f2236fbe5a91a577f3cb7ceb2ccf067f2944918b2b90308fc1061f45daf3d4910067b98642383ce8761da2a1faff6e9b4f broken-gio-tests.patch
0f0a98784aeed92f33cd9239d2f668bdc6c09b84ed020825ae88f6aacf6a922152dc3e1384c40d9f30f54c5ab78fe17e0ee5c42b268b297b595d2a6cde5b8998 fix-spawn.patch
diff --git a/user/glibmm/APKBUILD b/user/glibmm/APKBUILD
index e5dfbfd14..9ceb52bb2 100644
--- a/user/glibmm/APKBUILD
+++ b/user/glibmm/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=glibmm
-pkgver=2.58.0
+pkgver=2.60.0
pkgrel=0
pkgdesc="C++ interfaces for glib"
url="https://gnome.org"
arch="all"
license="GPL-2.0+ AND LGPL-2.1+"
depends="glib-networking"
-makedepends="glib-dev libsigc++-dev"
+makedepends="glib-dev>=2.60.0 libsigc++-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://download.gnome.org/sources/glibmm/${pkgver%.*}/glibmm-$pkgver.tar.xz"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e376462cdf1a60ed7d7750115200162016f57797674bbf7291c11b8754a6e4394eb1e2948ce4e37247438120dba4e18f5cf9c543963c1e97d8561d174d5ae7df glibmm-2.58.0.tar.xz"
+sha512sums="ea0477d5cb6e59019e87f929630ff32ac38dd5e4fb53fe84ef64b5b41c1090c8e10a0a67b26c786ab4d9ebf64b993fa0044333b4aa8554c331a0a6d02039c5ad glibmm-2.60.0.tar.xz"
diff --git a/user/gnupg/APKBUILD b/user/gnupg/APKBUILD
index baf95d212..ac4c64ad7 100644
--- a/user/gnupg/APKBUILD
+++ b/user/gnupg/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gnupg
-pkgver=2.2.11
-pkgrel=1
+pkgver=2.2.15
+pkgrel=0
pkgdesc="GNU Privacy Guard 2 - PGP replacement"
url="https://www.gnupg.org/"
arch="all"
@@ -49,7 +49,7 @@ package() {
install -Dm644 "$srcdir"/60-scdaemon.rules "$pkgdir"/lib/udev/rules.d
}
-sha512sums="8aa8beea877993b6eef155e1a503ffdde9963ff04a24e6a3dea7979efeeeeeab57e942a80ad46ef254d27a83e8cb2e3008da7749afa8e39eade190c0499f95d9 gnupg-2.2.11.tar.bz2
+sha512sums="7c6f0092d384fd71fc7a1c905ce23ae98df42ce131ee09fc190c275f9c8d0912be344b0782244cccb5b3938322ef3cfff8ed1ec7e949e761478b8c5110dde36a gnupg-2.2.15.tar.bz2
c6cc4595081c5b025913fa3ebecf0dff87a84f3c669e3fef106e4fa040f1d4314ee52dd4c0e0002b213034fb0810221cfdd0033eae5349b6e3978f05d08bcac7 0001-Include-sys-select.h-for-FD_SETSIZE.patch
b19a44dacf061dd02b439ab8bd820e3c721aab77168f705f5ce65661f26527b03ea88eec16d78486a633c474120589ec8736692ebff57ab9b95f52f57190ba6b fix-i18n.patch
4bfb9742279c2d1c872d63cd4bcb01f6a2a13d94618eff954d3a37451fa870a9bb29687330854ee47e8876d6e60dc81cb2569c3931beaefacda33db23c464402 60-scdaemon.rules"
diff --git a/user/gnutls/APKBUILD b/user/gnutls/APKBUILD
index 8924c70e8..72e454003 100644
--- a/user/gnutls/APKBUILD
+++ b/user/gnutls/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer:
pkgname=gnutls
-pkgver=3.6.6
+pkgver=3.6.7.1
pkgrel=0
pkgdesc="A TLS protocol implementation"
url="http://www.gnutls.org/"
@@ -15,11 +15,16 @@ checkdepends="diffutils"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-dev $pkgname-lang $pkgname-utils
$pkgname-c++:xx"
_v=${pkgver%.*}
+_v2=$pkgver
case $pkgver in
-*.*.*.*) _v=${_v%.*};;
+*.*.*.*)
+ _v=${_v%.*}
+ _v2=${pkgver%.*}
+ ;;
esac
source="https://www.gnupg.org/ftp/gcrypt/gnutls/v${_v}/$pkgname-$pkgver.tar.xz
gnulib-tests-dont-require-gpg-passphrase.patch"
+builddir="$srcdir/$pkgname-$_v2"
# secfixes:
# 3.5.13-r0:
@@ -72,5 +77,5 @@ xx() {
mv "$pkgdir"/usr/lib/lib*xx.so.* "$subpkgdir"/usr/lib/
}
-sha512sums="4ff34f38d7dc543bc5750d8fdfe9be84af60c66e8d41da45f6cffc11d6c6c726784fd2d471b3416604ca1f3f9efb22ff7a290d5c92c96deda38df6ae3e794cc1 gnutls-3.6.6.tar.xz
+sha512sums="c3c4178c8663e3d1207aaf771ceb43e7e75a9f11b4ea3a26fde9d04a23762b05bac8fe290b74d63b815a354b79fc3557cfc218c196e1f80eb1fbce762948a926 gnutls-3.6.7.1.tar.xz
abc24ee59cc67805fe953535b0bae33080fc8b0bf788304377f6d10ec8c162c4cf203a69c98a4ba3483b4c60ed7a204433cc7db9b8190eddb0d68f6fb6dad52d gnulib-tests-dont-require-gpg-passphrase.patch"
diff --git a/user/gobject-introspection/APKBUILD b/user/gobject-introspection/APKBUILD
index c8f5fc03a..841a87d05 100644
--- a/user/gobject-introspection/APKBUILD
+++ b/user/gobject-introspection/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=gobject-introspection
-pkgver=1.58.3
+pkgver=1.60.1
pkgrel=0
pkgdesc="Introspection system for GObject-based libraries"
url="https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
@@ -13,9 +13,7 @@ makedepends="$depends_dev bison flex glib-dev libffi-dev meson ninja python3-dev
checkdepends="sed"
subpackages="$pkgname-doc $pkgname-dev"
replaces="libgirepository"
-source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
- we-are-in-a-pickle.patch
- "
+source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
prepare() {
cd "$builddir"
@@ -48,5 +46,4 @@ dev() {
replaces="gobject-introspection"
}
-sha512sums="0811cd08e224975b3aa55ae89d648fc65f3105cae8a077a5671593d84743b1db28e9fbffe53fc86a2b3e82ea98c35f3daae033d3df07c7020cc3bf8b5d94f796 gobject-introspection-1.58.3.tar.xz
-106e36c04ab9035b92d7f34251c3af2c37fbbc538d2b96027735565df74314eb90a93288f1bc62c08742ff6ba525d72ea03306e3b32f48724a09548788466d3d we-are-in-a-pickle.patch"
+sha512sums="01adbeffee08ff6487f11a303fd7a59a99c36714dce21be9bbae7fd2bf8f080665e830bc3a47566140a6081dc74f6c2f8d8232286759b761f70493545a9d90ea gobject-introspection-1.60.1.tar.xz"
diff --git a/user/gpgme/1.12.0-fix-t-tofuinfo.patch b/user/gpgme/1.12.0-fix-t-tofuinfo.patch
deleted file mode 100644
index 74ba11050..000000000
--- a/user/gpgme/1.12.0-fix-t-tofuinfo.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 66376f3e206a1aa791d712fb8577bb3490268f60 Mon Sep 17 00:00:00 2001
-From: Andre Heinecke <aheinecke@gnupg.org>
-Date: Wed, 9 Jan 2019 08:25:21 +0100
-Subject: [PATCH] qt: Use tofu conflict test keys without expiry
-
-* lang/qt/tests/t-tofuinfo.cpp: Use new test keys without
-expiry.
-
---
-The old keys expired on 2019-01-06.
-
-GnuPG-Bug-Id: T3815
----
- lang/qt/tests/t-tofuinfo.cpp | 58 +++++++++++++++++++-----------------
- 1 file changed, 30 insertions(+), 28 deletions(-)
-
-diff --git a/lang/qt/tests/t-tofuinfo.cpp b/lang/qt/tests/t-tofuinfo.cpp
-index b7161028..2d881069 100644
---- a/lang/qt/tests/t-tofuinfo.cpp
-+++ b/lang/qt/tests/t-tofuinfo.cpp
-@@ -69,46 +69,48 @@ static const char testMsg1[] =
-
- static const char conflictKey1[] = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n"
- "\n"
--"mDMEWG+w/hYJKwYBBAHaRw8BAQdAiq1oStvDYg8ZfFs5DgisYJo8dJxD+C/AA21O\n"
--"K/aif0O0GXRvZnVfY29uZmxpY3RAZXhhbXBsZS5jb22IlgQTFggAPhYhBHoJBLaV\n"
--"DamYAgoa1L5BwMOl/x88BQJYb7D+AhsDBQkDwmcABQsJCAcCBhUICQoLAgQWAgMB\n"
--"Ah4BAheAAAoJEL5BwMOl/x88GvwA/0SxkbLyAcshGm2PRrPsFQsSVAfwaSYFVmS2\n"
--"cMVIw1PfAQDclRH1Z4MpufK07ju4qI33o4s0UFpVRBuSxt7A4P2ZD7g4BFhvsP4S\n"
--"CisGAQQBl1UBBQEBB0AmVrgaDNJ7K2BSalsRo2EkRJjHGqnp5bBB0tapnF81CQMB\n"
--"CAeIeAQYFggAIBYhBHoJBLaVDamYAgoa1L5BwMOl/x88BQJYb7D+AhsMAAoJEL5B\n"
--"wMOl/x88OR0BAMq4/vmJUORRTmzjHcv/DDrQB030DSq666rlckGIKTShAPoDXM9N\n"
--"0gZK+YzvrinSKZXHmn0aSwmC1/hyPybJPEljBw==\n"
--"=p2Oj\n"
-+"mDMEXDWgpxYJKwYBBAHaRw8BAQdAguVu4qkx8iw4eU+TQ4vvcKG7IdcZvbMhw3Zc\n"
-+"npGf0+u0GXRvZnVfY29uZmxpY3RAZXhhbXBsZS5jb22IkAQTFggAOBYhBO6ovNDG\n"
-+"nLzbR1TlMJYJ0fjlWbUrBQJcNaCnAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA\n"
-+"AAoJEJYJ0fjlWbUrLaMBALegwkv2+sEcmKZqxt8JscYvFiEuycv2+rKHaZA0eDoN\n"
-+"AP97W4XrJb5x49J5jDDdeko8k00uGqiiuAXJo27/i/phA7g4BFw1oKcSCisGAQQB\n"
-+"l1UBBQEBB0Crhw24E2lPBhd/y+ZFotQ/2TrYqkUQqGPmff8ofLziNgMBCAeIeAQY\n"
-+"FggAIBYhBO6ovNDGnLzbR1TlMJYJ0fjlWbUrBQJcNaCnAhsMAAoJEJYJ0fjlWbUr\n"
-+"/K8BAJWsa+tOZsJw7w5fz6O0We6Xx4Rt17jHf563G6wMcz9+AQDRsedJ7w4zYzS9\n"
-+"MFiJQ5aN0NDHMRtDFWAgCunVnJ3OBw==\n"
-+"=fZa5\n"
- "-----END PGP PUBLIC KEY BLOCK-----\n";
-
- static const char conflictKey2[] = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n"
- "\n"
--"mDMEWG+xShYJKwYBBAHaRw8BAQdA567gPEPJRpqKnZjlFJMRNUqruRviYMyygfF6\n"
--"6Ok+ygu0GXRvZnVfY29uZmxpY3RAZXhhbXBsZS5jb22IlgQTFggAPhYhBJ5kRh7E\n"
--"I98w8kgUcmkAfYFvqqHsBQJYb7FKAhsDBQkDwmcABQsJCAcCBhUICQoLAgQWAgMB\n"
--"Ah4BAheAAAoJEGkAfYFvqqHsYR0BAOz8JjYB4VvGkt6noLS3F5TLfsedGwQkBCw5\n"
--"znw/vGZsAQD9DSX+ekwdrN56mNO8ISt5uVS7B1ZQtouNBF+nzcwbDbg4BFhvsUoS\n"
--"CisGAQQBl1UBBQEBB0BFupW8+Xc1ikab8TJqANjQhvFVh6uLsgcK4g9lZgbGXAMB\n"
--"CAeIeAQYFggAIBYhBJ5kRh7EI98w8kgUcmkAfYFvqqHsBQJYb7FKAhsMAAoJEGkA\n"
--"fYFvqqHs15ABALdN3uiV/07cJ3RkNb3WPcijGsto+lECDS11dKEwTMFeAQDx+V36\n"
--"ocbYC/xEuwi3w45oNqGieazzcD/GBbt8OBk3BA==\n"
--"=45IR\n"
-+"mDMEXDWgixYJKwYBBAHaRw8BAQdAMWOhumYspcvEOTuesOSN4rvnJVOj/6qOWFTu\n"
-+"x+wPRra0GXRvZnVfY29uZmxpY3RAZXhhbXBsZS5jb22IkAQTFggAOBYhBA64G88Q\n"
-+"NPXztj8ID/FhC7tiGbeRBQJcNaCLAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA\n"
-+"AAoJEPFhC7tiGbeRUt4A/2hf4Zgz+TYyfeH/4/ZtyL1JuZggqR1s5UopEx2Aiw10\n"
-+"AP405KiTd31TJQN8Ru+7bskPu0/mzLZMNkRvBNEdc5kbDLg4BFw1oIsSCisGAQQB\n"
-+"l1UBBQEBB0B5NtSrx7wDDKgwUe5Rxz0vRkaWLtyE0KbfE77oPy5DGAMBCAeIeAQY\n"
-+"FggAIBYhBA64G88QNPXztj8ID/FhC7tiGbeRBQJcNaCLAhsMAAoJEPFhC7tiGbeR\n"
-+"km0BAP8TQwraipqb1pJlLsEgDXeM5Jocz4fuePD78BsOBtORAP9gpCyKXdyJYGlA\n"
-+"qjmG356yG6pCK9aPckTZ9IViPiHWCw==\n"
-+"=tn3Q\n"
- "-----END PGP PUBLIC KEY BLOCK-----\n";
-
- static const char conflictMsg1[] = "-----BEGIN PGP MESSAGE-----\n"
- "\n"
--"owGbwMvMwCG2z/HA4aX/5W0YT3MlMUTkb2xPSizi6ihlYRDjYJAVU2Sp4mTZNpV3\n"
--"5QwmLqkrMLWsTCCFDFycAjCR1vcMf4U0Qrs6qzqfHJ9puGOFduLN2nVmhsumxjBE\n"
--"mdw4lr1ehIWR4QdLuNBpe86PGx1PtNXfVAzm/hu+vfjCp5BVNjPTM9L0eAA=\n"
--"=MfBD\n"
-+"owGbwMvMwCE2jfPij6eRW7UZTwsnMcSYLnT0Ki0uUXD3C1XILFHk6ihlYRDjYJAV\n"
-+"U2R5t2LPhWNz9tx2D3lqANPEygTSwcDFKQAT+RjG8M9of873hQrMpinBVwKYv+rq\n"
-+"XGmYW+ZcZJ+133KDq+itzlxGhg3L2X/6Khj+2Hd+He+KnXtunF2wNWxl7849e/Sy\n"
-+"v6tc+8MBAA==\n"
-+"=fZLe\n"
- "-----END PGP MESSAGE-----\n";
-
- static const char conflictMsg2[] = "-----BEGIN PGP MESSAGE-----\n"
- "\n"
--"owGbwMvMwCGWyVDbmL9q4RvG01xJDBH5GyvS8vO5OkpZGMQ4GGTFFFnmpbjJHVG+\n"
--"b/DJQ6QIppaVCaSQgYtTACaySZHhr/SOPrdFJ89KrcwKY5i1XnflXYf2PK76SafK\n"
--"tkxXuXzvJAvDX4kCybuqFk3HXCexz2+IrnZ+5X5EqOnuo3ens2cte+uzlhMA\n"
--"=BIAi\n"
-+"owGbwMvMwCH2MZF7d5Lk9omMp4WTGGJMFwZ4lRaXKLj7hSpklihydZSyMIhxMMiK\n"
-+"KbLw7ZA+L2Dy9fM2ew5+mCZWJpAOBi5OAZhIUhIjw7bV+xS+cR0quqhmcY2Dl3WW\n"
-+"8Ufr+rRNufOPyIdoO6nEXGH47/B+E1+oxS6e5f5n7MJ3aHBO+s345sipGV/4f665\n"
-+"9mmiGjsA\n"
-+"=8oJA\n"
- "-----END PGP MESSAGE-----\n";
-
- class TofuInfoTest: public QGpgMETest
---
-2.19.2
-
diff --git a/user/gpgme/APKBUILD b/user/gpgme/APKBUILD
index c541b7af7..1f6f983d1 100644
--- a/user/gpgme/APKBUILD
+++ b/user/gpgme/APKBUILD
@@ -1,21 +1,19 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gpgme
-pkgver=1.12.0
-pkgrel=2
+pkgver=1.13.0
+pkgrel=0
pkgdesc="GnuPG Made Easy"
url="https://www.gnupg.org/related_software/gpgme/"
arch="all"
# gpgme-tool: GPL3; lib is mixture of the rest
license="(LGPL-3.0+ OR GPL-2.0+) AND LGPL-2.1+ AND MIT AND GPL-3.0+"
depends="gnupg"
-depends_dev="libgpg-error-dev libassuan-dev qt5-qtbase-dev"
-makedepends="$depends_dev doxygen python3-dev swig cmd:which"
+depends_dev="qt5-qtbase-dev"
+makedepends="$depends_dev doxygen libassuan-dev libgpg-error-dev python3-dev
+ swig cmd:which"
subpackages="$pkgname-dev $pkgname-doc gpgmepp qgpgme py3-gpg:_py"
-source="https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2
- 1.12.0-fix-t-tofuinfo.patch
- test32bit.patch
- "
+source="https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2"
build() {
cd "$builddir"
@@ -27,7 +25,7 @@ build() {
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
- --enable-languages=cl,cpp,python3,qt
+ --enable-languages=cl,cpp,python,qt
make
}
@@ -61,6 +59,4 @@ _py() {
mv "$pkgdir/usr/lib/python"* "$subpkgdir/usr/lib/"
}
-sha512sums="c228b3df28377df882be536ada56dc9c73150048a58e591aa4495f89c854af95820152cd60139840f994c249e9c7df50d8b89eb9d6dc4ce02aa80bbfebcdd014 gpgme-1.12.0.tar.bz2
-c8748651021a6ea670329cffb9565b905272b092315e77dc6fa9fa23890f8a55c2159edbfa026e8af961f2ff0c0d524dc8332a2e9a24fce2b37ac7cc4bb88cb3 1.12.0-fix-t-tofuinfo.patch
-26bb302f462d7164842acea38080b3937b0b7b11d12fcfe1a61d656a41c993474dc7d9ca2298f936b030874a2f59f85b2189b11087f8b39d4c685a9a4e5d9450 test32bit.patch"
+sha512sums="47a7a67dcc6d111cddd805d288d42e870948114a6dc09ce0675ad8b3d1580bbc2a683e1e70cb2f416919cf2129c72a9ff30e2e3b9527809d04e863cc1f87267b gpgme-1.13.0.tar.bz2"
diff --git a/user/gpgme/test32bit.patch b/user/gpgme/test32bit.patch
deleted file mode 100644
index 49dafdddb..000000000
--- a/user/gpgme/test32bit.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 651a1afe80bcc421da26f38015e8a322e140f130 Mon Sep 17 00:00:00 2001
-From: Ben McGinnes <ben@adversary.org>
-Date: Sat, 20 Oct 2018 11:07:55 +1100
-Subject: [PATCH] python bindings: callback test
-
-* lang/python/tests/t-callbacks.py: Updated test logic to try
- generating a key which expires in 2099 and if that fails then
- fallback to an expiration in 2037 in an attempt to catch the 32-bit
- systems.
----
- lang/python/tests/t-callbacks.py | 32 ++++++++++++++++++++++++++++++--
- 1 file changed, 30 insertions(+), 2 deletions(-)
-
-diff --git a/lang/python/tests/t-callbacks.py b/lang/python/tests/t-callbacks.py
-index 5bcac237..3a210dd0 100755
---- a/lang/python/tests/t-callbacks.py
-+++ b/lang/python/tests/t-callbacks.py
-@@ -20,12 +20,14 @@
- from __future__ import absolute_import, print_function, unicode_literals
-
- import os
-+import platform
- import gpg
- import support
- _ = support # to appease pyflakes.
-
- del absolute_import, print_function, unicode_literals
-
-+oops = None
- c = gpg.Context()
- c.set_pinentry_mode(gpg.constants.PINENTRY_MODE_LOOPBACK)
-
-@@ -99,6 +101,17 @@ Expire-Date: 2099-12-31
- </GnupgKeyParms>
- """
-
-+prams = """<GnupgKeyParms format="internal">
-+Key-Type: RSA
-+Key-Length: 1024
-+Name-Real: Joe Tester
-+Name-Comment: with stupid passphrase
-+Name-Email: joe+gpg@example.org
-+Passphrase: Crypt0R0cks
-+Expire-Date: 2037-12-31
-+</GnupgKeyParms>
-+"""
-+
- messages = []
-
-
-@@ -111,7 +124,10 @@ def progress_cb(what, typ, current, total, hook=None):
-
- c = gpg.Context()
- c.set_progress_cb(progress_cb, messages)
--c.op_genkey(parms, None, None)
-+try:
-+ c.op_genkey(parms, None, None)
-+except Exception as oops:
-+ c.op_genkey(prams, None, None)
- assert len(messages) > 0
-
-
-@@ -123,7 +139,10 @@ def progress_cb(what, typ, current, total, hook=None):
- c = gpg.Context()
- c.set_progress_cb(progress_cb, None)
- try:
-- c.op_genkey(parms, None, None)
-+ try:
-+ c.op_genkey(parms, None, None)
-+ except Exception as oops:
-+ c.op_genkey(prams, None, None)
- except Exception as e:
- assert e == myException
- else:
-@@ -139,6 +158,15 @@ alpha = c.get_key("A0FF4590BB6122EDEF6E3C542D727CC768697734", False)
- cookie = object()
- edit_cb_called = False
-
-+def oops_check():
-+ if oops is not None and platform.architecture()[0] != "64bit":
-+ y2k38_msg = "System appears to be 32-bit and vulnerable to EOL in 2038."
-+ elif oops is not None and platform.architecture()[0] == "64bit":
-+ y2k38_msg = "System appears to be 64-bit, but may use 32-bit time."
-+ else:
-+ y2k38_msg = "System is 64-bit and/or not susceptible to 2038 EOL."
-+ return y2k38_msg
-+
-
- def edit_cb(status, args, hook):
- global edit_cb_called
---
-2.11.0
-
diff --git a/user/granatier/APKBUILD b/user/granatier/APKBUILD
index f2504c535..704954a28 100644
--- a/user/granatier/APKBUILD
+++ b/user/granatier/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=granatier
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Clone of the classic Bomberman game"
url="https://www.kde.org/applications/games/granatier/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="af4a4201cede2d01a848b6d6c889f6019eb9298373f4e3c4faa2d9d514a8127a5b910bb701ecaada7559a91c887cca1a895c2e18cdd47c02b2569d781f5574c3 granatier-18.12.3.tar.xz"
+sha512sums="c43db1806e3efe3d45364688c465c0c7def2c2ab168e28c66dce3e56a88745b9e05a8db621191d3bcd2ffd382721669ddb570e55bc16dc68248e1c6e525e52bb granatier-19.04.1.tar.xz"
diff --git a/user/grub/2.02_beta3-mkconfig-alpine.patch b/user/grub/2.02_beta3-mkconfig-alpine.patch
deleted file mode 100644
index 606540fff..000000000
--- a/user/grub/2.02_beta3-mkconfig-alpine.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/util/grub.d/10_linux.in
-+++ b/util/grub.d/10_linux.in
-@@ -21,8 +21,11 @@
- exec_prefix="@exec_prefix@"
- datarootdir="@datarootdir@"
-
-+. /etc/update-extlinux.conf
- . "$pkgdatadir/grub-mkconfig_lib"
-
-+GRUB_CMDLINE_LINUX_DEFAULT="modules=${modules} ${default_kernel_opts} ${GRUB_CMDLINE_LINUX_DEFAULT}"
-+
- export TEXTDOMAIN=@PACKAGE@
- export TEXTDOMAINDIR="@localedir@"
-
-@@ -75,6 +78,7 @@
- version="$2"
- type="$3"
- args="$4"
-+ tag="$(basename ${rel_dirname}/${basename} | cut -b9-)"
-
- if [ -z "$boot_device_id" ]; then
- boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
-@@ -133,6 +137,7 @@
- echo '$(echo "$message" | grub_quote)'
- linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
- EOF
-+ [ -f "/boot/initramfs-${tag}" ] && initrd="initramfs-${tag}"
- if test -n "${initrd}" ; then
- # TRANSLATORS: ramdisk isn't identifier. Should be translated.
- message="$(gettext_printf "Loading initial ramdisk ...")"
diff --git a/user/grub/APKBUILD b/user/grub/APKBUILD
index efcfda2af..532b0aa48 100644
--- a/user/grub/APKBUILD
+++ b/user/grub/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=grub
pkgver=2.02
-pkgrel=4
+pkgrel=5
pkgdesc="Bootloader with support for Linux, Multiboot and more"
url="https://www.gnu.org/software/grub/"
arch="all !s390x"
@@ -31,7 +31,8 @@ source="https://ftp.gnu.org/gnu/grub/grub-$pkgver.tar.xz
fix-gcc-no-pie-specs.patch
grub2-accept-empty-module.patch
grub-xen-host_grub.cfg
- 2.02_beta3-mkconfig-alpine.patch
+ the-arch-everyone-uses-and-nobody-loves.patch
+ default-grub
"
prepare() {
@@ -113,6 +114,7 @@ package() {
done
rm -f "$pkgdir"/usr/lib/charset.alias
+ install -D -m644 "$srcdir"/default-grub "$pkgdir"/etc/default/grub
# remove grub-install warning of missing directory
mkdir -p "$pkgdir"/usr/share/locale
}
@@ -155,4 +157,5 @@ sha512sums="cc6eb0a42b5c8df2f671cc128ff725afb3ff1f8832a196022e433cf0d3b75decfca2
f2a7d9ab6c445f4e402e790db56378cecd6631b5c367451aa6ce5c01cd95b95c83c3dd24d6d4b857f8f42601eba82c855607513eb6ce5b2af6bd6c71f046e288 fix-gcc-no-pie-specs.patch
098a1742aef131c85d63b934a9815879b991f2e73030cb90ac4b5dcd07d249fa0dd0a281e52ada0e10f05d59223493bd416eb47543242bf0ba336a0ebc9b2a1a grub2-accept-empty-module.patch
4e7394e0fff6772c89683039ccf81099ebbfe4f498e6df408977a1488fd59389b6e19afdbf0860ec271e2b2aea0df7216243dcc8235d1ca3af0e7f4d0a9d60a4 grub-xen-host_grub.cfg
-5de7c1cc11640a3892447f0daa1e3fd1f67b0c474c8aec555e4e6315b5e6c00491ba02c88b420cec221da0640c6961d639f148746df14a0b2c15bda7989cd25c 2.02_beta3-mkconfig-alpine.patch"
+088455205f2f397d60e43eab19ed73994880ea1f442661f7975846cceaf2b112d92fd1341119d7dbfad3af2174dfd4d4721f31dead1ac35f4a3cb7c0d92f8a04 the-arch-everyone-uses-and-nobody-loves.patch
+048d061ac0aab0106f59a3d257739ff5de6c7dc08a4dc9b8b12e9bd2b1ec11f9bc6214013f3d1083b11c3ce41185fcbb5615beb2f290380abf392bb4c3f0d509 default-grub"
diff --git a/user/grub/default-grub b/user/grub/default-grub
new file mode 100644
index 000000000..18fc2317d
--- /dev/null
+++ b/user/grub/default-grub
@@ -0,0 +1,8 @@
+# Welcome to Adélie Linux.
+# This file contains configuration for the GRUB boot manager.
+# Changes to this file won't take effect unless you run `update-grub` as root.
+
+GRUB_DEFAULT="Adélie"
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR="Adélie"
+GRUB_CMDLINE_LINUX_DEFAULT="ro"
diff --git a/user/grub/the-arch-everyone-uses-and-nobody-loves.patch b/user/grub/the-arch-everyone-uses-and-nobody-loves.patch
new file mode 100644
index 000000000..2d09149f7
--- /dev/null
+++ b/user/grub/the-arch-everyone-uses-and-nobody-loves.patch
@@ -0,0 +1,72 @@
+From 563b1da6e6ae7af46cc8354cadb5dab416989f0a Mon Sep 17 00:00:00 2001
+From: Michael Chang <mchang@suse.com>
+Date: Mon, 26 Mar 2018 16:52:34 +0800
+Subject: Fix packed-not-aligned error on GCC 8
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When building with GCC 8, there are several errors regarding packed-not-aligned.
+
+./include/grub/gpt_partition.h:79:1: error: alignment 1 of ‘struct grub_gpt_partentry’ is less than 8 [-Werror=packed-not-aligned]
+
+This patch fixes the build error by cleaning up the ambiguity of placing
+aligned structure in a packed one. In "struct grub_btrfs_time" and "struct
+grub_gpt_part_type", the aligned attribute seems to be superfluous, and also
+has to be packed, to ensure the structure is bit-to-bit mapped to the format
+laid on disk. I think we could blame to copy and paste error here for the
+mistake. In "struct efi_variable", we have to use grub_efi_packed_guid_t, as
+the name suggests. :)
+
+Signed-off-by: Michael Chang <mchang@suse.com>
+Tested-by: Michael Chang <mchang@suse.com>
+Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/btrfs.c | 2 +-
+ include/grub/efiemu/runtime.h | 2 +-
+ include/grub/gpt_partition.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 4849c1ceb..be195448d 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -175,7 +175,7 @@ struct grub_btrfs_time
+ {
+ grub_int64_t sec;
+ grub_uint32_t nanosec;
+-} __attribute__ ((aligned (4)));
++} GRUB_PACKED;
+
+ struct grub_btrfs_inode
+ {
+diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
+index 9b6b729f4..36d2dedf4 100644
+--- a/include/grub/efiemu/runtime.h
++++ b/include/grub/efiemu/runtime.h
+@@ -29,7 +29,7 @@ struct grub_efiemu_ptv_rel
+
+ struct efi_variable
+ {
+- grub_efi_guid_t guid;
++ grub_efi_packed_guid_t guid;
+ grub_uint32_t namelen;
+ grub_uint32_t size;
+ grub_efi_uint32_t attributes;
+diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h
+index 1b32f6725..9668a68c3 100644
+--- a/include/grub/gpt_partition.h
++++ b/include/grub/gpt_partition.h
+@@ -28,7 +28,7 @@ struct grub_gpt_part_type
+ grub_uint16_t data2;
+ grub_uint16_t data3;
+ grub_uint8_t data4[8];
+-} __attribute__ ((aligned(8)));
++} GRUB_PACKED;
+ typedef struct grub_gpt_part_type grub_gpt_part_type_t;
+
+ #define GRUB_GPT_PARTITION_TYPE_EMPTY \
+--
+cgit v1.1-33-g03f6
+
diff --git a/user/gsettings-desktop-schemas/APKBUILD b/user/gsettings-desktop-schemas/APKBUILD
index 83bdc123e..185d15bdf 100644
--- a/user/gsettings-desktop-schemas/APKBUILD
+++ b/user/gsettings-desktop-schemas/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer:
pkgname=gsettings-desktop-schemas
-pkgver=3.28.1
+pkgver=3.32.0
pkgrel=0
pkgdesc="GSettings schemas shared by GNOME desktop components"
url="https://developer.gnome.org/gio/unstable/GSettings.html"
arch="noarch"
license="LGPL-2.0-or-later"
-makedepends="glib-dev gobject-introspection-dev intltool"
-subpackages="$pkgname-dev"
+makedepends="glib-dev gobject-introspection-dev intltool meson ninja"
+subpackages="$pkgname-dev $pkgname-lang"
source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
prepare() {
@@ -18,24 +18,19 @@ prepare() {
build() {
cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --disable-nls
- make
+ mkdir -p build && cd build
+ meson -Dprefix=/usr ..
+ ninja
}
check() {
- cd "$builddir"
- make check
+ cd "$builddir"/build
+ ninja test
}
package() {
- cd "$builddir"
- make install DESTDIR="$pkgdir"
+ cd "$builddir"/build
+ DESTDIR="$pkgdir" ninja install
}
dev() {
@@ -47,4 +42,4 @@ dev() {
}
-sha512sums="2bf3260e976943e9d1e51feda62ef1e432870a6d9b34881afbdf99ddbe4954e5dd679697e152e793a0b38492dbbc4891018f7aa8cd4e703d05a8647cc5a56785 gsettings-desktop-schemas-3.28.1.tar.xz"
+sha512sums="cf1d78a8f9f1697e20c995286b50d556c2ecc83bf4b28be19b3258a724494a2827fb9567cabf29cda1c590488fd2645e905072e08321766c8bdddd22ac3710dc gsettings-desktop-schemas-3.32.0.tar.xz"
diff --git a/user/gst-plugins-base/APKBUILD b/user/gst-plugins-base/APKBUILD
index 555fec878..2682bc026 100644
--- a/user/gst-plugins-base/APKBUILD
+++ b/user/gst-plugins-base/APKBUILD
@@ -1,10 +1,11 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gst-plugins-base
-pkgver=1.14.4
-pkgrel=1
+pkgver=1.16.0
+pkgrel=0
pkgdesc="GStreamer multimedia framework - Base plugins"
url="https://gstreamer.freedesktop.org/"
arch="all"
+options="!check" # fails overlaycomposition on ppc64
license="GPL LGPL"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
depends=""
@@ -12,9 +13,11 @@ replaces="gst-plugins-base1"
makedepends="alsa-lib-dev cdparanoia-dev expat-dev glib-dev
gobject-introspection-dev gstreamer-dev libice-dev libogg-dev libsm-dev
libtheora-dev libvorbis-dev libx11-dev libxt-dev libxv-dev mesa-dev
- opus-dev orc-dev pango-dev perl"
+ opus-dev orc-dev pango-dev perl cmd:which !gst-plugins-base"
checkdepends="orc-compiler"
-source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz"
+source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz
+ endian.patch
+ "
ldpath="/usr/lib/gstreamer-1.0"
build() {
@@ -50,4 +53,5 @@ doc() {
replaces="${pkgname}1-doc"
}
-sha512sums="42c59df9f2d848108f12afa0466acbcfa5ccda64e4d0d44608d4268abed20f2e036713de04e7d71feaed1868ad742c5bcb55ae0eef5dec8e19e053dc8541b8af gst-plugins-base-1.14.4.tar.xz"
+sha512sums="4fa404156a384000e26e72ff0f701edb5a160181b48362350529177ca1c9325a3c58b83904bf5056262fe2609bc7f5913e835278973e049315deecfd1f26a3af gst-plugins-base-1.16.0.tar.xz
+f146e76bedabd7b028cc64a9a671f7fb1ac1655164159d47953ea1afddafee1e40470593442f22152fb7e3579847dc4fc6e1f6e16a7c47252d5f3c25a6ae7353 endian.patch"
diff --git a/user/gst-plugins-base/endian.patch b/user/gst-plugins-base/endian.patch
new file mode 100644
index 000000000..403f40f69
--- /dev/null
+++ b/user/gst-plugins-base/endian.patch
@@ -0,0 +1,11 @@
+--- gst-plugins-base-1.16.0/tests/check/libs/video.c.old 2019-03-29 12:21:21.000000000 +0000
++++ gst-plugins-base-1.16.0/tests/check/libs/video.c 2019-05-01 15:49:10.000628817 +0000
+@@ -2828,7 +2828,7 @@
+ fail_unless_equals_int (data[i + 3], 0x80);
+ #else
+ /* A - R - G - B */
+- fail_unless_equals_int (data[i], 0x00);
++ fail_unless_equals_int (data[i], 0x80);
+ fail_unless_equals_int (data[i + 1], 0x80);
+ fail_unless_equals_int (data[i + 2], 0x80);
+ fail_unless_equals_int (data[i + 3], 0x80);
diff --git a/user/gst-plugins-good/APKBUILD b/user/gst-plugins-good/APKBUILD
index fb4d05277..31f9963e5 100644
--- a/user/gst-plugins-good/APKBUILD
+++ b/user/gst-plugins-good/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gst-plugins-good
-pkgver=1.14.4
+pkgver=1.16.0
pkgrel=0
pkgdesc="GStreamer multimedia framework - Free, well-written plugins"
url="https://gstreamer.freedesktop.org/modules/gst-plugins-good.html"
@@ -55,5 +55,5 @@ gtk() {
"$subpkgdir"/usr/lib/gstreamer-1.0/
}
-sha512sums="30aeb3bb74571287cad1598973da38e7a43a0128d35480ded6d280c1373dc4ecd4ea76caaa04a71cdfba2e1850aee5f1b72d96be86ae92d66633e7d32081c504 gst-plugins-good-1.14.4.tar.xz
+sha512sums="01ae64426d62500c12eb98073fcdf4bbbb7df69b5d30a153491a6e3bcd9bfa6e6a3a7fdedd7b7293ce9405e909a4a57c691f293a58525f21281136deac7c0a7c gst-plugins-good-1.16.0.tar.xz
1cecf260cfeb19675a819f9858426aaed3b9627ed90b8facb6cb12dfc0b265232639b1888d7cc03edb87025e3eddab6e3606f16b5f7ca261a6b1c39b0dbdc6f7 endian-test.patch"
diff --git a/user/gstreamer/APKBUILD b/user/gstreamer/APKBUILD
index a5adebbf5..4beb70d0f 100644
--- a/user/gstreamer/APKBUILD
+++ b/user/gstreamer/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gstreamer
-pkgver=1.14.4
+pkgver=1.16.0
pkgrel=0
pkgdesc="GStreamer multimedia framework"
url="https://gstreamer.freedesktop.org/"
@@ -47,4 +47,4 @@ doc() {
default_doc
replaces="${pkgname}1-doc"
}
-sha512sums="7ece9f01d40df7c8358482eac94536c5e15261e9568962008e2029e1ee1b3ebb220d2e4802ed1c81c40d897576fafe52234065e273724bfb4df3a3ddf2711abe gstreamer-1.14.4.tar.xz"
+sha512sums="d65d8ee78e5c245ed710fe7907e35d18bfe8729518552f86ea6f16bbcfef7b1c418e0fbe94fc79cb2626510fdf486d457fb040290e84d383964c8ab140455652 gstreamer-1.16.0.tar.xz"
diff --git a/user/gtk+3.0/APKBUILD b/user/gtk+3.0/APKBUILD
index ea1c05d69..57cbe384b 100644
--- a/user/gtk+3.0/APKBUILD
+++ b/user/gtk+3.0/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=gtk+3.0
-pkgver=3.24.5
+pkgver=3.24.8
pkgrel=0
pkgdesc="The GTK+ Toolkit (v3)"
url="https://www.gtk.org/"
@@ -53,4 +53,4 @@ package() {
rm -f "$pkgdir"/usr/share/man/man1/gtk-update-icon-cache.1
}
-sha512sums="344988c9e2a2d7fd2fd1e367a113be7c4a32c28c9cf395aeab923e25256b99856091d1583d3f8557aac6919a930a4d0af69b966486caab559c7d9d22585cc1a1 gtk+-3.24.5.tar.xz"
+sha512sums="a988ca2e25f0f32e55b2931f16c72f9649ed98405579d217e8a5e7f0ac10bcd1969090c622c5d9eb7d75235813ff7ccb90e30e252afd71ba283c6172ee459fe5 gtk+-3.24.8.tar.xz"
diff --git a/user/gtksourceview-3.0/APKBUILD b/user/gtksourceview-3.0/APKBUILD
index ca4fd1c32..23f34a3c2 100644
--- a/user/gtksourceview-3.0/APKBUILD
+++ b/user/gtksourceview-3.0/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=gtksourceview-3.0
-pkgver=3.24.9
+pkgver=3.24.11
pkgrel=0
pkgdesc="Source viewer widget for GTK+ 3.0"
url="https://gnome.org"
@@ -36,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="29b58afba1c0b473205cf7070997139d2ca07cf68d40185aa76fa59c900ad21c03ccb79dec9970e5f96743cfdb5a7d926b21a9947244bc8cf8cbd1033467cd01 gtksourceview-3.24.9.tar.xz"
+sha512sums="3490b34c6432a2e2ef292ad5bf982fdd22d33b1472434549b4ea8ddae0fc8808e128ef947e4d0dcb41e8de5e601b202f52532bbbbfa11d35050acfc42f9936b2 gtksourceview-3.24.11.tar.xz"
diff --git a/user/gucharmap/APKBUILD b/user/gucharmap/APKBUILD
new file mode 100644
index 000000000..9a3d7bfcf
--- /dev/null
+++ b/user/gucharmap/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=gucharmap
+pkgver=12.0.1
+_unicode=12.0.0
+pkgrel=0
+pkgdesc="Unicode utility for the Gnome desktop environment"
+url="https://gnome.org"
+arch="all"
+license="GPL-3.0+"
+depends=""
+makedepends="desktop-file-utils gobject-introspection-dev gtk+3.0-dev intltool
+ itstool libxml2-utils unicode-data"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://download.gnome.org/sources/gucharmap/${pkgver%.*}/gucharmap-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-unicode-data=/usr/share/unicode/$_unicode
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="989034350c73c3f1857167f434aa4a5c140ef7574cb799b874e421a8d0c2bf520dfcee85bc0cf8e52f439fb7d30e0db5172a25c107c80b38ce6da4e703a3ffc2 gucharmap-12.0.1.tar.xz"
diff --git a/user/gutenprint/APKBUILD b/user/gutenprint/APKBUILD
index 56fbfacea..67f344222 100644
--- a/user/gutenprint/APKBUILD
+++ b/user/gutenprint/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gutenprint
-pkgver=5.2.14
+pkgver=5.3.1
pkgrel=0
pkgdesc="Open source printer drivers"
url="http://gimp-print.sourceforge.net/"
@@ -12,7 +12,9 @@ depends=""
makedepends="cups-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-libs"
install="$pkgname.post-install $pkgname.post-upgrade"
-source="https://downloads.sourceforge.net/gimp-print/gutenprint-$pkgver.tar.bz2"
+source="https://downloads.sourceforge.net/gimp-print/gutenprint-$pkgver.tar.xz
+ freopen.patch
+ "
build() {
cd "$builddir"
@@ -37,4 +39,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="aeb06b4be45fcb67320b419b988ca59dbda51bb2c3ff4edd0f0757ac977565a6829f506ebea6872211c689a15925ad2119836424c3c9a97345a8cd506e9df9fd gutenprint-5.2.14.tar.bz2"
+sha512sums="214d07e6f78130e95c8c9d98f0862921d26f74a7c302afabdb138b35ef5f02f52fa143411983867fd7015477c16ca18cf8001e6552c27cd4a12c08ff77e92986 gutenprint-5.3.1.tar.xz
+a4a74b7eeffdb12cc106c7da33bef24a7e80fca94091a8301b61df60e642e54fb57f5f00027530d86a83c3aff086ff43439b46bcfdcafa29073c60445d49781e freopen.patch"
diff --git a/user/gutenprint/freopen.patch b/user/gutenprint/freopen.patch
new file mode 100644
index 000000000..ddc351fec
--- /dev/null
+++ b/user/gutenprint/freopen.patch
@@ -0,0 +1,11 @@
+--- gutenprint-5.3.1/src/xml/printers/check_duplicate_printers.c.old 2018-09-03 15:19:33.000000000 +0000
++++ gutenprint-5.3.1/src/xml/printers/check_duplicate_printers.c 2019-05-01 20:32:48.290238929 +0000
+@@ -34,7 +34,7 @@
+ if (getenv("BUILD_VERBOSE"))
+ dup2(2, 3);
+ (void) snprintf(path, PATH_MAX, "%scheck_duplicate_printers_%d.log", getenv("STP_TEST_LOG_PREFIX"), getpid());
+- stdout = freopen(path, "w", stdout);
++ freopen(path, "w", stdout);
+ dup2(1, 2);
+ }
+ setenv("STP_CHECK_DUPLICATE_PRINTERS", "TRUE", 1);
diff --git a/user/gvim/APKBUILD b/user/gvim/APKBUILD
index 0d0b4af59..02a94f8f6 100644
--- a/user/gvim/APKBUILD
+++ b/user/gvim/APKBUILD
@@ -5,7 +5,7 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=gvim
_pkgreal=vim
-pkgver=8.1.0952
+pkgver=8.1.1461
pkgrel=0
pkgdesc="advanced text editor"
url="http://www.vim.org"
@@ -74,4 +74,4 @@ package() {
ln -s gvim rgvim
}
-sha512sums="485d839901b3d1fc8efcc035991d5f34849f6d05d9c556dcf5b2918cd01e7f7b490cd0a7eb976c7577adb41962dceea4552474103f0b3c7807311d07f8158bd1 vim-8.1.0952.tar.gz"
+sha512sums="4c0237808d126069cb023246fc58d7743f8b9813e934a37e8061da43391712abc388921ee62fedc5c76bd374e82496bd8aabc6d8a9248fd8e77064895450032a vim-8.1.1461.tar.gz"
diff --git a/user/gwenview/APKBUILD b/user/gwenview/APKBUILD
index a190e69d8..292abf3ca 100644
--- a/user/gwenview/APKBUILD
+++ b/user/gwenview/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gwenview
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Fast and easy image viewer by KDE"
url="https://www.kde.org/applications/graphics/gwenview/"
@@ -43,4 +43,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4105ef3529170e7c92cbbdca4bfb31f0fa4220979ce808f86d23aac0a2fdd9f59d927f87a7909e2d1641defd97bd31e1142075f30d526c7d1b29e8afe314fd51 gwenview-18.12.3.tar.xz"
+sha512sums="593db6ca0bc765d45ed6691c71d12bf06a9ff5dcf2fe23d7e839dde1ebd11ae60f466bb8af1e0b577df7fc7ba3cd9bf6ec0d51642eb75e6d4d50b3b8c42c5863 gwenview-19.04.1.tar.xz"
diff --git a/user/harfbuzz/APKBUILD b/user/harfbuzz/APKBUILD
index 3b41f4ce4..be2836574 100644
--- a/user/harfbuzz/APKBUILD
+++ b/user/harfbuzz/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sören Tempel <soeren+alpinelinux@soeren-tempel.net>
# Maintainer:
pkgname=harfbuzz
-pkgver=2.3.1
+pkgver=2.4.0
pkgrel=0
pkgdesc="Text shaping library"
url="https://www.freedesktop.org/wiki/Software/HarfBuzz"
@@ -53,4 +53,4 @@ icu() {
mv "$pkgdir"/usr/lib/lib*icu.so.* "$subpkgdir"/usr/lib/
}
-sha512sums="78a8f05bfcc95cfe3fc0f1a595bdc7298c9c1456db6c7ef70914051fda43f37aaff15eac75aa6922eca82d2291baeb8385e02e6aacb44ca05b4873c311a662ac harfbuzz-2.3.1.tar.bz2"
+sha512sums="daeaf029bd5d0d0674f930a8d0dcdc4e0b1253b2369c732c7b4fd130ab9438d0d9526967224a583ee58974c3b492874acaccdac13c71b58c950f0b3f031e505c harfbuzz-2.4.0.tar.bz2"
diff --git a/user/highlight/APKBUILD b/user/highlight/APKBUILD
index 715affc24..cdce50580 100644
--- a/user/highlight/APKBUILD
+++ b/user/highlight/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=highlight
-pkgver=3.49
+pkgver=3.50
pkgrel=0
pkgdesc="Fast and flexible source code highlighter"
url="http://www.andre-simon.de/doku/highlight/highlight.html"
@@ -22,4 +22,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="81223c11b7b518b5b289622afadb0f2660898f74342b96f3e03f8bd3ac88d2f9b816efe0dffcc58323417d8a47b112053c16bd5f83475e6908ab228ee3cf81b0 highlight-3.49.tar.bz2"
+sha512sums="1911a29fea6a157ff237276673acf0ae2b5a931ad7beeacf26a67970fc5ec66abf6dc64ff1694bf0cf68414c29f597625700943da772823a025f7a139d606c3d highlight-3.50.tar.bz2"
diff --git a/user/http-parser/APKBUILD b/user/http-parser/APKBUILD
index de3af464c..8dace78cd 100644
--- a/user/http-parser/APKBUILD
+++ b/user/http-parser/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=http-parser
-pkgver=2.9.0
+pkgver=2.9.2
pkgrel=0
pkgdesc="Library for parsing HTTP messages in C"
url=" "
@@ -14,18 +14,15 @@ subpackages="$pkgname-dev"
source="http-parser-$pkgver.tar.gz::https://github.com/nodejs/http-parser/archive/v$pkgver.tar.gz"
build() {
- cd "$builddir"
make
}
check() {
- cd "$builddir"
true # tested as part of build.
}
package() {
- cd "$builddir"
make PREFIX=/usr DESTDIR="$pkgdir" install
}
-sha512sums="40acecbf71b9f0b4ae857c74c3ec0784d7f341a0cb83cf82b308387d0c5b56d38b282241aaf8ca93816970f2a9e67989f3d9d456459f3986c29fe51ab520155e http-parser-2.9.0.tar.gz"
+sha512sums="fe21ba46c9297b55a6382497b689da2af88999a9a5716ffef0731057ce1bb053056e4f20147284c78338e48ed1a793a0270fe0edfe3f4b589926e3ede603d023 http-parser-2.9.2.tar.gz"
diff --git a/user/hwids/APKBUILD b/user/hwids/APKBUILD
index 92d161907..1fcbe079d 100644
--- a/user/hwids/APKBUILD
+++ b/user/hwids/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=hwids
-pkgver=20180917
+pkgver=20190316
pkgrel=0
pkgdesc="Hardware identification databases"
url="https://github.com/gentoo/hwids/"
@@ -67,4 +67,4 @@ udev() {
mv "$pkgdir"/etc "$subpkgdir"/
}
-sha512sums="9fdcd5a7b3adca1bed886aa83e9cf3944391a819fc9f09b673bd815d95e6e70cecf40d8e87287207e34bfeb58c888188fc61b1c0ac13c1ecab0efbdb5100f8d9 hwids-20180917.tar.gz"
+sha512sums="6db50577b5d29d73f1dc0a44d0b74320cb0df186b9850160b15a6e8f2bcbdbf8193bae4146f81a5afc6b0e05706b5286b4b5858eb028d6c58ea4582df61d232e hwids-20190316.tar.gz"
diff --git a/user/i3lock/APKBUILD b/user/i3lock/APKBUILD
index 8080867c7..7d04a82af 100644
--- a/user/i3lock/APKBUILD
+++ b/user/i3lock/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=i3lock
-pkgver=2.11
+pkgver=2.11.1
pkgrel=0
pkgdesc="Simple X11 screen locker"
url="https://i3wm.org/i3lock/"
@@ -15,7 +15,6 @@ subpackages="$pkgname-doc"
source="$url/$pkgname-$pkgver.tar.bz2"
prepare() {
- cd "$builddir"
default_prepare
# At present, this has no functional difference.
# But when we start developing our PAM stack into something more
@@ -24,8 +23,6 @@ prepare() {
}
build() {
- cd "$builddir"
-
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -38,8 +35,7 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="c00741a66fdb5477a4b7e993d173f98fe95f0254fa74c50f83ddf8078a477d26a9fab126fbe31b509df2dbd35ed5ec64b95475621b8babf6f6c0f6db38160c8a i3lock-2.11.tar.bz2"
+sha512sums="8b779aa0a560884adc1a508e1f07f712bdf043f72c377c24d5e7e186a6b97f34a5bda7aa67de41f5e15a1a541f4a2c2d28bc284057926a5833d70b67437d073c i3lock-2.11.1.tar.bz2"
diff --git a/user/icewm/APKBUILD b/user/icewm/APKBUILD
index c74eaf649..47a6f63b5 100644
--- a/user/icewm/APKBUILD
+++ b/user/icewm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=icewm
-pkgver=1.5.2
+pkgver=1.5.4
pkgrel=0
pkgdesc="A window manager designed for speed, usability, and consistency"
url="https://github.com/bbidulock/icewm"
@@ -44,4 +44,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f2a542d162e984dcc6f7b8e3fc2dbd7df46510f961431b4c3b6651351f7b236ef4724a07ce01dfa163b08c9a130e7ee3ed62e1c5b1f364340998d31290323614 icewm-1.5.2.tar.xz"
+sha512sums="7b5743872d328f937b49e2b79f7d6c0b8404326ef7e7a3b529c80138b36e8c2b30db79593125a8be76abe40282c779f79ca64b504f980ef2c87052448bdc076e icewm-1.5.4.tar.xz"
diff --git a/user/icon-naming-utils/APKBUILD b/user/icon-naming-utils/APKBUILD
index e878b858c..1d41aef6b 100644
--- a/user/icon-naming-utils/APKBUILD
+++ b/user/icon-naming-utils/APKBUILD
@@ -4,7 +4,7 @@ pkgname=icon-naming-utils
pkgver=0.8.90
pkgrel=0
pkgdesc="Script for migrating to the Icon Naming Specification"
-url="http://tango.freedesktop.org/Tango_Icon_Library"
+url="http://tango-project.org/"
arch="noarch"
license="GPL-2.0-only"
depends="perl perl-xml-simple"
diff --git a/user/imagemagick/APKBUILD b/user/imagemagick/APKBUILD
index a96496fcc..c527b6c0f 100644
--- a/user/imagemagick/APKBUILD
+++ b/user/imagemagick/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=imagemagick
-pkgver=7.0.8.32
+pkgver=7.0.8.48
_abiver=7
_pkgver=${pkgver%.*}-${pkgver##*.}
pkgrel=0
@@ -81,4 +81,4 @@ _cxx() {
mv "$pkgdir"/usr/lib/libMagick++*.so.* "$subpkgdir"/usr/lib/
}
-sha512sums="ca33135795c78479557526403140b5feb1c1e39c57b5b94f1f7bc2f4cef65e975dcd760c08be965882d0498011a18d6aff5567c485c54a188b3e36ee542c5e56 ImageMagick-7.0.8-32.tar.xz"
+sha512sums="194773526b86762fbcd509a722114c88b23a7bdd96431f666581e11d2c13334e6f58c1edcecb6e9117a00ea873cca8657887f7962ccbb5748d1c692b7756c792 ImageMagick-7.0.8-48.tar.xz"
diff --git a/user/ipaexfont/APKBUILD b/user/ipaexfont/APKBUILD
index 3a73df06f..dfbbc3436 100644
--- a/user/ipaexfont/APKBUILD
+++ b/user/ipaexfont/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ipaexfont
-pkgver=003.01
+pkgver=004.01
pkgrel=0
pkgdesc="Standard Japanese typefaces"
url="https://ipafont.ipa.go.jp/"
@@ -19,4 +19,4 @@ package() {
install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/TTF/ *.ttf
}
-sha512sums="92df9f6a1002ea68cfd88f2b1fe4a5a5d6dfdb0ac4be7f4c0815200ce1962d3db7330ec17e7380efe4ba0735a55e0f5160b0cd6c1553a79fc8a860c434958388 IPAexfont00301.zip"
+sha512sums="fe639ded0a25eed66df8cc1e9d5e965b501574a25fab542a749b3cb8464690448e44343ff5845aecd3224ec481c4089ee56e64880cbbc9211a260b22d4cc68cd IPAexfont00401.zip"
diff --git a/user/iso-codes/APKBUILD b/user/iso-codes/APKBUILD
index 599845de4..9fc122b61 100644
--- a/user/iso-codes/APKBUILD
+++ b/user/iso-codes/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=iso-codes
-pkgver=4.1
+pkgver=4.2
pkgrel=0
pkgdesc="Lists of country, language, and currency names"
url=" "
@@ -30,4 +30,4 @@ package() {
make DESTDIR="$pkgdir" pkgconfigdir=/usr/lib/pkgconfig install
}
-sha512sums="cf02be0cfc43a1fb28334ccae552cac9a7dee70ca3969b6263eca4bd7fee8ddcc437bd23d290643ba2cd7e99b207661d7330daaf452dc59cde36fdd5919b5616 iso-codes-4.1.tar.xz"
+sha512sums="1ee8505d2fb6da03d82ebe665ad963e6652ac0337a1cde16a0d6f4c04003f52330735dd7ab20131999e8c562eca09ac18edf8c4aadd7cb8bcfbe0f350a8b6987 iso-codes-4.2.tar.xz"
diff --git a/user/isync/APKBUILD b/user/isync/APKBUILD
index a1a5a09e3..19c801b6e 100644
--- a/user/isync/APKBUILD
+++ b/user/isync/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Luis Ressel <aranea@aixah.de>
# Maintainer: Luis Ressel <aranea@aixah.de>
pkgname=isync
-pkgver=1.3.0
+pkgver=1.3.1
pkgrel=0
pkgdesc="IMAP and MailDir mailbox synchronizer"
url="http://isync.sourceforge.net/"
@@ -30,4 +30,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b5186f2afe97cab58ce55d3ec19ae7371676ae614448614a9e3e02d09662c34b74e559f0926661fa0300ab22dab9e2e9089b78ee38b94141ff3f8b4d75578ffa isync-1.3.0.tar.gz"
+sha512sums="59d702d41d4a4e72f03cb282b414d0bb859593171763e845bc24d116a74f807a79e5be61f1dd1f59a9ece492322bceac156b08958a246cbfbe7f230fab4cdda2 isync-1.3.1.tar.gz"
diff --git a/user/itstool/APKBUILD b/user/itstool/APKBUILD
index 7fdfc40cc..7936887b7 100644
--- a/user/itstool/APKBUILD
+++ b/user/itstool/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=itstool
-pkgver=2.0.5
+pkgver=2.0.6
pkgrel=0
pkgdesc="ITS-based XML translation tool"
url="http://itstool.org/"
@@ -38,5 +38,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="67c55b83e43b5a4626a6633305b2e48a06a5defdf7725e78b00409edea213d166cb3d870a58eb402c48968bddd7c1778d9852acfa0ddebdd363f34ac13f32aa7 itstool-2.0.5.tar.bz2
+sha512sums="51058bdcb208f6fb84810f71f9bf67e42b00bf157a9756be45f060849c0aff36f695f4403404193720d4446818fa77de61fa94eed9e8789d26c07a2926072eb7 itstool-2.0.6.tar.bz2
eb426e7cc9f151154f47b93ef46d6fcfb5fa0982be3bf78863ebf5ea009a89de252a6c63dfb090d76003c47107ebb5d1ac2a7d1ef7db08defe19e32f996dbdbd fix-segfault.patch"
diff --git a/user/iw/APKBUILD b/user/iw/APKBUILD
new file mode 100644
index 000000000..65c762edf
--- /dev/null
+++ b/user/iw/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Luis Ressel <aranea@aixah.de>
+# Maintainer: Luis Ressel <aranea@aixah.de>
+pkgname=iw
+pkgver=5.0.1
+pkgrel=0
+pkgdesc="CLI configuration utility for wireless devices"
+url="https://wireless.wiki.kernel.org/en/users/Documentation/iw"
+arch="all"
+options="!check" # no usable test suite
+license="ISC"
+depends=""
+makedepends="libnl3-dev linux-headers pkgconfig"
+subpackages="$pkgname-doc"
+source="https://kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.xz"
+
+build() {
+ make V=1
+}
+
+package() {
+ make V=1 DESTDIR="$pkgdir" install
+}
+
+sha512sums="98764c1be7c63f86cc10193319e18c216a3f9a323444723b2949db0738ff8fcff04e6d78c035b5448c083d825a4b4cde27ec607539ec79b1898af73a7969c544 iw-5.0.1.tar.xz"
diff --git a/user/jasper/APKBUILD b/user/jasper/APKBUILD
index 3fbb320cd..321969aa3 100644
--- a/user/jasper/APKBUILD
+++ b/user/jasper/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=jasper
-pkgver=2.0.14
+pkgver=2.0.16
pkgrel=0
pkgdesc="Library implementing JPEG-2000"
url="http://www.ece.uvic.ca/~mdadams/jasper/"
@@ -9,7 +9,8 @@ license="custom:JasPer2.0"
depends= #"libjpeg>=8 freeglut libxi libxmu mesa"
makedepends="libjpeg-turbo-dev cmake"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
-source="http://www.ece.uvic.ca/~frodo/jasper/software/jasper-$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mdadams/jasper/archive/version-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-version-$pkgver"
# secfixes:
# 2.0.12-r1:
@@ -44,4 +45,4 @@ libs() {
mv "$pkgdir"/usr/lib "$subpkgdir"/usr
}
-sha512sums="9e5cffd2e899e37ba08890e2377ddfc3c2fb13d9fe00dea6b4612e4d241a6f4327de6835809b415c41ae4bf44208cf7871c1982ff5fc04ae6bc09fd376b0afc8 jasper-2.0.14.tar.gz"
+sha512sums="b3bca227f833567c9061c4a29c0599784ed6a131b5cceddfd1696542d19add821eda445ce6d83782b454b266723b24d0f028cbc644a25c0e3a75304e615b34ee jasper-2.0.16.tar.gz"
diff --git a/user/java-common/APKBUILD b/user/java-common/APKBUILD
index 12259b209..da94e271c 100644
--- a/user/java-common/APKBUILD
+++ b/user/java-common/APKBUILD
@@ -1,16 +1,16 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=java-common
-pkgver=6
-pkgrel=0
+pkgver=7
+pkgrel=1
pkgdesc="Default Java runtime binary symlinks"
url=" "
arch="noarch"
options="!check" # Symlinks only.
license="Public-Domain"
-depends=""
+depends="nss" # for TLS, needed by all OpenJDKs.
makedepends=""
subpackages=""
-source=""
+source="java.profd"
triggers="java-common.trigger=/usr/lib/jvm"
package() {
@@ -19,4 +19,7 @@ package() {
ln -sf ../lib/jvm/default-jvm/jre/bin/rmiregistry "$pkgdir"/usr/bin
ln -sf ../lib/jvm/default-jvm/jre/bin/keytool "$pkgdir"/usr/bin
ln -sf ../lib/jvm/default-jvm/bin/appletviewer "$pkgdir"/usr/bin
+
+ install -D -m755 "$srcdir"/java.profd "$pkgdir"/etc/profile.d/java.sh
}
+sha512sums="4c535555a89609988fbd379d4ef7c72d04eb8b88aed3c999a65e957196196c14733377b24f98b1ee0ae83f0cd43f55ab626ab073c1b30f478fb514bfc71cf641 java.profd"
diff --git a/user/java-common/java.profd b/user/java-common/java.profd
new file mode 100644
index 000000000..cf97cc5f9
--- /dev/null
+++ b/user/java-common/java.profd
@@ -0,0 +1,2 @@
+#!/bin/sh
+export JAVA_HOME=/usr/lib/jvm/default-jvm
diff --git a/user/juk/APKBUILD b/user/juk/APKBUILD
index 44206a02c..782be8aad 100644
--- a/user/juk/APKBUILD
+++ b/user/juk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=juk
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE Jukebox"
url="https://juk.kde.org/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d509892380dfc1be029debdfa6d924c996a92772cf4fd3c9bf3bfa943621d0f62a13c204867b86210f1a1a6c4895d02c8dd922176f87129dad8ce61a45b8496e juk-18.12.3.tar.xz"
+sha512sums="03dfb936db72a27440d5c0800f33e0166ae230266138621c0a49a68b18b1766b9ed9f25f308b4b0ce75841b33a09dec2679578fcb353ed2e857227a829a0c103 juk-19.04.1.tar.xz"
diff --git a/user/kaffeine/APKBUILD b/user/kaffeine/APKBUILD
index 1e8c0e67a..ee7dcffe2 100644
--- a/user/kaffeine/APKBUILD
+++ b/user/kaffeine/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kaffeine
-pkgver=2.0.15
+pkgver=2.0.17
pkgrel=0
pkgdesc="Media player with a focus on Digital TV (DVB)"
url="https://www.kde.org/applications/multimedia/kaffeine/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d2b21df76710eb79395a0d4e762ecdde4610945de3d1105002a44a56725aea3f10003f4ebefe4cd67f58f561e79aa3f5561639ad5c3afba488146dcb9360f53d kaffeine-2.0.15.tar.xz"
+sha512sums="96b4f676452102802f0226037a21572f851b2ebe2338f758d4d14f15af63adc93fc1ff15d78753284793ca01ebe9fa5f7b367545cfa491e08f563c19d63130dc kaffeine-2.0.17.tar.xz"
diff --git a/user/kalgebra/APKBUILD b/user/kalgebra/APKBUILD
index f89a60f69..f8bdda246 100644
--- a/user/kalgebra/APKBUILD
+++ b/user/kalgebra/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kalgebra
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Graph calculator and plotter"
url="https://www.kde.org/applications/education/kalgebra/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e2c4dad9fc7c7ef0af2b4f6173376db9e68df7df92094efccfd9e6d4edd1bc376352d00717d29351613bbdd52a8cdb45113ae243d4092aa2f8199a010e3f336f kalgebra-18.12.3.tar.xz"
+sha512sums="ae7e7ea92bdac7400d7acc907eaec2603aaa93e671237ab38b826560082f7c204e54ce52d17aa140b9a100d0a2db727c8131e64910536aead6c13b7b795cb600 kalgebra-19.04.1.tar.xz"
diff --git a/user/kalzium/APKBUILD b/user/kalzium/APKBUILD
index 64f1a21b1..fb5750d13 100644
--- a/user/kalzium/APKBUILD
+++ b/user/kalzium/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kalzium
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Periodic table of elements (PSE) with calculators"
url="https://www.kde.org/applications/education/kalzium/"
@@ -43,4 +43,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a03c477fc535784ed6d8007373bc172a01fb72148282858cdb4d2560daa2c31bd3daf068e5ecaa28564888573cb14997840d26bbd922a1fe0c1cf3e77e17f711 kalzium-18.12.3.tar.xz"
+sha512sums="b354542d34df53a1c4d48ac522b31bb131d44521e24d5aada6b953342a3ece71851baac726ceae779d019a6dc5373797f84ba13c6b5ec82fe422a3a2b4c0a2c4 kalzium-19.04.1.tar.xz"
diff --git a/user/kanagram/APKBUILD b/user/kanagram/APKBUILD
index c0c734773..69d12b5ae 100644
--- a/user/kanagram/APKBUILD
+++ b/user/kanagram/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kanagram
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Letter order (anagram) game"
url="https://www.kde.org/applications/education/kanagram/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="75e9465a6621f04f32a7ac2868fd1a8b9133c0957d75608a960919252613b01fd27369fc17543ac08bff333351719986d69738773696be1f69cd330a1aa303a7 kanagram-18.12.3.tar.xz"
+sha512sums="53d1352fb1436fc8cd341b39425b4ae7d64a2378197972e303877104b220447873d89a3ec4facd1b2199a741cb3cfab34fcf920f43ed40c3d4dd28de722c272e kanagram-19.04.1.tar.xz"
diff --git a/user/kapman/APKBUILD b/user/kapman/APKBUILD
index ef2120b43..997bc3873 100644
--- a/user/kapman/APKBUILD
+++ b/user/kapman/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kapman
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Pac-Man clone"
url="https://www.kde.org/applications/games/kapman/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="512743caa897c4e2e4d3f78bc5e85a500b3bc5c810dc8ea8a28508e81a02ef230fe7dda8b9abf01b8e15c90e8172a80655951473414fda959bb1eb079bf0f210 kapman-18.12.3.tar.xz"
+sha512sums="7df13b6ec898e2f6f3c2be19b71531fb2efea406fbc58ac032a51b382e6e8b685d0b0af27f4d9ee4ae3d123be4f5bbef0e7b9e937ca6aeb3f2a365dec9bf47ce kapman-19.04.1.tar.xz"
diff --git a/user/kate/APKBUILD b/user/kate/APKBUILD
index 0fd90e6f3..3ac9abcd6 100644
--- a/user/kate/APKBUILD
+++ b/user/kate/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kate
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Advanced text editor with autocomplete, syntax highlighting, and more"
url="https://kate-editor.org/"
@@ -92,4 +92,4 @@ kwrite_lang() {
done
}
-sha512sums="2f067628d29b7f807e13d2faa2c6727a8028e273c61b4923d6a6eaeb4d74dbf0f0e83edf492821b228ccbe99a985cf712cfd75b9d6ea8d16af9b1ff7ec8ac00d kate-18.12.3.tar.xz"
+sha512sums="fa17365049496acdeccd70acfef1554af87b038a63c4e1dc38c6c3aaeb3ec127eed59a212fcf5488989a9e9f8cff3c71ccf00fd4081214cf51288ea2c2916077 kate-19.04.1.tar.xz"
diff --git a/user/katomic/APKBUILD b/user/katomic/APKBUILD
index a96cb5759..15297a989 100644
--- a/user/katomic/APKBUILD
+++ b/user/katomic/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=katomic
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Fun, educational game involving molecular geometry"
url="https://games.kde.org/game.php?game=katomic"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d47313b345c4b4dbe95dacf61a8435239da38a4acd4491ae7910f4fb70c8d2d5cdc85f5932bf86871c3af1da6fa99fdc703bd75b92ffdb6a9780a09a6e3c3055 katomic-18.12.3.tar.xz"
+sha512sums="75714f55202dcfe66717318bcbd4698b658cda12209ec1bb0bd397f755d7be742a0e276dc8c1e3b5eea0a42a38a44f193c45b059653ebe06fbad563e15136a7f katomic-19.04.1.tar.xz"
diff --git a/user/kblackbox/APKBUILD b/user/kblackbox/APKBUILD
index 38b727182..dbfae7876 100644
--- a/user/kblackbox/APKBUILD
+++ b/user/kblackbox/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kblackbox
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Hide-and-seek logic game"
url="https://www.kde.org/applications/games/kblackbox/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="888d5c00b3f05b4d26c8f898b85d73210ad01260c20f049f9da29fac9f7bc83e1ca9940ca489119313b976ec764b89dbd5acac3fa1f78c6a28205b1c3fc858e5 kblackbox-18.12.3.tar.xz"
+sha512sums="a77cbbef0658b4b84f6d13326f9960f68e543872668f8e416add62516edf5a957f7a7dd4a39e7ab09ff4b6e4ade1ccab8935dc7132cbb5d486e8dd336ffbd945 kblackbox-19.04.1.tar.xz"
diff --git a/user/kblocks/APKBUILD b/user/kblocks/APKBUILD
index 4ec273c96..85bd23021 100644
--- a/user/kblocks/APKBUILD
+++ b/user/kblocks/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kblocks
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Falling blocks game"
url="https://www.kde.org/applications/games/kblocks/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="bdefc1f640bbff779e2681a66733d1ba783239984849a4c6c8af9584155388723ad82abe1577989475ee6d91e8c51e39a565e443b55429da12299fdea33422fb kblocks-18.12.3.tar.xz"
+sha512sums="6913105aaeec4e797cf8a7102beb6aac0a16c4c0100f48cbf0d9cabb2eedf75597f54b1ce4956454b1810109e89cc5d439768110f8f865b89d6a37bf5f0df5b0 kblocks-19.04.1.tar.xz"
diff --git a/user/kbounce/APKBUILD b/user/kbounce/APKBUILD
index c2c4fc9c3..7450c89c9 100644
--- a/user/kbounce/APKBUILD
+++ b/user/kbounce/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kbounce
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Puzzle/arcade game to build walls"
url="https://games.kde.org/game.php?game=kbounce"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b41a63edcf4d4f36b756929df55ddc17b5d345ad58cca8df251226de0ce43503f19726e9ffc5491374919f83d4767b3b753fb248958396e82163f7ab96e83536 kbounce-18.12.3.tar.xz"
+sha512sums="5277dce1ef25e68a3347cc7cf9ec83d645626002b1472ad4b6c3e1c68459c8b115351ec116a163525e192d32da01d599b906b38b940ff62811e7ab2832537ecc kbounce-19.04.1.tar.xz"
diff --git a/user/kbreakout/APKBUILD b/user/kbreakout/APKBUILD
index 6f1392c57..9f0b91fba 100644
--- a/user/kbreakout/APKBUILD
+++ b/user/kbreakout/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kbreakout
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Break-Out like game with a ball and paddle"
url="https://games.kde.org/game.php?game=kbreakout"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5e0e2763ab4e8a5ce8eab78bbfd8e267e5efdf8151fd0e66d6cfdb174aed402a4ce5c02b3fcf2614c07f5726ff34fe6d636c238c4711302fc148c19af8f901d3 kbreakout-18.12.3.tar.xz"
+sha512sums="0b43b45408d2a4f41c0a00e2fc199c3f126e0a60392a7b48fe5b354ac6d531b9de1248b9b46698bb1bd746983d45f2b1c8196f0eeb72dd003ac4e8cfc28b5cc5 kbreakout-19.04.1.tar.xz"
diff --git a/user/kbruch/APKBUILD b/user/kbruch/APKBUILD
index 0d841c20a..a1ab4ac03 100644
--- a/user/kbruch/APKBUILD
+++ b/user/kbruch/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kbruch
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Practice calculating percentages and fractions"
url="https://www.kde.org/applications/education/kbruch/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="91375dcebf526b861103573a293a722aa1ce960bedfd2b3ac1ddc606395b84e1c65e1f7532b24789e1c5dc60f0a05e6c73eb26094bfc3810a8898c1ba10c7b56 kbruch-18.12.3.tar.xz"
+sha512sums="12067ebc85acfcb4ebc14af7f0d5aefc3a37e751b65795c0c2bd50f45766858a0be218a356a6659a79f6050d34c9a702af529e09c79ecf92fb676245d65e5d60 kbruch-19.04.1.tar.xz"
diff --git a/user/kcachegrind/APKBUILD b/user/kcachegrind/APKBUILD
index b61847991..806d73ece 100644
--- a/user/kcachegrind/APKBUILD
+++ b/user/kcachegrind/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kcachegrind
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Profile data visualisation tool and call graph viewer"
url="https://kcachegrind.github.io/html/Home.html"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c22a442fad73921e098c66cefbffc999990b2082ad400dce195efea77bbfc6f2741f24ca0ee38d5eac7664663081d28cccf33f5c6e8c6e1fadaf67c9dc7e65bc kcachegrind-18.12.3.tar.xz"
+sha512sums="eca2205de1d719e36ce150ba7ffd87142df060f24932488c843e7f62e1bb9674bb0ea181763910a82cb39b7268556a5dfa04ea42f2cbd344483fe5086f455885 kcachegrind-19.04.1.tar.xz"
diff --git a/user/kcalc/APKBUILD b/user/kcalc/APKBUILD
index 0433fd73b..959db857e 100644
--- a/user/kcalc/APKBUILD
+++ b/user/kcalc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kcalc
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Calculator with many mathematical, scientific, and logic functions"
url="https://utils.kde.org/projects/kcalc/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="be4d7fd59f3ce6c63426a4aad4a388e4123397ab06c44441213754ec6e935217859c5960cfaf76ed0537400f51c35a74a6413a6c2bbe3466d045ea6ccd7ea45f kcalc-18.12.3.tar.xz"
+sha512sums="8c1868a571ea7fb77a5249d9154c32968974345ec1c8eadb233e5cf436110299baeda39d580ff12c958061188c96a49e899407c35008b476cd0395427566fe1c kcalc-19.04.1.tar.xz"
diff --git a/user/kcharselect/APKBUILD b/user/kcharselect/APKBUILD
index dcaab53ea..fac8e4c48 100644
--- a/user/kcharselect/APKBUILD
+++ b/user/kcharselect/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kcharselect
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Tool to select special characters from all installed fonts"
url="https://utils.kde.org/projects/kcharselect/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="eea89de5285ffb1afa744e7482423721026dd1c8ad0ce32720f2c8fecf105505e94b035f12b19d69e518fc27656257fbd5d1e3e578a5b1047f4d361bb4d77e7f kcharselect-18.12.3.tar.xz"
+sha512sums="9891af9994e1aa1778e1bcde117249c0a82d42b08a6135a1d55151473e20ee886856c0cd8b824eab59bfa9f233178d15d6ca2a850c144af518c9e2f8a23a9dd9 kcharselect-19.04.1.tar.xz"
diff --git a/user/kcolorchooser/APKBUILD b/user/kcolorchooser/APKBUILD
index 136d2a814..339fde904 100644
--- a/user/kcolorchooser/APKBUILD
+++ b/user/kcolorchooser/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kcolorchooser
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple application to choose a colour from the screen"
url="https://www.kde.org/applications/graphics/kcolorchooser/"
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="27e6cc50cdb04f502746a17cf463751173f8f8e057ae1d3d31ae6cb5b10e29123649da755a65f9f7d505d99f585f47905de7a5d3b4f914c7fc84b41d58b7be6a kcolorchooser-18.12.3.tar.xz"
+sha512sums="fe7d4408e1a40e71bd1c16646835f20be9ba21b96574a5b4e1dcbdf348f20ba9862db08fa2b08dd749956758057cc0b232b170d6a42c9db93a81a32d05bba2cb kcolorchooser-19.04.1.tar.xz"
diff --git a/user/kconfigwidgets/APKBUILD b/user/kconfigwidgets/APKBUILD
index e492802ff..558358620 100644
--- a/user/kconfigwidgets/APKBUILD
+++ b/user/kconfigwidgets/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kconfigwidgets
pkgver=5.54.0
-pkgrel=0
+pkgrel=1
pkgdesc="Framework providing widgets for software configuration"
url="https://www.kde.org/"
arch="all"
@@ -13,7 +13,9 @@ depends_dev="qt5-qtbase-dev kauth-dev kcodecs-dev kconfig-dev kguiaddons-dev
ki18n-dev kwidgetsaddons-dev kdoctools-dev"
makedepends="$depends_dev cmake extra-cmake-modules doxygen qt5-qttools-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kconfigwidgets-$pkgver.tar.xz"
+source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kconfigwidgets-$pkgver.tar.xz
+ languagename.patch
+ "
build() {
cd "$builddir"
@@ -42,4 +44,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c6ec2d90c3c227eb9b092bf5b33c39f99ca4f68b1337cc0655d679648710987d13e1c8d9622ad5683ba5b2b3037aca510d96ff64d04a41dd442f3bed74398b73 kconfigwidgets-5.54.0.tar.xz"
+sha512sums="c6ec2d90c3c227eb9b092bf5b33c39f99ca4f68b1337cc0655d679648710987d13e1c8d9622ad5683ba5b2b3037aca510d96ff64d04a41dd442f3bed74398b73 kconfigwidgets-5.54.0.tar.xz
+3b1abbd9b5cef4400a8a962cef4f8a3614f49700fdf9df25e709a8105d9e59429102aa94b8a47fa35e7dcb9d39ba5bbfd8485743fa6f64155bef3aa1afb4bb9e languagename.patch"
diff --git a/user/kconfigwidgets/languagename.patch b/user/kconfigwidgets/languagename.patch
new file mode 100644
index 000000000..d3eb89f54
--- /dev/null
+++ b/user/kconfigwidgets/languagename.patch
@@ -0,0 +1,716 @@
+From 91077def022a999ce46c91347f1167626266f460 Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Mon, 7 Jan 2019 11:42:28 +0100
+Subject: Add KLanguageName
+
+Summary: KLanguageName is a helper namespace that returns the name of a given language code.
+
+Reviewers: apol
+
+Reviewed By: apol
+
+Subscribers: hein, kde-frameworks-devel, sitter, markg, apol
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D10446
+---
+ autotests/CMakeLists.txt | 27 ++++++
+ .../kf5_entry_data.cmake/locale/ca/kf5_entry.cmake | 98 ++++++++++++++++++++++
+ .../kf5_entry_data.cmake/locale/de/kf5_entry.cmake | 98 ++++++++++++++++++++++
+ .../locale/en_US/kf5_entry.cmake | 44 ++++++++++
+ autotests/kf5_entry_data.cmake/locale/es/.keep | 0
+ .../kf5_entry_data.cmake/locale/fr/kf5_entry.cmake | 2 +
+ .../kf5_entry_data.cmake/locale/pt/kf5_entry.cmake | 98 ++++++++++++++++++++++
+ autotests/klanguagenametest.cpp | 92 ++++++++++++++++++++
+ src/CMakeLists.txt | 2 +
+ src/klanguagename.cpp | 67 +++++++++++++++
+ src/klanguagename.h | 63 ++++++++++++++
+ 11 files changed, 591 insertions(+)
+ create mode 100644 autotests/kf5_entry_data.cmake/locale/ca/kf5_entry.cmake
+ create mode 100644 autotests/kf5_entry_data.cmake/locale/de/kf5_entry.cmake
+ create mode 100644 autotests/kf5_entry_data.cmake/locale/en_US/kf5_entry.cmake
+ create mode 100644 autotests/kf5_entry_data.cmake/locale/es/.keep
+ create mode 100644 autotests/kf5_entry_data.cmake/locale/fr/kf5_entry.cmake
+ create mode 100644 autotests/kf5_entry_data.cmake/locale/pt/kf5_entry.cmake
+ create mode 100644 autotests/klanguagenametest.cpp
+ create mode 100644 src/klanguagename.cpp
+ create mode 100644 src/klanguagename.h
+
+diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
+index 1917ecb..37caaf9 100644
+--- a/autotests/CMakeLists.txt
++++ b/autotests/CMakeLists.txt
+@@ -9,5 +9,32 @@ set(kconfigdialog_unittest_SRCS kconfigdialog_unittest.cpp)
+ kconfig_add_kcfg_files(kconfigdialog_unittest_SRCS GENERATE_MOC signaltest.kcfgc)
+ ecm_add_test(${kconfigdialog_unittest_SRCS} TEST_NAME "kconfigdialog_unittest" LINK_LIBRARIES Qt5::Test KF5::ConfigWidgets)
+
++set(lang_entries
++ ca
++ de
++ en_US
++ es # must not have file!
++ fr
++ pt
++)
++
++# scripty would mangle all *.desktop files, since that'd have potential of
++# breaking the test we'll need to bypass scripty by not having our files called
++# .desktop!
++# Do note that we pop these into CMAKE_LIBRARY_OUTPUT_DIRECTORY so QFINDTESTDATA
++# is able to find the fixtures in the bin dir as KDECMakeSettings sets a special
++# output dir.
++foreach(lang ${lang_entries})
++ set(src_dir "${CMAKE_CURRENT_SOURCE_DIR}/kf5_entry_data.cmake/locale/${lang}")
++ set(src_file "${src_dir}/kf5_entry.cmake")
++ set(bin_dir "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/kf5_entry_data/locale/${lang}")
++ set(bin_file "${bin_dir}/kf5_entry.desktop")
++ file(MAKE_DIRECTORY ${bin_dir})
++ if(EXISTS ${src_file}) # not all languages have entries
++ configure_file(${src_file} ${bin_file} COPYONLY)
++ endif()
++endforeach()
++
++ecm_add_test(klanguagenametest.cpp LINK_LIBRARIES Qt5::Test KF5::ConfigWidgets)
+
+ ecm_add_test(krecentfilesactiontest.cpp TEST_NAME "krecentfilesaction_test" LINK_LIBRARIES Qt5::Test KF5::ConfigWidgets)
+diff --git a/autotests/kf5_entry_data.cmake/locale/ca/kf5_entry.cmake b/autotests/kf5_entry_data.cmake/locale/ca/kf5_entry.cmake
+new file mode 100644
+index 0000000..a81564c
+--- /dev/null
++++ b/autotests/kf5_entry_data.cmake/locale/ca/kf5_entry.cmake
+@@ -0,0 +1,98 @@
++[KCM Locale]
++Name=Catalan
++Name[af]=Katelaans
++Name[ar]=الكاتالانيّة
++Name[as]=কাটালান
++Name[be]=Каталонская
++Name[be@latin]=Katalanskaja
++Name[bg]=Каталонски
++Name[bn]=ক্যাটালান
++Name[bn_IN]=ক্যাটালান
++Name[br]=Katalaneg
++Name[bs]=katalonski
++Name[ca]=Català
++Name[ca@valencia]=Català
++Name[cs]=Katalánský
++Name[csb]=Katalońsczi
++Name[cy]=Catalaneg
++Name[da]=Catalansk
++Name[de]=Katalanisch
++Name[el]=Καταλανικά
++Name[en_GB]=Catalan
++Name[eo]=Kataluna
++Name[es]=Catalán
++Name[et]=Katalaani
++Name[eu]=Katalaniera
++Name[fa]=کاتالان
++Name[fi]=Katalaani
++Name[fr]=Catalan
++Name[fy]=Katalaansk
++Name[ga]=Catalóinis
++Name[gd]=Catalanais
++Name[gl]=Catalán
++Name[gu]=કેટેલાન
++Name[he]=קטלונית
++Name[hi]=केटेलन
++Name[hne]=केटेलन
++Name[hr]=Katalonski
++Name[hsb]=Katalansce
++Name[hu]=Katalán
++Name[ia]=Catalan
++Name[id]=Catalan
++Name[is]=Katalónska
++Name[it]=Catalano
++Name[ja]=カタロニア語
++Name[kk]=Каталанша
++Name[km]=កាតាឡាន
++Name[kn]=ಕ್ಯಾಟಲಾನ್
++Name[ko]=카탈루냐어
++Name[ku]=Katalan
++Name[lb]=Katalanesch
++Name[lt]=Katalonų
++Name[lv]=Kataloņu
++Name[mai]=केटालान
++Name[mk]=Каталонски
++Name[ml]=കറ്റാലന്‍
++Name[mr]=केटेलन
++Name[ms]=Catalan
++Name[nb]=Katalansk
++Name[nds]=Katalaansch
++Name[ne]=कातालान
++Name[nl]=Catalaans
++Name[nn]=Katalansk
++Name[oc]=Catalan
++Name[or]=କେଟାଲାନ
++Name[pa]=ਕਾਟਾਲਾਨ
++Name[pl]=Kataloński
++Name[ps]=کېټېلېن
++Name[pt]=Catalão
++Name[pt_BR]=Catalão
++Name[ro]=Catalană
++Name[ru]=Каталонский
++Name[se]=Katalánagiella
++Name[si]=කැටලන්
++Name[sk]=Katalánčina
++Name[sl]=Katalonščina
++Name[sq]=Katalanisht
++Name[sr]=каталонски
++Name[sr@ijekavian]=каталонски
++Name[sr@ijekavianlatin]=katalonski
++Name[sr@latin]=katalonski
++Name[sv]=Katalanska
++Name[ta]=கெடலான்
++Name[te]=కెటలన్
++Name[tg]=Каталанӣ
++Name[th]=ภาษาคาตาลัน
++Name[tr]=Katalanca
++Name[tt]=Каталон
++Name[ug]=كاتالانچە
++Name[uk]=Каталанська
++Name[uz]=Katalancha
++Name[uz@cyrillic]=Каталанча
++Name[vi]=Catalan
++Name[wa]=Catalan
++Name[xh]=Catalan
++Name[x-test]=xxCatalanxx
++Name[zh_CN]=加泰罗尼亚语
++Name[zh_HK]=加泰隆尼亞語
++Name[zh_TW]=加泰羅尼亞語
+diff --git a/autotests/kf5_entry_data.cmake/locale/de/kf5_entry.cmake b/autotests/kf5_entry_data.cmake/locale/de/kf5_entry.cmake
+new file mode 100644
+index 0000000..e8146cb
+--- /dev/null
++++ b/autotests/kf5_entry_data.cmake/locale/de/kf5_entry.cmake
+@@ -0,0 +1,98 @@
++[KCM Locale]
++Name=German
++Name[af]=Duits
++Name[ar]=الألمانيّة
++Name[as]=জাৰ্মান
++Name[be]=Нямецкая
++Name[be@latin]=Niamieckaja
++Name[bg]=Немски
++Name[bn]=জার্মান
++Name[bn_IN]=জার্মান
++Name[br]=Alamaneg
++Name[bs]=njemački
++Name[ca]=Alemany
++Name[ca@valencia]=Alemany
++Name[cs]=Německý
++Name[csb]=Miemiecczi
++Name[cy]=Almaeneg
++Name[da]=Tysk
++Name[de]=Deutsch
++Name[el]=Γερμανικά
++Name[en_GB]=German
++Name[eo]=Germana
++Name[es]=Alemán
++Name[et]=Saksa
++Name[eu]=Alemana
++Name[fa]=آلمانی
++Name[fi]=Saksa
++Name[fr]=Allemand
++Name[fy]=Dútsk
++Name[ga]=Gearmáinis
++Name[gd]=Gearmailtis
++Name[gl]=Alemán
++Name[gu]=જર્મન
++Name[he]=גרמנית
++Name[hi]=जर्मन
++Name[hne]=जर्मन
++Name[hr]=Njemački
++Name[hsb]=Němsce
++Name[hu]=Német
++Name[ia]=Germano
++Name[id]=Jerman
++Name[is]=Þýska
++Name[it]=Tedesco
++Name[ja]=ドイツ語
++Name[kk]=Немісше
++Name[km]=អាល្លឺម៉ង់
++Name[kn]=ಜರ್ಮನ್
++Name[ko]=독일어
++Name[ku]=Almanî
++Name[lb]=Däitsch
++Name[lt]=Vokiečių
++Name[lv]=Vācu
++Name[mai]=जर्मन
++Name[mk]=Германски
++Name[ml]=ജര്‍മ്മന്‍
++Name[mr]=जर्मन
++Name[ms]=Jerman
++Name[nb]=Tysk
++Name[nds]=Hoochdüütsch
++Name[ne]=जर्मनी
++Name[nl]=Duits
++Name[nn]=Tysk
++Name[oc]=Aleman
++Name[or]=ଜର୍ମାନ
++Name[pa]=ਜਰਮਨ
++Name[pl]=Niemiecki
++Name[ps]=جرمني
++Name[pt]=Alemão
++Name[pt_BR]=Alemão
++Name[ro]=Germană
++Name[ru]=Немецкий
++Name[se]=Duiskkagiella
++Name[si]=ජර්මානු
++Name[sk]=Nemčina
++Name[sl]=Nemščina
++Name[sq]=Gjermanisht
++Name[sr]=немачки
++Name[sr@ijekavian]=њемачки
++Name[sr@ijekavianlatin]=njemački
++Name[sr@latin]=nemački
++Name[sv]=Tyska
++Name[ta]=ஜெர்மன்
++Name[te]=జెర్మన్
++Name[tg]=Олмонӣ
++Name[th]=ภาษาเยอรมัน
++Name[tr]=Almanca
++Name[tt]=Алман
++Name[ug]=گېرمانچە
++Name[uk]=Німецька
++Name[uz]=Olmoncha
++Name[uz@cyrillic]=Олмонча
++Name[vi]=Đức
++Name[wa]=Almand
++Name[xh]=German
++Name[x-test]=xxGermanxx
++Name[zh_CN]=德语
++Name[zh_HK]=德語
++Name[zh_TW]=德語
+diff --git a/autotests/kf5_entry_data.cmake/locale/en_US/kf5_entry.cmake b/autotests/kf5_entry_data.cmake/locale/en_US/kf5_entry.cmake
+new file mode 100644
+index 0000000..6033ad4
+--- /dev/null
++++ b/autotests/kf5_entry_data.cmake/locale/en_US/kf5_entry.cmake
+@@ -0,0 +1,44 @@
++[KCM Locale]
++Name=US English
++Name[ar]=الإنجليزية الأمريكية
++Name[bs]=Američki engleski
++Name[ca]=Anglès US
++Name[ca@valencia]=Anglés US
++Name[cs]=US Angličtina
++Name[da]=US Engelsk
++Name[de]=US-Englisch
++Name[el]=US English
++Name[en_GB]=US English
++Name[es]=Inglés de EE. UU.
++Name[et]=USA inglise
++Name[eu]=AEBtako ingelesa
++Name[fi]=Amerikanenglanti
++Name[fr]=Anglais (États-Unis)
++Name[gd]=Beurla (SA)
++Name[gl]=Inglés americano
++Name[he]=אנגלית ארה"ב
++Name[hu]=Angol (amerikai)
++Name[ia]=Anglese de S.U.A.
++Name[id]=Inggris US
++Name[it]=Inglese US
++Name[ko]=미국 영어
++Name[lt]=JAV anglų
++Name[nb]=Engelsk (USA)
++Name[nl]=VS Engels
++Name[nn]=Engelsk (USA)
++Name[pl]=Angielski amerykański
++Name[pt]=Inglês dos EUA
++Name[pt_BR]=Inglês dos EUA
++Name[ru]=Английский (США)
++Name[sk]=Americká angličtina
++Name[sl]=ameriško angleško
++Name[sr]=амерички енглески
++Name[sr@ijekavian]=амерички енглески
++Name[sr@ijekavianlatin]=američki engleski
++Name[sr@latin]=američki engleski
++Name[sv]=Amerikansk engelska
++Name[tr]=ABD İngilizcesi
++Name[uk]=Англійська (США)
++Name[x-test]=xxUS Englishxx
++Name[zh_CN]=美国英语
++Name[zh_TW]=美式英文
+diff --git a/autotests/kf5_entry_data.cmake/locale/es/.keep b/autotests/kf5_entry_data.cmake/locale/es/.keep
+new file mode 100644
+index 0000000..e69de29
+diff --git a/autotests/kf5_entry_data.cmake/locale/fr/kf5_entry.cmake b/autotests/kf5_entry_data.cmake/locale/fr/kf5_entry.cmake
+new file mode 100644
+index 0000000..4f248b9
+--- /dev/null
++++ b/autotests/kf5_entry_data.cmake/locale/fr/kf5_entry.cmake
+@@ -0,0 +1,2 @@
++[KCM Locale]
++Name=French
+diff --git a/autotests/kf5_entry_data.cmake/locale/pt/kf5_entry.cmake b/autotests/kf5_entry_data.cmake/locale/pt/kf5_entry.cmake
+new file mode 100644
+index 0000000..6e555d0
+--- /dev/null
++++ b/autotests/kf5_entry_data.cmake/locale/pt/kf5_entry.cmake
+@@ -0,0 +1,98 @@
++[KCM Locale]
++Name=Portuguese
++Name[af]=Portugese
++Name[ar]=البرتغاليّة
++Name[as]=প'ৰ্টুগিছ্‌
++Name[be]=Партугальская
++Name[be@latin]=Partuhalskaja
++Name[bg]=Португалски
++Name[bn]=পর্তুগীজ
++Name[bn_IN]=পোর্তুগিজ
++Name[br]=Portugaleg
++Name[bs]=portugalski
++Name[ca]=Portuguès
++Name[ca@valencia]=Portugués
++Name[cs]=Portugalský
++Name[csb]=Pòrtugalsczi
++Name[cy]=Portiwgaleg
++Name[da]=Portugisisk
++Name[de]=Portugiesisch
++Name[el]=Πορτογαλικά
++Name[en_GB]=Portuguese
++Name[eo]=Portugala
++Name[es]=Portugués
++Name[et]=Portugali
++Name[eu]=Portugesa
++Name[fa]=پرتغالی
++Name[fi]=Portugali
++Name[fr]=Portugais
++Name[fy]=Portugeesk
++Name[ga]=Portaingéilis
++Name[gd]=Portagailis
++Name[gl]=Portugués
++Name[gu]=પોર્ટુગીઝ
++Name[he]=פורטוגזית
++Name[hi]=पुर्तगाली
++Name[hne]=पुर्तगाली
++Name[hr]=Portugalski
++Name[hsb]=Portugalsce
++Name[hu]=Portugál
++Name[ia]=Portugese
++Name[id]=Portugis
++Name[is]=Portúgalska
++Name[it]=Portoghese
++Name[ja]=ポルトガル語
++Name[kk]=Португалша
++Name[km]=ព័រទុយហ្គាល់
++Name[kn]=ಪೋರ್ಚುಗೀಸ್
++Name[ko]=포르투갈어
++Name[ku]=Portûgalî
++Name[lb]=Portugisesch
++Name[lt]=Portugalų
++Name[lv]=Portugāļu
++Name[mai]=पुर्तगाली
++Name[mk]=Португалски
++Name[ml]=പോര്‍ച്ചുഗീസ്
++Name[mr]=पोर्तुगीज
++Name[ms]=Portugis
++Name[nb]=Portugisisk
++Name[nds]=Portugeesch
++Name[ne]=पोर्तुगाली
++Name[nl]=Portugees
++Name[nn]=Portugisisk
++Name[oc]=Portugués
++Name[or]=ପର୍ତ୍ତୁଗିଜ
++Name[pa]=ਪੁਰਤਗਾਲੀ
++Name[pl]=Portugalski
++Name[ps]=پورټګيز
++Name[pt]=Português
++Name[pt_BR]=Português
++Name[ro]=Portugheză
++Name[ru]=Португальский
++Name[se]=Portugálagiella
++Name[si]=පෘතුගීසි
++Name[sk]=Portugalčina
++Name[sl]=Portugalščina
++Name[sq]=Portugalisht
++Name[sr]=португалски
++Name[sr@ijekavian]=португалски
++Name[sr@ijekavianlatin]=portugalski
++Name[sr@latin]=portugalski
++Name[sv]=Portugisiska
++Name[ta]=போர்த்துக்கீசிய
++Name[te]=పొర్ట్యుగీస్
++Name[tg]=Португалӣ
++Name[th]=ภาษาโปรตุเกส
++Name[tr]=Portekizce
++Name[tt]=Португал
++Name[ug]=پورتۇگالچە
++Name[uk]=Португальська
++Name[uz]=Portugalcha
++Name[uz@cyrillic]=Португалча
++Name[vi]=Bồ Đào Nha
++Name[wa]=Portuguès
++Name[xh]=Portuguese
++Name[x-test]=xxPortuguesexx
++Name[zh_CN]=葡萄牙语
++Name[zh_HK]=葡萄牙語
++Name[zh_TW]=葡萄牙語
+diff --git a/autotests/klanguagenametest.cpp b/autotests/klanguagenametest.cpp
+new file mode 100644
+index 0000000..bb2b3d9
+--- /dev/null
++++ b/autotests/klanguagenametest.cpp
+@@ -0,0 +1,96 @@
++/*
++ Copyright (c) 2018 Harald Sitter <sitter@kde.org>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) version 3, or any
++ later version accepted by the membership of KDE e.V. (or its
++ successor approved by the membership of KDE e.V.), which shall
++ act as a proxy defined in Section 6 of version 3 of the license.
++
++ This library 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library. If not, see <http://www.gnu.org/licenses/>.
++*/
++
++#include <QObject>
++#include <QtTest>
++
++#include "klanguagename.h"
++
++static void setEnvironment()
++{
++ qputenv("LANG", "C.UTF-8");
++ qputenv("LANGUAGE", "en");
++ qputenv("XDG_DATA_DIRS", qUtf8Printable(QFINDTESTDATA("kf5_entry_data")));
++ // There is a distinct chance of the envionrment setup being to late and
++ // causing flakey results based on the execution env.
++ // Make sure we definitely default to english.
++ QLocale::setDefault(QLocale::English);
++
++ // NOTE
++ // - fr has no translations
++ // - es has no kf5_entry at all
++ // - other languages under testing are complete
++}
++
++class KLanguageNameTest : public QObject
++{
++ Q_OBJECT
++
++private Q_SLOTS:
++ void testNameForCode()
++ {
++ // This is somewhat wrong, it should not say US.
++ QCOMPARE(KLanguageName::nameForCode("en"), QString("US English"));
++
++ QCOMPARE(KLanguageName::nameForCode("de"), QString("German"));
++ QCOMPARE(KLanguageName::nameForCode("pt"), QString("Portuguese"));
++ QCOMPARE(KLanguageName::nameForCode("ca"), QString("Catalan"));
++ }
++
++ void testNameForCodeInLocale()
++ {
++ // This is somewhat wrong, it should not say US.
++ QCOMPARE(KLanguageName::nameForCodeInLocale("en", "de"), QString("US-Englisch"));
++
++ QCOMPARE(KLanguageName::nameForCodeInLocale("de", "de"), QString("Deutsch"));
++ QCOMPARE(KLanguageName::nameForCodeInLocale("pt", "de"), QString("Portugiesisch"));
++ QCOMPARE(KLanguageName::nameForCodeInLocale("ca", "de"), QString("Katalanisch"));
++ }
++
++ void testNoTranslation()
++ {
++ // This has an entry file but no translation => QLocale.
++ QCOMPARE(KLanguageName::nameForCode("fr"), QString("French"));
++ QCOMPARE(KLanguageName::nameForCodeInLocale("fr", "de"), QString("French"));
++ // When in the same language, use the native name.
++ QCOMPARE(KLanguageName::nameForCodeInLocale("fr", "fr"), QString("français"));
++ }
++
++ void testNoEntry()
++ {
++ // This has no entry file => QLocale.
++ QCOMPARE(KLanguageName::nameForCode("es"), QString("Spanish"));
++ QCOMPARE(KLanguageName::nameForCodeInLocale("es", "de"), QString("Spanish"));
++ // When in the same language, use the native name.
++ QCOMPARE(KLanguageName::nameForCodeInLocale("es", "es"), QString("español de España"));
++ }
++
++ void testNoString()
++ {
++ // Qt doesn't have za support, we have no test fixture, so no string.
++ QCOMPARE(KLanguageName::nameForCode("za"), QString());
++ }
++};
++
++Q_COREAPP_STARTUP_FUNCTION(setEnvironment)
++
++QTEST_GUILESS_MAIN(KLanguageNameTest)
++
++#include "klanguagenametest.moc"
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a35cf3c..09fe50b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -8,6 +8,7 @@ set(kconfigwidgets_SRCS
+ kcmodule.cpp
+ khelpclient.cpp
+ klanguagebutton.cpp
++ klanguagename.cpp
+ kpastetextaction.cpp
+ krecentfilesaction.cpp
+ kstandardaction.cpp
+@@ -52,6 +53,7 @@ ecm_generate_headers(KConfigWidgets_HEADERS
+ KCModule
+ KHelpClient
+ KLanguageButton
++ KLanguageName
+ KPasteTextAction
+ KRecentFilesAction
+ KViewStateMaintainer
+diff --git a/src/klanguagename.cpp b/src/klanguagename.cpp
+new file mode 100644
+index 0000000..6e1a519
+--- /dev/null
++++ b/src/klanguagename.cpp
+@@ -0,0 +1,67 @@
++/*
++ * Copyright (c) 1999-2003 Hans Petter Bieker <bieker@kde.org>
++ * (c) 2007 David Jarvie <software@astrojar.org.uk>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public License
++ * along with this library; see the file COPYING.LIB. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
++
++#include "klanguagename.h"
++#include "kconfigwidgets_debug.h"
++
++#include <kconfig.h>
++#include <kconfiggroup.h>
++
++QString KLanguageName::nameForCode(const QString &code)
++{
++ const QStringList parts = QLocale().name().split(QChar('_'));
++ return nameForCodeInLocale(code, parts.at(0));
++}
++
++QString KLanguageName::nameForCodeInLocale(const QString &code, const QString &outputCode)
++{
++ const QString realCode = code == QStringLiteral("en") ? QStringLiteral("en_US") : code;
++ const QString realOutputCode = outputCode == QStringLiteral("en") ? QStringLiteral("en_US") : outputCode;
++
++ const QString entryFile =
++ QStandardPaths::locate(QStandardPaths::GenericDataLocation,
++ QStringLiteral("locale") + QLatin1Char('/') + realCode + QStringLiteral("/kf5_entry.desktop"));
++ if (!entryFile.isEmpty()) {
++ KConfig entry(entryFile, KConfig::SimpleConfig);
++ entry.setLocale(realOutputCode);
++ const KConfigGroup group(&entry, "KCM Locale");
++ const QString name = group.readEntry("Name");
++
++ // KConfig doesn't have a way to say it didn't find the entry in
++ // realOutputCode and returned the english version so we check for the
++ // english version, if it's equal to the "non-english" version we'll use
++ // otherwise we defer to QLocale.
++ entry.setLocale("en_US");
++ const QString englishName = group.readEntry("Name");
++ if (name != englishName || realOutputCode == QStringLiteral("en_US")) {
++ return name;
++ }
++ }
++
++ const QLocale locale(realCode);
++ if (locale != QLocale::c()) {
++ if (realCode == realOutputCode) {
++ return locale.nativeLanguageName();
++ }
++ return QLocale::languageToString(locale.language());
++ }
++
++ return QString();
++}
+diff --git a/src/klanguagename.h b/src/klanguagename.h
+new file mode 100644
+index 0000000..51dc6dd
+--- /dev/null
++++ b/src/klanguagename.h
+@@ -0,0 +1,63 @@
++/*
++ * Copyright (c) 1999-2003 Hans Petter Bieker <bieker@kde.org>
++ * (c) 2001 Martijn Klingens <klingens@kde.org>
++ * (c) 2007 David Jarvie <software@astrojar.org.uk>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public License
++ * along with this library; see the file COPYING.LIB. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ */
++
++#ifndef KLANGUAGENAME_H
++#define KLANGUAGENAME_H
++
++#include "kconfigwidgets_export.h"
++
++class QString;
++
++/**
++ * @class KLanguageName klanguagename.h KLanguageName
++ *
++ * KLanguageName is a helper namespace that returns the name of a given language code.
++ *
++ * @since 5.55
++ *
++ */
++namespace KLanguageName
++{
++ /**
++ * Returns the name of the given language code in the current locale.
++ *
++ * If it can't be found in the current locale it returns the name in English.
++ *
++ * It it can't be found in English either it returns an empty QString.
++ *
++ * @param code code (ISO 639-1) of the language whose name is wanted.
++ */
++ KCONFIGWIDGETS_EXPORT QString nameForCode(const QString &code);
++
++ /**
++ * Returns the name of the given language code in the other given locale code.
++ *
++ * If it can't be found in the given locale it returns the name in English.
++ *
++ * It it can't be found in English either it returns an empty QString.
++ *
++ * @param code code (ISO 639-1) of the language whose name is wanted.
++ * @param outputLocale code (ISO 639-1) of the language in which we want the name in.
++ */
++ KCONFIGWIDGETS_EXPORT QString nameForCodeInLocale(const QString &code, const QString &outputLocale);
++}
++
++#endif
+--
+cgit v1.1
+
diff --git a/user/kde-education/APKBUILD b/user/kde-education/APKBUILD
index af3f78ab5..40793406e 100644
--- a/user/kde-education/APKBUILD
+++ b/user/kde-education/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kde-education
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Educational software from the KDE Software Collection"
url="https://www.kde.org/applications/education/"
diff --git a/user/kde-games/APKBUILD b/user/kde-games/APKBUILD
index 221120015..df6d7f2ac 100644
--- a/user/kde-games/APKBUILD
+++ b/user/kde-games/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kde-games
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="The KDE games collection"
url="https://www.kde.org/applications/games/"
diff --git a/user/kde-graphics/APKBUILD b/user/kde-graphics/APKBUILD
index 95112536d..c697be041 100644
--- a/user/kde-graphics/APKBUILD
+++ b/user/kde-graphics/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kde-graphics
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Graphics software from the KDE Software Collection"
url="https://www.kde.org/applications/graphics/"
diff --git a/user/kde-multimedia/APKBUILD b/user/kde-multimedia/APKBUILD
index bb36aeb40..8b12cd235 100644
--- a/user/kde-multimedia/APKBUILD
+++ b/user/kde-multimedia/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kde-multimedia
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Multimedia software from the KDE Software Collection"
url="https://www.kde.org/applications/multimedia/"
diff --git a/user/kde-system/APKBUILD b/user/kde-system/APKBUILD
index 2507670a3..974bb3456 100644
--- a/user/kde-system/APKBUILD
+++ b/user/kde-system/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kde-system
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="System utiltiies from the KDE Software Collection"
url="https://www.kde.org/applications/system/"
diff --git a/user/kde-utilities/APKBUILD b/user/kde-utilities/APKBUILD
index 24e00fd7d..20afd6ae9 100644
--- a/user/kde-utilities/APKBUILD
+++ b/user/kde-utilities/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kde-utilities
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Desktop utiltiies from the KDE Software Collection"
url="https://www.kde.org/applications/utilities/"
diff --git a/user/kdegraphics-thumbnailers/APKBUILD b/user/kdegraphics-thumbnailers/APKBUILD
index f3504d35f..f075a90f6 100644
--- a/user/kdegraphics-thumbnailers/APKBUILD
+++ b/user/kdegraphics-thumbnailers/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kdegraphics-thumbnailers
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE thumbnailing sofware"
url="https://www.KDE.org/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4e353f782d0f5acb3a6755f2868585b37c7527c5678b06f964ab78e902bcef97adfe882171690a029f3fca8c1b1805f0b89ee8fa71140b5ef8344d042bb6e109 kdegraphics-thumbnailers-18.12.3.tar.xz"
+sha512sums="14471feb579f63a29e5241c56cbe6f10fbd880669544db0356ed2c2ce7d9342ddf79c584ee8cd03debafa03f5c3afe79c7b7d977df36f8fea9a9276a3b818cc0 kdegraphics-thumbnailers-19.04.1.tar.xz"
diff --git a/user/kdenlive/APKBUILD b/user/kdenlive/APKBUILD
index ecdcfc4a3..48f03b4c1 100644
--- a/user/kdenlive/APKBUILD
+++ b/user/kdenlive/APKBUILD
@@ -1,11 +1,15 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kdenlive
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Libre video editor"
url="https://kdenlive.org/"
arch="all"
+options="!check" # keyframetest.cpp seems to be broken:
+ # it claims the KeyframeModel cannot be constructed,
+ # and then abort(3)s with an assertion in QAbstractItemModel
+ # I believe the fakeit/Mock code is subtly broken somewhere.
license="GPL-2.0-only"
depends=""
makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtscript-dev kio-dev
@@ -13,7 +17,8 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtscript-dev kio-dev
kbookmarks-dev kcoreaddons-dev kconfig-dev kconfigwidgets-dev mlt-dev
kdbusaddons-dev kwidgetsaddons-dev knotifyconfig-dev knewstuff-dev
knotifications-dev kguiaddons-dev ktextwidgets-dev kiconthemes-dev
- kdoctools-dev kfilemetadata-dev qt5-qtwebkit-dev v4l-utils-dev"
+ kdoctools-dev kfilemetadata-dev qt5-qtwebkit-dev v4l-utils-dev
+ kdeclarative-dev qt5-qtmultimedia-dev rttr-dev"
subpackages="$pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/applications/$pkgver/src/kdenlive-$pkgver.tar.xz"
@@ -43,4 +48,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="9a05a48d7b2b958cc34fc1fd673af519861a0275f28d5b6774280e1b5eff009fa90a920d888466b70d2b07aecb3129892b6762d75d93106051c51c7a440fbfdc kdenlive-18.12.3.tar.xz"
+sha512sums="f2f488928c3f3279021fbe2762f48e8cf52e8f30fe47d5ef50cfceac28fe7b8535d27be18679cde37f6dac281ec2cd1a2cf0d371b79088413b2195d9b32ed70d kdenlive-19.04.1.tar.xz"
diff --git a/user/kdf/APKBUILD b/user/kdf/APKBUILD
index c9555acb1..f9c4ae905 100644
--- a/user/kdf/APKBUILD
+++ b/user/kdf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kdf
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="View disk usage information"
url="https://utils.kde.org/projects/kdf/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6e604d18715dd5b743d63fe01528bfd347528f140638eed1900ae76a88911b2a2aea359e2603a17e82e7990a63c47789eb3b5839affb3a449547d9c89352444e kdf-18.12.3.tar.xz"
+sha512sums="e95d0cff0b09630fc4e892613115157231b0355ecc0762cd9b7e97c491144f17a71008b229144321acae5cc9af4f5bd3eebd20f01cfe4bd088096262eadc8326 kdf-19.04.1.tar.xz"
diff --git a/user/kdiamond/APKBUILD b/user/kdiamond/APKBUILD
index fc791cbeb..cba44dcc0 100644
--- a/user/kdiamond/APKBUILD
+++ b/user/kdiamond/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kdiamond
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Three-in-a-row game"
url="https://games.kde.org/game.php?game=kdiamond"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8e11aa4af8fc3c856ab9a45def63491d0c5f14c5d33c93c19be73281873b3b84c20839733e92a9f146c288d908104dae776e8983ce1ee6560042d4c4633d9e78 kdiamond-18.12.3.tar.xz"
+sha512sums="9fa48d2c67218469870301607166cce0f4dcbef6193703de705e6b324626d09d43ddf037c6676eb682b66fdd12254f9d87d1bb39b90975f4375723e249862955 kdiamond-19.04.1.tar.xz"
diff --git a/user/keepassxc/APKBUILD b/user/keepassxc/APKBUILD
index 14d9235fc..67159dc98 100644
--- a/user/keepassxc/APKBUILD
+++ b/user/keepassxc/APKBUILD
@@ -1,22 +1,22 @@
# Contributor: Max Rees <maxcrees@me.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=keepassxc
-pkgver=2.3.4
+pkgver=2.4.1
pkgrel=0
pkgdesc="A community revival of the KeePassX password manager"
url="https://keepassxc.org"
arch="all"
license="(GPL-2.0-only OR GPL-3.0-only) AND MIT AND BSD-4-Clause AND ISC AND (LGPL-2.1-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND CC0-1.0 AND Public-Domain AND LGPL-2.1+ AND LGPL-3.0+"
depends="hicolor-icon-theme"
-makedepends="cmake xz qt5-qtbase-dev qt5-qttools-dev libgcrypt-dev
- zlib-dev libxi-dev libxtst-dev qt5-qtx11extras-dev argon2-dev"
+makedepends="argon2-dev cmake libgcrypt-dev libqrencode-dev
+ libxi-dev libxtst-dev qt5-qtbase-dev qt5-qtsvg-dev qt5-qttools-dev
+ qt5-qtx11extras-dev xz zlib-dev"
subpackages="$pkgname-doc"
source="https://github.com/keepassxreboot/$pkgname/releases/download/$pkgver/$pkgname-$pkgver-src.tar.xz"
prepare() {
- cd "$builddir"
- mkdir build
default_prepare
+ mkdir build
}
build() {
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="edca22ef9d7c553d21d8ea6115a5635265176acc56fdf055f1961a3e65046de49ed5b67eb68ecf4f925226fb5bca140d5d473a5082301168f6a8bb7979f562a8 keepassxc-2.3.4-src.tar.xz"
+sha512sums="4369043700d3de4fece0a1dd0f8aab3f621df379bc9d0214b4c70ab72d081f978104aa09fd39c4b4bf8b8df8f78266835dc206c31e7174bdf872a977c0d79502 keepassxc-2.4.1-src.tar.xz"
diff --git a/user/kfilemetadata/APKBUILD b/user/kfilemetadata/APKBUILD
index 744378ad7..2dea1fd5f 100644
--- a/user/kfilemetadata/APKBUILD
+++ b/user/kfilemetadata/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kfilemetadata
pkgver=5.54.0
-pkgrel=0
+pkgrel=1
pkgdesc="File metadata extraction framework"
url="https://www.kde.org/"
arch="all"
@@ -11,9 +11,11 @@ depends="catdoc"
depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev cmake extra-cmake-modules python3 doxygen graphviz
qt5-qtmultimedia-dev qt5-qttools-dev exiv2-dev karchive-dev ki18n-dev
- poppler-qt5-dev taglib-dev"
+ poppler-qt5-dev taglib-dev kcoreaddons-dev ffmpeg-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kfilemetadata-$pkgver.tar.xz"
+source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kfilemetadata-$pkgver.tar.xz
+ add-formatting-fn.patch
+ "
build() {
cd "$builddir"
@@ -42,4 +44,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="bfa8287e5c8df363908a441419d377d33ea2cd93a4fc69fc47c69da80ad0e3a80e60f26b4856c3d3e04128e6ac59b214ee0613e37dda29f2537f502789bd4801 kfilemetadata-5.54.0.tar.xz"
+sha512sums="bfa8287e5c8df363908a441419d377d33ea2cd93a4fc69fc47c69da80ad0e3a80e60f26b4856c3d3e04128e6ac59b214ee0613e37dda29f2537f502789bd4801 kfilemetadata-5.54.0.tar.xz
+f6d8b9fe9353fdf380d073b8a7dfa4dd8c822a64c1a978dbe8ce13d0f8327d3af5d314be41f9cecc32afb19896711452289b78e09b6fffb010d8c89843ebc4e0 add-formatting-fn.patch"
diff --git a/user/kfilemetadata/add-formatting-fn.patch b/user/kfilemetadata/add-formatting-fn.patch
new file mode 100644
index 000000000..5c3a1db91
--- /dev/null
+++ b/user/kfilemetadata/add-formatting-fn.patch
@@ -0,0 +1,479 @@
+From 4bedfd6609c6efe5dc327d305feac8985d4658e3 Mon Sep 17 00:00:00 2001
+From: Alexander Stippich <a.stippich@gmx.net>
+Date: Sat, 9 Feb 2019 17:41:46 +0100
+Subject: Add string formatting function to property info
+
+Summary:
+Adds the ability to format the metadata value
+for displaying purposes individually for each
+property. Currently, users of KFileMetaData
+must implement their own custom formatting
+functions.
+All custom formatting functions from
+Baloo-Widgets and Dolphin are copied into
+KFileMetaData. This can be extended later.
+
+This adds a dependency on KCoreAddons to
+KFileMetaData.
+
+FEATURE: 398581
+
+Test Plan: tests pass
+
+Reviewers: broulik, bruns, mgallien, #frameworks
+
+Reviewed By: bruns
+
+Subscribers: ngraham, kde-frameworks-devel, #baloo
+
+Tags: #frameworks, #baloo
+
+Differential Revision: https://phabricator.kde.org/D17245
+---
+ CMakeLists.txt | 5 +++
+ autotests/propertyinfotest.cpp | 29 ++++++++++++++
+ autotests/propertyinfotest.h | 1 +
+ src/CMakeLists.txt | 2 +
+ src/formatstrings.cpp | 86 ++++++++++++++++++++++++++++++++++++++++++
+ src/formatstrings_p.h | 50 ++++++++++++++++++++++++
+ src/propertyinfo.cpp | 27 +++++++++++++
+ src/propertyinfo.h | 7 ++++
+ 8 files changed, 207 insertions(+)
+ create mode 100644 src/formatstrings.cpp
+ create mode 100644 src/formatstrings_p.h
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fa481a9..7ef0a40 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,6 +40,11 @@ set_package_properties(KF5Archive PROPERTIES DESCRIPTION "KDE Frameworks 5: Arch
+ URL "https://download.kde.org/stable/frameworks/" TYPE OPTIONAL
+ PURPOSE "Archive is needed to build ODF and OOXML 2007 extractors")
+
++find_package(KF5 ${KF5_DEP_VERSION} COMPONENTS CoreAddons)
++set_package_properties(KF5CoreAddons PROPERTIES DESCRIPTION "KDE Frameworks 5: Core Addons Framework"
++ URL "https://download.kde.org/stable/frameworks/" TYPE REQUIRED
++ PURPOSE "Needed for the formatting of properties for display purposes")
++
+ find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS I18n)
+
+ find_package(Poppler 0.12.1 COMPONENTS Qt5)
+diff --git a/autotests/propertyinfotest.cpp b/autotests/propertyinfotest.cpp
+index ae8b1b8..e203dcd 100644
+--- a/autotests/propertyinfotest.cpp
++++ b/autotests/propertyinfotest.cpp
+@@ -45,4 +45,33 @@ void PropertyInfoTest::testNameIdMapping()
+ }
+ }
+
++void PropertyInfoTest::testFormatAsDisplayString()
++{
++ auto emptyProperty = PropertyInfo::fromName(QStringLiteral("no valid property name"));
++ QCOMPARE(emptyProperty.formatAsDisplayString(QVariant("empty")), QStringLiteral("empty"));
++
++ PropertyInfo year(Property::DiscNumber);
++ QCOMPARE(year.formatAsDisplayString(QVariant(2018)), QStringLiteral("2018"));
++
++ QStringList artistList = {"Artist1", "Artist2"};
++ PropertyInfo artist(Property::Artist);
++ QCOMPARE(artist.formatAsDisplayString(QVariant(artistList)), QStringLiteral("Artist1, Artist2"));
++
++ QStringList authorList = {"Author1"};
++ PropertyInfo author(Property::Author);
++ QCOMPARE(artist.formatAsDisplayString(QVariant(authorList)), QStringLiteral("Author1"));
++
++ PropertyInfo duration(Property::Duration);
++ QCOMPARE(duration.formatAsDisplayString(QVariant(1800)), QStringLiteral("0:30:00"));
++
++ PropertyInfo sampleRate(Property::SampleRate);
++ QCOMPARE(sampleRate.formatAsDisplayString(QVariant(44100)), QString(QLocale().toString(44.1) + QStringLiteral(" kHz")));
++
++ PropertyInfo bitRate(Property::BitRate);
++ QCOMPARE(bitRate.formatAsDisplayString(QVariant(128000)), QStringLiteral("128 kB/s"));
++
++ PropertyInfo orientation(Property::ImageOrientation);
++ QCOMPARE(orientation.formatAsDisplayString(QVariant(5)), QStringLiteral("Transposed"));
++}
++
+ QTEST_GUILESS_MAIN(PropertyInfoTest)
+diff --git a/autotests/propertyinfotest.h b/autotests/propertyinfotest.h
+index 677ade1..15e6a10 100644
+--- a/autotests/propertyinfotest.h
++++ b/autotests/propertyinfotest.h
+@@ -30,6 +30,7 @@ class PropertyInfoTest : public QObject
+ Q_OBJECT
+ private Q_SLOTS:
+ void testNameIdMapping();
++ void testFormatAsDisplayString();
+ };
+
+ }
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 52fa8e5..c3cbe8c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -13,6 +13,7 @@ set(KF5FileMetaData_SRCS
+ writerplugin.cpp
+ writercollection.cpp
+ externalwriter.cpp
++ formatstrings.cpp
+ )
+ ecm_qt_declare_logging_category(KF5FileMetaData_SRCS HEADER kfilemetadata_debug.h IDENTIFIER KFILEMETADATA_LOG CATEGORY_NAME kf5.kfilemetadata)
+
+@@ -34,6 +35,7 @@ target_link_libraries(KF5FileMetaData
+ Qt5::Core
+ PRIVATE
+ KF5::I18n
++ KF5::CoreAddons
+ )
+
+ if(TAGLIB_FOUND)
+diff --git a/src/formatstrings.cpp b/src/formatstrings.cpp
+new file mode 100644
+index 0000000..b0bfdf8
+--- /dev/null
++++ b/src/formatstrings.cpp
+@@ -0,0 +1,86 @@
++/*
++ * Copyright (C) 2018 Alexander Stippich <a.stippich@gmx.net>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ */
++
++#include "formatstrings_p.h"
++
++#include <QDateTime>
++#include <KLocalizedString>
++
++using namespace KFileMetaData;
++
++QString FormatStrings::toStringFunction(const QVariant& value)
++{
++ return value.toString();
++}
++
++QString FormatStrings::joinStringListFunction(const QVariant& value)
++{
++ return value.toStringList().join(i18nc("Separation between multiple entries in a list", ", "));
++}
++
++QString FormatStrings::formatDate(const QVariant& value)
++{
++ KFormat form;
++ QDateTime dt;
++ if (value.type() == QVariant::DateTime) {
++ dt = value.toDateTime();
++ } else {
++ dt = QDateTime::fromString(value.toString(), Qt::ISODate);
++ }
++ if (dt.isValid()) {
++ return form.formatRelativeDateTime(dt, QLocale::LongFormat);
++ }
++ return QString();
++}
++
++QString FormatStrings::formatDuration(const QVariant& value)
++{
++ KFormat form;
++ return form.formatDuration(value.toInt() * 1000);
++}
++
++QString FormatStrings::formatBitRate(const QVariant& value)
++{
++ KFormat form;
++ return i18nc("@label bitrate (per second)", "%1/s", form.formatByteSize(value.toInt(), 0, KFormat::MetricBinaryDialect));
++}
++
++QString FormatStrings::formatSampleRate(const QVariant& value)
++{
++ return i18nc("@label samplerate in kilohertz", "%1 kHz", QLocale().toString(value.toDouble() / 1000));
++}
++
++QString FormatStrings::formatOrientationValue(const QVariant& value)
++{
++ QString string;
++ switch (value.toInt()) {
++ case 1: string = i18nc("Description of image orientation", "Unchanged"); break;
++ case 2: string = i18nc("Description of image orientation", "Horizontally flipped"); break;
++ case 3: string = i18nc("Description of image orientation", "180° rotated"); break;
++ case 4: string = i18nc("Description of image orientation", "Vertically flipped"); break;
++ case 5: string = i18nc("Description of image orientation", "Transposed"); break;
++ case 6: string = i18nc("Description of image orientation, counter clock-wise rotated", "90° rotated CCW "); break;
++ case 7: string = i18nc("Description of image orientation", "Transversed"); break;
++ case 8: string = i18nc("Description of image orientation, counter clock-wise rotated", "270° rotated CCW"); break;
++ default:
++ break;
++ }
++ return string;
++}
++
+diff --git a/src/formatstrings_p.h b/src/formatstrings_p.h
+new file mode 100644
+index 0000000..125c31e
+--- /dev/null
++++ b/src/formatstrings_p.h
+@@ -0,0 +1,50 @@
++/*
++ * Copyright (C) 2018 Alexander Stippich <a.stippich@gmx.net>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ */
++
++#ifndef KFILEMETADATA_FORMATSTRINGS_P_H
++#define KFILEMETADATA_FORMATSTRINGS_P_H
++
++#include <QString>
++#include <QVariant>
++#include <KFormat>
++
++namespace KFileMetaData {
++
++class Q_DECL_HIDDEN FormatStrings
++{
++public:
++ static QString toStringFunction(const QVariant& value);
++
++ static QString joinStringListFunction(const QVariant& value);
++
++ static QString formatDate(const QVariant& value);
++
++ static QString formatDuration(const QVariant& value);
++
++ static QString formatBitRate(const QVariant& value);
++
++ static QString formatSampleRate(const QVariant& value);
++
++ static QString formatOrientationValue(const QVariant& value);
++
++};
++
++}
++
++#endif
+diff --git a/src/propertyinfo.cpp b/src/propertyinfo.cpp
+index 5439a58..56fc596 100644
+--- a/src/propertyinfo.cpp
++++ b/src/propertyinfo.cpp
+@@ -24,6 +24,8 @@
+
+ #include <KLocalizedString>
+
++#include "formatstrings_p.h"
++
+ using namespace KFileMetaData;
+
+ class Q_DECL_HIDDEN PropertyInfo::Private
+@@ -34,6 +36,7 @@ public:
+ QString displayName;
+ QVariant::Type valueType;
+ bool shouldBeIndexed;
++ QString (*formatAsString)(const QVariant& value) = nullptr;
+ };
+
+ PropertyInfo::PropertyInfo(Property::Property property)
+@@ -41,6 +44,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ {
+ d->prop = property;
+ d->shouldBeIndexed = true;
++ d->formatAsString = &FormatStrings::toStringFunction;
+
+ switch (property) {
+ case Property::Album:
+@@ -53,12 +57,14 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("albumArtist");
+ d->displayName = i18nc("@label", "Album Artist");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ break;
+
+ case Property::Artist:
+ d->name = QStringLiteral("artist");
+ d->displayName = i18nc("@label", "Artist");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ break;
+
+ case Property::AspectRatio:
+@@ -71,12 +77,14 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("author");
+ d->displayName = i18nc("@label", "Author");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ break;
+
+ case Property::BitRate:
+ d->name = QStringLiteral("bitRate");
+ d->displayName = i18nc("@label", "Bitrate");
+ d->valueType = QVariant::Int;
++ d->formatAsString = &FormatStrings::formatBitRate;
+ break;
+
+ case Property::Channels:
+@@ -117,12 +125,14 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("creationDate");
+ d->displayName = i18nc("@label", "Creation Date");
+ d->valueType = QVariant::String;
++ d->formatAsString = &FormatStrings::formatDate;
+ break;
+
+ case Property::Duration:
+ d->name = QStringLiteral("duration");
+ d->displayName = i18nc("@label", "Duration");
+ d->valueType = QVariant::Int;
++ d->formatAsString = &FormatStrings::formatDuration;
+ break;
+
+ case Property::Empty:
+@@ -147,6 +157,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("genre");
+ d->displayName = i18nc("@label music genre", "Genre");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ d->shouldBeIndexed = false;
+ break;
+
+@@ -160,6 +171,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("imageDateTime");
+ d->displayName = i18nc("@label EXIF", "Image Date Time");
+ d->valueType = QVariant::DateTime;
++ d->formatAsString = &FormatStrings::formatDate;
+ break;
+
+ case Property::ImageMake:
+@@ -180,12 +192,14 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("imageOrientation");
+ d->displayName = i18nc("@label EXIF", "Image Orientation");
+ d->valueType = QVariant::Int;
++ d->formatAsString = &FormatStrings::formatOrientationValue;
+ break;
+
+ case Property::Keywords:
+ d->name = QStringLiteral("keywords");
+ d->displayName = i18nc("@label", "Keywords");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ d->shouldBeIndexed = false;
+ break;
+
+@@ -206,6 +220,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("lyricist");
+ d->displayName = i18nc("@label", "Lyricist");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ d->shouldBeIndexed = false;
+ break;
+
+@@ -225,6 +240,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("photoDateTimeOriginal");
+ d->displayName = i18nc("@label EXIF", "Photo Original Date Time");
+ d->valueType = QVariant::DateTime;
++ d->formatAsString = &FormatStrings::formatDate;
+ break;
+
+ case Property::PhotoExposureBiasValue:
+@@ -345,6 +361,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("sampleRate");
+ d->displayName = i18nc("@label", "Sample Rate");
+ d->valueType = QVariant::Int;
++ d->formatAsString = &FormatStrings::formatSampleRate;
+ break;
+
+ case Property::Subject:
+@@ -382,6 +399,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("performer");
+ d->displayName = i18nc("@label", "Performer");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ break;
+
+ case Property::Ensemble:
+@@ -394,12 +412,14 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->name = QStringLiteral("arranger");
+ d->displayName = i18nc("@label", "Arranger");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ break;
+
+ case Property::Conductor:
+ d->name = QStringLiteral("conductor");
+ d->displayName = i18nc("@label", "Conductor");
+ d->valueType = QVariant::StringList;
++ d->formatAsString = &FormatStrings::joinStringListFunction;
+ break;
+
+ case Property::Compilation:
+@@ -503,6 +523,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->displayName = i18nc("@label translations last update", "Last Update");
+ d->valueType = QVariant::String;
+ d->shouldBeIndexed = false;
++ d->formatAsString = &FormatStrings::formatDate;
+ break;
+
+ case Property::TranslationTemplateDate:
+@@ -510,6 +531,7 @@ PropertyInfo::PropertyInfo(Property::Property property)
+ d->displayName = i18nc("@label date of template creation8", "Template Creation");
+ d->valueType = QVariant::String;
+ d->shouldBeIndexed = false;
++ d->formatAsString = &FormatStrings::formatDate;
+ break;
+
+ case Property::OriginUrl:
+@@ -600,6 +622,11 @@ bool PropertyInfo::shouldBeIndexed() const
+ return d->shouldBeIndexed;
+ }
+
++QString PropertyInfo::formatAsDisplayString(const QVariant &value) const
++{
++ return (d->formatAsString)(value);
++}
++
+ PropertyInfo PropertyInfo::fromName(const QString& name)
+ {
+ static QHash<QString, Property::Property> propertyHash = {
+diff --git a/src/propertyinfo.h b/src/propertyinfo.h
+index c1767c4..3c426e8 100644
+--- a/src/propertyinfo.h
++++ b/src/propertyinfo.h
+@@ -85,6 +85,13 @@ public:
+ */
+ static PropertyInfo fromName(const QString& name);
+
++ /**
++ * Returns the value of the property as a QString with added formatting,
++ * added units if needed, and translated enums.
++ * @since 5.56
++ */
++ QString formatAsDisplayString(const QVariant& value) const;
++
+ private:
+ class Private;
+ Private* d;
+--
+cgit v1.1
+
diff --git a/user/kfind/APKBUILD b/user/kfind/APKBUILD
index 3666f7291..c1e0e971d 100644
--- a/user/kfind/APKBUILD
+++ b/user/kfind/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kfind
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Standalone search utility for KDE"
url="https://www.kde.org/applications/utilities/kfind/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ecd2b1819800461becaf241b624d7c387fc81dd4069ebb82a044b188e8753a3b1054adfb254ade1fd327186c8ff8bf76d35b0c83caaf51ff7d36a55c98a23f2f kfind-18.12.3.tar.xz"
+sha512sums="2705fa4e64e547b5482399b5433ebc619036c3cd77dc86a78365580e89cc2a77334d81674d9790d92df3446724d680cedd03bf1e303525c4a3c51b46dc897496 kfind-19.04.1.tar.xz"
diff --git a/user/kfloppy/APKBUILD b/user/kfloppy/APKBUILD
index 734332657..3ab0ce591 100644
--- a/user/kfloppy/APKBUILD
+++ b/user/kfloppy/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kfloppy
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Utility for formatting floppy diskettes"
url="https://utils.kde.org/projects/kfloppy/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8abe9a4fcdd9e01ea60a8145126fa30ce3d4624904c57575596ea0620499b47edcab6fa5facafc6250312383fca7e9b254e65d5fa12587c9926c71eb54070e3b kfloppy-18.12.3.tar.xz"
+sha512sums="74dc83786c4e6190fa80b4d4f87568ed5bbcbcb5731bf13fe2cc91605fabcfaf24cf1061006b7d6efaa2a621332e69071426ad0486c6cc8bfa9543c0c84c2da5 kfloppy-19.04.1.tar.xz"
diff --git a/user/kfourinline/APKBUILD b/user/kfourinline/APKBUILD
index ceb7e7890..5edac7fff 100644
--- a/user/kfourinline/APKBUILD
+++ b/user/kfourinline/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kfourinline
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Two player board game based on Connect Four"
url="https://games.kde.org/game.php?game=kfourinline"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="69c75f82432862af0600d26072b58436de1073f97bae385d24f4c806e46f06e9a18a0549084050a4698fbcd7358e4789555f7b52e89875f2fa29db42b3e570ff kfourinline-18.12.3.tar.xz"
+sha512sums="83d8893cea2a8eeb9202e04b14dfb0c83c75738346c86c3d01381740b8c59ee4063ebc08b9250cb2c4c486ca9d2bb9a71c29f671dffbb91ac5db21b2fa429329 kfourinline-19.04.1.tar.xz"
diff --git a/user/kgeography/APKBUILD b/user/kgeography/APKBUILD
index 9ab97cae9..b06b2bb3c 100644
--- a/user/kgeography/APKBUILD
+++ b/user/kgeography/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kgeography
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Geography learning tool and trainer"
url="https://www.kde.org/applications/education/kgeography/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="34d727d2b28984c0a39be5b9e5320c91279f5020d830703a91073265103f9273375b75b4bdc6c1c5b068f0712b049c35ef0a24f945840f8bc770f27fc5419d44 kgeography-18.12.3.tar.xz"
+sha512sums="c20a195bfbc4b1942ae8ee1c4491601000b319dd3380d44f4dac09fb2e4e5e90f465b2cd2fc78fcaaea94f3997be5bfb7d7a8f1490b746a405d9e1db7cc290fe kgeography-19.04.1.tar.xz"
diff --git a/user/kget/APKBUILD b/user/kget/APKBUILD
index 9ba3eff2a..ac7b2690f 100644
--- a/user/kget/APKBUILD
+++ b/user/kget/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kget
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Versatile download manager"
url="https://www.kde.org/applications/internet/kget/"
@@ -43,4 +43,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5e3680d3ac5e8e23ac8132133c66a4826035e89ddc74fb2b7cd6a0670f5682e750f839ac91e86fe4a78cd5c45a95b38793532e247b717b5c1a63200ed5405335 kget-18.12.3.tar.xz"
+sha512sums="3d68276adc130ee2d67d23ebb99669824f2ed6f2bf415f056a057dadcd1a010c2d74b096fb25894ffdef07bca6051b5c17988c57e0f337d3460d952d96d86071 kget-19.04.1.tar.xz"
diff --git a/user/kgoldrunner/APKBUILD b/user/kgoldrunner/APKBUILD
index 8eb4d412b..89746638f 100644
--- a/user/kgoldrunner/APKBUILD
+++ b/user/kgoldrunner/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kgoldrunner
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Puzzle game with a gold hunt, dodging enemies, and digging around"
url="https://games.kde.org/game.php?game=kgoldrunner"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="eb3b0a384557da0a7aa8ee264c00c55f62353d0377e1ef1137ca6bee7d0959dbe51f5fcc5d4946a9e8626020076f06794f1de30d4ac0aaaa0e57d3e3e8a1dc80 kgoldrunner-18.12.3.tar.xz"
+sha512sums="fdfdec27c9325811ae459f6de9125a7830c9a4bea7aacda655908cb01dbdd444df84f8ef2f8f2e394b55b356950c3a8a343c51f0340fc112683d39ce6e1fe515 kgoldrunner-19.04.1.tar.xz"
diff --git a/user/kgpg/APKBUILD b/user/kgpg/APKBUILD
index 2f8a53c0b..92b4e6e37 100644
--- a/user/kgpg/APKBUILD
+++ b/user/kgpg/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kgpg
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple interface for GnuPG, a powerful encryption utility"
url="https://utils.kde.org/projects/kgpg/"
@@ -43,4 +43,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f510dd4e4b717a00c8128767cea99b2725e10d8493cbb8a2a70ee0acbf53424edfb5d95052dff833988b3217b525d721c681a236ba7b7c87259f453a7956e881 kgpg-18.12.3.tar.xz"
+sha512sums="ff0d3dcb32d6b81fedfa2ecaef6c9df738ba8b584552649f2b5fe1fe88ad3ab04be173b7dbaa388c5997a53e6665c9622f9c91aec298f71b207538a9f43cb3ff kgpg-19.04.1.tar.xz"
diff --git a/user/khangman/APKBUILD b/user/khangman/APKBUILD
index 73c9481d1..4c2563e5e 100644
--- a/user/khangman/APKBUILD
+++ b/user/khangman/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=khangman
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Hangman word game"
url="https://www.kde.org/applications/education/khangman/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fc9008ff7e79e02b185c4180403a1741a62dabbb10b87b01f5b55d4ba04c7681e27a291dc6c8b83cd87066be624539f8e3097cfca755f74727ca5cd64ffb4bd5 khangman-18.12.3.tar.xz"
+sha512sums="fd61cc6cd6249c1fb007ffd72d9305d5d4d5f5b4c4fa27b25550f67ee804289724e5edcb8fd6f40db347e1ac0f34c0f90ae9572c3e7d826dfa48228cd57de60e khangman-19.04.1.tar.xz"
diff --git a/user/khelpcenter/APKBUILD b/user/khelpcenter/APKBUILD
index efeca02f0..6815ae3fa 100644
--- a/user/khelpcenter/APKBUILD
+++ b/user/khelpcenter/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=khelpcenter
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Graphical documentation viewer"
url="https://www.kde.org/applications/system/khelpcenter/"
@@ -14,7 +14,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev karchive-dev kconfig-dev
xapian-core-dev libxml2-dev"
subpackages="$pkgname-doc $pkgname-lang"
install_if="plasma-desktop docs"
-source="https://download.kde.org/stable/applications/$pkgver/src/khelpcenter-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/khelpcenter-$pkgver.tar.xz
+ es-doc-fix.patch
+ "
build() {
cd "$builddir"
@@ -42,4 +44,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="728b335076dbaf63bf8ce8fbc55f5d4efe01663998b30ae40d252903c1090c29d5cfd58e9036242ec9b0206c34d7b397a0739e7ef9962d6dfb0ecaff9ea45df3 khelpcenter-18.12.3.tar.xz"
+sha512sums="c42206554beff891c51c8dbe73baf722e1e571e1166916dad36c37573c09a5696c06b711748dd863782c43d507c2f6103d1aea122e5ef33fd59972c0d4e8503b khelpcenter-19.04.1.tar.xz
+4d7e286b7130547d7f26e11a0e5a40d20530e08cf657ff24d31cbc7b110628f564e513e5922a5cffc82d0830731ab03b07820884542292b3c03c7519617a20a3 es-doc-fix.patch"
diff --git a/user/khelpcenter/es-doc-fix.patch b/user/khelpcenter/es-doc-fix.patch
new file mode 100644
index 000000000..c9f7ed11f
--- /dev/null
+++ b/user/khelpcenter/es-doc-fix.patch
@@ -0,0 +1,31 @@
+--- khelpcenter-19.04.1/po/es/docs/khelpcenter/index.docbook.old 2019-05-07 00:10:08.000000000 +0000
++++ khelpcenter-19.04.1/po/es/docs/khelpcenter/index.docbook 2019-05-13 06:10:14.989405563 +0000
+@@ -136,7 +136,7 @@
+ >Instalación</title>
+
+ <para
+->&khelpcenter; forma parte de las &applications;. Se puede encontrar en el <ulink url="https://download.kde.org/"
++>&khelpcenter; forma parte de las applications. Se puede encontrar en el <ulink url="https://download.kde.org/"
+ >sitio de descarga</ulink
+ > del proyecto &kde; o en el paquete &khelpcenter; de su sistema operativo. </para>
+
+@@ -347,7 +347,7 @@
+ ></term>
+ <listitem>
+ <para
+->Los «Aspectos básicos» le presentan una introducción de las numerosas características de &plasma-workspaces; y de las &applications; y describe muchas tareas comunes que puede realizar en todas las &applications;. </para>
++>Los «Aspectos básicos» le presentan una introducción de las numerosas características de Plasma Workspaces y de las applications y describe muchas tareas comunes que puede realizar en todas las applications. </para>
+ </listitem>
+ </varlistentry>
+
+--- khelpcenter-19.04.1/po/es/docs/onlinehelp/index.docbook.old 2019-05-07 00:10:08.000000000 +0000
++++ khelpcenter-19.04.1/po/es/docs/onlinehelp/index.docbook 2019-05-13 06:13:20.309243557 +0000
+@@ -114,7 +114,7 @@
+ >&nbsp;</term>
+ <listitem>
+ <para
+->Esta página contiene la documentación completa para los usuarios de KDE en unos 25 idiomas, tanto para la versión liberada como para la versión de desarrollo de &kde-frameworks;, &plasma-workspaces; y &applications;.</para>
++>Esta página contiene la documentación completa para los usuarios de KDE en unos 25 idiomas, tanto para la versión liberada como para la versión de desarrollo de &kde-frameworks;, &plasma-workspaces; y applications.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
diff --git a/user/kig/APKBUILD b/user/kig/APKBUILD
index eb5400644..47c614a49 100644
--- a/user/kig/APKBUILD
+++ b/user/kig/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kig
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Interactive geometry learning and exploration tool"
url=" https://www.kde.org/applications/education/kig/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fa540b7f57b4878dfe44e0d8a6ee5f84ec524ab79867e545c912a715e0e0c2d9b35d12575d751944b5049f12c28ed838460cabef37d73c3f56591f1028bb2479 kig-18.12.3.tar.xz"
+sha512sums="13961e15098f4ef285fc00e53b9e48475bb24c5c04ce44447aaba2fffde177d8ef113f76bf23d1bb0e0ecc7fc433891c864492c2449eddc8da4375f3d10719ed kig-19.04.1.tar.xz"
diff --git a/user/kigo/APKBUILD b/user/kigo/APKBUILD
index 288499c0c..f15271b3c 100644
--- a/user/kigo/APKBUILD
+++ b/user/kigo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kigo
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Go or Igo game for KDE"
url="https://www.kde.org/applications/games/kigo/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d949b549589185fa0bd24b5d4bc245283e8fd6e823c51b0becb76d15d74c67dc35e8a46e99cfcce4dd69bc2baca20234488e64e4f7bc1e02aa95092e9907b3fa kigo-18.12.3.tar.xz"
+sha512sums="a3f6eb361798f5d74ed939e4ca8426d89718bce93290b46d5c7d4d754829f1ff36a9771f610d9c4166613c35847599f8da1c32b30e0988ca4619659e75716d82 kigo-19.04.1.tar.xz"
diff --git a/user/killbots/APKBUILD b/user/killbots/APKBUILD
index 286dcb45f..8f94ec20c 100644
--- a/user/killbots/APKBUILD
+++ b/user/killbots/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=killbots
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple game of evading killer robots"
url="https://www.kde.org/applications/games/killbots/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6f9fe391776da188489f42cbc2d0563a36f1a1ec88791cbbf7f4364cc0e5eb3b0eb028ea69a7a7444829e467026c459801c4c02dccbcdb624c2a45e1d56b6e3c killbots-18.12.3.tar.xz"
+sha512sums="307c0da4026f6c689959e5e603794401d389a21882656b438197c58c44849a2ba91617e23edc4a8ad76fca0905b0df9bc54649aae22abff50b14b5936184bb21 killbots-19.04.1.tar.xz"
diff --git a/user/kio-extras/APKBUILD b/user/kio-extras/APKBUILD
index 0cd186244..766c3d8ed 100644
--- a/user/kio-extras/APKBUILD
+++ b/user/kio-extras/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kio-extras
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KIO plugins for various data tasks"
url="https://www.kde.org/"
@@ -13,7 +13,7 @@ depends_dev="qt5-qtbase-dev qt5-qtsvg-dev karchive-dev kconfig-dev kio-dev
kconfigwidgets-dev kcoreaddons-dev kdbusaddons-dev kdoctools-dev
kiconthemes-dev ki18n-dev solid-dev kbookmarks-dev kguiaddons-dev
kdnssd-dev kpty-dev kactivities-dev phonon-dev libtirpc-dev
- taglib-dev libmtp-dev gperf khtml-dev"
+ taglib-dev libmtp-dev gperf khtml-dev syntax-highlighting-dev"
makedepends="$depends_dev cmake extra-cmake-modules shared-mime-info"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/applications/$pkgver/src/kio-extras-$pkgver.tar.xz"
@@ -44,4 +44,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a13c349a27b7ffd665b9a3812d70228ab40ac48c50ded7774ed954ce30a6454d1a9c5a27769ddae8f333db0c87943eab18380da413274b69802d9569f6e48d66 kio-extras-18.12.3.tar.xz"
+sha512sums="a95247aa3174e6f9d153282c19519e13e9209793010d9b48109206a8d7a4db80086518ccbf0b442fc37715c1b4d10888e4a812082b5de998b4390d62aab472c3 kio-extras-19.04.1.tar.xz"
diff --git a/user/kiriki/APKBUILD b/user/kiriki/APKBUILD
index af95bc989..fbd93527e 100644
--- a/user/kiriki/APKBUILD
+++ b/user/kiriki/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kiriki
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Yahtzee-like dice game for one or more players"
url="https://games.kde.org/game.php?game=kiriki"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8b2257ce1c80d34dedf19747ac49f6c040b6512e0271488a173990fd3ff9858e7c29f86a0dc468a2bc244b3cff1e881da1465ba29682a4288d097f74ab1f6f29 kiriki-18.12.3.tar.xz"
+sha512sums="f561539cdc87a28cba80b99ec40734556dadb872fa5862311a41ad6749691bfa5806842dddd71af47ba9f5050c32359a173408c0225d55d6e0f10b96f26d8741 kiriki-19.04.1.tar.xz"
diff --git a/user/kiten/APKBUILD b/user/kiten/APKBUILD
index 3e8ecabab..7a6973567 100644
--- a/user/kiten/APKBUILD
+++ b/user/kiten/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kiten
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Japanese reference and study tool"
url="https://www.kde.org/applications/education/kiten/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="75effa8a23924cb5369fb63b09e974e2d0600b28d92757170d5ca452f5be3eedf874aa7ef7f3a60a953176ddf29beae0945ca31e0550be85b77c50eee748b4cc kiten-18.12.3.tar.xz"
+sha512sums="3ce4f1d40ac7eaaa93364d8a809e7aa117c0d8be2507005e50f0fefdcbc5f57c10769a619508b1f3fbcee9710623fe7576307dff67c8d53ad67d0855e74e6e5e kiten-19.04.1.tar.xz"
diff --git a/user/kjumpingcube/APKBUILD b/user/kjumpingcube/APKBUILD
index e1dcf4d3a..70c54ee87 100644
--- a/user/kjumpingcube/APKBUILD
+++ b/user/kjumpingcube/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kjumpingcube
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Dice-driven tactical game"
url="https://games.kde.org/game.php?game=kjumpingcube"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8606ca6020dcd8f6d49ed6120899c0e705505575d26fd9e9c89b4d5e8306a597e51ef2761c1176859e0c22545b1abe2cf470e1aab4d19170ec2c7657c8019cb2 kjumpingcube-18.12.3.tar.xz"
+sha512sums="22168b89cfc2a099365df0ab791e5c39a4cfff09ef3a1a074a480d3e60f25139a76d99d3a684380f637fbe59401a8ff476204a72d221c283cd593d47719dc0f0 kjumpingcube-19.04.1.tar.xz"
diff --git a/user/kleopatra/APKBUILD b/user/kleopatra/APKBUILD
index 4dcabff8f..60ff7de3e 100644
--- a/user/kleopatra/APKBUILD
+++ b/user/kleopatra/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kleopatra
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Certificate manager and cryptography GUI"
url="https://www.kde.org/applications/utilities/kleopatra/"
@@ -12,7 +12,9 @@ depends=""
makedepends="cmake extra-cmake-modules qt5-qtbase-dev libkleo-dev kcmutils-dev
libassuan-dev kitemmodels-dev kmime-dev knotifications-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/kleopatra-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/kleopatra-$pkgver.tar.xz
+ qt5.9.patch
+ "
build() {
cd "$builddir"
@@ -40,4 +42,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="707fcf4ed9bc2c4d7d45f5911ce1760b49b567865d5f5d315a0af12cb0856e39230c348efbcc449a1e4403f7fb3a0f0ebb654573e0d2bb511d8ff8909f932e6e kleopatra-18.12.3.tar.xz"
+sha512sums="8f8c289ede3e13397f4e5ee06d96d1e5a99737c5e30089297fb8294ee73c0934937bc78d24c89681f21ea6e7cf166cb8a8d314e0631d2f2d2188ce247abd28ea kleopatra-19.04.1.tar.xz
+52cdace52d00932c8372f3abf03d24ba1d4d5650327aaf41871714d13cd92c9297a98e35901c80ca3495f3014450a7513948ccb83be032c1c8e81042e67431f2 qt5.9.patch"
diff --git a/user/kleopatra/qt5.9.patch b/user/kleopatra/qt5.9.patch
new file mode 100644
index 000000000..22d54f3b3
--- /dev/null
+++ b/user/kleopatra/qt5.9.patch
@@ -0,0 +1,76 @@
+From e3a467d6221d15015ccd5166d6dc53335482c5c8 Mon Sep 17 00:00:00 2001
+Date: Mon, 17 Dec 2018 08:12:46 +0100
+Subject: Revert "Remove QT_CHECK"
+
+---
+ src/commands/certifycertificatecommand.cpp | 4 ++++
+ src/commands/importcertificatescommand.cpp | 4 ++++
+ src/dialogs/certificateselectiondialog.cpp | 4 ++++
+ 3 files changed, 12 additions(+)
+
+diff --git a/src/commands/certifycertificatecommand.cpp b/src/commands/certifycertificatecommand.cpp
+index 524b5a6..5577f2f 100644
+--- a/src/commands/certifycertificatecommand.cpp
++++ b/src/commands/certifycertificatecommand.cpp
+@@ -215,7 +215,11 @@ void CertifyCertificateCommand::doStart()
+ cmd->setParentWidget(d->parentWidgetOrView());
+ cmd->setProtocol(GpgME::OpenPGP);
+ loop.connect(cmd, SIGNAL(finished()), SLOT(quit()));
++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
+ QMetaObject::invokeMethod(cmd, &Commands::NewCertificateCommand::start, Qt::QueuedConnection);
++#else
++ QMetaObject::invokeMethod(cmd, "start", Qt::QueuedConnection);
++#endif
+ loop.exec();
+ } else {
+ Q_EMIT(canceled());
+diff --git a/src/commands/importcertificatescommand.cpp b/src/commands/importcertificatescommand.cpp
+index 49294b6..89542cc 100644
+--- a/src/commands/importcertificatescommand.cpp
++++ b/src/commands/importcertificatescommand.cpp
+@@ -392,7 +392,11 @@ bool ImportCertificatesCommand::Private::showPleaseCertify(const GpgME::Import &
+ auto cmd = new Commands::CertifyCertificateCommand(key);
+ cmd->setParentWidget(parentWidgetOrView());
+ loop.connect(cmd, SIGNAL(finished()), SLOT(quit()));
++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
+ QMetaObject::invokeMethod(cmd, &Commands::CertifyCertificateCommand::start, Qt::QueuedConnection);
++#else
++ QMetaObject::invokeMethod(cmd, "start", Qt::QueuedConnection);
++#endif
+ loop.exec();
+ }
+ return true;
+diff --git a/src/dialogs/certificateselectiondialog.cpp b/src/dialogs/certificateselectiondialog.cpp
+index 003872e..020310d 100644
+--- a/src/dialogs/certificateselectiondialog.cpp
++++ b/src/dialogs/certificateselectiondialog.cpp
+@@ -384,7 +384,11 @@ void CertificateSelectionDialog::Private::slotDoubleClicked(const QModelIndex &i
+ QItemSelectionModel *const sm = view->selectionModel();
+ Q_ASSERT(sm);
+ sm->select(idx, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
+ QMetaObject::invokeMethod(q, [this]() {q->accept();}, Qt::QueuedConnection);
++#else
++ QMetaObject::invokeMethod(q, "accept", Qt::QueuedConnection);
++#endif
+ }
+
+ void CertificateSelectionDialog::accept()
+--
+cgit v1.1
+
+--- kleopatra-19.04.0/CMakeLists.txt.old 2019-04-12 00:14:10.000000000 +0000
++++ kleopatra-19.04.0/CMakeLists.txt 2019-04-19 06:34:58.511578506 +0000
+@@ -11,10 +11,10 @@
+ option(DISABLE_KWATCHGNUPG "Don't build the kwatchgnupg tool [default=OFF]" OFF)
+
+ # Standalone build. Find / include everything necessary.
+-set(KF5_MIN_VERSION "5.56.0")
++set(KF5_MIN_VERSION "5.54.0")
+ set(KMIME_VERSION "5.11.1")
+ set(LIBKLEO_VERSION "5.11.1")
+-set(QT_REQUIRED_VERSION "5.10.0")
++set(QT_REQUIRED_VERSION "5.9.0")
+ set(GPGME_REQUIRED_VERSION "1.8.0")
+
+ find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
diff --git a/user/klettres/APKBUILD b/user/klettres/APKBUILD
index a41eac3a3..a8baf4512 100644
--- a/user/klettres/APKBUILD
+++ b/user/klettres/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=klettres
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Learn alphabets for multiple languages"
url="https://www.kde.org/applications/education/klettres/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="878308007ebd889a9924094bdf3e5d24ce6a04405f9311e8b197faa44e93a57730911ee084ee26ba1a5ac2c515b4227e614057410e9d9c0927fca63a805db09a klettres-18.12.3.tar.xz"
+sha512sums="0a5f22b11586e171fddca45f6bcea5091882c9fdb0ba60dced530a0227682bbc149b852a04d7e6152b5cf27e00444fed73fb5ebf9f6b20f4e2c651924fcf0852 klettres-19.04.1.tar.xz"
diff --git a/user/klickety/APKBUILD b/user/klickety/APKBUILD
index 526f95d75..1c3ad8c2b 100644
--- a/user/klickety/APKBUILD
+++ b/user/klickety/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=klickety
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Fun, simple colour matching game"
url="https://www.kde.org/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7238c2b7ea0e605bbe9675593f95cdf6ac2b427d9d7aa3999fa05ad3f4604968dbfacad016b0770cf82e1dabb1e572cc3e6d16a4b34bb8f1e400371a6fe0a0e5 klickety-18.12.3.tar.xz"
+sha512sums="90ed290bfd575260d0bcabe0767458bd93bb5d998244d5c388de4d0402e37e54d68d93b98e7bf987a883113b6e147cc8b42789d4b77a4e1929ddd82f9217ddcc klickety-19.04.1.tar.xz"
diff --git a/user/klines/APKBUILD b/user/klines/APKBUILD
index 4b9af8538..7934486a9 100644
--- a/user/klines/APKBUILD
+++ b/user/klines/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=klines
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple yet addictive single-player game"
url="https://games.kde.org/game.php?game=klines"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3dacd2ede7f5303ec49b2c226b1e3521176cd37af539a1796939f43faf8e3dbc00f2d5278bf46c0e4e1cd8d4d1fb23b15f90a164cc4c55547bba8255b8506990 klines-18.12.3.tar.xz"
+sha512sums="05be2e5349969e833204c8603b92ce97f963c20b241587fda2b897a887408fec0b67cefc7b3a18b4a49adcd6b960ae38b6ae2c6a74c2139da6bfecc8d8008a62 klines-19.04.1.tar.xz"
diff --git a/user/kmag/APKBUILD b/user/kmag/APKBUILD
index 5f103bd45..60b38f7c9 100644
--- a/user/kmag/APKBUILD
+++ b/user/kmag/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmag
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Screen magnification utility"
url="https://www.kde.org/applications/utilities/kmag/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7339513c36e20e8d7182c916428564bdd43f140430df0f053d0b6891c217608b6cf1f9adc15e0e11f689b2f26d4238b9f66d2b1c64cc2d0b0620f3a34509205e kmag-18.12.3.tar.xz"
+sha512sums="85963a1546764c76b10851c3f329475bc6246e04698193109cb99667ca51534c2990cd609432b5b333af87ee0f6812c25c930b526bf6f4b3788fa88f8c48d21e kmag-19.04.1.tar.xz"
diff --git a/user/kmahjongg/APKBUILD b/user/kmahjongg/APKBUILD
index 0a5f8cf41..82ee75dbd 100644
--- a/user/kmahjongg/APKBUILD
+++ b/user/kmahjongg/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmahjongg
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Mah Jongg desktop game"
url="https://games.kde.org/game.php?game=kmahjongg"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ee096ee9a890ecef53dde06d9a618fd70e0cafd59b0b6199d8bb0f0716733187c5f8a2bf9cbe43d2157ed502a3efdb06698a6fe3e6485199af8d71c9b8eb8252 kmahjongg-18.12.3.tar.xz"
+sha512sums="21efa9ab4ea1dd5480eade7bc9712e7c91abe065fc5ba5912f98e642a9e82f6581ce3ce95b0d6cf1dbc6d488adff2113f6188a65288ec5c13043b4616e1349a6 kmahjongg-19.04.1.tar.xz"
diff --git a/user/kmime/APKBUILD b/user/kmime/APKBUILD
index d28c6b378..529ed5a7e 100644
--- a/user/kmime/APKBUILD
+++ b/user/kmime/APKBUILD
@@ -1,19 +1,20 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmime
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE support library for MIME"
url="https://www.kde.org/"
arch="all"
-options="!check" # wtf
license="LGPL-2.1+"
depends=""
depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev cmake extra-cmake-modules python3 kcodecs-dev
ki18n-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/kmime-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/kmime-$pkgver.tar.xz
+ egregious-versions.patch
+ "
build() {
cd "$builddir"
@@ -34,7 +35,7 @@ build() {
check() {
cd "$builddir"
# https://bugs.kde.org/show_bug.cgi?id=385479
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E dateformattertest
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E '(headertest|messagetest|dateformattertest)'
}
package() {
@@ -42,4 +43,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ed02fa15ef1d437f6c13a8bed4092c62fbbd55595156bd9766a8b980665c18a2a7ab2c841cc7657710480f2e98d275e8d377ccbba32081ef14e2a2aa5db5fb2d kmime-18.12.3.tar.xz"
+sha512sums="c70e8f176a879269e16095246a3dea52a2d437a6ab1a68e1785b96bd4c175095b41de8557900000839090a4881d8e51bf431c8aae35fb5008f7c76cec37254a3 kmime-19.04.1.tar.xz
+b5f04ab4f7ed60bde1eeb50141c5b51a4f285d7b125d834559419d56039c1d540a8d44f508801ae9ac2c6d91c3841d4e64c3856e2c5bfa33eb64175dc9b5c608 egregious-versions.patch"
diff --git a/user/kmime/egregious-versions.patch b/user/kmime/egregious-versions.patch
new file mode 100644
index 000000000..af0411338
--- /dev/null
+++ b/user/kmime/egregious-versions.patch
@@ -0,0 +1,24 @@
+There is absolutely NO REQUIREMENT on these newer versions by KMime.
+
+This is only done to keep in sync with the rest of KDE PIM.
+
+--- kmime-19.04.0/CMakeLists.txt.old 2019-04-12 00:14:19.000000000 +0000
++++ kmime-19.04.0/CMakeLists.txt 2019-04-19 06:18:49.665558623 +0000
+@@ -4,7 +4,7 @@
+ project(KMime VERSION ${PIM_VERSION})
+
+ # ECM setup
+-set(KF5_MIN_VERSION "5.56.0")
++set(KF5_MIN_VERSION "5.54.0")
+
+ find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
+ set(CMAKE_MODULE_PATH ${KMime_SOURCE_DIR}/cmake ${ECM_MODULE_PATH})
+@@ -22,7 +22,7 @@
+
+
+ set(KMIME_LIB_VERSION ${PIM_VERSION})
+-set(QT_REQUIRED_VERSION "5.10.0")
++set(QT_REQUIRED_VERSION "5.9.0")
+ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Core)
+
+ ecm_setup_version(PROJECT VARIABLE_PREFIX KMIME
diff --git a/user/kmines/APKBUILD b/user/kmines/APKBUILD
index 1a0ffcec3..99f512bd0 100644
--- a/user/kmines/APKBUILD
+++ b/user/kmines/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmines
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Classic Minesweeper game"
url="https://games.kde.org/game.php?game=kmines"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="60c5a271f50a94ea018a325bee733a8541169e956208147fc640d7be5afc74a90518aca5a3946c1a49b66fb11acfd1b1b7cc44d5311671c6eaa425092ac2a30a kmines-18.12.3.tar.xz"
+sha512sums="74d21df3f2ce2ac883b6e61a0f8c85c85b6cbd38ce3634581d0db2abf106f64693cc27013f0120946947c17d93790de2eaa319c361426e895168a29eaaf108fc kmines-19.04.1.tar.xz"
diff --git a/user/kmix/APKBUILD b/user/kmix/APKBUILD
index aef50e86e..b8f161cb7 100644
--- a/user/kmix/APKBUILD
+++ b/user/kmix/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmix
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE sound mixer"
url="https://www.kde.org/applications/multimedia/kmix/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2b99863aee801e8e0ce5100599b2ba6646ccae38c4f25a00b58ed71a48b36874df33b9f147b601135a3c6ccce16dfb4a7329814d92bab03a5a750d4abbf681cc kmix-18.12.3.tar.xz"
+sha512sums="fc979608fbd4f95717b19ff09c2b7e2d55e6a29570934fbc6b56a9b9a9e70f3cb2719fdbd6230bed16de28085304ba3b6d035f62fc28c3b0275edd095e0199a1 kmix-19.04.1.tar.xz"
diff --git a/user/kmousetool/APKBUILD b/user/kmousetool/APKBUILD
index 01f1229b9..28fbe17b0 100644
--- a/user/kmousetool/APKBUILD
+++ b/user/kmousetool/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmousetool
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Tool to assist with clicking the mouse button"
url="https://userbase.kde.org/KMouseTool"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c6cb2a60b9bb545335a648f28435eed12c2cefde930587afad2c35d815aa785cd4496be6745a0bcff6ffbe4940f79f12ebc949b3ddbd2701b157b98ea135243e kmousetool-18.12.3.tar.xz"
+sha512sums="9c618755da01a2596a16bf62569f202c699a296a394a75adcfd246e2655809d8c56ee1302ddf92066fea77d962a2ffc76c0d5b3d28f5e59f1217d68cfa482f9d kmousetool-19.04.1.tar.xz"
diff --git a/user/kmplot/APKBUILD b/user/kmplot/APKBUILD
index 3116bf623..cbd2dd4aa 100644
--- a/user/kmplot/APKBUILD
+++ b/user/kmplot/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kmplot
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Mathematical function plotter"
url="https://www.kde.org/applications/education/kmplot/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6fa203f4cd192e114ccf7f87df3d1f1f0e806a0bb4027a31eb0fc16a239fba841b643ea7b4b8f4d72a43efe9605e22bd0b47d7fbb9232b5305c60cd2e4ccadb9 kmplot-18.12.3.tar.xz"
+sha512sums="95a817918eb9386f8eec91c3bab0604ac38a394e905282f0f50a1254b889be2d559f4902ba3f56ea10246d31c2c99a37a4e8b7cb9a8707c363dfa16749c1af1c kmplot-19.04.1.tar.xz"
diff --git a/user/knavalbattle/APKBUILD b/user/knavalbattle/APKBUILD
index e3f922ce3..f182df0b2 100644
--- a/user/knavalbattle/APKBUILD
+++ b/user/knavalbattle/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=knavalbattle
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Ship sinking game from KDE"
url="https://www.kde.org/applications/games/knavalbattle/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="49660ae9a472f06d98a95db38b697d4aa37acf0ca4aa14510f4a2256106e3a9e2c8162c1f65b8f36ed2978f25da6263c2c82666458c0e344af87da881d571811 knavalbattle-18.12.3.tar.xz"
+sha512sums="a7d7749bbfefd7b3a32e4cffb1d7040d2f9b023d36696a82a4cb1b3686a212ae3317894918e00afbf85d43de05c46c3ffdfa8e02c11fad6980933b7f578a63d0 knavalbattle-19.04.1.tar.xz"
diff --git a/user/knetwalk/APKBUILD b/user/knetwalk/APKBUILD
index 91f59ffd1..b318a2c7e 100644
--- a/user/knetwalk/APKBUILD
+++ b/user/knetwalk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=knetwalk
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Build up a computer network by placing the wires correctly"
url="https://www.kde.org/applications/games/knetwalk/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="36fd21b7a5e37f131fbba4bd13391c21e3abec3a2128c49badb3a44641d8ffe0d999df6a40f472125d42e9bfac02815b2ade0a4eb4eebda64c95035c6e24d9b2 knetwalk-18.12.3.tar.xz"
+sha512sums="006c76b9996ff74d9fdaace9e72426619198e74823f07f1433f1aaf1a91669b3ad9040709f97a51f2b65503fe6fc886ac705e60a3a9d4e9e9b8ae837025d6246 knetwalk-19.04.1.tar.xz"
diff --git a/user/kolf/APKBUILD b/user/kolf/APKBUILD
index fcf84a6c9..28b73c18e 100644
--- a/user/kolf/APKBUILD
+++ b/user/kolf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kolf
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="2D miniature golf game from KDE"
url="https://www.kde.org/applications/games/kolf/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="321e5eb368f3e9c64a941d0b32abd56e8e0eb9f49a74ce07c1382ab3625e0ddb843f7b6808856e6c64a7026f8203c009a7ce285efb28b3c85c51f15c118c5480 kolf-18.12.3.tar.xz"
+sha512sums="f8f1360ccc4d9623b8ac325333682125414150daf007376010b82e0dc35347fbb2a745fb45449a241f51b7426f386dd2deb9342f1663534685df134300a10ad5 kolf-19.04.1.tar.xz"
diff --git a/user/kollision/APKBUILD b/user/kollision/APKBUILD
index a01e020f8..7e3bddbd5 100644
--- a/user/kollision/APKBUILD
+++ b/user/kollision/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kollision
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple ball dodging game"
url="https://games.kde.org/game.php?game=kollision"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="eec43613ab81ebbabe3f6e2ea59f861c7c22772105ec1a15bb1fac5a1eb8086627a00ae1987c77d757b0ea8f14c2544dbcec69f669e6f8ae6866e483e29ec3e4 kollision-18.12.3.tar.xz"
+sha512sums="9af5989dec26aebfb0785ef81ab61e033fcee458c591bb2e73fd6d53acf387e79934422a6aab8e002ae6ffe452c228453fdb127509330986be6ae14e8a66d62c kollision-19.04.1.tar.xz"
diff --git a/user/kolourpaint/APKBUILD b/user/kolourpaint/APKBUILD
index 11845e7ed..3beedfa4a 100644
--- a/user/kolourpaint/APKBUILD
+++ b/user/kolourpaint/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kolourpaint
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple painting program for KDE"
url="http://kolourpaint.org/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ac294aa80ffebdc6440474c15c5450fdcf15d735e6d920e2af99c92cbaa5f8930330a268faea5fb7859d1128c7479049ceb672715d7a4dbfdfb7e3b72157af13 kolourpaint-18.12.3.tar.xz"
+sha512sums="2154a250683744cd566b3835b68d5f4d16c6b2b7ac747d1bd8fd1de41ebee64c5c972a799d06e1b88768d789393d7f7509428584b29d78923e2275a92de56b9f kolourpaint-19.04.1.tar.xz"
diff --git a/user/konquest/APKBUILD b/user/konquest/APKBUILD
index cf7b6b3be..5027353ad 100644
--- a/user/konquest/APKBUILD
+++ b/user/konquest/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=konquest
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Galactic strategy game"
url="https://games.kde.org/game.php?game=konquest"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c61520a69a2dcd38c66cce521cf25060b31047b77e6f587389a486b4e7438e140f149cb488fb2500feb195d54035a828f9d38ef4d70d8b36003c6c6b3d33169e konquest-18.12.3.tar.xz"
+sha512sums="3656894ecad9ed015b2abe2eaa4c859e2af6c67dde5503a06043c66c0efcb0677564d82168e8692bfa523d6a92fb40eb72a02af94d82863d0673353d20d3d144 konquest-19.04.1.tar.xz"
diff --git a/user/konsole/APKBUILD b/user/konsole/APKBUILD
index 551c18148..4262edda8 100644
--- a/user/konsole/APKBUILD
+++ b/user/konsole/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=konsole
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Terminal emulator for Qt/KDE"
url="https://konsole.kde.org/"
@@ -16,9 +16,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev kbookmarks-dev
kpty-dev kservice-dev ktextwidgets-dev kwidgetsaddons-dev python3
kwindowsystem-dev kxmlgui-dev kdbusaddons-dev knewstuff-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/konsole-$pkgver.tar.xz
- cursor.patch
- "
+source="https://download.kde.org/stable/applications/$pkgver/src/konsole-$pkgver.tar.xz"
build() {
cd "$builddir"
@@ -46,5 +44,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="9fecd316a9bc7adaca9a3fac38a57d293286b6328e88d96ac1cf8967fcb67ef8e9a5b085e185c4373599eafd0eaa18f0d73df70df16b98a1badd9efb689e1f7c konsole-18.12.3.tar.xz
-66dcb31dd63f7a300b64058e8f9e56aa122c407d3a4a85c2323e7abf2e8eb4a3e1dd83de9445dac4938f9395b612eac5ceb9626bf895b532cfd19f63e0fbb2d7 cursor.patch"
+sha512sums="db1452dd7c9254a13d2585f70f8b9cb1d481ab01207437dc1597fe0187e20bea5692ae09f0b48e5958c1fe987f39b53791299e068539ad31536787b82673dba1 konsole-19.04.1.tar.xz"
diff --git a/user/konsole/cursor.patch b/user/konsole/cursor.patch
deleted file mode 100644
index 621a4f36b..000000000
--- a/user/konsole/cursor.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 9af659c73e3203e1d5ef3873fa6c0144258b9673 Mon Sep 17 00:00:00 2001
-From: Wolfgang Bauer <wbauer@tmo.at>
-Date: Mon, 4 Mar 2019 09:59:45 -0500
-Subject: Fix ibeam and underline cursor rendering
-
-Summary:
-Since anti-aliasing was enabled in the painter, coordinates need to
-be shifted half a pixel so that they align with the pixel grid,
-otherwise the result gets "blurred" due to the anti-aliasing.
-And as parts of the blurred shape leak outside the cursor rectangle,
-this also leaves artifacts when the cursor moves or blinks as these
-parts are not cleared.
-
-This is basically the same as commit
-e7085310d6d594823d0ed491fa8bdbd99dec4932 for the
-standard block cursor.
-
-BUG: 402589
-
-Test Plan:
-- Switch cursor shape to "I-Beam" or "Underline" in the "Advanced"
-profile settings
-
-The cursors are a single line again now, before they were blurred by
-anti-aliasing.
-
-Screenshots:
-Before:
-{F6656366}
-{F6656370}
-
-After:
-{F6656371}
-{F6656373}
-
-Also, there are no more artifacts when the cursor is moved or
-cursor blinking is enabled.
-
-Reviewers: #konsole, hindenburg
-
-Reviewed By: #konsole, hindenburg
-
-Subscribers: hindenburg, konsole-devel
-
-Tags: #konsole
-
-Differential Revision: https://phabricator.kde.org/D19513
-
-(cherry picked from commit eccfb1f62bbf67ebffee11e241bd05757b826ff1)
----
- src/TerminalDisplay.cpp | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
-
-diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
-index 64c831c..7c8137d 100644
---- a/src/TerminalDisplay.cpp
-+++ b/src/TerminalDisplay.cpp
-@@ -958,16 +958,18 @@ void TerminalDisplay::drawCursor(QPainter& painter,
- }
- }
- } else if (_cursorShape == Enum::UnderlineCursor) {
-- painter.drawLine(cursorRect.left(),
-- cursorRect.bottom(),
-- cursorRect.right(),
-- cursorRect.bottom());
-+ QLineF line(cursorRect.left() + 0.5,
-+ cursorRect.bottom() - 0.5,
-+ cursorRect.right() - 0.5,
-+ cursorRect.bottom() - 0.5);
-+ painter.drawLine(line);
-
- } else if (_cursorShape == Enum::IBeamCursor) {
-- painter.drawLine(cursorRect.left(),
-- cursorRect.top(),
-- cursorRect.left(),
-- cursorRect.bottom());
-+ QLineF line(cursorRect.left() + 0.5,
-+ cursorRect.top() + 0.5,
-+ cursorRect.left() + 0.5,
-+ cursorRect.bottom() - 0.5);
-+ painter.drawLine(line);
- }
- }
-
---
-cgit v1.1
-
diff --git a/user/kpat/APKBUILD b/user/kpat/APKBUILD
index f893118b1..6b177b3b5 100644
--- a/user/kpat/APKBUILD
+++ b/user/kpat/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kpat
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Collection of card games for KDE"
url="https://games.kde.org/game.php?game=kpat"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4fcd9860ac7e1d1069bd1f1e46943fe1695c0e7080b91c9b320fefd0bac4a782b95f9b20440a1a1409a2ea9f131050ea121e0f4ff935db471044cf9320b5bc96 kpat-18.12.3.tar.xz"
+sha512sums="2362920a4ddec7ddccb3de58bd1d3e4f424e844bc7c6aa4c16465b64d94967f0adfe903e2845cb61c5afbad5fd52c5f755f529c9934b4a201c3beab6516b6de6 kpat-19.04.1.tar.xz"
diff --git a/user/kphotoalbum/APKBUILD b/user/kphotoalbum/APKBUILD
index 86590bce3..c8c83d7f4 100644
--- a/user/kphotoalbum/APKBUILD
+++ b/user/kphotoalbum/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kphotoalbum
-pkgver=5.4
-pkgrel=1
+pkgver=5.5
+pkgrel=0
pkgdesc="Versatile photo album software by KDE"
url="https://www.kphotoalbum.org/"
arch="all"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d528905f3af9d23c89c89f902abe8358f8e90c402e437bc7cdd67837649f5dcd7f7416c77cc824532f928f41e7590f6005f13c97be4d608e433aad285a6a8bba kphotoalbum-5.4.tar.xz"
+sha512sums="fcca891a94580db2f606c5d077af2651e1dbcd59429823410f9fd2d07ac0c3c625ac441b723d4c8cb3ac7ede26ccf69f955c19fe302fffc9788fc33def9ee3e0 kphotoalbum-5.5.tar.xz"
diff --git a/user/kpimtextedit/APKBUILD b/user/kpimtextedit/APKBUILD
index ed683d6b7..da85d2b76 100644
--- a/user/kpimtextedit/APKBUILD
+++ b/user/kpimtextedit/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kpimtextedit
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Text editor for Personal Information Managers (PIMs)"
url="https://pim.kde.org/"
@@ -16,7 +16,9 @@ makedepends="$depends_dev cmake extra-cmake-modules qt5-qttools-dev ki18n-dev
kdesignerplugin-dev kemoticons-dev kiconthemes-dev kio-dev kxmlgui-dev
qt5-qtspeech-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/kpimtextedit-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/kpimtextedit-$pkgver.tar.xz
+ qt5.9.patch
+ "
build() {
cd "$builddir"
@@ -44,4 +46,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c3f4d3143a56cad623a5fb514c2234e4f00c07f395e72648ed3429a88631e3c752ea55d321fe55584f1846d3f97fabf3796ce3883cba06238f00e735028853bb kpimtextedit-18.12.3.tar.xz"
+sha512sums="2eec73ef6a4fb546aa7ce6481c16f6a20d5b49d65ee9e3beab1d35169bab0e2b84bacdb7f00f38b691b86e906ad31bd1ed6a165075bb431c1f9fd9eb5023bc5e kpimtextedit-19.04.1.tar.xz
+13f90299735e145142f969ffb6462b71c1cd85d5503c3902af924388042396526ff8b943229462e0ff7e5030393e5312dd67b8dfc66efec81f4f05ac15f86091 qt5.9.patch"
diff --git a/user/kpimtextedit/qt5.9.patch b/user/kpimtextedit/qt5.9.patch
new file mode 100644
index 000000000..50c29e0e0
--- /dev/null
+++ b/user/kpimtextedit/qt5.9.patch
@@ -0,0 +1,49 @@
+From 6961b54d1c814f2e7aafd7db8256f82688f014a3 Mon Sep 17 00:00:00 2001
+Date: Mon, 17 Dec 2018 07:23:52 +0100
+Subject: Revert "Remove QT_CHECK"
+
+---
+ .../plaintexteditor/plaintextsyntaxspellcheckinghighlighter.cpp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/texteditor/plaintexteditor/plaintextsyntaxspellcheckinghighlighter.cpp b/src/texteditor/plaintexteditor/plaintextsyntaxspellcheckinghighlighter.cpp
+index 8ce0fe9..c07699c 100644
+--- a/src/texteditor/plaintexteditor/plaintextsyntaxspellcheckinghighlighter.cpp
++++ b/src/texteditor/plaintexteditor/plaintextsyntaxspellcheckinghighlighter.cpp
+@@ -144,9 +144,13 @@ void PlainTextSyntaxSpellCheckingHighlighter::highlightBlock(const QString &text
+
+ const auto nextBlock = currentBlock().next();
+ if (nextBlock.isValid()) {
++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
+ QMetaObject::invokeMethod(this, [this, nextBlock] {
+ rehighlightBlock(nextBlock);
+ }, Qt::QueuedConnection);
++#else
++ QMetaObject::invokeMethod(this, "rehighlightBlock", Qt::QueuedConnection, Q_ARG(QTextBlock, nextBlock));
++#endif
+ }
+ }
+
+--
+cgit v1.1
+
+--- kpimtextedit-19.04.0/CMakeLists.txt.old 2019-04-12 00:14:22.000000000 +0000
++++ kpimtextedit-19.04.0/CMakeLists.txt 2019-04-19 06:21:56.055556133 +0000
+@@ -4,7 +4,7 @@
+ project(KPimTextEdit VERSION ${PIM_VERSION})
+
+ # ECM setup
+-set(KF5_MIN_VERSION "5.56.0")
++set(KF5_MIN_VERSION "5.54.0")
+
+ find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
+ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+@@ -36,7 +36,7 @@
+ SOVERSION 5
+ )
+
+-set(QT_REQUIRED_VERSION "5.10.0")
++set(QT_REQUIRED_VERSION "5.9.0")
+ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Widgets)
+ find_package(Grantlee5 "5.1" CONFIG REQUIRED)
+ set_package_properties(Grantlee5 PROPERTIES
diff --git a/user/krdc/APKBUILD b/user/krdc/APKBUILD
index 950ac7ed8..d770827cf 100644
--- a/user/krdc/APKBUILD
+++ b/user/krdc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=krdc
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="View and control remote desktops (RDP and VNC)"
url="https://www.kde.org/applications/internet/krdc/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="eeb48eb968e1cb54a76d82dff1eec001b880456d2cd52f33dea6be6e3fb08186e25af89ee9a89e077e91ce0a0ebaa522bc453d5137e384018489ffc1f8382927 krdc-18.12.3.tar.xz"
+sha512sums="60e9541a9e8377da5248471160733a86ae1c6f49c7649470ec313475ef483314fb59e8967b2d30dbde2012d437a98a9db11b172e2052a58b65075920daf75b13 krdc-19.04.1.tar.xz"
diff --git a/user/kreversi/APKBUILD b/user/kreversi/APKBUILD
index 870c1d082..a34522600 100644
--- a/user/kreversi/APKBUILD
+++ b/user/kreversi/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kreversi
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Reversi game"
url="https://games.kde.org/game.php?game=kreversi"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fb3fd6a6e855701196cdd34d0e4611ce9e23cb51c2b461defc2c93e523dcd422bb02d5bb1b47fc376071de41bc6909b614b1e0389fc8e0210fffc7472f144deb kreversi-18.12.3.tar.xz"
+sha512sums="1b42a1e96e06de6571687b5e76c800adda3d68f6ce8792b2d09bca7ae962d924e500ac4b436ebdb261bb9b62f37039acf6cc0f9451bb704d15b21b1bd5859fb3 kreversi-19.04.1.tar.xz"
diff --git a/user/krfb/APKBUILD b/user/krfb/APKBUILD
index c9b009993..6723365c3 100644
--- a/user/krfb/APKBUILD
+++ b/user/krfb/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=krfb
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Share your screen with others for remote watching or assistance"
url="https://www.kde.org/applications/system/krfb/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e195d7cfe2f6c3c17b203da1bb0c1cb0709d4192a05b32bf817666183ce7889afc7b64afb54187f795f493ed88531a2de14bac3d7dbe6aacb7618220380fa518 krfb-18.12.3.tar.xz"
+sha512sums="8e070299753b785e9c4cf36e4ba1ba80502825aae7f605f531316ca5ddc05a5c36f4027d09e77ae0930efdbf61b720eb8ebe2d56e805486ebb7b06ce80b72c85 krfb-19.04.1.tar.xz"
diff --git a/user/krita/APKBUILD b/user/krita/APKBUILD
index c85aaf521..ac809584d 100644
--- a/user/krita/APKBUILD
+++ b/user/krita/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=krita
-pkgver=4.1.5
-pkgrel=1
+pkgver=4.1.8
+pkgrel=0
pkgdesc="Digital painting program by KDE"
url="https://krita.org/"
arch="all"
@@ -53,4 +53,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7790e3e61c18f5a2f5ba0c5d08f09bf78bcfba563b46751689db00814b9775db85cc64c162aa1c1dc47b5e73e49598b24e6a4599b8350a9e07c15aa4eb463499 krita-4.1.5.tar.gz"
+sha512sums="d027444415bffbd6abd29ca69598fdb1e6a652fd4f1944092ff12016a57ff2ee3bab209c93e065905ec9bfea395e50f833915bb924b97a2c119d101057cba6c9 krita-4.1.8.tar.gz"
diff --git a/user/kruler/APKBUILD b/user/kruler/APKBUILD
index 025afb5c9..6ce44f38c 100644
--- a/user/kruler/APKBUILD
+++ b/user/kruler/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kruler
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Screen ruler"
url="https://www.kde.org/applications/graphics/kruler/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="26c214cd2dd246a76e1133120d5932c4945ae7ffb98f15c60a577471a3bb35295d14a77a953d60facaf659fcfa47da019a39dedfe3267465f65649a4ef66ef6e kruler-18.12.3.tar.xz"
+sha512sums="6ddbea90b6f75c6c5d3308b1e69d8ff3d28bba72cb4e35d0165c7b25926035febeffd671204abfdab6063bc810fa92d15bbddad82c46046a283819c44e43ed52 kruler-19.04.1.tar.xz"
diff --git a/user/kshisen/APKBUILD b/user/kshisen/APKBUILD
index 9b83f59d6..30988940e 100644
--- a/user/kshisen/APKBUILD
+++ b/user/kshisen/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kshisen
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Mixture of Solitaire and Mah Jongg"
url="https://games.kde.org/game.php?game=kshisen"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d920cd913714f7e93df0133e8caec5dc2649c3d4dfd0f157fb189efa694632b3027053cbcdcc187cbd4d04b1ebd7526544f5857f80b5a933f4c73911531a5640 kshisen-18.12.3.tar.xz"
+sha512sums="7789cdcc61dd2c0690a80e5154efe3ff432321185e60d598e982acd9a92cc36926447ed295c1560c56bb207c0387a7b203f2fb3f75b62798a45ea898a5fd54fb kshisen-19.04.1.tar.xz"
diff --git a/user/ksirk/APKBUILD b/user/ksirk/APKBUILD
index 8f6313b33..b88c01cb7 100644
--- a/user/ksirk/APKBUILD
+++ b/user/ksirk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ksirk
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Strategy game from KDE"
url="https://www.kde.org/applications/games/ksirk/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="60e1267490b9c97f77e0313d19336f798564eb2a35b1c78907b5591d33360abdbc10a6fc46aa3a0956e8004c7dddaa0f91772535ee04678e3f8bb9a29de1a518 ksirk-18.12.3.tar.xz"
+sha512sums="4407c942202deac31a46dd0dd4797630829f4e334db6d3fb5bf1baa3a1616e2f67a492550c3cd77a9632a9a9b687eb7bdbcd90f2002acd73258ebdacd288035b ksirk-19.04.1.tar.xz"
diff --git a/user/ksnakeduel/APKBUILD b/user/ksnakeduel/APKBUILD
index 589411c06..dd99fe9a3 100644
--- a/user/ksnakeduel/APKBUILD
+++ b/user/ksnakeduel/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ksnakeduel
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Tron-like game"
url="https://www.kde.org/applications/games/ksnakeduel/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8efc73f83ac68e2ccf27d019979509d343aada8fa73d27bbac4f428ecc0238bc9740863995c93f36980aceafa9f3a193ed2c114a90e4436e3ec470cecc50b625 ksnakeduel-18.12.3.tar.xz"
+sha512sums="b4439eef6b90d6d998a4790fddb79ea01604a69d63c5a54f71d7a5295a6d487c6515864881cdd9aa8223151ceee80372677831aa3373d8f662e49dfde8623373 ksnakeduel-19.04.1.tar.xz"
diff --git a/user/kspaceduel/APKBUILD b/user/kspaceduel/APKBUILD
index 67102b293..1ddf579fa 100644
--- a/user/kspaceduel/APKBUILD
+++ b/user/kspaceduel/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kspaceduel
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Space arcade game from KDE"
url="https://www.kde.org/applications/games/kspaceduel/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d646f969ada6ea721ae02c177904f0c392732979dcab3e20a332a7b058c2284c4109c286a0a165620378f92cde864cf7685c852fcf366cbec8cae551640a0081 kspaceduel-18.12.3.tar.xz"
+sha512sums="d5b5ccc168b6272d35ee8781a249a4aea5ca211e97f2b8cd2c71f2652caa9ebf41c9bd3c8bbbc716d0bb6b4d3f4c87cc2c609a2624ccc1cfc703f3e5315987d9 kspaceduel-19.04.1.tar.xz"
diff --git a/user/ksquares/APKBUILD b/user/ksquares/APKBUILD
index 4f8de77f3..e6b4feade 100644
--- a/user/ksquares/APKBUILD
+++ b/user/ksquares/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ksquares
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Fun and exciting game of Dots and Boxes"
url="https://games.kde.org/game.php?game=ksquares"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3075a4724bc8cf3d25d94a725818db31f75b4d1ef54e00faff9cab84ffdac7585dc79af7fff0e667a1f679602f22c0ba2dffca10b9e980dcc2850558e1f982bd ksquares-18.12.3.tar.xz"
+sha512sums="0a799744caf34bca1aa4174b8160e0703db59aba4b50fee3b9e5938e22e171e94d28f1fed798f83387e1b9c35241417560e25cca4514708a4f9fae0a02bfbdd1 ksquares-19.04.1.tar.xz"
diff --git a/user/kstars/0001-htmesh-Fix-compile-error-on-modern-Linux-systems.patch b/user/kstars/0001-htmesh-Fix-compile-error-on-modern-Linux-systems.patch
deleted file mode 100644
index 052b849d9..000000000
--- a/user/kstars/0001-htmesh-Fix-compile-error-on-modern-Linux-systems.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b2b36b864813e512829ab8a3613f8a91f2bff20e Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Wed, 29 Aug 2018 11:27:38 -0500
-Subject: [PATCH] htmesh: Fix compile error on modern Linux systems
-
----
- kstars/htmesh/SkipListElement.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kstars/htmesh/SkipListElement.h b/kstars/htmesh/SkipListElement.h
-index f8187e42a..52dfff38a 100644
---- a/kstars/htmesh/SkipListElement.h
-+++ b/kstars/htmesh/SkipListElement.h
-@@ -20,7 +20,7 @@
- #define KEY_MAX _I64_MAX
- #else
- #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || \
-- (defined(__SUNPRO_CC) && defined(__sun)) || defined(__APPLE__)
-+ (defined(__SUNPRO_CC) && defined(__sun)) || defined(__APPLE__) || defined(__linux__)
- #define KEY_MAX LLONG_MAX
- #else
- #define KEY_MAX LONG_LONG_MAX
---
-2.17.1
-
diff --git a/user/kstars/APKBUILD b/user/kstars/APKBUILD
index b98404eda..7966eb088 100644
--- a/user/kstars/APKBUILD
+++ b/user/kstars/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kstars
-pkgver=3.0.0
+pkgver=3.2.1
pkgrel=0
pkgdesc="Desktop planetarium"
url="https://www.kde.org/applications/education/kstars/"
@@ -14,14 +14,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtdeclarative-dev
kxmlgui-dev kplotting-dev knotifications-dev eigen-dev mesa-dev
qt5-qtwebsockets-dev libraw-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/kstars/kstars-$pkgver.tar.xz
- 0001-htmesh-Fix-compile-error-on-modern-Linux-systems.patch
- "
+source="https://download.kde.org/stable/kstars/kstars-$pkgver.tar.xz"
build() {
- cd "$builddir"
- mkdir build
- cd build
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -34,19 +29,16 @@ build() {
-DCMAKE_C_FLAGS="$CFLAGS" \
-DEIGEN3_INCLUDE_DIR=/usr/include/eigen3 \
${CMAKE_CROSSOPTS} \
- ..
- make
+ -Bbuild
+ make -C build
}
check() {
- cd "$builddir"/build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ make -C build test
}
package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C build install
}
-sha512sums="e574c2529898d66bc79e1cf88ce778dddeedfdfed4ea23921219226121b60be042a94e6865e9076efff038a0a529587901f9a4ab2cd5b658440a8bf39c0c4d08 kstars-3.0.0.tar.xz
-8c81a6db810a99b7d8bf7adca15767fdbfb79269ab2de1e4136de3c75266dde2fd572b961f63dc9b4f619abf7292e02eed5d29ca9ba53586f30871aba6015fdb 0001-htmesh-Fix-compile-error-on-modern-Linux-systems.patch"
+sha512sums="d62d2211db66941c402e19dee28ace235933fe33e077f7de3350c1a80eb02c18b23549c9cc8403fe9d34bc06332501b5ed931f992eb92c605fe7661572c3ed46 kstars-3.2.1.tar.xz"
diff --git a/user/ksudoku/APKBUILD b/user/ksudoku/APKBUILD
index 3515bc53b..65074b490 100644
--- a/user/ksudoku/APKBUILD
+++ b/user/ksudoku/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ksudoku
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Desktop Sudoku (symbol placement / logic) game"
url="https://games.kde.org/game.php?game=ksudoku"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6e773fc6bb9224a5c39142abcc85a93ef1ce8aedd9242fb60b1157027a277d6e235998d8a7d6ac7ecd3d89a1bdacc8e612d5b0c11ec9fcc52c3ea14445384d80 ksudoku-18.12.3.tar.xz"
+sha512sums="bf53460e9ff82c9e36be1c454588c6b0347365b2d62fbf3aa908883361c80e7da67ad23105ff3443f2bb0dec695aa787c7a15a20c4c9abec564f1f7a7be7f48b ksudoku-19.04.1.tar.xz"
diff --git a/user/ksystemlog/APKBUILD b/user/ksystemlog/APKBUILD
index 9506209b6..11fe36915 100644
--- a/user/ksystemlog/APKBUILD
+++ b/user/ksystemlog/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ksystemlog
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Friendly, powerful system log viewer tool"
url="https://www.kde.org/applications/system/ksystemlog/"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4808d8981e5d7d5d75be11c3b00c25e4962ea2b8a5e600f50aff2ca8e74d9af924859329224c92001a91e9fa697fae29a21c2ed1209cada641c732773b2bad0b ksystemlog-18.12.3.tar.xz"
+sha512sums="6a30d655ca18f8249979e266fc6377ef69cf40b9c155e41cb4102e542ea1beabb5a647a23a37430bf010ff3b657887b58ed559f41f248fea76f47cea5146f295 ksystemlog-19.04.1.tar.xz"
diff --git a/user/kteatime/APKBUILD b/user/kteatime/APKBUILD
index 89988296c..3f78cc184 100644
--- a/user/kteatime/APKBUILD
+++ b/user/kteatime/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kteatime
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Steep responsibly"
url="https://www.kde.org/applications/games/kteatime/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0c2280828005c85c12a8616c288416537cee2fe6053571c3ee369ccd7903ca66625b95304217a5a6518ac0602b1cde9d0e654032ad32b12f082d80535cca4e55 kteatime-18.12.3.tar.xz"
+sha512sums="3afb59cf7fb5ba1273a49a69f4e587e0356055e992fec9115028769c9369cec77a9cf3648974c50e2d2c98ac587ec172f7fe03cfb423484ce0b28c226d4bda3b kteatime-19.04.1.tar.xz"
diff --git a/user/ktimer/APKBUILD b/user/ktimer/APKBUILD
index 366d60c4c..3282df44f 100644
--- a/user/ktimer/APKBUILD
+++ b/user/ktimer/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ktimer
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Tool to execute programs after some time"
url="https://www.kde.org/applications/utilities/ktimer/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e61752d02d650d32d1988e7b8f394017dd6a7130f222bda55a747039ce5cb593976ee99f4cdde1731e55e86f8b2ecfa967efea6198a1de6d240ce11fd48488fe ktimer-18.12.3.tar.xz"
+sha512sums="a0d7fe8c12e827dfb7de201aa7dddfb594a18daed0f8a9fdf3eafa24db789a8a734df479e8fb22d160f089645e0bc34eb87d5d181d53863cae823f2de081d101 ktimer-19.04.1.tar.xz"
diff --git a/user/ktouch/APKBUILD b/user/ktouch/APKBUILD
index a978ce469..9810a7570 100644
--- a/user/ktouch/APKBUILD
+++ b/user/ktouch/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ktouch
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Touch typing tutor"
url="https://www.kde.org/applications/education/ktouch/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1973b7d9e8ba61b4bfe9b23e53597ffe8eb4d00f4a57a3e2861a41b2b6c8bcf8204ad59d8d42d696e07a7d8c2b9cf7d3b4dbba8924fd2a9470d5b7524034a6cd ktouch-18.12.3.tar.xz"
+sha512sums="82af8a4ff49643acc888bdaad5e1c8c3a7555dcb05e86f42216cc1350a28fa647714ad62f83ba244618ae2cc5b707847d9c36ca4e770fac8f5cb8cdcbf58c90b ktouch-19.04.1.tar.xz"
diff --git a/user/ktuberling/APKBUILD b/user/ktuberling/APKBUILD
index 6bfead6d6..0ff92497a 100644
--- a/user/ktuberling/APKBUILD
+++ b/user/ktuberling/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ktuberling
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Simple constructor game"
url="https://games.kde.org/game.php?game=ktuberling"
@@ -13,7 +13,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev
kdbusaddons-dev kdelibs4support-dev kwidgetsaddons-dev kxmlgui-dev
libkdegames-dev qt5-qtmultimedia-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/ktuberling-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/ktuberling-$pkgver.tar.xz
+ frameworks.patch
+ "
build() {
cd "$builddir"
@@ -41,4 +43,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3f496c2d48c726274fa01c8116eeb50d06b9ef39ce7004b10b40316382ee082d26dbe3da8e43c9c7c77a719e6a10bff0f130d3c99fb9f9156d95216c428189fb ktuberling-18.12.3.tar.xz"
+sha512sums="c1f8183ccf7a8bf142e6989565b5bb59503078762f39e4879a7fbdc0fd21fa3913b42a2822d1bfcc5e450b3462f470203c21362193805bd88346f9cb43ed2925 ktuberling-19.04.1.tar.xz
+a8c723302d141ff74a10cc38245524d59a51d476159c2ac46a1694747ddcb078abc42cea80cf5a5d3910c96c0c90fb7dbf82786496f03b4438a23a736a784e76 frameworks.patch"
diff --git a/user/ktuberling/frameworks.patch b/user/ktuberling/frameworks.patch
new file mode 100644
index 000000000..7f03b5874
--- /dev/null
+++ b/user/ktuberling/frameworks.patch
@@ -0,0 +1,11 @@
+--- ktuberling-19.04.0/CMakeLists.txt.old 2019-04-12 00:10:28.000000000 +0000
++++ ktuberling-19.04.0/CMakeLists.txt 2019-04-18 21:18:28.795796335 +0000
+@@ -2,7 +2,7 @@
+
+ cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
+ set (QT_MIN_VERSION "5.3.0")
+-set (KF5_MIN_VERSION "5.55.0")
++set (KF5_MIN_VERSION "5.54.0")
+
+ find_package(ECM 1.7.0 REQUIRED CONFIG)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
diff --git a/user/kturtle/APKBUILD b/user/kturtle/APKBUILD
index e02479a1d..3bba51e81 100644
--- a/user/kturtle/APKBUILD
+++ b/user/kturtle/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kturtle
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Educational programming environment"
url="https://www.kde.org/applications/education/kturtle/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3244d1c691f2d7c0625cb35b426dc40d7fc112e741af0dda6abdbfba53a36eed199c3cd9b7f60c078b232f903572a112958988cc677fa989dbd51ce3c8bb85f0 kturtle-18.12.3.tar.xz"
+sha512sums="d6abd252aad1f8ffa462a493881b5aec8c4463e38a2a372404e7237070b1c1a4598366600247e7d61ab31f8bd042b9ebcbd07059b6e1af6595ac86762db48eff kturtle-19.04.1.tar.xz"
diff --git a/user/kubrick/APKBUILD b/user/kubrick/APKBUILD
index 485a62692..08bf1c032 100644
--- a/user/kubrick/APKBUILD
+++ b/user/kubrick/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kubrick
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="3D cube puzzle solving game"
url="https://www.kde.org/applications/games/kubrick/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4761c56bbaac06fa4f5f1e398c06ebe859672f333542185b2a15fac753aa8279a3bb62dbb8cfd972adaaab1903cb56b157fd39e468d3ba8b33f2fbc746517c67 kubrick-18.12.3.tar.xz"
+sha512sums="b72ba8207ffa9e0362743bf9e4404fe9afa9d7e66531a66d79df5a805755a494bf028f5c86a00c0e8bb6e89a5f96f2a1f34cedf800b2c5318dacdfa9bf60a492 kubrick-19.04.1.tar.xz"
diff --git a/user/kwalletmanager/APKBUILD b/user/kwalletmanager/APKBUILD
index ef0a0403a..52f041e98 100644
--- a/user/kwalletmanager/APKBUILD
+++ b/user/kwalletmanager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kwalletmanager
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Manage KDE wallets"
url="https://www.kde.org/applications/system/kwalletmanager/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="26be37f0e273c3532ce6056047ac47c65f0c46f56e79bf4473a62c59772685ea4f842d46864d3fbb44638b0c3105ffe233f0451b6ddc53dbb7327631d46b9d4a kwalletmanager-18.12.3.tar.xz"
+sha512sums="95a1e01184f654c57002ad5d3bcdc3bd463377f3de7f0524282eab5ddf156ab8c4ae99afa0950df6cb2e280e34eac605810b491068f55076ced4d042cfab9cba kwalletmanager-19.04.1.tar.xz"
diff --git a/user/kwave/APKBUILD b/user/kwave/APKBUILD
index dc6934195..ff17c9dfc 100644
--- a/user/kwave/APKBUILD
+++ b/user/kwave/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kwave
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Sound editor built for KDE"
url="http://kwave.sourceforge.net/"
@@ -16,6 +16,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtmultimedia-dev
id3lib-dev libmad-dev opus-dev libvorbis-dev fftw-dev librsvg-dev"
subpackages="$pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/applications/$pkgver/src/kwave-$pkgver.tar.xz
+ es-doc-fix.patch
remove-msgcat.patch
"
@@ -46,5 +47,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="bffafe6b63cdad5e674a02d9b57e5e658260c2d933ae148e155afc598045a67143f21aad4c52e1437b6f47181b47ee9896e3219700cc8e0aa1c8408fdf797adb kwave-18.12.3.tar.xz
+sha512sums="42fef840ac66ee439d594727dd23e0a0cf4342d8f20990da3d1d83d758841821d7cac2bf99f23e135f7e7eea5d02d877cd19b307a1a47b23f258ea5e06c050fd kwave-19.04.1.tar.xz
+63afd083727fd28436c2a8071429ba95fe4342c11669a4e27afc30b8a088b981f284fcff13861d5ef01a6f97152b25eec1fbeb303c9bdd76707e44ff5978dab8 es-doc-fix.patch
43474f73281a7e3e97e2aa9e8c5b7aac50c8153c4ec09345a9ff43eb3c90a17c1dd9fbd2c630967ff87a5b21139f4efd0ecc44f36052549cc2036fd1db1dfac4 remove-msgcat.patch"
diff --git a/user/kwave/es-doc-fix.patch b/user/kwave/es-doc-fix.patch
new file mode 100644
index 000000000..601a7f56e
--- /dev/null
+++ b/user/kwave/es-doc-fix.patch
@@ -0,0 +1,101 @@
+--- kwave-19.04.1/po/es/docs/kwave/index.docbook.old 2019-05-07 00:18:01.000000000 +0000
++++ kwave-19.04.1/po/es/docs/kwave/index.docbook 2019-05-12 04:22:05.268821135 +0000
+@@ -1651,7 +1651,7 @@
+ ><menuchoice
+ > <shortcut
+ ><keycombo
+->&Space;</keycombo
++><keycap>Space</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Reproducción</guimenu
+@@ -1665,7 +1665,7 @@
+ ><menuchoice
+ > <shortcut
+ ><keycombo
+->&Space;</keycombo
++><keycap>Space</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Reproducir</guimenu
+@@ -1839,7 +1839,7 @@
+ >entrada de menú / atajo de teclado:<menuchoice
+ > <shortcut
+ ><keycombo
+->&Ctrl; &Space;</keycombo
++>&Ctrl; <keycap>Space</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -1981,7 +1981,7 @@
+ >entrada de menú / atajo de teclado: <menuchoice
+ > <shortcut
+ ><keycombo
+->&Ctrl;&Home;</keycombo
++>&Ctrl;<keycap>Home</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -2000,7 +2000,7 @@
+ >entrada de menú / atajo de teclado: <menuchoice
+ > <shortcut
+ ><keycombo
+->&Ctrl;&End;</keycombo
++>&Ctrl;<keycap>End</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -2019,7 +2019,7 @@
+ >entrada de menú / atajo de teclado: <menuchoice
+ > <shortcut
+ ><keycombo
+->&PgUp;</keycombo
++><keycap>PgUp</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -2051,7 +2051,7 @@
+ >entrada de menú / atajo de teclado: <menuchoice
+ > <shortcut
+ ><keycombo
+->&PgDn;</keycombo
++><keycap>PgDn</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -2083,7 +2083,7 @@
+ >entrada de menú / atajo de teclado: <menuchoice
+ > <shortcut
+ ><keycombo
+->&Right;</keycombo
++><keycap>→</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -2115,7 +2115,7 @@
+ >entrada de menú / atajo de teclado: <menuchoice
+ > <shortcut
+ ><keycombo
+->&Left;</keycombo
++><keycap>←</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Vista</guimenu
+@@ -2372,7 +2372,7 @@
+ >expandir la selección al principio de la señal (primera muestra): <menuchoice
+ > <shortcut
+ ><keycombo
+->&Shift;&Home;</keycombo
++>&Shift;<keycap>Home</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Editar</guimenu
+@@ -2388,7 +2388,7 @@
+ >expandir la selección al final de la señal (última muestra): <menuchoice
+ > <shortcut
+ ><keycombo
+->&Shift;&End;</keycombo
++>&Shift;<keycap>End</keycap></keycombo
+ ></shortcut
+ > <guimenu
+ >Editar</guimenu
diff --git a/user/kwordquiz/APKBUILD b/user/kwordquiz/APKBUILD
index 3fb34c0f3..521e42c96 100644
--- a/user/kwordquiz/APKBUILD
+++ b/user/kwordquiz/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kwordquiz
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Flash card trainer for KDE"
url="https://www.kde.org/applications/education/kwordquiz/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e4e122317bc2935bf6f23d353b91002607b80b7320e6b976924d03b8c3ef42fecb3236b2af2f01ee4c859854507ed8a51a4e3b991b047ad955e82ddd726e27a7 kwordquiz-18.12.3.tar.xz"
+sha512sums="f8858da7239562cb431cffe07ba003d0fdb469ce6fa4a4fc2cdafbc843e85baff40587c1140009121d94410b5895d5e15cc8a81178285934a4e17c487cd20496 kwordquiz-19.04.1.tar.xz"
diff --git a/user/labplot/APKBUILD b/user/labplot/APKBUILD
index 35cd3cfb2..caf9aa5df 100644
--- a/user/labplot/APKBUILD
+++ b/user/labplot/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=labplot
-pkgver=2.5.0
-pkgrel=2
+pkgver=2.6
+pkgrel=0
pkgdesc="Interactive tool for graphing and analysis of scientific data"
url="https://www.kde.org/applications/education/labplot/"
arch="all"
@@ -15,9 +15,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev
qt5-qtserialport-dev syntax-highlighting-dev bison libexecinfo-dev
cantor-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/labplot/$pkgver/labplot-$pkgver.tar.xz
- liborigin-endian.patch
- "
+source="https://download.kde.org/stable/labplot/$pkgver.0/labplot-$pkgver.0.tar.xz"
build() {
cd "$builddir"
@@ -46,5 +44,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a4b285917e30b0ac00cb8c8ad6827ba3884d95fccc0511a0a317bb2d637e48e6579929c45cfb8bba737bb5a01472a2baa9d812a688730ac4fa40b23cc6625eba labplot-2.5.0.tar.xz
-d251300ca0992637453ef12021f3fa4ba0ed5651a19b27bee7573f50b101aaa787544c035bf0d00b9a9ef14156536ce027879d605ede228761754b762db88ded liborigin-endian.patch"
+sha512sums="6ebc96b3cfb25ebd62a6631d8cca0d9574f84548c04271eb8a10ff3ef9ebbdd0bf842b9b6129a995953412c5e6f902440dc91dbaa01d97fc220d7f6b19dc46af labplot-2.6.0.tar.xz"
diff --git a/user/labplot/liborigin-endian.patch b/user/labplot/liborigin-endian.patch
deleted file mode 100644
index b40782a3a..000000000
--- a/user/labplot/liborigin-endian.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp
-index c9e863e..2637945 100644
---- a/liborigin/OriginAnyParser.cpp
-+++ b/liborigin/OriginAnyParser.cpp
-@@ -24,10 +24,18 @@
- #include <cinttypes>
-
- /* define a macro to get an int (or uint) from a istringstream in binary mode */
--#define GET_INT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);};
--#define GET_SHORT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 2);};
--#define GET_FLOAT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);};
-+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-+#define GET_SHORT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 2);};
-+#define GET_INT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);};
-+#define GET_FLOAT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);};
- #define GET_DOUBLE(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 8);};
-+#else
-+void inline swap_bytes(unsigned char* data, int size) {int i = 0, j = size - 1; while(i < j) {std::swap(data[i], data[j]); ++i, --j;}}
-+#define GET_SHORT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 2); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 2);};
-+#define GET_INT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 4);};
-+#define GET_FLOAT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 4);};
-+#define GET_DOUBLE(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 8); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 8);};
-+#endif
-
- OriginAnyParser::OriginAnyParser(const string& fileName)
- : file(fileName.c_str(),ios::binary),
diff --git a/user/libassuan/APKBUILD b/user/libassuan/APKBUILD
index a844a40f8..50c7b4f1f 100644
--- a/user/libassuan/APKBUILD
+++ b/user/libassuan/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libassuan
-pkgver=2.5.1
-pkgrel=1
+pkgver=2.5.3
+pkgrel=0
pkgdesc="IPC library for GnuPG"
url="https://www.gnupg.org/software/libassuan/index.html"
arch="all"
@@ -30,4 +30,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c8829925221780f175cee8c4084060b0d661229f583a50d400a1903ab7303b2724b99ff9c0fa242881d4c5d779036756e1da54d9143acc0fcd92f302ecb5882d libassuan-2.5.1.tar.bz2"
+sha512sums="e7ccb651ea75b07b2e687d48d86d0ab83cba8e2af7f30da2aec794808e13e6ec93f21d607db50d3431f1c23cb3a07a2793b71170e69fa2f5a82cffb81961f617 libassuan-2.5.3.tar.bz2"
diff --git a/user/libayatana-indicator/APKBUILD b/user/libayatana-indicator/APKBUILD
new file mode 100644
index 000000000..4372a2b44
--- /dev/null
+++ b/user/libayatana-indicator/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libayatana-indicator
+pkgver=0.6.2
+pkgrel=0
+pkgdesc="Gnome library implementing the StatusNotifierItem specification"
+url="https://ayatanaindicators.github.io/"
+arch="all"
+options="!check" # incompetent test author
+license="GPL-3.0-only"
+depends=""
+makedepends="ayatana-ido-dev gtk+3.0-dev"
+subpackages="$pkgname-dev"
+source="libayatana-indicator-$pkgver.tar.gz::https://github.com/AyatanaIndicators/libayatana-indicator/archive/$pkgver.tar.gz"
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ autoreconf -vif
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ DESTDIR="$pkgdir" make -j1 install
+}
+
+sha512sums="47a89a4f59d547e4aeeeba245ec7df360e18dc9f8a8c256cbeaf2a95e335f2734873457b2b0fdef8c2fdeaf780dda38cfe020c335a3447a2175914d580aeb8de libayatana-indicator-0.6.2.tar.gz"
diff --git a/user/libblockdev/APKBUILD b/user/libblockdev/APKBUILD
index 51200d04b..98eeda9dd 100644
--- a/user/libblockdev/APKBUILD
+++ b/user/libblockdev/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libblockdev
-pkgver=2.20
+pkgver=2.21
pkgrel=0
pkgdesc="Library for manipulating block devices"
url="http://storaged.org/libblockdev/"
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7363e05c6854757649ed865f216c71ddc8afd7f1a102a73c0bb4809c4713973462446543d97b696f55f11ea15696e261802567cc545833d16535835c5250ac8b libblockdev-2.20.tar.gz"
+sha512sums="7e6e12716e18c5e48f3b2207f132c242d99ce540f55de3b6932ac3427cb532d9074358c828d9702df71068a8454c642a4c0ff96e62a567ed1c1247c59ece432b libblockdev-2.21.tar.gz"
diff --git a/user/libbluray/APKBUILD b/user/libbluray/APKBUILD
index a9b6dce67..6d230fcb5 100644
--- a/user/libbluray/APKBUILD
+++ b/user/libbluray/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libbluray
-pkgver=1.0.2
+pkgver=1.1.1
pkgrel=0
pkgdesc="Library for Blu-Ray disc playback"
url="https://www.videolan.org/developers/libbluray.html"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e1360ad08aa6cc67a80efa81a09004faebbe31105f1961494f82f655e3e7378b198ee3bc534b0d0c2bfec726939b11b545cc8bbfa30794fc647432dadf71089b libbluray-1.0.2.tar.bz2"
+sha512sums="0a3bcef06d2a58c51c3d46934c32941ec0606dc9b71fe36f72a6e34ab8113cf72cfb6e2fdd51f23e0a44ccd404323f5ac5c666aa1d839ae16cc775267cbce839 libbluray-1.1.1.tar.bz2"
diff --git a/user/libcroco/APKBUILD b/user/libcroco/APKBUILD
index 5365445f7..0ed8d4685 100644
--- a/user/libcroco/APKBUILD
+++ b/user/libcroco/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer:
pkgname=libcroco
-pkgver=0.6.12
-pkgrel=2
+pkgver=0.6.13
+pkgrel=0
pkgdesc="GNOME CSS 2 parsing and manipulation toolkit"
url="https://gitlab.gnome.org/GNOME/libcroco"
arch="all"
@@ -11,8 +11,7 @@ subpackages="$pkgname-dev"
depends=
makedepends="glib-dev libxml2-dev"
checkdepends="cmd:which"
-source="https://download.gnome.org/sources/$pkgname/0.6/$pkgname-$pkgver.tar.xz
- CVE-2017-7960.patch"
+source="https://download.gnome.org/sources/$pkgname/0.6/$pkgname-$pkgver.tar.xz"
# secfixes:
# 0.6.12-r2:
@@ -38,5 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="af9a171d5ccded255b57f170576e67155f12fa0f61ab3e379e907975f77afc37e82e22772c6019b2897cffc15b2425faf3ccfda92b1a45b23eda2519debabeb6 libcroco-0.6.12.tar.xz
-da26b95808d7f06c15afed306fac2a80012413bf96ad2cd249c7420a6f41a02d76abeb80b94705f24414f1986084aa4d864fd82038274f664fa91b31fbcabd30 CVE-2017-7960.patch"
+sha512sums="038a3ac9d160a8cf86a8a88c34367e154ef26ede289c93349332b7bc449a5199b51ea3611cebf3a2416ae23b9e45ecf8f9c6b24ea6d16a5519b796d3c7e272d4 libcroco-0.6.13.tar.xz"
diff --git a/user/libcroco/CVE-2017-7960.patch b/user/libcroco/CVE-2017-7960.patch
deleted file mode 100644
index 4561392c0..000000000
--- a/user/libcroco/CVE-2017-7960.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 898e3a8c8c0314d2e6b106809a8e3e93cf9d4394 Mon Sep 17 00:00:00 2001
-From: Ignacio Casal Quinteiro <qignacio@amazon.com>
-Date: Sun, 16 Apr 2017 13:13:43 +0200
-Subject: [PATCH] input: check end of input before reading a byte
-
-When reading bytes we weren't check that the index wasn't
-out of bound and this could produce an invalid read which
-could deal to a security bug.
----
- src/cr-input.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/cr-input.c b/src/cr-input.c
-index 49000b1..3b63a88 100644
---- a/src/cr-input.c
-+++ b/src/cr-input.c
-@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc)
- *we should free buf here because it's own by CRInput.
- *(see the last parameter of cr_input_new_from_buf().
- */
-- buf = NULL ;
-+ buf = NULL;
- }
-
- cleanup:
-@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this)
- enum CRStatus
- cr_input_read_byte (CRInput * a_this, guchar * a_byte)
- {
-+ gulong nb_bytes_left = 0;
-+
- g_return_val_if_fail (a_this && PRIVATE (a_this)
- && a_byte, CR_BAD_PARAM_ERROR);
-
-@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte)
- if (PRIVATE (a_this)->end_of_input == TRUE)
- return CR_END_OF_INPUT_ERROR;
-
-+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this);
-+
-+ if (nb_bytes_left < 1) {
-+ return CR_END_OF_INPUT_ERROR;
-+ }
-+
- *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index];
-
- if (PRIVATE (a_this)->nb_bytes -
-@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char)
- if (*a_char == '\n') {
- PRIVATE (a_this)->end_of_line = TRUE;
- }
--
- }
-
- return status;
---
-2.17.1
-
diff --git a/user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch b/user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch
deleted file mode 100644
index c2a572857..000000000
--- a/user/libdc1394/0001-Fix-bad-variable-type-uint-int.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 9d0c3158bc73292ca755477f60cbf5b5fd622fde Mon Sep 17 00:00:00 2001
-From: Damien Douxchamps <ddsf@douxchamps.net>
-Date: Thu, 12 Jan 2017 16:47:27 +0900
-Subject: [PATCH] Fix bad variable type uint -> int
-
-Type was change to uint in recent commit but it should have been INT.
-
-Signed-off-by: Damien Douxchamps <ddsf@douxchamps.net>
----
- libdc1394/AUTHORS | 1 +
- libdc1394/dc1394/bayer.c | 3 ++-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/libdc1394/dc1394/bayer.c b/libdc1394/dc1394/bayer.c
-index 10a4c1b..cbdc417 100644
---- a/dc1394/bayer.c
-+++ b/dc1394/bayer.c
-@@ -24,6 +24,7 @@
- #include <limits.h>
- #include <math.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <string.h>
- #include "conversions.h"
-
-@@ -775,7 +776,7 @@ dc1394_bayer_Downsample(const uint8_t *restrict bayer, uint8_t *restrict rgb, in
- {
- uint8_t *outR, *outG, *outB;
- register int i, j;
-- uint tmp;
-+ int tmp;
- int st=sx*sy;
- int p;
- int sx2=sx<<1;
---
-2.11.0
-
diff --git a/user/libdc1394/APKBUILD b/user/libdc1394/APKBUILD
index 8bed91739..d36d55a47 100644
--- a/user/libdc1394/APKBUILD
+++ b/user/libdc1394/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer:
pkgname=libdc1394
-pkgver=2.2.5
-pkgrel=4
+pkgver=2.2.6
+pkgrel=0
pkgdesc="Programming interface to control FireWire / IIDC cameras"
url="https://damien.douxchamps.net/ieee1394/libdc1394/"
arch="all"
@@ -12,9 +12,7 @@ depends=""
depends_dev="libusb-dev libraw1394-dev"
makedepends="$depends_dev linux-headers"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/$pkgver/libdc1394-$pkgver.tar.gz
- 0001-Fix-bad-variable-type-uint-int.patch
- "
+source="https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/$pkgver/libdc1394-$pkgver.tar.gz"
build() {
cd "$builddir"
@@ -34,5 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4a02560b7b2db7199b91c35786cb9d5af51398795fc1b7f0cb577d3563b27c0d03d407fa472d9756a2f87b658350a55d29c16fef401a74f835ba86e25214d13c libdc1394-2.2.5.tar.gz
-ab19b1aecec17b1caa6b225f626b6adcf80818cb59f693df69e9f0f2b4014846be22aa93473a62da8c7ae937ea8265f90499a9561d48e6bfe931e1e00cb16c60 0001-Fix-bad-variable-type-uint-int.patch"
+sha512sums="2d60ed1054da67d8518e870193b60c1d79778858f48cc6487e252de00cc57a08548515d41914a37d0227d29e158d68892c290f83930ffd95f4a483dce5aa3d25 libdc1394-2.2.6.tar.gz"
diff --git a/user/libdrm/APKBUILD b/user/libdrm/APKBUILD
index f85bdcac5..d3d8bbccc 100644
--- a/user/libdrm/APKBUILD
+++ b/user/libdrm/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libdrm
-pkgver=2.4.96
+pkgver=2.4.98
pkgrel=0
pkgdesc="Userspace interface to kernel DRM services"
url="https://dri.freedesktop.org/"
@@ -19,7 +19,6 @@ source="https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2
"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -34,14 +33,12 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="008cb7658d953b44e11fa3cc6e00dfeb3efb59c7fdadd59f7066101aff138acbbc2f2508e9ebe0528340e39dc7693937755d1641816ddde135c10a13e7d81e3b libdrm-2.4.96.tar.bz2
+sha512sums="3d333d060ceb14fa8e204ef468ca2c95d6f07205185ca90a044b685832b9b2d7256faa5e81d5871ce8b70aa1fdf9fb1ade18b4e582ff0c7ef5551da8506eb27b libdrm-2.4.98.tar.bz2
af52fef51aaa05a4dd17919371cb9d92a77480402730bf53ba223e54df52f3825be05a7f28e6aef8c904db5ee59fe38a6c15bc6aafa7f8d31a719e80399dd51f ioctl.patch"
diff --git a/user/libebml/APKBUILD b/user/libebml/APKBUILD
index e9aad6680..03b2e73d7 100644
--- a/user/libebml/APKBUILD
+++ b/user/libebml/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer:
pkgname=libebml
-pkgver=1.3.6
+pkgver=1.3.9
pkgrel=0
pkgdesc="Library to parse Extensible Binary Meta-Language files"
url="https://www.matroska.org/"
@@ -29,4 +29,4 @@ package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="6a31a56dcde39642848f25353a462f4621d6cfd3bc9ef62add1b00d098c6a80b3c2b50ecf4d6dd50650c609eb39a6150c6d1b69ea3a77a3928bd3300af7dd91f libebml-1.3.6.tar.xz"
+sha512sums="a388fa8ff7acf9a0fb33faf9c00fc07f53794d86a4f894e04e2a690a24e781a7f380a0896e607e801a6f1f0b215407ee09a801e96d4b3e15f39ca71ec3a6d64e libebml-1.3.9.tar.xz"
diff --git a/user/libetpan/APKBUILD b/user/libetpan/APKBUILD
index 386ec21e5..474c2d67c 100644
--- a/user/libetpan/APKBUILD
+++ b/user/libetpan/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libetpan
-pkgver=1.9.2
+pkgver=1.9.3
pkgrel=0
pkgdesc="Mail library for C"
url="https://www.etpan.org/libetpan.html"
arch="all"
license="BSD-3-Clause"
depends=""
-depends_dev=""
-makedepends="$depends_dev autoconf automake libtool
- cyrus-sasl-dev db-dev expat-dev openssl-dev zlib-dev"
+makedepends="autoconf automake cyrus-sasl-dev db-dev expat-dev libtool
+ openssl-dev zlib-dev"
subpackages="$pkgname-dev"
-source="libetpan-$pkgver.tar.gz::https://github.com/dinhviethoa/libetpan/archive/$pkgver.tar.gz"
+source="libetpan-$pkgver.tar.gz::https://github.com/dinhviethoa/libetpan/archive/$pkgver.tar.gz
+ missing-header.patch
+ "
build() {
- cd "$builddir"
./autogen.sh \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +27,12 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="3e2e1de77fae2212374e909d15ed8564eee90883c38fee0ca69f58785733b1ac2df848da1bda6f55577d647e0ad27bc3057199e70b6ef01f2a7e2823b24113ba libetpan-1.9.2.tar.gz"
+sha512sums="66e504fbf82445819845a3f1dcb8dc48ad2440993134d43752c754463cee2434a30080718687cd05c579f0da8df6b0f6dfc7572f2882d0dd9dfd327b4ae11fd6 libetpan-1.9.3.tar.gz
+df0ba883c9328b7cab408a54f38e6f9c7f5f603b0f016b7ea2e9fa49aa4118ff6723218bb9942f278028291e1c7e9da0bb1d48ab2c471b0ddf5edc3e78a8a1df missing-header.patch"
diff --git a/user/libetpan/missing-header.patch b/user/libetpan/missing-header.patch
new file mode 100644
index 000000000..603048962
--- /dev/null
+++ b/user/libetpan/missing-header.patch
@@ -0,0 +1,32 @@
+From da9fd7839c9affea48f74a159a789fbb183b4be1 Mon Sep 17 00:00:00 2001
+From: maxice8 <30738253+maxice8@users.noreply.github.com>
+Date: Fri, 1 Feb 2019 01:58:08 -0200
+Subject: [PATCH] add missing stddef.h include for 'NULL' (#322)
+
+clientid.c: In function 'mailimap_clientid':
+clientid.c:66:38: error: 'NULL' undeclared (first use in this function)
+ if (mailimap_read_line(session) == NULL)
+ ^~~~
+clientid.c:66:38: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
+clientid.c:39:1:
++#include <stddef.h>
+
+clientid.c:66:38:
+ if (mailimap_read_line(session) == NULL)
+---
+ src/low-level/imap/clientid.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/low-level/imap/clientid.c b/src/low-level/imap/clientid.c
+index 1c346379..38880dd3 100644
+--- a/src/low-level/imap/clientid.c
++++ b/src/low-level/imap/clientid.c
+@@ -33,6 +33,8 @@
+ # include <config.h>
+ #endif
+
++#include <stdlib.h>
++
+ #include "mailimap_sender.h"
+ #include "clientid_sender.h"
+ #include "clientid.h"
diff --git a/user/libexecinfo/APKBUILD b/user/libexecinfo/APKBUILD
index 3f1040343..2c357a177 100644
--- a/user/libexecinfo/APKBUILD
+++ b/user/libexecinfo/APKBUILD
@@ -10,7 +10,7 @@ license="BSD-2-Clause"
depends=""
makedepends=""
subpackages="$pkgname-dev"
-source="http://distcache.freebsd.org/local-distfiles/itetcu/$pkgname-$pkgver.tar.bz2
+source="https://distcache.freebsd.org/local-distfiles/itetcu/$pkgname-$pkgver.tar.bz2
10-execinfo.patch
20-define-gnu-source.patch
30-linux-makefile.patch
diff --git a/user/libfakekey/APKBUILD b/user/libfakekey/APKBUILD
new file mode 100644
index 000000000..d8221c552
--- /dev/null
+++ b/user/libfakekey/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libfakekey
+pkgver=0.3
+pkgrel=0
+pkgdesc="Library for faking X key-presses from character inputs"
+url="https://www.yoctoproject.org/software-item/matchbox/"
+arch="all"
+license="LGPL-2.0+"
+depends=""
+makedepends="libx11-dev libxtst-dev"
+subpackages="$pkgname-dev"
+source="http://git.yoctoproject.org/cgit.cgi/libfakekey/snapshot/libfakekey-$pkgver.tar.gz"
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ autoreconf -vif
+}
+
+build() {
+ cd "$builddir"
+ LIBS="-lX11" ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="9c09007c6ab616095bdf69669cfdf0d176d44beaeb6b2a0fe8e310bb835d3f241ca7499dcb523c1eeeb24968ef908c1951f97352da419fc1bbb3883cb43dd963 libfakekey-0.3.tar.gz"
diff --git a/user/libfm-extra/APKBUILD b/user/libfm-extra/APKBUILD
index 18a9ddb73..775b4d322 100644
--- a/user/libfm-extra/APKBUILD
+++ b/user/libfm-extra/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libfm-extra
-pkgver=1.3.0.2
+pkgver=1.3.1
pkgrel=0
pkgdesc="Library for generating menu caches"
url="https://wiki.lxde.org/en/PCManFM"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="179cc0350509cb1a8a60b89f8145169857926c7cc3dadb9f61078d4dba79709b248b3d05862e78c11747f1fc4e45825ad6f4916d423ae5e346e5274d34197445 libfm-1.3.0.2.tar.xz"
+sha512sums="f385cf7bf2f4800c11dd6474cd20009cbe1208f1d08570b61954ea8bd84c56cc49880cbf84d4b2aa4b91eb6929d017ebc427649391059b786d7e6fc4535e4f14 libfm-1.3.1.tar.xz"
diff --git a/user/libfm/APKBUILD b/user/libfm/APKBUILD
index fc1021a8e..ad75ec5d9 100644
--- a/user/libfm/APKBUILD
+++ b/user/libfm/APKBUILD
@@ -2,19 +2,21 @@
# Maintainer:
pkgname=libfm
pkgver=1.3.1
-pkgrel=0
+pkgrel=1
pkgdesc="Library for file management"
url="https://wiki.lxde.org/en/PCManFM"
arch="all"
license="GPL-2.0+"
makedepends="dbus-glib-dev glib-dev gtk+2.0-dev intltool libexif-dev
- menu-cache-dev udisks2-dev"
+ libfm-extra-dev menu-cache-dev udisks2-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-replaces="libfm-extra"
-source="https://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.xz"
+source="https://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.xz
+ without-extra.patch
+ "
build() {
cd "$builddir"
+ mv data/libfm.conf data/libfm.conf.sample
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -33,9 +35,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-dev() {
- default_dev
- replaces="libfm-extra-dev"
-}
-
-sha512sums="f385cf7bf2f4800c11dd6474cd20009cbe1208f1d08570b61954ea8bd84c56cc49880cbf84d4b2aa4b91eb6929d017ebc427649391059b786d7e6fc4535e4f14 libfm-1.3.1.tar.xz"
+sha512sums="f385cf7bf2f4800c11dd6474cd20009cbe1208f1d08570b61954ea8bd84c56cc49880cbf84d4b2aa4b91eb6929d017ebc427649391059b786d7e6fc4535e4f14 libfm-1.3.1.tar.xz
+776559307e796309a0a68173292d4ce91c3a241a0e8310a04a96856949677f2f7f8527ae463e4438d635ebe93676dda923a2deed5b76aba007b00093e3a5a109 without-extra.patch"
diff --git a/user/libfm/without-extra.patch b/user/libfm/without-extra.patch
new file mode 100644
index 000000000..c6e86d5e7
--- /dev/null
+++ b/user/libfm/without-extra.patch
@@ -0,0 +1,75 @@
+--- libfm-1.3.1/Makefile.in.old 2018-12-17 19:18:43.000000000 +0000
++++ libfm-1.3.1/Makefile.in 2019-06-04 01:33:11.797284687 +0000
+@@ -461,7 +461,7 @@
+ docs/reference/libfm/version.xml.in
+
+ pkgconfigdir = $(libdir)/pkgconfig
+-pkgconfig_DATA = libfm-extra.pc $(am__append_5)
++pkgconfig_DATA = $(am__append_5)
+ @EXTRALIB_ONLY_FALSE@SUBDIRS = $(DIST_SUBDIRS) $(am__append_3)
+ @EXTRALIB_ONLY_TRUE@SUBDIRS = src $(am__append_3)
+ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
+--- libfm-1.3.1/data/Makefile.in.old 2018-12-17 19:18:43.000000000 +0000
++++ libfm-1.3.1/data/Makefile.in 2019-06-04 01:38:26.663631036 +0000
+@@ -406,7 +406,7 @@
+ mime_DATA = libfm.xml
+ libfmconfdir = $(sysconfdir)/xdg/libfm
+ libfmconf_DATA = \
+- libfm.conf \
++ libfm.conf.sample \
+ $(NULL)
+
+ desktop_in_files = \
+--- libfm-1.3.1/src/Makefile.in.old 2018-12-17 19:18:44.000000000 +0000
++++ libfm-1.3.1/src/Makefile.in 2019-06-04 01:35:34.592026293 +0000
+@@ -909,14 +909,14 @@
+ @EXTRALIB_ONLY_FALSE@ gtk/fm-thumbnail.h \
+ @EXTRALIB_ONLY_FALSE@ $(NULL)
+
+-LIBFM_EXTRA_INCLUDES = \
+- fm-extra.h \
+- fm-version.h \
+- extra/fm-xml-file.h \
+- $(NULL)
++@EXTRALIB_ONLY_TRUE@LIBFM_EXTRA_INCLUDES = \
++@EXTRALIB_ONLY_TRUE@ fm-extra.h \
++@EXTRALIB_ONLY_TRUE@ fm-version.h \
++@EXTRALIB_ONLY_TRUE@ extra/fm-xml-file.h \
++@EXTRALIB_ONLY_TRUE@ $(NULL)
+
+ EXTRA_LTLIBRARIES = libfm-gtk.la libfm-gtk3.la
+-@EXTRALIB_ONLY_FALSE@lib_LTLIBRARIES = libfm-extra.la libfm.la @LIBFM_GTK_LTLIBRARIES@
++@EXTRALIB_ONLY_FALSE@lib_LTLIBRARIES = libfm.la @LIBFM_GTK_LTLIBRARIES@
+ @EXTRALIB_ONLY_TRUE@lib_LTLIBRARIES = libfm-extra.la
+ libfm_la_SOURCES = \
+ $(libfm_SOURCES) \
+@@ -1059,7 +1059,7 @@
+ @ENABLE_DEMO_TRUE@ $(GTK_LIBS) \
+ @ENABLE_DEMO_TRUE@ $(INTLLIBS) \
+ @ENABLE_DEMO_TRUE@ libfm.la \
+-@ENABLE_DEMO_TRUE@ libfm-extra.la \
++@ENABLE_DEMO_TRUE@ -lfm-extra \
+ @ENABLE_DEMO_TRUE@ @LIBFM_GTK_LTLIBRARIES@ \
+ @ENABLE_DEMO_TRUE@ $(NULL)
+
+--- libfm-1.3.1/src/modules/Makefile.in.old 2018-12-17 19:18:44.000000000 +0000
++++ libfm-1.3.1/src/modules/Makefile.in 2019-06-04 01:37:50.457501640 +0000
+@@ -180,8 +180,7 @@
+ $(gtk_menu_trash_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ @ENABLE_GTK_TRUE@am_gtk_menu_trash_la_rpath = -rpath $(pkglibdir)
+-vfs_menu_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+- $(top_builddir)/src/libfm-extra.la
++vfs_menu_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+ vfs_menu_la_SOURCES = vfs-menu.c
+ vfs_menu_la_OBJECTS = vfs_menu_la-vfs-menu.lo
+ vfs_menu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+@@ -459,7 +458,7 @@
+
+ # module-specific parameters
+ vfs_menu_la_CFLAGS = $(MENU_CACHE_CFLAGS) -I$(top_srcdir)/src/extra
+-vfs_menu_la_LIBADD = $(MENU_CACHE_LIBS) $(top_builddir)/src/libfm-extra.la
++vfs_menu_la_LIBADD = $(MENU_CACHE_LIBS) -lfm-extra
+ gtk_fileprop_x_desktop_la_CFLAGS = $(GTK_CFLAGS) -I$(top_srcdir)/src/gtk
+ gtk_fileprop_x_desktop_la_LIBADD = $(GTK_LIBS)
+ gtk_fileprop_x_shortcut_la_CFLAGS = $(GTK_CFLAGS) -I$(top_srcdir)/src/gtk
diff --git a/user/libfontenc/APKBUILD b/user/libfontenc/APKBUILD
index 666a58e81..98813ad25 100644
--- a/user/libfontenc/APKBUILD
+++ b/user/libfontenc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libfontenc
-pkgver=1.1.3
-pkgrel=4
+pkgver=1.1.4
+pkgrel=0
pkgdesc="X11 font encoding library"
url="https://www.X.Org/"
arch="all"
@@ -12,7 +12,6 @@ subpackages="$pkgname-dev"
source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -24,13 +23,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="7346079a6980464f57f5da0e96025bbf4b13fbb7ed976b58d9c54b78525d9d0b4174b4783326a12048971cf5d05221bafe2f41c6b02931743913719cde21740c libfontenc-1.1.3.tar.bz2"
+sha512sums="76fa851d00113241f15fdd5b5bb7e927b8d8b9a82ce3fcb0678b8c7e32cb5e8d898c4bda1d60dafb7748145049d3240627ac34a2360c64e98a7a912ea7c30582 libfontenc-1.1.4.tar.bz2"
diff --git a/user/libfs/APKBUILD b/user/libfs/APKBUILD
index fd242d2f0..f6bfcb5cb 100644
--- a/user/libfs/APKBUILD
+++ b/user/libfs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libfs
-pkgver=1.0.7
+pkgver=1.0.8
pkgrel=0
pkgdesc="X11 Font Server client library"
url="https://www.X.Org/"
@@ -11,11 +11,10 @@ depends="xtrans"
depends_dev="util-macros"
makedepends="$depends_dev xorgproto-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://www.x.org/releases/individual/lib/libFS-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/lib/libFS-$pkgver.tar.bz2"
builddir="$srcdir/libFS-$pkgver"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +26,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="3596e87710c14706ab345377799e9b2dbab79500fd75b4213f9615bf7db7df3265b4dbc65fdeca9d32343b848013780cfa1a43e76229665ce80246332bb8b96f libFS-1.0.7.tar.bz2"
+sha512sums="466198ae5c0b83e3579713d86ddfd0b039f5c5b511cf6d5dc0e9664ee2d40aec9e8929445c8e97394d85faf76a7cf2f81bddb13d23de7ce19919e3b1e36ba56f libFS-1.0.8.tar.bz2"
diff --git a/user/libgda/APKBUILD b/user/libgda/APKBUILD
index e585373cb..0e0c0731a 100644
--- a/user/libgda/APKBUILD
+++ b/user/libgda/APKBUILD
@@ -4,7 +4,7 @@ pkgname=libgda
pkgver=5.2.8
pkgrel=0
pkgdesc="GNOME Database Access library"
-url="http://www.gnome-db.org/"
+url="https://www.gnome-db.org/"
arch="all"
options="!check" # "Disk I/O error" in multi-threaded. all others pass
license="GPL-2.0+ AND LGPL-2.0+"
diff --git a/user/libglade/APKBUILD b/user/libglade/APKBUILD
new file mode 100644
index 000000000..97d20f603
--- /dev/null
+++ b/user/libglade/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libglade
+pkgver=2.6.4
+pkgrel=0
+pkgdesc="GUI construction toolkit for GTK+ 2"
+url="https://gnome.org"
+arch="all"
+license="LGPL-2.0+ AND GPL-2.0+"
+depends=""
+makedepends="gtk+2.0-dev libxml2-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://download.gnome.org/sources/libglade/${pkgver%.*}/libglade-$pkgver.tar.bz2"
+
+prepare() {
+ cd "$builddir"
+ update_config_sub
+ default_prepare
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="b725842febaf4c1f0d305a629ae1c61ea2de24dd6f41937e806c078fada2cea483195ef40f5238ce2045e47130c92559e984f677de667b840dd7fff0f8559735 libglade-2.6.4.tar.bz2"
diff --git a/user/libgnome-keyring/APKBUILD b/user/libgnome-keyring/APKBUILD
new file mode 100644
index 000000000..030194fc5
--- /dev/null
+++ b/user/libgnome-keyring/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libgnome-keyring
+pkgver=3.12.0
+pkgrel=0
+pkgdesc="Gnome library for secure authentication storage"
+url="https://gnome.org"
+arch="all"
+options="!check" # Test suite requires py-dbus.
+license="GPL-2.0+ AND LGPL-2.1+ AND LGPL-2.0+"
+depends=""
+makedepends="dbus-dev dbus-glib-dev gobject-introspection-dev intltool
+ libgcrypt-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://download.gnome.org/sources/libgnome-keyring/${pkgver%.*}/libgnome-keyring-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="dd1777b6e0dd774feb86dbc72d9f2a85f2143e2772a09c438b84aec468ddc5e7ee5ebd534d24f079e5daf4757f2918d0621e26fb671fde0fcef9c74d30f8b9bd libgnome-keyring-3.12.0.tar.xz"
diff --git a/user/libgphoto2/APKBUILD b/user/libgphoto2/APKBUILD
index 7bd75969d..59cd04e35 100644
--- a/user/libgphoto2/APKBUILD
+++ b/user/libgphoto2/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=libgphoto2
-pkgver=2.5.22
+pkgver=2.5.23
pkgrel=0
pkgdesc="Digital camera library"
url="http://www.gphoto.org"
@@ -46,4 +46,4 @@ package() {
"$pkgdir/lib/udev/rules.d/54-gphoto.rules"
}
-sha512sums="8f02c460324c115810f56a9408ecba7aabb801947249c1ee79f0f0a1db1d785d34992508232bad7af112aed2dfc6b213365cee694dd0e7d5edf4072c63fa01cb libgphoto2-2.5.22.tar.bz2"
+sha512sums="f5f8f33e934989e6f832952c6c7c2c9e37c436652a08191e8ccced293447a090cb596fff80b9b0ad52c99c0ffc08a1207ca7ef2b630dc52f4c6d7f86e4cbc95a libgphoto2-2.5.23.tar.bz2"
diff --git a/user/libgsf/APKBUILD b/user/libgsf/APKBUILD
index 086da1e6c..b0916d3da 100644
--- a/user/libgsf/APKBUILD
+++ b/user/libgsf/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=libgsf
-pkgver=1.14.45
+pkgver=1.14.46
pkgrel=0
pkgdesc="Library for manipulating structured files"
url="https://www.gnome.org/"
@@ -45,4 +45,4 @@ package() {
rm -f "$pkgdir"/usr/share/man/man1/gsf-office-thumbnailer.1
}
-sha512sums="2e993150b6fec336a14fd85d5c631e4a3b43187039dab0cba3b8badf62873f39814392db92bb737b92aa9a6d8b4ba41f1fb248c1fe07b88cddd28ded5e4d9ebd libgsf-1.14.45.tar.xz"
+sha512sums="130331f63d48455cc2ce60756e2ac703f8a7f5fa8f1243d9d9321fb87e01bf1d616d085d100a3e5d1cf34fb851ffb77bc642aff6c674ace167b9aa117f4fb1b0 libgsf-1.14.46.tar.xz"
diff --git a/user/libgtop/APKBUILD b/user/libgtop/APKBUILD
new file mode 100644
index 000000000..ea17925e3
--- /dev/null
+++ b/user/libgtop/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libgtop
+pkgver=2.40.0
+pkgrel=0
+pkgdesc="Gnome library for system monitoring"
+url="https://gnome.org"
+arch="all"
+license="GPL-2.0+ AND GPL-2.0-only"
+depends=""
+makedepends="glib-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://download.gnome.org/sources/libgtop/${pkgver%.*}/libgtop-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="a9b2135796d7e41c63a6621f672c385d1baeb74d4af3e55c9164aaaae18c66a8a76b09a6ae8b37f89f120092123c38830e0da840c6613a09035ea62339117861 libgtop-2.40.0.tar.xz"
diff --git a/user/libical/APKBUILD b/user/libical/APKBUILD
index 7a27c56d4..4d03d3c27 100644
--- a/user/libical/APKBUILD
+++ b/user/libical/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer:
pkgname=libical
-pkgver=3.0.4
-pkgrel=2
+pkgver=3.0.5
+pkgrel=0
pkgdesc="Reference implementation of the iCalendar format"
url="https://libical.github.io/libical/"
arch="all"
@@ -18,7 +18,8 @@ build() {
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DSHARED_ONLY=true
+ -DSHARED_ONLY=true \
+ -DENABLE_GTK_DOC=OFF
make
}
@@ -32,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="491a1dd0c33bb823a79165eb6e4f86ef048a44642adfe44f8e69c83598b458ddf8e4365b11afc37d0b21bc1367e0a99096fc7887aae29e7ff4e3bd1cdee64dd9 libical-3.0.4.tar.gz"
+sha512sums="9bf24b535864f66ea0b8d52d902d15fbfd20efbc480b5188ecd1b3d4aafdba063219763f99a8c30413964f7a024c7a902bade6bc40224bc59a438e672f65d656 libical-3.0.5.tar.gz"
diff --git a/user/libinput/APKBUILD b/user/libinput/APKBUILD
index 76b3f44f7..d6b413fa9 100644
--- a/user/libinput/APKBUILD
+++ b/user/libinput/APKBUILD
@@ -1,37 +1,34 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libinput
-pkgver=1.12.3
+pkgver=1.13.1
pkgrel=0
pkgdesc="Library for handling input devices"
url="https://www.freedesktop.org/wiki/Software/libinput/"
arch="all"
+options="!check" # wow, such broken
license="MIT"
-makedepends="eudev-dev libevdev-dev libwacom-dev meson mtdev-dev"
+makedepends="doxygen eudev-dev graphviz libevdev-dev libwacom-dev meson
+ mtdev-dev ninja py3-recommonmark py3-sphinx py3-sphinx-rtd-theme"
checkdepends="check-dev valgrind"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="https://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
build() {
- cd "$builddir"
- # Docs disabled: requires sphinx now
meson --prefix=/usr \
- -Ddocumentation=false \
-Dlibwacom=true \
-Ddebug-gui=false \
- -Dtests=true builddir/
+ -Dtests=false builddir/
ninja -C builddir/
}
check() {
- cd "$builddir"
ninja -C builddir/ test
}
package() {
- cd "$builddir"
DESTDIR="$pkgdir" ninja -C builddir/ install
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="cdc512cb53442ae85d5a23e10db9dd3548bcca0de24d7fcc48954a60773563d84d9b10278b6a693ade95d0789bb5d42bbb8b7cf1c178fe85401cb09a5402ff02 libinput-1.12.3.tar.xz"
+sha512sums="a19deec802e704038df0901c103a82a3370f56e0299f4cc1b6aa84c1832a66fb638e6f9d0fa708b51df6c3b939cdc1271e4ff547c645c566be03dce0bc9ff7e0 libinput-1.13.1.tar.xz"
diff --git a/user/libkdcraw/APKBUILD b/user/libkdcraw/APKBUILD
index 099fb8c0a..647587860 100644
--- a/user/libkdcraw/APKBUILD
+++ b/user/libkdcraw/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkdcraw
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="RAW image file format support for KDE"
url="https://www.KDE.org/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ecd6f8a013e160221644d84b6ed1befc9b45da23ed90bd98eb857bd4c5bb0172c6c7bc0eec5c688d8fa212c67f869c4fbf317a4cbd4abf3762e18c62d0c0d440 libkdcraw-18.12.3.tar.xz"
+sha512sums="835419e536d4d226e57c850cda49762e2fa6033ca3ba759b8d6048eb8a5354c89d56e29721fd7e24866b307993243ea8eb14621c7945ce61f650bec0fc845a00 libkdcraw-19.04.1.tar.xz"
diff --git a/user/libkdegames/APKBUILD b/user/libkdegames/APKBUILD
index 769fdda19..5ca21ecaf 100644
--- a/user/libkdegames/APKBUILD
+++ b/user/libkdegames/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkdegames
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Library for common routines shared between KDE games"
url="https://www.kde.org/applications/games/"
@@ -58,4 +58,4 @@ carddecks() {
mv "$pkgdir"/usr/share/carddecks "$subpkgdir"/usr/share/
}
-sha512sums="12a9cdec2ab2defd337695c3f6d44664d5c187b34e4eed3ab9497f4fd3a8d1450e296699504464572265cc68d4ff5916a4ba86400024b0044335b25a09969c3e libkdegames-18.12.3.tar.xz"
+sha512sums="273eff7f23afd7a3937153a6e79ae5fb0fa0f02b650120b67bc958e840803b5014cc1e530a1874fd3816acd13c58d40311c90b8d4b94d7c464468d1e83fae1fa libkdegames-19.04.1.tar.xz"
diff --git a/user/libkeduvocdocument/APKBUILD b/user/libkeduvocdocument/APKBUILD
index cb7f858cf..888592a12 100644
--- a/user/libkeduvocdocument/APKBUILD
+++ b/user/libkeduvocdocument/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkeduvocdocument
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Library for manipulating KVTML files"
url="https://www.kde.org/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e19a6fceab68e4056cbe7ec1625c3849fe824bec6a809ddfb68d4b0dede377f869e4c4019e2ff03ebb0eaf29b2042e9af69cf798802e29c5aa43bbc235492055 libkeduvocdocument-18.12.3.tar.xz"
+sha512sums="e56d79694bbb1d6a20977232152b4416983b2899429ec3124161bbefa361d7e5551e0e341a361771fe6cc7c69da4084853ecde560762c53fcea574f31f512b3f libkeduvocdocument-19.04.1.tar.xz"
diff --git a/user/libkexiv2/APKBUILD b/user/libkexiv2/APKBUILD
index 463ef365d..5f92ac3b9 100644
--- a/user/libkexiv2/APKBUILD
+++ b/user/libkexiv2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkexiv2
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE integration with Exiv2 EXIF data library"
url="https://www.KDE.org/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ce2bab29a1059e4be498472b2713e813c8eb5ace4cd928eeff3c6e50a656afda651a57a3877d9388163096e575c897f4f84eee914db101cb8dcd1eb614242898 libkexiv2-18.12.3.tar.xz"
+sha512sums="c3738afe3d72bd499d92d1846245d65adcf7fd1074ac1ca5a64dda5bcaef20202c5a8e2372d69a0e493e2097a38bb9099ea6a1e1f5ae3adec03e3dc54fa732d0 libkexiv2-19.04.1.tar.xz"
diff --git a/user/libkipi/APKBUILD b/user/libkipi/APKBUILD
index f8fc34da0..641510f7e 100644
--- a/user/libkipi/APKBUILD
+++ b/user/libkipi/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkipi
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE Image Plugin Interface library"
url="https://www.digikam.org/"
@@ -36,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="85597e17c40c959416d81804a3d01ac7acc2fdb9706db82e28aab1e302511238e4861dae7cd23a08f2900df7d3ba8e506ade689f89d5e8949e6cc8378492430c libkipi-18.12.3.tar.xz"
+sha512sums="61fce9229bbc586529e328f70c99768584c2ae4f0a508c52370fd8741aecb582901c7eba7000eb2d0fd30119fb7fd58f7f7f3803c19f56d95d9da835b3aa7593 libkipi-19.04.1.tar.xz"
diff --git a/user/libkleo/APKBUILD b/user/libkleo/APKBUILD
index 841a3d944..155b4d458 100644
--- a/user/libkleo/APKBUILD
+++ b/user/libkleo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkleo
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE encryption library"
url="https://www.kde.org/"
@@ -13,7 +13,9 @@ depends_dev="qt5-qtbase-dev boost-dev gpgme-dev libgpg-error-dev ki18n-dev kwidg
makedepends="$depends_dev cmake extra-cmake-modules kcompletion-dev kconfig-dev
kcodecs-dev kcoreaddons-dev kpimtextedit-dev kwindowsystem-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/libkleo-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/libkleo-$pkgver.tar.xz
+ egregious-versions.patch
+ "
build() {
cd "$builddir"
@@ -41,4 +43,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="de7348f2d8aae0d250613fcb7f0fb92e9c9aa979d1457e95e4a3908fddb69ea59f1d70311f24c4affce61c64b638dc95901c80b9d6a4ae019dfb115012a9b348 libkleo-18.12.3.tar.xz"
+sha512sums="790d9723e0177491de36f102f1f77e01e955c9c13a2c8bef50365ab9cfaa810ac69c4291c8c27dae9e5b7f8e589cb7f83b031ad1f88c6039a4f51ff5104380a0 libkleo-19.04.1.tar.xz
+d7b661a243c533123af0e97bcebdabb9f2d9fd67c7ae10ae91484de68ebca2b2aa7c745a9d2d33955631b22487c21491671b42cafb803f7d0cc4af731317319d egregious-versions.patch"
diff --git a/user/libkleo/egregious-versions.patch b/user/libkleo/egregious-versions.patch
new file mode 100644
index 000000000..d32f12d03
--- /dev/null
+++ b/user/libkleo/egregious-versions.patch
@@ -0,0 +1,22 @@
+libKleo uses no new APIs.
+
+--- libkleo-19.04.0/CMakeLists.txt.old 2019-04-12 00:16:32.000000000 +0000
++++ libkleo-19.04.0/CMakeLists.txt 2019-04-19 06:31:09.576149789 +0000
+@@ -3,7 +3,7 @@
+
+ project(libkleo VERSION ${PIM_VERSION})
+
+-set(KF5_MIN_VERSION "5.56.0")
++set(KF5_MIN_VERSION "5.54.0")
+
+ find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
+ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+@@ -24,7 +24,7 @@
+
+
+ set(LIBKLEO_LIB_VERSION ${PIM_VERSION})
+-set(QT_REQUIRED_VERSION "5.10.0")
++set(QT_REQUIRED_VERSION "5.9.0")
+ set(KDEPIMTEXTEDIT_VERSION "5.11.1")
+
+ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets)
diff --git a/user/libkmahjongg/APKBUILD b/user/libkmahjongg/APKBUILD
index 44b2e9067..dc618ce16 100644
--- a/user/libkmahjongg/APKBUILD
+++ b/user/libkmahjongg/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libkmahjongg
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Library with Mah Jongg logic"
url="https://www.kde.org/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c4e2b36be5a3ca0987503593136cbfcccef3cc9db914132b6fe121b5979d786d78f6ffefb0567f4e0ec1e3a52b4c1a3eab474d6286fda0b13b24188e32a3d869 libkmahjongg-18.12.3.tar.xz"
+sha512sums="fd0b4525d7994594240a438b52ad94914a58d5406503024fa7a9b1ac69cb1eba13ac9e1730583ce94a55ed73ea2091e8d7198efc5f057255d958db15dc742b41 libkmahjongg-19.04.1.tar.xz"
diff --git a/user/libksane/APKBUILD b/user/libksane/APKBUILD
index 7a2b13670..233c52a2c 100644
--- a/user/libksane/APKBUILD
+++ b/user/libksane/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libksane
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="KDE scanning library"
url="https://www.kde.org"
@@ -12,7 +12,9 @@ depends_dev="sane-dev"
makedepends="$depends_dev cmake extra-cmake-modules qt5-qtbase-dev ki18n-dev
ktextwidgets-dev kwallet-dev kwidgetsaddons-dev"
subpackages="$pkgname-dev $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/libksane-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/libksane-$pkgver.tar.xz
+ frameworks.patch
+ "
build() {
cd "$builddir"
@@ -40,4 +42,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="af14a341275d70a0b3af3c93270bbadecfcd2cce4df0ab077aaa967f8bec8fce292b7fcb190f8b3b43d05bf5fea70f4cae7716df1d62b5950cbbe7d9e3ce3e49 libksane-18.12.3.tar.xz"
+sha512sums="ee7b102a313b844a027461bb16cf7c283916b2df07a8bd76e29488f34cc6215f7dde6834a172a626dd3be941759cfffab4dd961338d0b78a5358109ae1234b7b libksane-19.04.1.tar.xz
+60e0e8b073499e932d626a65c5cc23f58d2701921da547733d2736b58c6d412c8d6e782884916390ff16e02183a53ad283712f0bcf2cdcf5a0eb0d7029bb1ba8 frameworks.patch"
diff --git a/user/libksane/frameworks.patch b/user/libksane/frameworks.patch
new file mode 100644
index 000000000..f44ad09db
--- /dev/null
+++ b/user/libksane/frameworks.patch
@@ -0,0 +1,11 @@
+--- libksane-19.04.0/CMakeLists.txt.old 2019-04-12 00:06:29.000000000 +0000
++++ libksane-19.04.0/CMakeLists.txt 2019-04-18 22:42:00.675733179 +0000
+@@ -26,7 +26,7 @@
+ include(KDECMakeSettings)
+ include(GenerateExportHeader)
+
+-set(KF5_VERSION "5.55.0")
++set(KF5_VERSION "5.54.0")
+
+ ecm_setup_version(
+ ${KF5_VERSION}
diff --git a/user/libmatekbd/APKBUILD b/user/libmatekbd/APKBUILD
new file mode 100644
index 000000000..f7ea8d723
--- /dev/null
+++ b/user/libmatekbd/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libmatekbd
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Keyboard libraries for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+"
+depends=""
+makedepends="gobject-introspection-dev gtk+3.0-dev intltool libice-dev
+ libxklavier-dev"
+subpackages="$pkgname-dev $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/libmatekbd-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="79f19455bb6c0df5a50e445907ac12d6bd92a54cd086e0303890bc67350de3d94b2fd665efdaec85f84a42d76af430ad0a1b9639da078179ac25d27c4a325281 libmatekbd-1.22.0.tar.xz"
diff --git a/user/libmatemixer/APKBUILD b/user/libmatemixer/APKBUILD
new file mode 100644
index 000000000..a3b1fc797
--- /dev/null
+++ b/user/libmatemixer/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libmatemixer
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Sound mixer library for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+"
+depends=""
+makedepends="alsa-lib-dev intltool pulseaudio-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-alsa $pkgname-pulse"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/libmatemixer-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+alsa() {
+ pkgdesc="$pkgdesc (ALSA backend)"
+ install_if="$pkgname=$pkgver-r$pkgrel alsa-lib"
+ mkdir -p "$subpkgdir"/usr/lib/$pkgname
+ mv "$pkgdir"/usr/lib/$pkgname/$pkgname-alsa.so "$subpkgdir"/usr/lib/$pkgname
+}
+
+pulse() {
+ pkgdesc="$pkgdesc (PulseAudio backend)"
+ install_if="$pkgname=$pkgver-r$pkgrel pulseaudio"
+ mkdir -p "$subpkgdir"/usr/lib/$pkgname
+ mv "$pkgdir"/usr/lib/$pkgname/$pkgname-pulse.so "$subpkgdir"/usr/lib/$pkgname
+}
+
+sha512sums="6eaa006142601c077ac70739e637273288a4b9713dfc4179341c4832ae4e3b362e92104e150132ee274224d6c5dc057d812b7e1814e49a7690581de6d81e0db8 libmatemixer-1.22.0.tar.xz"
diff --git a/user/libmateweather/APKBUILD b/user/libmateweather/APKBUILD
new file mode 100644
index 000000000..3d6f9573d
--- /dev/null
+++ b/user/libmateweather/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libmateweather
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Weather library for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.1+ AND GPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool libsoup-dev libxml2-dev libxml2-utils"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/libmateweather-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="43371fc615dda2b9042633a63ac4c1fb0b1ea43b20c783e443b0f57e10ad8fddedbd593f03bd6c942729f0a9c80484266fe1ef900d128fa4b02f80d6a80ae9bd libmateweather-1.22.0.tar.xz"
diff --git a/user/libmatroska/APKBUILD b/user/libmatroska/APKBUILD
index ea56219a2..6a8ea1f9d 100644
--- a/user/libmatroska/APKBUILD
+++ b/user/libmatroska/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer:
pkgname=libmatroska
-pkgver=1.4.9
+pkgver=1.5.2
pkgrel=0
pkgdesc="Library to parse Matroska files"
url="https://www.matroska.org/"
@@ -29,4 +29,4 @@ package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="281224b66ce7ef39daf0f186cda1144250e190b914e64f4f2524e8bf0170a3d18dbc50f204d4ca8d7eaffe183a61f96c92ba6ec4325bacb068272d62cdbcef33 libmatroska-1.4.9.tar.xz"
+sha512sums="122b71b91ae89e2a7cc89db17655a006248d58f18d913b4f9ffc885aef7e39681a3a16eed43cd8ecd949c570a939007797c79829f5ee87d08562aee3f0224ba2 libmatroska-1.5.2.tar.xz"
diff --git a/user/libmbim/APKBUILD b/user/libmbim/APKBUILD
new file mode 100644
index 000000000..8c7142fe8
--- /dev/null
+++ b/user/libmbim/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=libmbim
+pkgver=1.18.2
+pkgrel=0
+pkgdesc="Library for interfacing with WWAN modems"
+url="https://www.freedesktop.org/wiki/Software/libmbim/"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.0+"
+depends=""
+makedepends="glib-dev libgudev-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.freedesktop.org/software/libmbim/libmbim-$pkgver.tar.xz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-more-warnings
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="2da289f60d2fb9678f969b591f8addc724bef8c2780011e62567a9ade2ebc71bc4dd76e54f93335aa475e65c733e3628d9f2f96f81f8797ec809042c046eb828 libmbim-1.18.2.tar.xz"
diff --git a/user/libmpeg2/APKBUILD b/user/libmpeg2/APKBUILD
index f72f51e93..f24035f54 100644
--- a/user/libmpeg2/APKBUILD
+++ b/user/libmpeg2/APKBUILD
@@ -1,25 +1,26 @@
# Maintainer:
pkgname=libmpeg2
pkgver=0.5.1
-pkgrel=9
+pkgrel=10
pkgdesc="Library for decoding MPEG-1 and MPEG-2 video streams"
url="http://libmpeg2.sourceforge.net/"
arch="all"
license="GPL-2.0+ AND LGPL-2.0+"
subpackages="$pkgname-dev $pkgname-doc mpeg2dec"
makedepends="libx11-dev libice-dev libsm-dev libxext-dev libxv-dev"
-source="https://distfiles.gentoo.org/distfiles/libmpeg2-$pkgver.tar.gz
+source="http://distfiles.gentoo.org/distfiles/libmpeg2-$pkgver.tar.gz
arm-private-symbols.patch
arm-textrel.patch
+ altivec.patch
"
prepare() {
update_config_sub
default_prepare
+ autoreconf -vif
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -33,12 +34,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -50,4 +49,5 @@ mpeg2dec() {
sha512sums="3648a2b3d7e2056d5adb328acd2fb983a1fa9a05ccb6f9388cc686c819445421811f42e8439418a0491a13080977f074a0d8bf8fa6bc101ff245ddea65a46fbc libmpeg2-0.5.1.tar.gz
334e4e0b1e2877311503d2907f4f65c26d6a83ee79308c49697b2f3d2b8da9ac665e19ab419d85a944eaa34e1d43f512d1418a372cd444381d66f71df2a92c83 arm-private-symbols.patch
-888b8b4f90ece7f8dcd54895c36e2a93471de167f83cddc67d6943baf9e7ea19abd31ab055f6805629a2e176a1057e18de6a053fdea69cec90483a5165efa9c9 arm-textrel.patch"
+888b8b4f90ece7f8dcd54895c36e2a93471de167f83cddc67d6943baf9e7ea19abd31ab055f6805629a2e176a1057e18de6a053fdea69cec90483a5165efa9c9 arm-textrel.patch
+d985e832cf0d10f6f63f3ac0140bddb3c4bd92c44c09a99ec1bd195f36d69b01a14a020ab7ce6d6c154439d4d006cd5da1fa23dbf2c694a1f2e6b1793c8d416e altivec.patch"
diff --git a/user/libmpeg2/altivec.patch b/user/libmpeg2/altivec.patch
new file mode 100644
index 000000000..7edfaa344
--- /dev/null
+++ b/user/libmpeg2/altivec.patch
@@ -0,0 +1,16 @@
+--- a/configure.ac.bak 2010-05-25 17:12:14.756245990 +0000
++++ b/configure.ac 2010-05-25 17:11:51.629581723 +0000
+@@ -79,11 +79,10 @@
+ CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS"
+ AC_MSG_CHECKING([if <altivec.h> is needed])
+ AC_TRY_COMPILE([],
+- [typedef vector int t;
+- vec_ld(0, (unsigned char *)0);],
++ [vector int t; t = vec_add(t,t);],
+ [have_altivec=yes; AC_MSG_RESULT(no)],
+ [AC_TRY_COMPILE([#include <altivec.h>],
+- [typedef vector int t; vec_ld(0, (unsigned char *)0);],
++ [vector int t; t = vec_add(t,t);],
+ [AC_DEFINE([HAVE_ALTIVEC_H],,
+ [Define to 1 if you have the <altivec.h> header.])
+ have_altivec=yes; AC_MSG_RESULT(yes)],
diff --git a/user/libndp/APKBUILD b/user/libndp/APKBUILD
new file mode 100644
index 000000000..0ea72e6d4
--- /dev/null
+++ b/user/libndp/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=libndp
+pkgver=1.7
+pkgrel=0
+pkgdesc="Library for IPv6 Neighbour Discovery Protocol"
+url="http://libndp.org/"
+arch="all"
+license="LGPL-2.1-only"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://libndp.org/files/libndp-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="4aadaf6d7d8b9e57983cba17ce92715cceef6635613c4c5326decb97fb575ce5f5d5586a629645e3605a03e385c6481bfb6c4458216be2bbd36959af62783790 libndp-1.7.tar.gz"
diff --git a/user/libnice/APKBUILD b/user/libnice/APKBUILD
index 15c544c34..d7ab8cdb8 100644
--- a/user/libnice/APKBUILD
+++ b/user/libnice/APKBUILD
@@ -6,10 +6,10 @@ pkgrel=0
pkgdesc="GLib-based Interactive Connectivity Establishment (ICE) library"
url="https://nice.freedesktop.org/wiki/"
arch="all"
+options="!check" # test-send-recv fails on 32-bit platforms
license="MPL-1.1 AND LGPL-2.1-only"
depends=""
-depends_dev="glib-dev"
-makedepends="$depends_dev gobject-introspection-dev gstreamer-dev openssl-dev"
+makedepends="glib-dev gobject-introspection-dev gstreamer-dev openssl-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://nice.freedesktop.org/releases/libnice-$pkgver.tar.gz
dont-error-on-socket-close.patch
diff --git a/user/libnotify/APKBUILD b/user/libnotify/APKBUILD
index 21b1ee48d..ad021ad4f 100644
--- a/user/libnotify/APKBUILD
+++ b/user/libnotify/APKBUILD
@@ -1,33 +1,25 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libnotify
-pkgver=0.7.7
-pkgrel=2
+pkgver=0.7.8
+pkgrel=0
pkgdesc="Desktop notification library"
url="https://developer.gnome.org/notification-spec/"
arch="all"
options="!check" # Test suite requires running X11
license="LGPL-2.1+"
depends=""
-depends_dev="dbus-dev"
-makedepends="$depends_dev gdk-pixbuf-dev glib-dev autoconf automake
- gobject-introspection-dev"
+makedepends="gdk-pixbuf-dev glib-dev gobject-introspection-dev gtk-doc
+ gtk+3.0-dev meson ninja"
subpackages="$pkgname-dev $pkgname-doc"
source="https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"
build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --disable-static \
- --disable-tests
- make
+ meson --prefix=/usr builddir/
+ ninja -C builddir/
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C builddir/ install
}
-sha512sums="133874114407bf12267ef609f5941657181760bc7cf115c5973b1810cb72bf55072b621c143e32be1e7e8b49f244851925d14bc3f9f26457747b8a8695ee9954 libnotify-0.7.7.tar.xz"
+sha512sums="9973d7a1af5dd7cfbaa0d0d2c9e72a40df9d814967fde47e95763a69690cc4ed32ecf713d75f91f3dff99a693eff9dab963be124e0530ebf231d517a44e75e94 libnotify-0.7.8.tar.xz"
diff --git a/user/libopenraw/APKBUILD b/user/libopenraw/APKBUILD
index e06f1637d..b29becc3f 100644
--- a/user/libopenraw/APKBUILD
+++ b/user/libopenraw/APKBUILD
@@ -4,22 +4,19 @@ pkgname=libopenraw
pkgver=0.1.3
pkgrel=0
pkgdesc="Library for decoding RAW camera image formats"
-url="https://libopenraw.freedesktop.org/wiki/"
+url="https://libopenraw.freedesktop.org/"
arch="all"
license="LGPL-2.1+ AND LGPL-3.0+ AND GPL-2.0+"
makedepends="boost-dev libjpeg-turbo-dev libxml2-dev glib-dev gdk-pixbuf-dev"
subpackages="$pkgname-dev"
source="https://libopenraw.freedesktop.org/download/libopenraw-$pkgver.tar.bz2"
-sha512sums="c56d84610f0cf5da970c4c0c791fccf2f7e9f7c7dacf2aeac0b2702ce9a0cd3aaa2f6db0794b0466e1dd8316771973db1e64d013f635c1166b7ff2eebdcbf029 libopenraw-0.1.3.tar.bz2"
prepare() {
- cd "$builddir"
default_prepare
update_config_sub
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,12 +28,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
+sha512sums="c56d84610f0cf5da970c4c0c791fccf2f7e9f7c7dacf2aeac0b2702ce9a0cd3aaa2f6db0794b0466e1dd8316771973db1e64d013f635c1166b7ff2eebdcbf029 libopenraw-0.1.3.tar.bz2"
diff --git a/user/libpeas/APKBUILD b/user/libpeas/APKBUILD
new file mode 100644
index 000000000..942d22442
--- /dev/null
+++ b/user/libpeas/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=libpeas
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="GObject-based plugin framework"
+url="https://gnome.org"
+arch="all"
+license="LGPL-2.1+"
+depends=""
+makedepends="intltool glib-dev gobject-introspection-dev gtk+3.0-dev
+ py3-pygobject py3-pygobject-dev python3-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+langdir="/usr/lib/locale"
+source="https://download.gnome.org/sources/libpeas/${pkgver%.*}/libpeas-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="9c1da1d4b5688c0f4d0647f3519dbfbed94c8921091057aaef0e41bf5ed3f8faf04a49ce9e4eea3fd7bf4ac4dfa1727d76a5f6dae2a4f52228d4c8c74b420c91 libpeas-1.22.0.tar.xz"
diff --git a/user/libpng/APKBUILD b/user/libpng/APKBUILD
index e3504e859..ec109c15a 100644
--- a/user/libpng/APKBUILD
+++ b/user/libpng/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=libpng
-pkgver=1.6.36
+pkgver=1.6.37
pkgrel=0
pkgdesc="Portable Network Graphics library"
url="http://www.libpng.org/"
@@ -55,6 +55,6 @@ utils() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr
}
-sha512sums="8b9c54c5555d6a736eaf298cbbae1e08199001202bacabc6212d75fa619e2ecf06bcf36db0321bfdb90a3dc5cde361c8d951002701637a557c34eae80f5d0936 libpng-1.6.36.tar.gz
-8fa213204768b058459ffd5eae6b3661c3f185d3baf1913da4337e7b7855e567f2525e7f67411c32fa8cb177a5f93d538c3d0ce17a94d4aa71bd9cffabe8b311 libpng-1.6.36-apng.patch.gz
+sha512sums="2ce2b855af307ca92a6e053f521f5d262c36eb836b4810cb53c809aa3ea2dcc08f834aee0ffd66137768a54397e28e92804534a74abb6fc9f6f3127f14c9c338 libpng-1.6.37.tar.gz
+226adcb3a8c60f2267fe2976ab531329ae43c2603dab4d0cf8f16217d64069936b879f3d6516b75d259c47d6f5c5b1f24f887602206c8e46abde0fb7f5c7946b libpng-1.6.37-apng.patch.gz
e3fae918f14bc34e7c126892f69527c6e1b4d72593835ece839d9a28cff55a886b2030f877cf9e29b2c97abf2e47bbb5ba54584828edd2a841c2556f330b9c7e libpng-fix-arm-neon.patch"
diff --git a/user/libpsl/APKBUILD b/user/libpsl/APKBUILD
index 9f4e97f9e..38ba69198 100644
--- a/user/libpsl/APKBUILD
+++ b/user/libpsl/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=libpsl
-pkgver=0.20.2
+pkgver=0.21.0
pkgrel=0
pkgdesc="C library for examining the Public Suffix List"
url="https://rockdaboot.github.io/libpsl"
@@ -34,5 +34,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fa9f6f7f0447d9fe00f5dfca5262c56ff26217eea44d0f7fc1e5d982224c41874e753f0aa06dd9e5d7d03d4f04e3dacd4f36034cc8dd0fc6e2c28b49a23e62fe libpsl-0.20.2.tar.gz
+sha512sums="165c4f0b0640a813d512bd916e1532e32e43c8c81a5efd048f3a5b07b1b3c9129b4c4b5008b8b11a7c1b3914caea17564321389cd350bf1d687d53a97f2afa4d libpsl-0.21.0.tar.gz
00c9c09bac334efcd7ae6240b740ac88453425cc380cc23b443a0579f4ccabf86eafdb90f5f05027cc55ee20f6c1d4388939792a55cd95705d5e6919d40b30e5 use-python3.patch"
diff --git a/user/libqmatrixclient/APKBUILD b/user/libqmatrixclient/APKBUILD
index 6d8a0ad5d..7dbe67024 100644
--- a/user/libqmatrixclient/APKBUILD
+++ b/user/libqmatrixclient/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libqmatrixclient
-pkgver=0.4.0
+pkgver=0.5.1.2
pkgrel=0
pkgdesc="Library to interface with Matrix chat systems using Qt 5"
url="https://matrix.org/docs/projects/sdk/libqmatrixclient.html"
@@ -9,12 +9,11 @@ arch="all"
license="LGPL-2.1+"
depends=""
depends_dev="qt5-qtbase-dev"
-makedepends="$depends_dev cmake"
+makedepends="$depends_dev cmake qt5-qtmultimedia-dev"
subpackages="$pkgname-dev"
-source="libqmatrixclient-$pkgver.tar.gz::https://github.com/QMatrixClient/libqmatrixclient/archive/v$pkgver.tar.gz"
+source="libqmatrixclient-$pkgver.tar.gz::https://github.com/QMatrixClient/libqmatrixclient/archive/$pkgver.tar.gz"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -30,13 +29,11 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="552b866ef4adbde72518f96b42beb08dc99f80ff0388717e99c4287c463db21469d91e188b3d5c17850266ea313a36fed0cd01431f08632e3d1403f3b7725e40 libqmatrixclient-0.4.0.tar.gz"
+sha512sums="4e7cac3cc6a1ffc2a5a5ebf5c38dec72c3293f96b56d533838dea745a9b0de9a1ab14da666efcdad4f7d7a70279b922a0dbb3a3e26d1ad83f5b98d04fc9912a2 libqmatrixclient-0.5.1.2.tar.gz"
diff --git a/user/libqmi/APKBUILD b/user/libqmi/APKBUILD
new file mode 100644
index 000000000..f747cdd65
--- /dev/null
+++ b/user/libqmi/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=libqmi
+pkgver=1.22.4
+pkgrel=0
+pkgdesc="Library for interfacing with Qualcomm modems"
+url="https://www.freedesktop.org/wiki/Software/libqmi/"
+arch="all"
+license="LGPL-2.0+"
+depends=""
+makedepends="glib-dev libgudev-dev python3"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.freedesktop.org/software/libqmi/libqmi-$pkgver.tar.xz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-more-warnings
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="eaa17cb7a19c73db0e1c50c714dab73ad5f97d85de86b74135085ecf31d048b80f2476509139832327925eeca97bee24e18bab33d87e814fe9b7f190ee823a34 libqmi-1.22.4.tar.xz"
diff --git a/user/libsecret/APKBUILD b/user/libsecret/APKBUILD
index 4fc79e95b..cb883270e 100644
--- a/user/libsecret/APKBUILD
+++ b/user/libsecret/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libsecret
-pkgver=0.18.7
+pkgver=0.18.8
pkgrel=0
pkgdesc="Library for storing and retrieving passphrases"
url="https://wiki.gnome.org/Projects/Libsecret"
@@ -15,7 +15,6 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://ftp.acc.umu.se/pub/gnome/sources/libsecret/0.18/libsecret-$pkgver.tar.xz"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +26,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="a8890ec52dcfba585fd665ee89e81f4a1d6a04b67bcf4f3422f27973a4ef6fc1281bf54e92160d39dd696ae08a633bab5fe25c1124baf32eb5b414e98ddfa084 libsecret-0.18.7.tar.xz"
+sha512sums="9e2ec8d458af6ed078bf3c6d956599f73f2cc7720332c424e9aede1f77f3d969c5122cf7b70899bc07ad96a3a628bf79bc5fffa88274d1ef2bcaaca6719f90d4 libsecret-0.18.8.tar.xz"
diff --git a/user/libshout/APKBUILD b/user/libshout/APKBUILD
index 5e0f491b5..f3b9e2796 100644
--- a/user/libshout/APKBUILD
+++ b/user/libshout/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer:
pkgname=libshout
-pkgver=2.4.1
-pkgrel=2
+pkgver=2.4.2
+pkgrel=0
pkgdesc="Library for accessing a Icecast server"
url="http://www.icecast.org/"
arch="all"
@@ -29,4 +29,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4d4b958947e020de3330d49d39d59220fc89315f25f653a7456b9aa24ca9566fca30bb3d65e6348e79958656096b6b864ea8885157d24e55c8d84d6604670219 libshout-2.4.1.tar.gz"
+sha512sums="ae4b042009887de22d105eb8238f4362f6ff51bd645fd51b5a87c4b5e3f5fdc99e9f99f85c24ae2e9d23eab92b854a7e733bf9f8cc61a8362ce984f02a014e93 libshout-2.4.2.tar.gz"
diff --git a/user/libsoup/APKBUILD b/user/libsoup/APKBUILD
index b69b2ea55..65c1d4edc 100644
--- a/user/libsoup/APKBUILD
+++ b/user/libsoup/APKBUILD
@@ -1,38 +1,32 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=libsoup
-pkgver=2.64.2
+pkgver=2.66.2
pkgrel=0
pkgdesc="GObject-based HTTP library"
url="https://wiki.gnome.org/Projects/libsoup"
arch="all"
-options="!check" # test suite requires poorly-configured apache-httpd
license="LGPL-2.0+ AND LGPL-2.1+"
makedepends="glib-dev libxml2-dev sqlite-dev libpsl-dev intltool vala-dev
- gobject-introspection-dev glib-networking"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://download.gnome.org/sources/libsoup/2.64/libsoup-$pkgver.tar.xz"
+ gobject-introspection-dev glib-networking meson ninja krb5-dev"
+subpackages="$pkgname-dev $pkgname-lang"
+source="https://download.gnome.org/sources/libsoup/${pkgver%.*}/libsoup-$pkgver.tar.xz"
build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
+ mkdir -p "$builddir"/build
+ cd "$builddir"/build
+ meson -Dprefix=/usr ..
+ ninja
}
check() {
- cd "$builddir"
- make check
+ cd "$builddir"/build
+ ninja test
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
+ cd "$builddir"/build
+ DESTDIR="$pkgdir" ninja install
}
-sha512sums="c001495be4e1eafd169b904431b22e961b52f5a3202f2e75b0657281cbfd91153148765bd95378bba3e85a66d7eaca428750641f20c07ca3232d1f9bdabdc90f libsoup-2.64.2.tar.xz"
+sha512sums="1df443470239f23d22301e37e36f3d34963352ee0122f317cd15b19d90115831091bddcee27bc6f0d4994adcf4e5bd9c0395de2bd7f39ae305ba0edea7789092 libsoup-2.66.2.tar.xz"
diff --git a/user/libssh2/APKBUILD b/user/libssh2/APKBUILD
index 9497d8ace..cb6e11f97 100644
--- a/user/libssh2/APKBUILD
+++ b/user/libssh2/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer:
pkgname=libssh2
-pkgver=1.8.0
-pkgrel=2
+pkgver=1.8.2
+pkgrel=0
pkgdesc="Library for accessing SSH servers"
url="https://libssh2.org/"
arch="all"
@@ -12,11 +12,6 @@ makedepends_host="openssl-dev zlib-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://libssh2.org/download/libssh2-$pkgver.tar.gz"
-prepare() {
- cd "$builddir"
- update_config_sub
-}
-
build() {
cd "$builddir"
./configure \
@@ -42,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="289aa45c4f99653bebf5f99565fe9c519abc204feb2084b47b7cc3badc8bf4ecdedd49ea6acdce8eb902b3c00995d5f92a3ca77b2508b92f04ae0e7de7287558 libssh2-1.8.0.tar.gz"
+sha512sums="390ab4ad93bb738415ec11a6eb92806c9b9e9e5d8ee7c442d841a58b4292c1c447a9bc99e153ba464e2e11f9c0d1913469303598c3046722d1ae821991e8cb93 libssh2-1.8.2.tar.gz"
diff --git a/user/libtap/APKBUILD b/user/libtap/APKBUILD
index 0c47e0468..b8a992768 100644
--- a/user/libtap/APKBUILD
+++ b/user/libtap/APKBUILD
@@ -1,27 +1,23 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libtap
-pkgver=1.12.0
+pkgver=1.14.0
pkgrel=0
pkgdesc="C library implementing the Test Anything Protocol (TAP)"
url="https://www.shlomifish.org/open-source/projects/libtap/"
arch="all"
license="BSD-3-Clause"
depends=""
-depends_dev=""
makedepends="cmake perl"
subpackages="$pkgname-dev $pkgname-doc"
-source="http://web-cpan.shlomifish.org/downloads/libtap-$pkgver.tar.bz2"
-builddir="$srcdir/libtap-$pkgver"
+source="http://web-cpan.shlomifish.org/downloads/libtap-$pkgver.tar.xz"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
@@ -31,13 +27,11 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="510f85a5b10525cf8b67a0bcc67213e43a9e752def5293fecbc97f7058d24256a85cd8ce8c0b408186ca676f3ca700ddbeea4c8c7558352665956b4233258d31 libtap-1.12.0.tar.bz2"
+sha512sums="1d78f9ed5b554a7a9f8a2a6e3dcb30e09ba5bd4b98c77499e57599be615413f6c6dddb3dd498b6ac49a5449e54e1134a6a4816adaab5b993e3c0027edc2a2404 libtap-1.14.0.tar.xz"
diff --git a/user/libtommath/APKBUILD b/user/libtommath/APKBUILD
index 41e3a1ea1..826ecf131 100644
--- a/user/libtommath/APKBUILD
+++ b/user/libtommath/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libtommath
-pkgver=1.1.0_rc1
+pkgver=1.1.0
pkgrel=0
pkgdesc="Theoretic multiple-precision integer library"
url="https://www.libtom.net/LibTomMath/"
@@ -14,18 +14,15 @@ source="https://github.com/libtom/libtommath/releases/download/v${pkgver/_/-}/lt
builddir="$srcdir/$pkgname-${pkgver/_/-}"
build() {
- cd "$builddir"
make PREFIX=/usr -f makefile.shared
}
check() {
- cd "$builddir"
make PREFIX=/usr -f makefile.shared test_standalone
}
package() {
- cd "$builddir"
make PREFIX=/usr DESTDIR="$pkgdir" -f makefile.shared install
}
-sha512sums="4cee5d59cd2eaf14591ee280dcdcdd5915f38584b7259b5752e7316cd1a9966f1c969ee3b64d136ae7044c5834cfc8c781db300ede503ec2e657083de3692fd2 ltm-1.1.0-rc1.tar.xz"
+sha512sums="6d1b8b09d5b975a2b84ef6ab9cb1cc63db2f0503a906e499cb9d7eaba3f487be6e7f69bf692b188f888418c61ea563aa7e2411638d8979eac426b3d603ad1b91 ltm-1.1.0.tar.xz"
diff --git a/user/libuninameslist/APKBUILD b/user/libuninameslist/APKBUILD
index 1deffebdc..3b7102955 100644
--- a/user/libuninameslist/APKBUILD
+++ b/user/libuninameslist/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libuninameslist
-pkgver=20180701
+pkgver=20190305
pkgrel=0
pkgdesc="Library of Unicode names and annotation data"
url=" "
@@ -13,7 +13,6 @@ subpackages="$pkgname-dev $pkgname-doc py3-uninameslist:py3:noarch"
source="https://github.com/fontforge/libuninameslist/releases/download/$pkgver/libuninameslist-dist-$pkgver.tar.gz"
build() {
- cd "$builddir"
PYTHON=python3 ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,12 +24,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -41,4 +38,4 @@ py3() {
python3 setup.py install --prefix=/usr --root="$subpkgdir"
}
-sha512sums="839f8a0c3a81b4b19ce6ddfa08fa9ca99fdcefe2ef2b2c5515b276fab594fb5325ae9c83b58e19c559c033e880bd098687022c8ec3da028b143f4a72c471f19c libuninameslist-dist-20180701.tar.gz"
+sha512sums="4dc30a4f0919722c7538ed2eda39c3e63d072ee17c809ca25e0b6546d29110607c27c6e969839439c1432b4b40fca3e888c428ed26d1e0328a5f481a2db3cc73 libuninameslist-dist-20190305.tar.gz"
diff --git a/user/libutempter/APKBUILD b/user/libutempter/APKBUILD
index 058530412..3e8a0601e 100644
--- a/user/libutempter/APKBUILD
+++ b/user/libutempter/APKBUILD
@@ -3,7 +3,7 @@ pkgname=libutempter
pkgver=1.1.6
pkgrel=1
pkgdesc="Library to record virtual terminal sessions in login files"
-url="No URL"
+url=" "
arch="all"
options="!check suid" # No test suite.
license="LGPL-2.1+"
diff --git a/user/libva/APKBUILD b/user/libva/APKBUILD
index 83bfad60e..302e7c4f3 100644
--- a/user/libva/APKBUILD
+++ b/user/libva/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libva
-pkgver=2.4.0
+pkgver=2.4.1
pkgrel=0
pkgdesc="Video Acceleration (VA) API for Linux"
url="https://github.com/intel/libva"
@@ -10,16 +10,13 @@ options="!check" # No test suite.
license="MIT"
depends=""
depends_dev="mesa-dev"
-makedepends="$depends_dev autoconf automake libtool"
+makedepends="$depends_dev autoconf automake libtool cmd:which"
subpackages="$pkgname-dev"
-source="https://github.com/intel/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.bz2"
+source="$pkgname-$pkgver.tar.gz::https://github.com/intel/$pkgname/archive/$pkgver.tar.gz"
prepare() {
default_prepare
- # we need to regen the configure script which will unconditionally
- # depend on wayland scanner otherwise
- libtoolize --force && aclocal -I m4 && autoconf \
- && automake --add-missing
+ ./autogen.sh
}
build() {
@@ -42,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="67373e20932bca0d52cd8f48ed10c1f01752be73642ad4d2c85dcee813dccf205c8ca62fdc69fb3f4f83a685e2a8ef2c6646174e3453a8f5763cac16a58321c3 libva-2.4.0.tar.bz2"
+sha512sums="6ad2255aebcc62b3a7f67f03585f8046742a8a9b33c0feaee7dc0a713ab2117b13f154c3574f98aa2fb07fd2336635df3ea2675ec4d1c25ae3b2834aeab8692e libva-2.4.1.tar.gz"
diff --git a/user/libvdpau/APKBUILD b/user/libvdpau/APKBUILD
index a8febe21a..6becf5507 100644
--- a/user/libvdpau/APKBUILD
+++ b/user/libvdpau/APKBUILD
@@ -1,20 +1,18 @@
# Contributor: Carlo Landmeter
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libvdpau
-pkgver=1.1.1
-pkgrel=2
+pkgver=1.2
+pkgrel=0
pkgdesc="Hardware-accelerated video playback library"
url="https://cgit.freedesktop.org/~aplattner/libvdpau"
arch="all"
license="MIT"
-depends=
+depends=""
makedepends="libx11-dev libxext-dev xorgproto-dev"
-install=
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.gz"
+subpackages="$pkgname-dev"
+source="https://gitlab.freedesktop.org/vdpau/libvdpau/uploads/14b620084c027d546fa0b3f083b800c6/libvdpau-1.2.tar.bz2"
build() {
- cd "$builddir"
LIBS="-lX11" \
./configure \
--build=$CBUILD \
@@ -27,15 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
-sha512sums="e094494fc820c2395c9dbb4e69daa89334b9186e2ad1a6c06671c7f844568db191ce4d1d9df95c4536579864bcc8541eb6fd159c377bc73c228cdf2a0fea50fb libvdpau-1.1.1.tar.gz"
+sha512sums="86aa3f2a39cb73a597bf417da2eeef73ff01160ed9f54dff3725785ff5a289f47040496de44e2f5292d59657d4746e369b3fa307c4f83a32f7cc28e4cd8bce6f libvdpau-1.2.tar.bz2"
diff --git a/user/libvncserver/APKBUILD b/user/libvncserver/APKBUILD
index 324da7fcb..0801da573 100644
--- a/user/libvncserver/APKBUILD
+++ b/user/libvncserver/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libvncserver
-pkgver=0.9.11
-pkgrel=1
+pkgver=0.9.12
+pkgrel=0
pkgdesc="Library to make writing a vnc server easy"
url="https://libvnc.github.io/"
arch="all"
@@ -14,8 +14,7 @@ depends_dev="libgcrypt-dev libjpeg-turbo-dev gnutls-dev libpng-dev
libxi-dev libxinerama-dev libxrandr-dev libxtst-dev"
makedepends="$depends_dev autoconf automake libtool"
subpackages="$pkgname-dev"
-source="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$pkgver.tar.gz
- "
+source="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$pkgver.tar.gz"
builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver
# secfixes:
@@ -23,31 +22,27 @@ builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver
# - CVE-2016-9941
# - CVE-2016-9942
-prepare() {
- cd "$builddir"
- default_prepare
- ./autogen.sh
-}
-
build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --disable-static
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ ${CMAKE_CROSSOPTS}
make
}
check() {
- cd "$builddir"
- make check
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
test/tjunittest
}
package() {
- cd "$builddir"
make install DESTDIR="$pkgdir"
}
-sha512sums="e473c081b68dd3cdd96a1756b4f4945ece79d3c8e4cef62140be1699671555fc16d3080e81d764197a14ea83203ffcd0e18c3cc182e012d036e3faae943003fb LibVNCServer-0.9.11.tar.gz"
+sha512sums="60ff1cc93a937d6f8f97449bc58b763095846207112f7b1b3c43eb2d74448b595d6da949903a764bd484ee54e38ff6277e882adbe965dd6d26ba15ef6ff6fcb8 LibVNCServer-0.9.12.tar.gz"
diff --git a/user/libwacom/APKBUILD b/user/libwacom/APKBUILD
index c5faa796f..56464b2a0 100644
--- a/user/libwacom/APKBUILD
+++ b/user/libwacom/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Ivan Tham <pickfire@riseup.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libwacom
-pkgver=0.32
-pkgrel=0
+pkgver=0.33
+pkgrel=1
pkgdesc="Tablet description library"
url="http://linuxwacom.sourceforge.net/"
arch="all"
@@ -11,10 +11,11 @@ depends=""
makedepends="libgudev-dev"
checkdepends="bash findutils"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/linuxwacom/libwacom/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2"
+source="https://github.com/linuxwacom/libwacom/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2
+ fix-database.patch
+ "
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -24,17 +25,15 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
install -dm755 "$pkgdir"/usr/lib/udev/rules.d/
tools/generate-udev-rules
> "$pkgdir"/usr/lib/udev/rules.d/65-libwacom.rules
}
-sha512sums="d7001bb355d4b269e61bf95f0b71621088e76d6894a4a1d002b6a0904a20dd75e0b4fb85368fd20ccafbbfbb1c7ff17150a39962554c8f27f9fcad48c397125b libwacom-0.32.tar.bz2"
+sha512sums="de4d9cf3b5f4d87a159ba8ee617bafce9d13b67dc23d9dc67efd57317b0df2079dd0de328bc800de47f14ee49ea82bb842e34297cef23ba336c1ddca3afa826d libwacom-0.33.tar.bz2
+d1ac1176aa4a95991330e23fb84868d65a1b2e81d68173c990f885af1ce591de7aca16e21db8128e4f1975bca22b8014a6fa2ca8c0458dce464568239d75263c fix-database.patch"
diff --git a/user/libwacom/fix-database.patch b/user/libwacom/fix-database.patch
new file mode 100644
index 000000000..d367ca997
--- /dev/null
+++ b/user/libwacom/fix-database.patch
@@ -0,0 +1,15 @@
+https://github.com/linuxwacom/libwacom/issues/85
+
+Awful, cheesy hack.
+
+--- libwacom-0.33/libwacom/libwacom-database.c.old 2019-04-12 03:10:21.000000000 +0000
++++ libwacom-0.33/libwacom/libwacom-database.c 2019-06-01 06:24:56.290159726 +0000
+@@ -152,7 +152,7 @@
+
+ memset(namestr, 0, sizeof(namestr));
+
+- rc = sscanf(str, "%63[^:]:%x:%x:%63c", busstr, vendor_id, product_id, namestr);
++ rc = sscanf(str, "%63[^:]:%x:%x:%63[^\b]", busstr, vendor_id, product_id, namestr);
+ if (rc == 4) {
+ *name = g_strdup(namestr);
+ } else if (rc == 3) {
diff --git a/user/libwnck/APKBUILD b/user/libwnck/APKBUILD
index d722a9c53..2c7bc1b78 100644
--- a/user/libwnck/APKBUILD
+++ b/user/libwnck/APKBUILD
@@ -1,38 +1,39 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=libwnck
-pkgver=3.30.0
+pkgver=3.32.0
_pkgmaj=${pkgver%.*}
-pkgrel=0
+pkgrel=1
pkgdesc="Window navigator construction kit library from Gnome"
url="https://gnome.org"
arch="all"
license="LGPL-2.0+"
-makedepends="glib-dev gtk+3.0-dev gobject-introspection-dev vala-dev
- startup-notification-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+makedepends="glib-dev gtk+3.0-dev gobject-introspection-dev libxres-dev
+ startup-notification-dev vala-dev meson ninja"
+subpackages="$pkgname-dev $pkgname-lang"
source="https://download.gnome.org/sources/libwnck/$_pkgmaj/libwnck-$pkgver.tar.xz"
+prepare() {
+ default_prepare
+ mkdir -p "$builddir"/build
+}
+
build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
+ cd "$builddir"/build
+ meson \
+ -Dprefix=/usr \
+ ..
+ ninja
}
check() {
- cd "$builddir"
- make check
+ cd "$builddir"/build
+ ninja test
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
+ cd "$builddir"/build
+ DESTDIR="$pkgdir" ninja install
}
-sha512sums="79842e4645de828941ac030eeff9d232b18a51fe0d18baf5ceb2beaf897d328ee5bf3b297501e2b27e66c63d42f6546a7605a37c6d7d52ff76e9b2bc5c328128 libwnck-3.30.0.tar.xz"
+sha512sums="a939b96feda20b0eba2b87556b97a9ba4b9aaea4c82c0e274a23796a3a9b49cb93be582d79e32a52a87b5ca6e35182a9d617cb802802b3c2ba2bff2b028aa3de libwnck-3.32.0.tar.xz"
diff --git a/user/libwpd/APKBUILD b/user/libwpd/APKBUILD
index 20307c037..8a8c5a043 100644
--- a/user/libwpd/APKBUILD
+++ b/user/libwpd/APKBUILD
@@ -1,18 +1,17 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libwpd
-pkgver=0.10.2
-pkgrel=1
+pkgver=0.10.3
+pkgrel=0
pkgdesc="Import filter and tools for WordPerfect documents"
url="https://sourceforge.net/p/libwpd/"
arch="all"
options="!check" # No test suite.
license="MPL-2.0 OR LGPL-2.1+"
depends=""
-depends_dev="librevenge-dev"
-makedepends="$depends_dev doxygen"
+makedepends="doxygen librevenge-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
-source="http://downloads.sourceforge.net/project/libwpd/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2"
+source="https://downloads.sourceforge.net/libwpd/$pkgname-$pkgver.tar.bz2"
prepare() {
update_config_sub
@@ -20,7 +19,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -33,7 +31,6 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -42,4 +39,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr
}
-sha512sums="879f96b6290d9db7ed4a431e84d18a1f7e81826394a8c63e03c3b6b49c578bfb417056956209d1934e34080471df28a40d93f45ac4f8a976631610d3103d6b7c libwpd-0.10.2.tar.bz2"
+sha512sums="cf3db714d424c32ecf5740b17d9f1721f228d3a7edbd1cc7a0f4b30f7ac9b1024cf45c0727b9f916b7672321e05f0d791c7f7f5ad5d47fedcea9ad9e886eb459 libwpd-0.10.3.tar.bz2"
diff --git a/user/libwpg/APKBUILD b/user/libwpg/APKBUILD
index 1985152e8..b1a62091a 100644
--- a/user/libwpg/APKBUILD
+++ b/user/libwpg/APKBUILD
@@ -1,26 +1,19 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libwpg
-pkgver=0.3.2
-pkgrel=1
+pkgver=0.3.3
+pkgrel=0
pkgdesc="Import filter and tools for WordPerfect graphics"
url="https://sourceforge.net/projects/libwpg/"
arch="all"
options="!check" # No test suite.
license="MPL-2.0 OR LGPL-2.1+"
depends=""
-depends_dev="librevenge-dev"
-makedepends="$depends_dev doxygen libwpd-dev"
+makedepends="doxygen librevenge-dev libwpd-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
-source="http://downloads.sourceforge.net/project/libwpg/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2"
-
-prepare() {
- update_config_sub
- default_prepare
-}
+source="https://downloads.sourceforge.net/libwpg/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -34,7 +27,6 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -43,4 +35,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr
}
-sha512sums="af9bf007c1cd380cc6da543024e6f068c0eb49514ff0027b1e82170927c8496e69d6c7a2a502380f25c54fea1fc33865c70c7d24d4b38e4fbf1d064bf1f1e192 libwpg-0.3.2.tar.bz2"
+sha512sums="4a4cc5d1492b50c8572289c508bec603067f532446c032ff7241d0dad9c33c251e55751dc68c24bacf7937f26697292fb7712f61c8b3f025cffeb9f86350be83 libwpg-0.3.3.tar.bz2"
diff --git a/user/libxcomposite/APKBUILD b/user/libxcomposite/APKBUILD
index 6ce9263b9..f390a1204 100644
--- a/user/libxcomposite/APKBUILD
+++ b/user/libxcomposite/APKBUILD
@@ -1,27 +1,19 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxcomposite
-pkgver=0.4.4
-pkgrel=2
+pkgver=0.4.5
+pkgrel=0
pkgdesc="X11 Composite extension library"
url="https://www.X.Org/"
arch="all"
license="MIT"
-subpackages="$pkgname-dev $pkgname-doc"
-depends=
+depends=""
depends_dev="libxext-dev"
makedepends="libx11-dev libxext-dev libxfixes-dev util-macros xorgproto-dev"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://www.X.Org/releases/individual/lib/libXcomposite-$pkgver.tar.bz2"
builddir="$srcdir"/libXcomposite-$pkgver
-prepare() {
- cd "$builddir"
- chmod u+w config.sub
- update_config_sub
- default_prepare
-}
-
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,14 +23,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-sha512sums="b15f8fdbe4cb7488bdad161d73ef8e59ef603c5af92d7b573110ba136d7d4ce3749aac45972bce87662b0310b67e831cffad72c45c15bfff988b5b555d4c884b libXcomposite-0.4.4.tar.bz2"
+sha512sums="502fd51fd9097bb3ca72174ac5b25b9d3b1ff240d32c4765199df03d89337d94b4ddea49e90b177b370862430089d966ce9c38988337156352cfeae911c2d3d5 libXcomposite-0.4.5.tar.bz2"
diff --git a/user/libxcursor/APKBUILD b/user/libxcursor/APKBUILD
index 857cc5114..6aff75fef 100644
--- a/user/libxcursor/APKBUILD
+++ b/user/libxcursor/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxcursor
-pkgver=1.1.15
-pkgrel=1
+pkgver=1.2.0
+pkgrel=0
pkgdesc="X cursor management library"
url="https://www.X.Org/"
arch="all"
license="MIT"
subpackages="$pkgname-dev $pkgname-doc"
-depends=
+depends=""
makedepends="libx11-dev libxfixes-dev libxrender-dev util-macros xorgproto-dev"
source="https://www.X.Org/releases/individual/lib/libXcursor-$pkgver.tar.bz2"
builddir="$srcdir"/libXcursor-$pkgver
@@ -17,7 +17,6 @@ builddir="$srcdir"/libXcursor-$pkgver
# - CVE-2017-16612
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +26,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="53ad0fa2afd7b4cf1108b560e44ea71abdf5c55a18df243d7123942513589c927f5c105395f790d8769959e0129db54264e6aac7efd51a5f1aec270379b1f2f5 libXcursor-1.1.15.tar.bz2"
+sha512sums="2b12d0fd17e311ce269dbba58588698885815eb07aa44d48525ed5cd9e5f379bb90138a792a191e2f74888ab10b3ca9a4f507f21de0984ed79748973ab927a03 libXcursor-1.2.0.tar.bz2"
diff --git a/user/libxdamage/APKBUILD b/user/libxdamage/APKBUILD
index 0aa397c2e..5519f04e6 100644
--- a/user/libxdamage/APKBUILD
+++ b/user/libxdamage/APKBUILD
@@ -1,26 +1,18 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxdamage
-pkgver=1.1.4
-pkgrel=2
+pkgver=1.1.5
+pkgrel=0
pkgdesc="X11 damaged region extension library"
url="https://www.X.Org/"
arch="all"
license="MIT"
-depends=
+depends=""
makedepends="libx11-dev libxfixes-dev util-macros xorgproto-dev"
subpackages="$pkgname-dev"
source="https://www.X.Org/releases/individual/lib/libXdamage-$pkgver.tar.bz2"
builddir="$srcdir"/libXdamage-$pkgver
-prepare() {
- cd "$builddir"
- chmod 644 "$builddir"/config.sub
- update_config_sub
- default_prepare
-}
-
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -30,13 +22,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="1058cef11a8f0edfcae7265837369e492b007c34d56ae04145b558e5f02a163827aba1d0b80656f4c8e5d1e9a40f5077d93b7ff4f5e704f7409060dceba03904 libXdamage-1.1.4.tar.bz2"
+sha512sums="a3ca6cc33b1727f717a3e2aa5593f660508a81a47918a0aa949e9e8fba105e303fe5071983b48caac92feea0fe6e8e01620805e4d19b41f21f20d837b191c124 libXdamage-1.1.5.tar.bz2"
diff --git a/user/libxdmcp/APKBUILD b/user/libxdmcp/APKBUILD
index 3c7c41fe7..85ba59d65 100644
--- a/user/libxdmcp/APKBUILD
+++ b/user/libxdmcp/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxdmcp
-pkgver=1.1.2
-pkgrel=5
+pkgver=1.1.3
+pkgrel=0
pkgdesc="X11 Display Manager Control Protocol library"
url="https://www.X.Org/"
arch="all"
license="MIT"
-depends=
+depends=""
makedepends="xorgproto-dev libbsd-dev util-macros xmlto"
subpackages="$pkgname-dev $pkgname-doc"
source="https://www.X.Org/releases/individual/lib/libXdmcp-$pkgver.tar.bz2"
@@ -15,8 +15,8 @@ builddir="$srcdir/libXdmcp-$pkgver"
# secfixes:
# 1.1.2-r3:
# - CVE-2017-2625
+
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +26,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="f96005934b8bc752059106f8caf7df0574f5ef3c7a83bd797497b56ca556a7ff4dc1d28195e421259e82ea027b5c738094add3ec107a22544c9070725d8d46bb libXdmcp-1.1.2.tar.bz2"
+sha512sums="cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec libXdmcp-1.1.3.tar.bz2"
diff --git a/user/libxext/APKBUILD b/user/libxext/APKBUILD
index 70f0f9b4e..3d601f744 100644
--- a/user/libxext/APKBUILD
+++ b/user/libxext/APKBUILD
@@ -1,21 +1,19 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxext
-pkgver=1.3.3
-pkgrel=3
+pkgver=1.3.4
+pkgrel=0
pkgdesc="X11 miscellaneous extensions library"
url="https://www.X.Org/"
arch="all"
license="X11"
-depends=
+depends=""
depends_dev="libxau-dev"
makedepends="$depends_dev libx11-dev util-macros xmlto xorgproto"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://www.X.Org/releases/individual/lib/libXext-$pkgver.tar.bz2
- "
+source="https://www.X.Org/releases/individual/lib/libXext-$pkgver.tar.bz2"
builddir="$srcdir"/libXext-$pkgver
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="669d61545d10b999872addbf5628127840a221cbeaafb5ffa4328e0e0e1823583ece973bcafd5f13852ed58d4b0fe313a35f304ac80c6ed2b382cbbca977761a libXext-1.3.3.tar.bz2"
+sha512sums="09146397d95f80c04701be1cc0a9c580ab5a085842ac31d17dfb6d4c2e42b4253b89cba695e54444e520be359883a76ffd02f42484c9e2ba2c33a5a40c29df4a libXext-1.3.4.tar.bz2"
diff --git a/user/libxft/APKBUILD b/user/libxft/APKBUILD
index f2454b32c..c8b3445db 100644
--- a/user/libxft/APKBUILD
+++ b/user/libxft/APKBUILD
@@ -1,21 +1,20 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxft
-pkgver=2.3.2
-pkgrel=3
+pkgver=2.3.3
+pkgrel=0
pkgdesc="FreeType-based font drawing library for X11"
url="https://www.X.Org/"
arch="all"
license="MIT"
-subpackages="$pkgname-dev $pkgname-doc"
-depends=
+depends=""
depends_dev="zlib-dev"
makedepends="$depends_dev fontconfig-dev freetype-dev libxrender-dev
util-macros xorgproto-dev"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://www.X.Org/releases/individual/lib/libXft-$pkgver.tar.bz2"
builddir="$srcdir/libXft-$pkgver"
build () {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,14 +24,11 @@ build () {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="eb2e0c46b4434198690a3ca2b613df14ad599c860b47d10a1e8efe3b4e812a78460f9f414eaf89db21d605613a4e18324dcb8a22928609c6bc15178330a05398 libXft-2.3.2.tar.bz2"
+sha512sums="28fdaf3baa3b156a4a7fdd6e39c4d8026d7d21eaa9be27c9797c8d329dab691a1bc82ea6042f9d4729a9343d93787536fb7e4b606f722f33cbe608b2e79910e8 libXft-2.3.3.tar.bz2"
diff --git a/user/libxkbfile/APKBUILD b/user/libxkbfile/APKBUILD
index 109a9d9c1..11cbd4d9e 100644
--- a/user/libxkbfile/APKBUILD
+++ b/user/libxkbfile/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxkbfile
-pkgver=1.0.9
-pkgrel=3
+pkgver=1.1.0
+pkgrel=0
pkgdesc="X11 keyboard file manipulation library"
url="https://www.X.Org/"
arch="all"
@@ -12,7 +12,6 @@ subpackages="$pkgname-dev"
source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -22,15 +21,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -D -m644 "$srcdir"/$pkgname-$pkgver/COPYING \
- "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="5fa268f10d7c4bd7b1e0c9f12adaa53d86b149f193d228fc620b3b81d360b37e4ede0192f5a0dc715bf830a57bd1388af01399fb33609413fc64623ee91cb8d1 libxkbfile-1.0.9.tar.bz2"
+sha512sums="1c6a57564e916ccdc3df3c49b9f3589f701df0cec55112c12ddc35ac3ed556608c28fe98e5ba0ac1962e9a65ed1e90eb7e6169b564951bf55a7cf3499b745826 libxkbfile-1.1.0.tar.bz2"
diff --git a/user/libxklavier/APKBUILD b/user/libxklavier/APKBUILD
index 0f3964a06..e1addd860 100644
--- a/user/libxklavier/APKBUILD
+++ b/user/libxklavier/APKBUILD
@@ -2,12 +2,14 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=libxklavier
pkgver=5.4
-pkgrel=0
+pkgrel=1
pkgdesc="High-level API for XKB"
url="https://www.freedesktop.org/wiki/Software/LibXklavier/"
arch="all"
license="LGPL-2.0+"
-makedepends="libx11-dev libxml2-dev glib-dev libxcb-dev libxi-dev iso-codes-dev"
+makedepends="gobject-introspection-dev libx11-dev libxml2-dev glib-dev
+ libxcb-dev libxkbcommon-dev libxkbfile-dev libxi-dev iso-codes-dev
+ vala-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://people.freedesktop.org/~svu/libxklavier-$pkgver.tar.bz2"
diff --git a/user/libxmu/APKBUILD b/user/libxmu/APKBUILD
index 80ec63ade..854f806a3 100644
--- a/user/libxmu/APKBUILD
+++ b/user/libxmu/APKBUILD
@@ -1,23 +1,21 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxmu
-pkgver=1.1.2
-pkgrel=2
+pkgver=1.1.3
+pkgrel=0
pkgdesc="X11 miscellaneous micro-utility library"
url="https://www.X.Org/"
arch="all"
options="!check" # No test suite.
license="X11 AND MIT"
subpackages="$pkgname-dev $pkgname-doc"
-depends=
+depends=""
depends_dev="util-linux-dev"
makedepends="$depends_dev libsm-dev libx11-dev libxext-dev libxt-dev
util-macros xmlto"
source="https://www.X.Org/releases/individual/lib/libXmu-$pkgver.tar.bz2"
builddir="$srcdir"/libXmu-$pkgver
-build()
-{
- cd "$builddir"
+build() {
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -28,10 +26,7 @@ build()
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 $srcdir/libXmu-$pkgver/COPYING \
- $pkgdir/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="eba4e3d10f7d75ba8464881fb69f295a89774a4b37793197d75f3312e3a342b2df8b7e13e3f5c887962704329b5347ff2f3395e229af9dadf46a93b1e8613cfc libXmu-1.1.2.tar.bz2"
+sha512sums="8c6cc65b22aa031ad870dd92736681a068a0878a425a53dbed909943da1136c4a24034d467cfd3785c3a8d78f66850b69f1ebe1eb24aaf9bc176b1d171a5c762 libXmu-1.1.3.tar.bz2"
diff --git a/user/libxrandr/APKBUILD b/user/libxrandr/APKBUILD
index 0e2d1f3e1..9316676d5 100644
--- a/user/libxrandr/APKBUILD
+++ b/user/libxrandr/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxrandr
-pkgver=1.5.1
-pkgrel=2
+pkgver=1.5.2
+pkgrel=0
pkgdesc="X11 RandR extension library"
url="https://www.X.Org/"
arch="all"
license="MIT"
-depends=
+depends=""
depends_dev="libxext-dev"
makedepends="$depends_dev libx11-dev libxrender-dev util-macros xorgproto-dev"
subpackages="$pkgname-dev $pkgname-doc"
@@ -14,7 +14,6 @@ source="https://www.X.Org/releases/individual/lib/libXrandr-$pkgver.tar.bz2"
builddir="$srcdir"/libXrandr-$pkgver
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,14 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="ddcee1c50da8810412fd747b05a073ee5522b2f3b0a74e6a9b48b489ce9712356d1bc3009f8898aeee85671cdb44e2dafa04c8caf23d97963b36b1af9174445a libXrandr-1.5.1.tar.bz2"
+sha512sums="fcd005f9839e7ef980607128a5d76d7b671cc2f5755949e03c569c500d7e987cb3f6932750ab8bf6e2c1086ec69dde09d5831f0c2098b9f9ad46be4f56db0d87 libXrandr-1.5.2.tar.bz2"
diff --git a/user/libxres/APKBUILD b/user/libxres/APKBUILD
new file mode 100644
index 000000000..9244440c4
--- /dev/null
+++ b/user/libxres/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=libxres
+pkgver=1.2.0
+pkgrel=0
+pkgdesc="X11 X-Resource extension library"
+url="https://www.X.Org/"
+arch="all"
+license="MIT AND X11"
+subpackages="$pkgname-dev $pkgname-doc"
+depends=""
+makedepends="libx11-dev libxext-dev util-macros xorgproto-dev"
+source="https://www.X.Org/releases/individual/lib/libXres-$pkgver.tar.bz2"
+builddir="$srcdir"/libXres-$pkgver
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="8eb5a36b1f030eb4e27e676cc4befcc073da66a7bce2b39089314e1facb629d13b087bb53ca2c95fe5291857da7ff9f80c6ab28fb3e245eeb9e0344937900172 libXres-1.2.0.tar.bz2"
diff --git a/user/libxvmc/APKBUILD b/user/libxvmc/APKBUILD
index c65e816d9..9953618d2 100644
--- a/user/libxvmc/APKBUILD
+++ b/user/libxvmc/APKBUILD
@@ -1,20 +1,19 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxvmc
-pkgver=1.0.10
-pkgrel=2
+pkgver=1.0.11
+pkgrel=0
pkgdesc="X11 Video Motion Compensation extension library"
url="https://www.X.Org/"
arch="all"
license="MIT"
-subpackages="$pkgname-dev $pkgname-doc"
-depends=
+depends=""
depends_dev="libxext-dev"
makedepends="libx11-dev libxv-dev util-macros xorgproto-dev"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://www.X.Org/releases/individual/lib/libXvMC-$pkgver.tar.bz2"
builddir="$srcdir"/libXvMC-$pkgver
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="db979627eda2e58dbc95f0705681aa4acf51dc375a078467ea0b1c78414963e52417e525bcf224b4642eab2e540619c168c1e4757fad97bac7d07b60b23b3e19 libXvMC-1.0.10.tar.bz2"
+sha512sums="4fe49e956ac97a45d851292cbba7bf242706aaf3bd9eb7ea4d2fc50e40745115d857a4fe179d2b87bc7cb6f9ac93911e89a167f02f6d1ae25a59df9a517a2476 libXvMC-1.0.11.tar.bz2"
diff --git a/user/libxxf86dga/APKBUILD b/user/libxxf86dga/APKBUILD
index 9df55acd4..5de299edc 100644
--- a/user/libxxf86dga/APKBUILD
+++ b/user/libxxf86dga/APKBUILD
@@ -1,19 +1,18 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libxxf86dga
-pkgver=1.1.4
-pkgrel=2
+pkgver=1.1.5
+pkgrel=0
pkgdesc="X11 Direct Graphics Access extension library"
url="https://www.X.Org/"
arch="all"
license="X11"
-subpackages="$pkgname-dev $pkgname-doc"
depends=""
makedepends="libx11-dev libxext-dev util-macros xorgproto-dev"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://www.X.Org/releases/individual/lib/libXxf86dga-$pkgver.tar.bz2"
builddir="$srcdir"/libXxf86dga-$pkgver
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -22,13 +21,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="58d81a7850275fc8382018bcc56dbc65b4200828b1f1379dcee3da1878f12a83ee681a9d474bcd564d99bf93bedfeb7b243370e0ebb89177652b37cee158a3f2 libXxf86dga-1.1.4.tar.bz2"
+sha512sums="0e77c4003aeba737b10c17d55aeefa935fc57c4ba9e8f79a834f3f8c690d6a1d98f69ad707eded784346c1cf40c41829719d257283b5eae3207147fb4c79ed89 libXxf86dga-1.1.5.tar.bz2"
diff --git a/user/libzip/APKBUILD b/user/libzip/APKBUILD
index 32f0a956c..9c1836e60 100644
--- a/user/libzip/APKBUILD
+++ b/user/libzip/APKBUILD
@@ -3,8 +3,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=libzip
-pkgver=1.5.1
-pkgrel=2
+pkgver=1.5.2
+pkgrel=0
pkgdesc="C library for manipulating ZIP archives"
url="https://libzip.org/"
arch="all"
@@ -19,7 +19,6 @@ source="https://libzip.org/download/$pkgname-$pkgver.tar.xz"
# - CVE-2017-14107
build() {
- cd "$builddir"
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
@@ -31,12 +30,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" -j1 install
}
@@ -46,4 +43,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr
}
-sha512sums="92df9490a9910ebb1da49ecaec96f364fce39a779e1bc739f7796b27b3a864301f5e1ba0108947708dda1d90af7a9e751be54cbb8a0de2a04a48f9f3eb728e3d libzip-1.5.1.tar.xz"
+sha512sums="1e6d48ddbac4d270f70b314f6ada3c93a3196a8cc3b8d17c6cf5ea8409ff29f36ac351206675f9d81351fcf633b0c15d7b0b5530c30c4140e4fe55e64c602643 libzip-1.5.2.tar.xz"
diff --git a/user/lighttpd/APKBUILD b/user/lighttpd/APKBUILD
index 1be241d58..280955e7f 100644
--- a/user/lighttpd/APKBUILD
+++ b/user/lighttpd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=lighttpd
-pkgver=1.4.52
+pkgver=1.4.53
pkgrel=0
pkgdesc="A secure, fast, compliant and very flexible web-server"
url="http://www.lighttpd.net/"
@@ -101,7 +101,7 @@ mod_webdav() {
_mv_mod mod_webdav
}
-sha512sums="3c604f441c001641681b958012524c9a2e801314b07d9741d4b5e086e7585d676516e3fe587e0ff69f1f937c11b9a290f2173866d6b90019117b6be299972a72 lighttpd-1.4.52.tar.xz
+sha512sums="bf5ea1c9f6f664c9ddcdf33ddba5b2bff760960d03c29a2181e73e3aceb45b523bb90003d0e0bc565334751830e6027cd7be2e92d030cde90813511957c9ea76 lighttpd-1.4.53.tar.xz
f2f3c5c7731550237fd75a8de66275f427eaf897cffff7ac7ef44178328ad8fad6c4ec6654759bfc665cbaf7991ddcdf0aaa916831c8b6aa440192d57b242038 lighttpd.initd
9d2ab5deb7353ebf290e90936b511941df440859c78589d0bcf130ef69a5e9c79e4d318548b6b118df002083c46f7476230a28954b7a10a9dbd05040e02b1291 lighttpd.confd
0536b4f21d2e8659f7831b45998c13d9f6051ae7ecde13be01f372f837d255bfc4e211de48a7686cc743d53aa9c08ab3f10ec19788896dcf8356b90053ca7a16 lighttpd.logrotate
diff --git a/user/links/APKBUILD b/user/links/APKBUILD
index 572f9d977..b3ade3cb2 100644
--- a/user/links/APKBUILD
+++ b/user/links/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=links
-pkgver=2.17
+pkgver=2.19
pkgrel=0
pkgdesc="Text Web browser, similar to Lynx"
url="http://links.twibright.com/"
@@ -13,7 +13,6 @@ subpackages="$pkgname-doc"
source="http://$pkgname.twibright.com/download/$pkgname-$pkgver.tar.bz2"
build () {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,8 +25,7 @@ build () {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="871a3a2cbc210467f4ffd830ba2966f2ebc0ec9ed4a1de018d032cec4b550e58f6858875478647c627ec746bb76810a4b97603575f2d21b5ea650c612684c8d5 links-2.17.tar.bz2"
+sha512sums="8716cea6feb5a02b59d7e2dd5bfd0af9b2ac2a4427c0f98a3c8a8eaabca31e7a96c16888c0de19976749485b3cdbf75cbff88a37cd3b58700c1f090acec328ea links-2.19.tar.bz2"
diff --git a/user/lksctp-tools/APKBUILD b/user/lksctp-tools/APKBUILD
index adeeec587..c625bb4d5 100644
--- a/user/lksctp-tools/APKBUILD
+++ b/user/lksctp-tools/APKBUILD
@@ -1,20 +1,21 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=lksctp-tools
-pkgver=1.0.17
-pkgrel=0
+pkgver=1.0.18
+pkgrel=1
pkgdesc="Tools for using SCTP on Linux"
url="http://lksctp.sourceforge.net/"
arch="all"
license="GPL-2.0-only AND LGPL-2.1-only"
depends=""
-makedepends=""
+makedepends="autoconf automake"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://downloads.sourceforge.net/lksctp/lksctp-tools-$pkgver.tar.gz"
-builddir="$srcdir/lksctp-tools-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sctp/$pkgname/archive/v$pkgver.tar.gz
+ header-install.patch
+ "
build() {
- cd "$builddir"
+ ./bootstrap
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +27,12 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="055719130b7dda4da9cf002dcd5f1fb3d8cf75300a99365976e087b2b6971b4ccd357f95b515a44e37874af161f7b7f9b42c60191aff938d18fada5a49aa44c4 lksctp-tools-1.0.17.tar.gz"
+sha512sums="1d7275fadc0f2270865307cff2645810e9bab6c1a97e70be6115cace737334dbdd87a072fae25b89dd9cac2e05974556542de70ea8ef70b9e4f14873c82a5055 lksctp-tools-1.0.18.tar.gz
+1047d40a961433ef072404aad31c976300e4631ef4ccc4abd505a1ae2dfbb169982079f6932eaab5d91c564f3f6949adf97c44ac155d80b4161c39931f569590 header-install.patch"
diff --git a/user/lksctp-tools/header-install.patch b/user/lksctp-tools/header-install.patch
new file mode 100644
index 000000000..1ebe6c803
--- /dev/null
+++ b/user/lksctp-tools/header-install.patch
@@ -0,0 +1,32 @@
+From 378560050a8f93786c590cc99a55461666205b61 Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Fri, 24 Aug 2018 01:13:32 +0800
+Subject: [PATCH] build: fix netinet/sctp.h not to be installed
+
+After libcnetinet_HEADERS was set to sctp.h.in, netinet/sctp.h can
+no longer be installed into ${includedir}.
+
+Since "AC_CONFIG_HEADERS([src/include/netinet/sctp.h])" is already
+added into configure.ac, there's no need to generate sctp.h by
+automake.
+
+So we simply set libcnetinet_HEADERS back to sctp.h.
+
+Fixes: 9607dd85e70a ("netinet/sctp.h: dynamically build based on system setup")
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
+---
+ src/include/netinet/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/include/netinet/Makefile.am b/src/include/netinet/Makefile.am
+index ca0aac2..965db8c 100644
+--- a/src/include/netinet/Makefile.am
++++ b/src/include/netinet/Makefile.am
+@@ -11,5 +11,4 @@ libcnetinetdir = $(includedir)/netinet
+ # API.
+ include_HEADERS =
+
+-libcnetinet_HEADERS = sctp.h.in
+-BUILT_SOURCES = sctp.h
++libcnetinet_HEADERS = sctp.h
diff --git a/user/llvm7/more-secure-plt.patch b/user/llvm7/more-secure-plt.patch
deleted file mode 100644
index 64920c74c..000000000
--- a/user/llvm7/more-secure-plt.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
-index c583fba8cab..6a9eedf89c5 100644
---- a/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
-@@ -222,6 +222,10 @@ static Reloc::Model getEffectiveRelocModel(const Triple &TT,
- if (TT.getArch() == Triple::ppc64 || TT.getArch() == Triple::ppc64le)
- return Reloc::PIC_;
-
-+ // musl needs SecurePlt, which depends on PIC.
-+ if (TT.getEnvironment() == Triple::Musl)
-+ return Reloc::PIC_;
-+
- // 32-bit is static by default.
- return Reloc::Static;
- }
diff --git a/user/llvm7/ppc32-calling-convention.patch b/user/llvm7/ppc32-calling-convention.patch
deleted file mode 100644
index 2e6d66427..000000000
--- a/user/llvm7/ppc32-calling-convention.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Index: trunk/lib/Target/PowerPC/PPCISelLowering.cpp
-===================================================================
---- trunk/lib/Target/PowerPC/PPCISelLowering.cpp
-+++ trunk/lib/Target/PowerPC/PPCISelLowering.cpp
-@@ -3511,9 +3511,14 @@
- // Argument stored in memory.
- assert(VA.isMemLoc());
-
-+ // Get the extended size of the argument type in stack
- unsigned ArgSize = VA.getLocVT().getStoreSize();
-- int FI = MFI.CreateFixedObject(ArgSize, VA.getLocMemOffset(),
-- isImmutable);
-+ // Get the actual size of the argument type
-+ unsigned ObjSize = VA.getValVT().getStoreSize();
-+ unsigned ArgOffset = VA.getLocMemOffset();
-+ // Stack objects in PPC32 are right justified.
-+ ArgOffset += ArgSize - ObjSize;
-+ int FI = MFI.CreateFixedObject(ArgSize, ArgOffset, isImmutable);
-
- // Create load nodes to retrieve arguments from the stack.
- SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
-@@ -5468,10 +5473,15 @@
- Arg = PtrOff;
- }
-
-- if (VA.isRegLoc()) {
-- if (Arg.getValueType() == MVT::i1)
-- Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i32, Arg);
-+ // When useCRBits() is true, there can be i1 arguments.
-+ // It is because getRegisterType(MVT::i1) => MVT::i1,
-+ // and for other integer types getRegisterType() => MVT::i32.
-+ // Extend i1 and ensure callee will get i32.
-+ if (Arg.getValueType() == MVT::i1)
-+ Arg = DAG.getNode(Flags.isSExt() ? ISD::SIGN_EXTEND : ISD::ZERO_EXTEND,
-+ dl, MVT::i32, Arg);
-
-+ if (VA.isRegLoc()) {
- seenFloatArg |= VA.getLocVT().isFloatingPoint();
- // Put argument in a physical register.
- RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
-Index: trunk/test/CodeGen/PowerPC/ppc32-i1-stack-arguments-abi-bug.ll
-===================================================================
---- trunk/test/CodeGen/PowerPC/ppc32-i1-stack-arguments-abi-bug.ll
-+++ trunk/test/CodeGen/PowerPC/ppc32-i1-stack-arguments-abi-bug.ll
-@@ -0,0 +1,24 @@
-+; RUN: llc -verify-machineinstrs < %s -mcpu=ppc32 -mattr=+crbits | FileCheck %s
-+target triple = "powerpc-unknown-linux-gnu"
-+
-+define void @check_callee(
-+ i32, i32, i32, i32,
-+ i32, i32, i32, i32,
-+ i1 zeroext %s1
-+) {
-+ call void @check_caller(
-+ i32 9, i32 9, i32 9, i32 9,
-+ i32 9, i32 9, i32 9, i32 9,
-+ i1 zeroext %s1)
-+ ret void
-+}
-+
-+; CHECK-LABEL: @check_callee
-+; CHECK: lbz {{[0-9]+}}, 27(1)
-+; CHECK: stw {{[0-9]+}}, 8(1)
-+
-+declare void @check_caller(
-+ i32, i32, i32, i32,
-+ i32, i32, i32, i32,
-+ i1 zeroext
-+)
diff --git a/user/llvm7/APKBUILD b/user/llvm8/APKBUILD
index 53cf78e63..de4969ac7 100644
--- a/user/llvm7/APKBUILD
+++ b/user/llvm8/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
_pkgname=llvm
-pkgver=7.0.1
+pkgver=8.0.0
_majorver=${pkgver%%.*}
pkgname=$_pkgname$_majorver
pkgrel=0
@@ -24,7 +24,6 @@ source="https://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz
musl-ppc64-elfv2.patch
more-secure-plt.patch
even-more-secure-plt.patch
- ppc32-calling-convention.patch
python3-test.patch
"
builddir="$srcdir/$_pkgname-$pkgver.src"
@@ -102,7 +101,7 @@ build() {
-DLLVM_HOST_TRIPLE="$CHOST" \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_LINK_LLVM_DYLIB=ON \
- -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;PowerPC;SystemZ;AMDGPU;NVPTX;Mips;BPF' \
+ -DLLVM_TARGETS_TO_BUILD='AArch64;AMDGPU;ARM;BPF;Mips;PowerPC;Sparc;SystemZ;WebAssembly;X86' \
"$builddir"
make llvm-tblgen
@@ -114,6 +113,9 @@ build() {
check() {
cd "$builddir"/build
+ # appears to be an issue on musl and glibc, but only fails on musl:
+ # https://github.com/NixOS/nixpkgs/blob/bb7e9e46/pkgs/development/compilers/llvm/8/llvm.nix#L74
+ rm "$builddir"/test/CodeGen/AArch64/wineh4.mir
# FIXME: Few tests fail on s390x, ignore it for now. See build log
# https://gist.github.com/jirutka/6edc951ad5b8002cf1780546cf661edc
case "$CARCH" in
@@ -161,11 +163,7 @@ package() {
rmdir include
ln -s ../../include/$pkgname include
- # Move /usr/lib/$pkgname/lib/cmake/llvm/ into /usr/lib/cmake/$pkgname/
- # and symlink it back.
- _mv lib/cmake/llvm/* "$pkgdir"/usr/lib/cmake/$pkgname/
- rmdir lib/cmake/llvm
- ln -s ../../../cmake/$pkgname lib/cmake/llvm
+ ln -s "$pkgdir"/usr/lib/cmake/llvm ../$pkgname/lib/cmake/llvm
}
static() {
@@ -241,12 +239,11 @@ _mv() {
mv $@
}
-sha512sums="ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df llvm-7.0.1.src.tar.xz
+sha512sums="1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f llvm-8.0.0.src.tar.xz
f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3cee76598a7cecb94aed0775a6d24fe73266f82749913fc3e71 llvm-fix-build-with-musl-libc.patch
49c47f125014b60d0ea7870f981a2c1708ad705793f89287ed846ee881a837a4dc0170bf467e03f2ef56177473128945287749ac80dc2d13cfabcf8b929ba58a disable-FileSystemTest.CreateDir-perms-assert.patch
caeec8e4dbd92f5f74940780b69075f3879a267a8623822cbdc193fd14706eb089071e3a5a20d60cc2eca59e4c5b2a61d29827a2f3362ee7c5f74f11d9ace200 disable-dlclose-test.patch
e5ddbc4b6c4928e79846dc3c022eb7928aaa8fed40515c78f5f03b8ab8264f34f1eb8aa8bfc0f436450932f4917e54ad261603032092ea271d9590f11a37cf1e musl-ppc64-elfv2.patch
-8c0e2a08f6b503efb6673af4cb475ed788b288e016881eacb314a74b9cdd1a920853b219f1cdf1c20e67dec9fcceedfa37e726820b28cd0454302397188aac2f more-secure-plt.patch
+957516510439be661ad04e061e9616da8a271a5621603238cde5b4782bd2465367eaaa5ade628d163c8d9e70b8b0495687669f4648bd031ac6e5a1582d2e75a4 more-secure-plt.patch
deb71762721ebc73bfdf23143b582f40c70eddcef3e337ed14499e8e336bee2906292d38d64fe98fa633430c1bcb66cf6a2e067258c8fbe6e931f99f6d10a6f7 even-more-secure-plt.patch
-c3f596a1578a07ce0ee40c4e2576fe05ca6ca0c1b4f94b1f74c55cb09603afe7c846db9294fe28d83ca48633086bad422218e6d06e0d92173143fb298e06fb38 ppc32-calling-convention.patch
53cc0d13dd871e9b775bb4e7567de4f9a97d91b8246cd7ce74607fd88d6e3e2ab9455f5b4195bc7f9dbdedbc77d659d43e98ec0b7cd78cd395aaea6919510287 python3-test.patch"
diff --git a/user/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch b/user/llvm8/disable-FileSystemTest.CreateDir-perms-assert.patch
index e73ce9b6f..e73ce9b6f 100644
--- a/user/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch
+++ b/user/llvm8/disable-FileSystemTest.CreateDir-perms-assert.patch
diff --git a/user/llvm7/disable-dlclose-test.patch b/user/llvm8/disable-dlclose-test.patch
index b70cd4d4d..b70cd4d4d 100644
--- a/user/llvm7/disable-dlclose-test.patch
+++ b/user/llvm8/disable-dlclose-test.patch
diff --git a/user/llvm7/even-more-secure-plt.patch b/user/llvm8/even-more-secure-plt.patch
index 112e111b8..112e111b8 100644
--- a/user/llvm7/even-more-secure-plt.patch
+++ b/user/llvm8/even-more-secure-plt.patch
diff --git a/user/llvm7/llvm-fix-build-with-musl-libc.patch b/user/llvm8/llvm-fix-build-with-musl-libc.patch
index 6ee91ea44..6ee91ea44 100644
--- a/user/llvm7/llvm-fix-build-with-musl-libc.patch
+++ b/user/llvm8/llvm-fix-build-with-musl-libc.patch
diff --git a/user/llvm8/more-secure-plt.patch b/user/llvm8/more-secure-plt.patch
new file mode 100644
index 000000000..6728e2765
--- /dev/null
+++ b/user/llvm8/more-secure-plt.patch
@@ -0,0 +1,28 @@
+--- a/lib/Target/PowerPC/PPCSubtarget.cpp
++++ b/lib/Target/PowerPC/PPCSubtarget.cpp
+@@ -138,6 +138,10 @@
+ if (isDarwin())
+ HasLazyResolverStubs = true;
+
++ // Set up musl-specific properties.
++ if (TargetTriple.getEnvironment() == Triple::Musl)
++ SecurePlt = true;
++
+ if (HasSPE && IsPPC64)
+ report_fatal_error( "SPE is only supported for 32-bit targets.\n", false);
+ if (HasSPE && (HasAltivec || HasQPX || HasVSX || HasFPU))
+diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
+index c583fba8cab..6a9eedf89c5 100644
+--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
+@@ -222,6 +222,10 @@ static Reloc::Model getEffectiveRelocModel(const Triple &TT,
+ if (TT.getArch() == Triple::ppc64)
+ return Reloc::PIC_;
+
++ // musl needs SecurePlt, which depends on PIC.
++ if (TT.getEnvironment() == Triple::Musl)
++ return Reloc::PIC_;
++
+ // Rest are static by default.
+ return Reloc::Static;
+ }
diff --git a/user/llvm7/musl-ppc64-elfv2.patch b/user/llvm8/musl-ppc64-elfv2.patch
index 016be5dad..016be5dad 100644
--- a/user/llvm7/musl-ppc64-elfv2.patch
+++ b/user/llvm8/musl-ppc64-elfv2.patch
diff --git a/user/llvm7/python3-test.patch b/user/llvm8/python3-test.patch
index 746313317..746313317 100644
--- a/user/llvm7/python3-test.patch
+++ b/user/llvm8/python3-test.patch
diff --git a/user/lskat/APKBUILD b/user/lskat/APKBUILD
index 8c20e285e..19d904a95 100644
--- a/user/lskat/APKBUILD
+++ b/user/lskat/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=lskat
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Lieutenant Skat is an interactive two-player card game"
url="https://games.kde.org/game.php?game=lskat"
@@ -41,4 +41,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6fadb424397fa3780af818323eda2c7025f4e611e33a78ed93aad661a5bd1d0df2d71af6da9c6598278aee137e60a9ca7591e5fadbd0cc25af2eb2ebffaa7ded lskat-18.12.3.tar.xz"
+sha512sums="3b50fee9690d58f09c81a12982d6c9dc49130a00a3471236257111ac9ea62047ea5eae5d5331da36a2ed0a15dc6a78d21fd07c4ed5f9764cb3c3aacebf3c933f lskat-19.04.1.tar.xz"
diff --git a/user/luarocks/APKBUILD b/user/luarocks/APKBUILD
index 3a536a7bd..7bc21d7e0 100644
--- a/user/luarocks/APKBUILD
+++ b/user/luarocks/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=luarocks
-pkgver=3.0.4
+pkgver=3.1.2
pkgrel=0
pkgdesc="Package manager for Lua software"
url="https://luarocks.org/"
@@ -27,4 +27,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="65a28f0dca4fc45a0ee413493d0e4287de9c495b27c0366d955a16d03adf94b36cb9dbeda00fb74045809eb5048b78ea5158257b5ddafa924dc8ff0f017e95f8 luarocks-3.0.4.tar.gz"
+sha512sums="78ef1d72302c88fa9989aaf4dba8d7043a2929b709631be2003d3419df828e9168b207365c56bbbf0b52bf81d15fc96b92a7c7abb5dd11dde3630d23886ff51c luarocks-3.1.2.tar.gz"
diff --git a/user/lynx/APKBUILD b/user/lynx/APKBUILD
index d19215e41..4e69511e8 100644
--- a/user/lynx/APKBUILD
+++ b/user/lynx/APKBUILD
@@ -1,6 +1,6 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=lynx
pkgver=2.8.9_p1
_relver=${pkgver/_p/rel.}
diff --git a/user/makedepend/APKBUILD b/user/makedepend/APKBUILD
index da9da0ee9..13d8c1e05 100644
--- a/user/makedepend/APKBUILD
+++ b/user/makedepend/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=makedepend
-pkgver=1.0.5
-pkgrel=1
+pkgver=1.0.6
+pkgrel=0
pkgdesc="Utility for making makefile dependencies"
url="https://www.freedesktop.org/"
arch="all"
@@ -13,7 +13,6 @@ subpackages="$pkgname-doc"
source="https://www.X.Org/releases/individual/util/${pkgname}-${pkgver}.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -23,13 +22,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="e28d71c3ce4f74ca6479771fcdd123c19ab18e3f2aa690a7798237f21f13fca4c4d66d7b7b1d708c2c214b8e17f8fe37e6cf5b75a4d2b88514c50addea2600cb makedepend-1.0.5.tar.bz2"
+sha512sums="eb0e8ee8ab7515806d7d98a060cdcd392ec38e4225e5e05db26daa6651f185d0b764aab403edeea904d4d23211b1f7db20daeee6eafce8abe65225784ed0aa42 makedepend-1.0.6.tar.bz2"
diff --git a/user/marble/APKBUILD b/user/marble/APKBUILD
index 00df90902..fb4a1f02e 100644
--- a/user/marble/APKBUILD
+++ b/user/marble/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=marble
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Free, open-source map and virtual globe"
url="https://marble.kde.org/"
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="af6147a288021a3056892bae8d9c83b6ecfc581c7237d3fa04a579e4461779a5dacb0e22b21f0e8af5032f75d827a56d197369c85193f0188140ac361777a851 marble-18.12.3.tar.xz"
+sha512sums="f1a0bbd99b17053e4a3d4555ff38ab74b9f6425e38383a55d529772cb9cf78981af0b560ded3e36731ded686165b6b8e09cf7d8e98c6e5f3c04a9a89294cee36 marble-19.04.1.tar.xz"
diff --git a/user/marco/APKBUILD b/user/marco/APKBUILD
new file mode 100644
index 000000000..2f7daa034
--- /dev/null
+++ b/user/marco/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=marco
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Window manager for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND MIT-advertising AND MIT-CMU"
+depends=""
+makedepends="gtk+3.0-dev intltool itstool libcanberra-dev libice-dev libsm-dev
+ libxml2-utils zenity"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/marco-$pkgver.tar.xz
+ correctly-posix.patch"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="18093f4d419fbc90f957a04ec3e36a153b3c51a6bcdc1ac5884adcc0292f157bc5e4af51e171451a4b54b5bccffdee2e8a07ed13dafb6106773abfb06b6a8a4f marco-1.22.1.tar.xz
+b377b2a7d2af094a8b4bd6d1827c85f9675656cd8bdc6892b334c8479d188459ec8585fed3c746fdaef5820f768ce93605586693a3308f0db2d6f58e08f4df49 correctly-posix.patch"
diff --git a/user/marco/correctly-posix.patch b/user/marco/correctly-posix.patch
new file mode 100644
index 000000000..e2ad5fa18
--- /dev/null
+++ b/user/marco/correctly-posix.patch
@@ -0,0 +1,12 @@
+diff -Nurd marco-1.22.0/src/ui/theme.c marco-1.22.0.new/src/ui/theme.c
+--- marco-1.22.0/src/ui/theme.c 2019-02-08 08:51:33.000000000 -0600
++++ marco-1.22.0.new/src/ui/theme.c 2019-03-23 06:00:16.139892136 -0500
+@@ -60,7 +60,7 @@
+ #include <gtk/gtk.h>
+ #include <string.h>
+ #include <stdlib.h>
+-#define __USE_XOPEN
++#define _XOPEN_SOURCE
+ #include <math.h>
+
+ #define GDK_COLOR_RGBA(color) \
diff --git a/user/mate-applets/APKBUILD b/user/mate-applets/APKBUILD
new file mode 100644
index 000000000..c6973884d
--- /dev/null
+++ b/user/mate-applets/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-applets
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Utility applications for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+ AND GPL-2.0+ AND GPL-2.0-only"
+depends=""
+makedepends="dbus-dev dbus-glib-dev gtk+3.0-dev gtksourceview-3.0-dev
+ gucharmap-dev intltool itstool libmateweather-dev libnotify-dev
+ libwnck-dev libxml2-dev libxml2-utils mate-panel-dev polkit-dev
+ upower-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/1.22/mate-applets-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ rm -r mateweather/docs/ru
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="d132c8b5e433a557785745032235a5792d04edd7c249269d9a4066fb345b76955bdca71164f7b321f41f566803694d85d9cd7690fbd699daa54788572f0eb986 mate-applets-1.22.1.tar.xz"
diff --git a/user/mate-backgrounds/APKBUILD b/user/mate-backgrounds/APKBUILD
new file mode 100644
index 000000000..bd70d43a8
--- /dev/null
+++ b/user/mate-backgrounds/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-backgrounds
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Desktop wallpapers provided by the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="noarch"
+license="GPL-2.0+"
+depends=""
+makedepends="intltool"
+subpackages="$pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-backgrounds-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="b7135cdb20972d50f43026cf98275faaa3c5e41bd0900bca7624a8f9ed03d0ec7f465c78aaf3da534ea6798e8cc690727a1fed8f14b3fb42a8a63bd82858ff30 mate-backgrounds-1.22.0.tar.xz"
diff --git a/user/mate-calc/APKBUILD b/user/mate-calc/APKBUILD
new file mode 100644
index 000000000..a8f505202
--- /dev/null
+++ b/user/mate-calc/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-calc
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Calculator utility for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND GPL-2.0-only"
+depends=""
+makedepends="gtk+3.0-dev intltool itstool libxml2-utils libxml2-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-calc-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="8e8efa1c17f6b6330471d877bc4d9c8486c64fb22ac3e3caf13a47f8be030664f1ca635a2323a78c5345a838fda307c3b4913caa748a67cc45fe43b9c8070e9a mate-calc-1.22.1.tar.xz"
diff --git a/user/mate-common/APKBUILD b/user/mate-common/APKBUILD
new file mode 100644
index 000000000..e9e00f902
--- /dev/null
+++ b/user/mate-common/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-common
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Additional development support for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="noarch"
+license="GPL-3.0-only"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://pub.mate-desktop.org/releases/1.22/mate-common-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="3887634081c126c6c23f560ca256ae83edbc5f77f0fc0128c2aaa2b5652672ec6f21ca29b0b44802b03c5dfd53bf0da860093ec73c46fba58f7be12a1db1d2a3 mate-common-1.22.0.tar.xz"
diff --git a/user/mate-complete/APKBUILD b/user/mate-complete/APKBUILD
new file mode 100644
index 000000000..f3a5ac75a
--- /dev/null
+++ b/user/mate-complete/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-complete
+pkgver=1.22.0
+pkgrel=0
+url="https://mate-desktop.org"
+pkgdesc="Complete MATE desktop environment"
+arch="noarch"
+options="!check" # No tests
+license=" "
+depends="atril caja caja-dropbox caja-extensions engrampa eom marco
+ mate-applets mate-backgrounds mate-calc mate-control-center
+ mate-desktop mate-icon-theme mate-indicator-applet mate-media
+ mate-menus mate-netbook mate-notification-daemon mate-panel
+ mate-polkit mate-power-manager mate-screensaver mate-sensors-applet
+ mate-session-manager mate-settings-daemon mate-system-monitor
+ mate-terminal mate-user-guide mate-user-share mate-utils mozo pluma"
+source="org.adelie-linux.about-mate.desktop"
+
+package() {
+ cd "$srcdir"
+ mkdir -p "$pkgdir"/usr/share/applications
+ install -Dm644 org.adelie-linux.about-mate.desktop "$pkgdir"/usr/share/applications
+}
+
+sha512sums="24fd0524d949a22b22e38c81667f31498bc524302c52128c10d8a5802315720543426ba82245f5e7510832c493389ff59f36be14433f1a6a6c68993f733f329c org.adelie-linux.about-mate.desktop"
diff --git a/user/mate-complete/org.adelie-linux.about-mate.desktop b/user/mate-complete/org.adelie-linux.about-mate.desktop
new file mode 100644
index 000000000..53e23ed68
--- /dev/null
+++ b/user/mate-complete/org.adelie-linux.about-mate.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=About MATE
+Comment=Learn about the MATE desktop environment
+Icon=dialog-information
+Categories=MATE
+Exec=xdg-open https://mate-desktop.org
diff --git a/user/mate-control-center/APKBUILD b/user/mate-control-center/APKBUILD
new file mode 100644
index 000000000..93d563e05
--- /dev/null
+++ b/user/mate-control-center/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-control-center
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Configuration utilities for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0-only AND GPL-2.0+ AND LGPL-2.0+ AND LGPL-2.1+ AND MIT"
+depends=""
+makedepends="accountsservice-dev dbus-dev dbus-glib-dev desktop-file-utils
+ gtk+3.0-dev intltool itstool libcanberra-dev libmatekbd-dev
+ libxklavier-dev libxml2-dev libxml2-utils marco-dev mate-desktop-dev
+ mate-menus-dev mate-settings-daemon-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-control-center-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="92390bf5eea459effbd94f0488cdaf3d7b6ff4f548f1aafead928d75e064e85ec1ac7796289f96af2ca8f6cbf3ef57bd2ae37058192af0ec976f4770ec8abeca mate-control-center-1.22.1.tar.xz"
diff --git a/user/mate-desktop/APKBUILD b/user/mate-desktop/APKBUILD
new file mode 100644
index 000000000..8b4fb0fcc
--- /dev/null
+++ b/user/mate-desktop/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-desktop
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Core library for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="MIT AND LGPL-2.0+ AND GPL-2.0+"
+depends=""
+makedepends="dconf-dev gobject-introspection-dev gtk+3.0-dev intltool
+ iso-codes-dev librsvg startup-notification-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-desktop-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="bb2bf9de05439a0fcd4ab01ac628a2a235808cd07c1b7ce9abfbf2e64f98dc572603dfbd4a52bca5f03446825fba199715d7e08fcdc84f0df8d2ffeb4c87da62 mate-desktop-1.22.1.tar.xz"
diff --git a/user/mate-icon-theme/APKBUILD b/user/mate-icon-theme/APKBUILD
new file mode 100644
index 000000000..f06e39926
--- /dev/null
+++ b/user/mate-icon-theme/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-icon-theme
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Default icon theme for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="noarch"
+license="LGPL-3.0-only OR CC-BY-SA-3.0"
+depends=""
+makedepends="icon-naming-utils-dev intltool"
+subpackages="$pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-icon-theme-$pkgver.tar.xz"
+builddir="$srcdir/mate-icon-theme-$pkgver"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="640fea3dfd4d9f2edd24353e4a36d57520de356c421b24ee1aec7fca98d3f76a789808a1d005a20ed87ee089d1777376e5b3f229ce0e90b06adf242f6a79b3b9 mate-icon-theme-1.22.1.tar.xz"
diff --git a/user/mate-indicator-applet/APKBUILD b/user/mate-indicator-applet/APKBUILD
new file mode 100644
index 000000000..884c9e35c
--- /dev/null
+++ b/user/mate-indicator-applet/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-indicator-applet
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="MATE panel applet for consistent information display"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-3.0+ AND LGPL-2.0+"
+depends=""
+makedepends="ayatana-ido-dev gtk+3.0-dev intltool libayatana-indicator-dev
+ mate-panel-dev"
+subpackages="$pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-indicator-applet-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="6e1dd133a521f247ecb648b3ffa542e326f504fd3b0719a74099e83ac1dfa9fd4d7676af284f89f69d6684e5640f240930bb0fb43bcf7d59472786adf4c3200c mate-indicator-applet-1.22.0.tar.xz"
diff --git a/user/mate-media/APKBUILD b/user/mate-media/APKBUILD
new file mode 100644
index 000000000..9850fcf9b
--- /dev/null
+++ b/user/mate-media/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-media
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Media utilities for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool libcanberra-dev libmatemixer-dev libxml2-dev
+ mate-desktop-dev mate-panel-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/1.22/mate-media-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="e7bce9128bc6e551cd918af669d52a7ca238a280a4ca09d15822f4d5b52fd9925b647278a39067a1f2a5dd0facfad4988385233939abbdf4aefecc21d2e089d9 mate-media-1.22.1.tar.xz"
diff --git a/user/mate-menus/APKBUILD b/user/mate-menus/APKBUILD
new file mode 100644
index 000000000..4d4fe80d4
--- /dev/null
+++ b/user/mate-menus/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-menus
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Desktop menu implementation for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+"
+depends=""
+makedepends="gobject-introspection-dev intltool"
+subpackages="$pkgname-dev $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/1.22/mate-menus-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="7ca02c1bb89c83b6b331fc2e8878862fa8f02f5cd52b297aa44b36dd5c2d1ee1ffeb1641d63a10bd4deb99f63ded9c3b890a05ab7f7faf32d7f895b0a2f68d70 mate-menus-1.22.0.tar.xz"
diff --git a/user/mate-netbook/APKBUILD b/user/mate-netbook/APKBUILD
new file mode 100644
index 000000000..885424a55
--- /dev/null
+++ b/user/mate-netbook/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-netbook
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Netbook-oriented window manager for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-3.0-only AND LGPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool libfakekey-dev libwnck-dev libxtst-dev
+ mate-panel-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-netbook-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="d0ba10d798e779e89b656a5bab2f5524c36755d58b877ba18482171c7673c5217ecf39b8098ff7b258634fbae62638d70bdf11e17f02f47c68ca96058f0ebb03 mate-netbook-1.22.1.tar.xz"
diff --git a/user/mate-notification-daemon/APKBUILD b/user/mate-notification-daemon/APKBUILD
new file mode 100644
index 000000000..c45995739
--- /dev/null
+++ b/user/mate-notification-daemon/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-notification-daemon
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Notification service for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool libcanberra-dev libnotify-dev libwnck-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-notification-daemon-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="1345604dee1315843ad5a6920aab7cbe1544c8f7c7ccea686e5684c7ea5272fa09d27edbcc996f6a568f8b3760f561b84901c44f93f1b3ae2d5ddcd3c3ce86fc mate-notification-daemon-1.22.0.tar.xz"
diff --git a/user/mate-panel/APKBUILD b/user/mate-panel/APKBUILD
new file mode 100644
index 000000000..bc2108938
--- /dev/null
+++ b/user/mate-panel/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-panel
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Panel for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND GPL-2.0-only AND LGPL-2.0+ AND MIT"
+depends=""
+makedepends="gobject-introspection-dev gtk+3.0-dev intltool itstool libice-dev
+ libmateweather-dev librsvg-dev libsm-dev libwnck-dev libxml2-utils
+ mate-desktop-dev mate-menus-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-panel-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="023599a2c0a879e32df11fc09d7526a54b8dc5248173c940e61df1dd9cbe8c04e4c916da89f5a64e44fe3f99462d56c72849314fc182c0af58a7c19e1fac642f mate-panel-1.22.1.tar.xz"
diff --git a/user/mate-polkit/APKBUILD b/user/mate-polkit/APKBUILD
new file mode 100644
index 000000000..345159cbc
--- /dev/null
+++ b/user/mate-polkit/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-polkit
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="PolKit integration for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool polkit-dev"
+subpackages="$pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-polkit-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="e761ec10842789b5bbb3831f568c64e969429131a893850e8323927b949e115a24b3907fd3def7f31f5f785f0831717d852c61f08a9028a009ea9cca0ba86393 mate-polkit-1.22.0.tar.xz"
diff --git a/user/mate-power-manager/APKBUILD b/user/mate-power-manager/APKBUILD
new file mode 100644
index 000000000..8807ec167
--- /dev/null
+++ b/user/mate-power-manager/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-power-manager
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Power management utility for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.0+"
+depends=""
+makedepends="dbus-dev dbus-glib-dev intltool itstool libcanberra-dev
+ libexecinfo-dev libgnome-keyring-dev libnotify-dev libxml2-utils
+ mate-panel-dev upower-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-power-manager-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ LIBS="-lexecinfo" ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="8eabd7f8171f0a6be610c849fad8346bb30ca2c69208e2e117f436daaa5ada3bf0fef479dc017f32f56ec6bd52a7ff7ff69d18baf01b402c5fa2747245261a81 mate-power-manager-1.22.1.tar.xz"
diff --git a/user/mate-screensaver/APKBUILD b/user/mate-screensaver/APKBUILD
new file mode 100644
index 000000000..0dcfcba19
--- /dev/null
+++ b/user/mate-screensaver/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-screensaver
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Screensaver for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+ AND GPL-2.0+ AND MIT"
+depends=""
+makedepends="dbus-glib-dev gtk+3.0-dev intltool libxscrnsaver-dev
+ mate-desktop-dev mate-menus-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-screensaver-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="7ffb94d88095ff5580862fe9c958a2e4af7a424d40dc5e0f3c1da49a258035179573721fc7052710624916678e953a6347a898b53ff872a49e022987b8c02904 mate-screensaver-1.22.1.tar.xz"
diff --git a/user/mate-sensors-applet/APKBUILD b/user/mate-sensors-applet/APKBUILD
new file mode 100644
index 000000000..fcb3ebb96
--- /dev/null
+++ b/user/mate-sensors-applet/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-sensors-applet
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="System monitoring applet for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool itstool libnotify-dev libxml2-utils libxslt
+ mate-panel-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-sensors-applet-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="4b6e608c92f03051044863f770b295d1526b19a9668513b566e81adeb28bc8524d8f458d114d2b44acf00f20c2f0a8d86b1ca7254fa165fde3b867c75a6b83e6 mate-sensors-applet-1.22.1.tar.xz"
diff --git a/user/mate-session-manager/APKBUILD b/user/mate-session-manager/APKBUILD
new file mode 100644
index 000000000..82ff187a5
--- /dev/null
+++ b/user/mate-session-manager/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-session-manager
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Session manager for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.0+"
+depends=""
+makedepends="dbus-glib-dev gtk+3.0-dev intltool libsm-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-session-manager-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="1c47134813d24abef7b2f5df098120a2cd138f822ea3d687a1a2566224bbde21482bf40ac47ba08a39ed0899ff35eeac3c3690c83c006774c47f22189688990b mate-session-manager-1.22.1.tar.xz"
diff --git a/user/mate-settings-daemon/APKBUILD b/user/mate-settings-daemon/APKBUILD
new file mode 100644
index 000000000..df1a07ec1
--- /dev/null
+++ b/user/mate-settings-daemon/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-settings-daemon
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Settings daemon for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND MIT AND LGPL-2.0+ AND GPL-3.0+"
+depends=""
+makedepends="dbus-dev dbus-glib-dev dconf-dev gtk+3.0-dev intltool
+ libcanberra-dev libmatekbd-dev libmatemixer-dev libnotify-dev
+ mate-desktop-dev nss-dev polkit-dev pulseaudio-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-settings-daemon-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="e8fa2ba07195dd66a94312909be37abe67089c7a687afee3bfde5860a598e84481949c9cdc7408886f90776556b41d5574bd6efc0614ed7583908214d59c6cb5 mate-settings-daemon-1.22.0.tar.xz"
diff --git a/user/mate-system-monitor/APKBUILD b/user/mate-system-monitor/APKBUILD
new file mode 100644
index 000000000..78b8ce4b5
--- /dev/null
+++ b/user/mate-system-monitor/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-system-monitor
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="System monitor utilities for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.0+ AND GPL-2.0-only"
+depends=""
+makedepends="gtkmm+3.0-dev intltool itstool libgtop-dev librsvg-dev
+ libwnck-dev libxml2-dev libxml2-utils"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-system-monitor-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="ce5c514c333b85d6dd94b9fa212b51ed78212781da9719f730c50fc61fcf433e1a7df1d2665fe90e9529fba08207df59858b66f982bcd070845f62b22f8bd82f mate-system-monitor-1.22.1.tar.xz"
diff --git a/user/mate-terminal/APKBUILD b/user/mate-terminal/APKBUILD
new file mode 100644
index 000000000..02da7e5b3
--- /dev/null
+++ b/user/mate-terminal/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-terminal
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Terminal emulator for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-3.0+ AND LGPL-3.0+"
+depends=""
+makedepends="dconf-dev gtk+3.0-dev intltool itstool libsm-dev libxml2-utils
+ vte-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-terminal-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="b20102c15dc140b59c93802606ca94fd108dfd5f7ac7f079b872e957794fc2c3aab40c0e6da697e8d393a67fca7b106573a4cb8014af5d6c8ad777be3a798534 mate-terminal-1.22.1.tar.xz"
diff --git a/user/mate-user-guide/APKBUILD b/user/mate-user-guide/APKBUILD
new file mode 100644
index 000000000..3d905d3af
--- /dev/null
+++ b/user/mate-user-guide/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-user-guide
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="User handbook for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="noarch"
+license="GFDL-1.1+"
+depends=""
+makedepends="intltool itstool libxml2-utils"
+subpackages="$pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-user-guide-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="972f609364cb0673c3c402f6936618ba4a212d122055ea18232734cc2cc9d023e9a16cbd78ba96898d227b6db640234c98b387550504224428bfc682b6090877 mate-user-guide-1.22.1.tar.xz"
diff --git a/user/mate-user-share/APKBUILD b/user/mate-user-share/APKBUILD
new file mode 100644
index 000000000..3e681aa4f
--- /dev/null
+++ b/user/mate-user-share/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-user-share
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Inter-user file sharing utilities for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends="apache-httpd-dev caja-dev dbus-glib-dev gtk+3.0-dev intltool
+ itstool libcanberra-dev libnotify-dev libxml2-utils"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-user-share-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-httpd=/usr/sbin/httpd \
+ --with-modules-dir=/usr/libexec/apache2
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="151532ebe031a973e8825d86c9a315697f5930f89d78960946da3ba135238e3130c59018d04cf9dc8d343ff1613e51254701bbf8e23a9881733ecbb7e6fb9f18 mate-user-share-1.22.0.tar.xz"
diff --git a/user/mate-utils/APKBUILD b/user/mate-utils/APKBUILD
new file mode 100644
index 000000000..7d70c09f4
--- /dev/null
+++ b/user/mate-utils/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mate-utils
+pkgver=1.22.0
+pkgrel=0
+pkgdesc="Miscellaneous utilities for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+license="LGPL-2.0+ AND LGPL-2.1+ AND GPL-2.0+ AND GPL-3.0+"
+depends=""
+makedepends="gtk+3.0-dev intltool itstool libcanberra-dev libgtop-dev
+ libsm-dev libxml2-utils mate-panel-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-utils-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="248c6e4108900768a4e8b272d20ac9b2d70e8bf77375f4669a099f4d8386c2e8affeafb772d209f00906f96f20d7ee347167ef4837186f44d8aaad85ef855f70 mate-utils-1.22.0.tar.xz"
diff --git a/user/mednafen/APKBUILD b/user/mednafen/APKBUILD
index 097454cad..0666bec0f 100644
--- a/user/mednafen/APKBUILD
+++ b/user/mednafen/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Horst Burkhardt <horst@adelielinux.org>
# Maintainer: Horst Burkhardt <horst@adelielinux.org>
pkgname=mednafen
-pkgver=1.21.3
+pkgver=1.22.1
pkgrel=0
pkgdesc="an emulator for various home gaming consoles"
url="https://mednafen.github.io/"
@@ -12,18 +12,26 @@ license="GPL-2.0-only"
depends=""
makedepends="alsa-lib-dev flac-dev libogg-dev libsndfile-dev libvorbis-dev
lzo-dev sdl2-dev zlib-dev"
-source="https://mednafen.github.io/releases/files/$pkgname-$pkgver.tar.xz"
+source="https://mednafen.github.io/releases/files/$pkgname-$pkgver.tar.xz
+ ppc.patch
+ ppc64.patch
+ "
builddir="$srcdir/$pkgname"
build() {
- cd "$builddir"
- ./configure --prefix=/usr --enable-ss=no
- make
+ ./autogen.sh
+ export CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"
+ ./configure \
+ --prefix=/usr \
+ --enable-ss=no \
+ --enable-snes-faust=no
+ make
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="987c14edae68901f8a693c9f7317063daf4274bb0b650ed05cd01cf4ceb38d76e6ff5446c324447f73727096c74d0bf7f545cdeadfb6291d67656d659de26715 mednafen-1.21.3.tar.xz"
+sha512sums="4e6890b984a812e188a42582e79dfdac28e101ce3bd658044b68f267d5c8b3799ea3f4de3dcac5314a615f17591a537b51e64f6bd165fec01f028b201eb32763 mednafen-1.22.1.tar.xz
+264b22be3af9db57d0e8676d77b57338308764c79a5eae1c7bd3bb211c5e190ec0797e34a952039175395c0b8819e6285f2ac5f652ee0d5b9d1e0eaf43eca6e9 ppc.patch
+84cbff76b16960ec67fec785fc6e8d541db342e9567fb6f4d42c84ced3fc0f0dfe702a8a7fd7af4f84835f8efe289e7cb9cf18766e4196525686eaa23b02537c ppc64.patch"
diff --git a/user/mednafen/ppc.patch b/user/mednafen/ppc.patch
new file mode 100644
index 000000000..0f795f169
--- /dev/null
+++ b/user/mednafen/ppc.patch
@@ -0,0 +1,11 @@
+--- mednafen/configure.ac.old 2019-01-28 06:52:37.000000000 +0000
++++ mednafen/configure.ac 2019-03-24 22:30:31.180000000 +0000
+@@ -765,7 +765,7 @@
+ AM_CONDITIONAL(ARCH_X86_32, true)
+ ;;
+
+- powerpc)
++ powerpc*|ppc*)
+ AC_DEFINE([ARCH_POWERPC], [1], [Define if we are compiling for PPC architectures.])
+ AM_CONDITIONAL(ARCH_POWERPC, true)
+
diff --git a/user/mednafen/ppc64.patch b/user/mednafen/ppc64.patch
new file mode 100644
index 000000000..734af47de
--- /dev/null
+++ b/user/mednafen/ppc64.patch
@@ -0,0 +1,13 @@
+musl is always ELFv2, no matter endianness.
+
+--- mednafen/src/snes/src/lib/libco/ppc.c.old 2019-01-28 06:52:37.000000000 +0000
++++ mednafen/src/snes/src/lib/libco/ppc.c 2019-03-25 03:42:05.330000000 +0000
+@@ -40,7 +40,7 @@
+ /* Whether function calls are indirect through a descriptor,
+ or are directly to function */
+ #ifndef LIBCO_PPCDESC
+- #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || LIBCO_PPC64)
++ #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || (LIBCO_PPC64 && _CALL_ELF == 1))
+ #define LIBCO_PPCDESC 1
+ #endif
+ #endif
diff --git a/user/mesa-demos/APKBUILD b/user/mesa-demos/APKBUILD
index f89083ae4..d1c172828 100644
--- a/user/mesa-demos/APKBUILD
+++ b/user/mesa-demos/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=mesa-demos
pkgver=8.4.0
-pkgrel=0
+pkgrel=1
pkgdesc="Mesa demos and utils"
url="http://mesa3d.org"
arch="all"
@@ -25,6 +25,8 @@ build() {
package() {
cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
+ # conflicts with X11 bitmap tool
+ mv "$pkgdir"/usr/bin/bitmap "$pkgdir"/usr/bin/bitmap-demo
}
sha512sums="b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2"
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD
index d9b27c865..4b8dc8d5a 100644
--- a/user/mesa/APKBUILD
+++ b/user/mesa/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mesa
-pkgver=18.3.4
+pkgver=18.3.6
pkgrel=0
pkgdesc="Mesa DRI OpenGL library"
url="https://www.mesa3d.org"
@@ -16,7 +16,7 @@ subpackages="$pkgname-dev
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
"
-_llvmver=7
+_llvmver=8
depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev
xorgproto-dev"
makedepends="$depends_dev byacc eudev-dev expat-dev flex libelf-dev
@@ -230,7 +230,7 @@ _dri() {
esac
}
-sha512sums="e4ead944ba053aa05425e9e199d633f576dfa424976253fc32438e8db6da5e8d381122e4c4b7fb18f94177421f208bab5567cfec8d2692d104e266483ca02a99 mesa-18.3.4.tar.xz
+sha512sums="3a6dcaba99185e28d162b130bbd760fe87e6072065958189b28f41ea287ef041397897e098d93218a64802cf11c73806f7400a866bd8e5ed69694fa15c147487 mesa-18.3.6.tar.xz
9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch
c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch
245d0d64d858dfadeeb544f31f7d0bb6ecb746a7fd5ec99755d679ae1a1eef4198d66473fb24d333eb6786bb8657012771e8285d67f165dc61a031df801947aa amdgpu-pthread-header.patch
diff --git a/user/meson/APKBUILD b/user/meson/APKBUILD
index d649ab340..25dae2457 100644
--- a/user/meson/APKBUILD
+++ b/user/meson/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer:
pkgname=meson
-pkgver=0.49.2
+pkgver=0.50.1
pkgrel=0
pkgdesc="Fast, user-friendly build system"
url="http://mesonbuild.com/"
@@ -27,4 +27,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="d07a5dfd699f1e4b00af39c377ec186c91718d9595cb0ab506b4b40c0c63ddd14eccbe8afb446635272c431e2a78032888be0bc8f6064044da53e8c0b5f7be3f meson-0.49.2.tar.gz"
+sha512sums="1e3dda7684e999b408a34b4b594f0b7d22494328dc0e98ec794625f16d821f2ef96303ffc761a52249e3919b52befe9fc02577dbd52e50f4b16e6c0f79ba2fca meson-0.50.1.tar.gz"
diff --git a/user/minuet/APKBUILD b/user/minuet/APKBUILD
index d6dd2837f..ef7180b64 100644
--- a/user/minuet/APKBUILD
+++ b/user/minuet/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=minuet
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Music education software"
url="https://minuet.kde.org/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="559c62c62aceadb10f2f501cddd9094e0ce2a5520d3c872fe5a76f6c3827828c6aca7850ce8c27b1c9126446887b87e7f39f65b861214733e4578816c6981660 minuet-18.12.3.tar.xz"
+sha512sums="0db8274cc30d04c790a0261abdb32b9e759018a7725d25b0e50eab5b06117d3c2ab9a6e0f8ea1fbad22ccbe6fbeb366e557431b31e255919278591adcf48ace8 minuet-19.04.1.tar.xz"
diff --git a/user/mkcomposecache/APKBUILD b/user/mkcomposecache/APKBUILD
index dbd363bf0..d75231431 100644
--- a/user/mkcomposecache/APKBUILD
+++ b/user/mkcomposecache/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mkcomposecache
-pkgver=1.2
+pkgver=1.2.1
pkgrel=0
pkgdesc="Utility to manipulate X11 Compose key cache files"
url="https://www.X.Org/"
@@ -10,10 +10,14 @@ license="MIT"
depends=""
makedepends="libx11-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/mkcomposecache-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/mkcomposecache-$pkgver.tar.bz2"
+
+prepare() {
+ update_config_sub
+ default_prepare
+}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +29,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="e81101dbf3324341a2aa6b12a6f1a67bf18484f69edc86e38f78f30b2e62d4d3a98d65dbd05540dfe437d739b5cdd330d1e381da87ec3fe4fe7c42fcef58aad7 mkcomposecache-1.2.tar.bz2"
+sha512sums="97ce9e5e2f2534291fc0b3a121899e2936de3e71ec6a9929cfc6e1e0f41e6d57cccd08147a2b5d3c7d70d1769f14ed6c4745c398602d5b81a2ddb8c7490fcb5b mkcomposecache-1.2.1.tar.bz2"
diff --git a/user/mkfontdir/APKBUILD b/user/mkfontdir/APKBUILD
deleted file mode 100644
index 45629cd20..000000000
--- a/user/mkfontdir/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: A. Wilcox <awilfox@adelielinux.org>
-pkgname=mkfontdir
-pkgver=1.0.7
-pkgrel=3
-pkgdesc="Font file index utility from X.Org"
-url="https://www.X.Org/"
-arch="noarch"
-license="X11 AND MIT"
-depends="encodings mkfontscale"
-makedepends="util-macros"
-subpackages="$pkgname-doc"
-triggers="$pkgname.trigger=/usr/share/fonts/*
- $pkgname.trigger=/usr/share/fonts/X11/*"
-source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2"
-
-prepare() {
- cd "$builddir"
- update_config_sub
- default_prepare
-}
-
-build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-check() {
- cd "$builddir"
- make check
-}
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="96d1920565514f90621e18a87fb5a2db9e052d1bffc6552d9659e065a21e252ab98b4e62013755032b98ed6d8c3381eb75c3c8e02651766ee4791ca622dcef1f mkfontdir-1.0.7.tar.bz2"
diff --git a/user/mkfontdir/mkfontdir.trigger b/user/mkfontdir/mkfontdir.trigger
deleted file mode 100644
index 3024d71f1..000000000
--- a/user/mkfontdir/mkfontdir.trigger
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-for i in "$@"; do
- mkfontdir -e "/usr/share/fonts/X11/encodings" -e "/usr/share/fonts/X11/encodings/large" -- "$i"
-done
-
diff --git a/user/mkfontscale/APKBUILD b/user/mkfontscale/APKBUILD
index c2d81ec73..cfda36c89 100644
--- a/user/mkfontscale/APKBUILD
+++ b/user/mkfontscale/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mkfontscale
-pkgver=1.1.3
-pkgrel=1
+pkgver=1.2.1
+pkgrel=0
pkgdesc="Scalable font file creator for X.Org"
url="https://www.X.Org/"
arch="all"
@@ -9,12 +9,12 @@ license="MIT"
subpackages="$pkgname-doc"
depends=""
makedepends="freetype-dev libfontenc-dev util-macros xorgproto-dev zlib-dev"
+provides="mkfontdir=$pkgver-r$pkgrel"
triggers="$pkgname.trigger=/usr/share/fonts/*
$pkgname.trigger=/usr/share/fonts/X11/*"
source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -23,13 +23,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="509e2f9cd55cf87cc3968c8767bf3f2386016278db8b7be75b7df34bf61f52519dd2778f3b9881ffbe30cc2fe26089c0a5b2c33af46bc7727f46dad83f030a62 mkfontscale-1.1.3.tar.bz2"
+sha512sums="4d243160e1f7f8dfa6a8f53349c1a42a55fc99426455ebdef58352c5e951fce8b4f1fbd1061a76c9a148095b002eac372db1ae5e2647d2ccb4886635b317b18c mkfontscale-1.2.1.tar.bz2"
diff --git a/user/mkfontscale/mkfontscale.trigger b/user/mkfontscale/mkfontscale.trigger
index 2357e06dc..9b08da4b0 100644
--- a/user/mkfontscale/mkfontscale.trigger
+++ b/user/mkfontscale/mkfontscale.trigger
@@ -2,5 +2,6 @@
for i in "$@"; do
mkfontscale "$i"
+ mkfontdir -e "/usr/share/fonts/X11/encodings" -e "/usr/share/fonts/X11/encodings/large" -- "$i"
done
diff --git a/user/mlt/APKBUILD b/user/mlt/APKBUILD
index eedfc1e65..c42db62ba 100644
--- a/user/mlt/APKBUILD
+++ b/user/mlt/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=mlt
-pkgver=6.12.0
+pkgver=6.14.0
pkgrel=0
pkgdesc="MLT multimedia framework"
url="https://www.mltframework.org/"
@@ -13,7 +13,7 @@ makedepends="bsd-compat-headers ffmpeg-dev fftw-dev frei0r-plugins-dev
qt5-qtbase-dev qt5-qtsvg-dev sdl_image-dev sox-dev"
subpackages="$pkgname-dev"
source="https://github.com/mltframework/mlt/releases/download/v$pkgver/mlt-$pkgver.tar.gz
- mlt-6.8.0-locale-header.patch
+ mlt-6.14.0-locale-header.patch
"
build() {
@@ -45,5 +45,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ed2cc0eeda45558ae6f1ec8780dfd413641953dc12dc32dccf655649f68f8e6088d39fefb7bef7bae042a41096976004446019d82ea162785bc487009cb97680 mlt-6.12.0.tar.gz
-c7c9fe70475ccf78c719c1ca6e1a7f2189e08abe04d556fe558dd787799bd7808d61326cfb2818eefe4a6868eed300b0c0d1480aa3df302b65b79a9a9aacc1b1 mlt-6.8.0-locale-header.patch"
+sha512sums="86b26b0c421cc881f6bebbde2c0ae9d834f190d8f878fb279ab29a1d7ac5416077b7dd91420bf63a7821fade9ca9c044a92440e02673c7b330b8ff36982a9fb9 mlt-6.14.0.tar.gz
+d00f01d50d5c78b1da5b43dc2b0bbfc49d5e383b602169ae9554734d29f6d43b9da8f97546141933c06ff0367bb4c9f0d2161bbcb6f016265bb0aa1dcbfcb3b1 mlt-6.14.0-locale-header.patch"
diff --git a/user/mlt/mlt-6.14.0-locale-header.patch b/user/mlt/mlt-6.14.0-locale-header.patch
new file mode 100644
index 000000000..28d659460
--- /dev/null
+++ b/user/mlt/mlt-6.14.0-locale-header.patch
@@ -0,0 +1,12 @@
+diff -Nurd mlt-6.14.0/src/framework/mlt_property.h mlt-6.14.0.new/src/framework/mlt_property.h
+--- mlt-6.14.0/src/framework/mlt_property.h 2019-03-30 15:59:21.000000000 -0500
++++ mlt-6.14.0.new/src/framework/mlt_property.h 2019-04-07 11:44:33.645881649 -0500
+@@ -30,7 +30,7 @@
+ #include <sys/param.h>
+ #endif
+
+-#if (defined(__GLIBC__) && !defined(__APPLE__)) || defined(HAVE_LOCALE_H)
++#if (defined(__linux__) && !defined(__APPLE__)) || defined(HAVE_LOCALE_H)
+ # include <locale.h>
+ #elif defined(__APPLE__) || (defined(__FreeBSD_version) && __FreeBSD_version >= 900506)
+ # include <xlocale.h>
diff --git a/user/mlt/mlt-6.8.0-locale-header.patch b/user/mlt/mlt-6.8.0-locale-header.patch
deleted file mode 100644
index 5b45b600a..000000000
--- a/user/mlt/mlt-6.8.0-locale-header.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Extremely incorrect logic here; fix it so that locale_t is defined properly.
-
---- mlt-6.8.0/src/framework/mlt_property.h.old 2018-05-10 20:16:56.000000000 -0500
-+++ mlt-6.8.0/src/framework/mlt_property.h 2018-06-07 05:22:57.345580154 -0500
-@@ -30,10 +30,10 @@
- #include <sys/param.h>
- #endif
-
--#if (defined(__GLIBC__) && !defined(__APPLE__)) || HAVE_LOCALE_H
--# include <locale.h>
--#elif defined(__APPLE__) || (__FreeBSD_version >= 900506)
-+#if defined(__APPLE__) || (__FreeBSD_version >= 900506)
- # include <xlocale.h>
-+#elif defined(__linux__) || HAVE_LOCALE_H
-+# include <locale.h>
- #else
- typedef char* locale_t;
- #endif
diff --git a/user/modemmanager/01-org.freedesktop.ModemManager.rules b/user/modemmanager/01-org.freedesktop.ModemManager.rules
new file mode 100644
index 000000000..c57f4c55c
--- /dev/null
+++ b/user/modemmanager/01-org.freedesktop.ModemManager.rules
@@ -0,0 +1,8 @@
+// Let users in either 'plugdev' or 'dialout' control ModemManager
+polkit.addRule(function(action, subject) {
+ if (/^org\.freedesktop\.ModemManager1\.(Device\.Control|Contacts|Messaging|Location)$/.test(action.id) &&
+ (subject.isInGroup("plugdev") || subject.isInGroup("dialout")) && subject.active) {
+ return "yes";
+ }
+});
+
diff --git a/user/modemmanager/APKBUILD b/user/modemmanager/APKBUILD
new file mode 100644
index 000000000..a6ad0524d
--- /dev/null
+++ b/user/modemmanager/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=modemmanager
+pkgver=1.10.0
+pkgrel=0
+pkgdesc="Software to control mobile broadband modems"
+url="https://www.freedesktop.org/wiki/Software/ModemManager/"
+arch="all"
+license="GPL-2.0+ AND LGPL-2.1+"
+depends=""
+checkdepends="dbus-x11"
+makedepends="glib-dev gobject-introspection-dev libgudev-dev libmbim-dev
+ libqmi-dev polkit-dev vala-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://www.freedesktop.org/software/ModemManager/ModemManager-$pkgver.tar.xz
+ no-translit.patch
+
+ 01-org.freedesktop.ModemManager.rules
+ "
+builddir="$srcdir/ModemManager-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-more-warnings \
+ --enable-introspection \
+ --enable-vala
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -D -m644 -t "$pkgdir"/usr/share/polkit-1/rules.d/ \
+ "$srcdir"/01-org.freedesktop.ModemManager.rules
+}
+
+sha512sums="676b11892b284c2da587895e71903f80ec96978c66eafae5e2d90e5c0f1dae18e50efc68b704c7907f01f208d585f5a8140316cf83e093df3f782c80949c33bc ModemManager-1.10.0.tar.xz
+78e1c2ef604fb8b204618b9ecdc741ed7087fcc46ee563dbaaf6c9c0185165be58abfc3bf8ba89129fce7570c172cd1ac1e191e6d1200e3029c14a585ff40b83 no-translit.patch
+31ded548acc8ccfcca5cd54384819b73ad9ac83556b754fa03a1a9c08aed7f913c7f066000abef0e52310721ef8c00ca8f48f1f762faaa5792420f62b5201881 01-org.freedesktop.ModemManager.rules"
diff --git a/user/modemmanager/no-translit.patch b/user/modemmanager/no-translit.patch
new file mode 100644
index 000000000..8f6d4b5f7
--- /dev/null
+++ b/user/modemmanager/no-translit.patch
@@ -0,0 +1,92 @@
+--- ModemManager-1.10.0/src/mm-broadband-modem.c.old 2019-01-15 14:57:35.000000000 +0000
++++ ModemManager-1.10.0/src/mm-broadband-modem.c 2019-05-10 05:17:07.329881242 +0000
+@@ -7014,7 +7014,7 @@
+ /* The raw SMS data can only be GSM, UCS2, or unknown (8-bit), so we
+ * need to convert to UCS2 here.
+ */
+- ucs2_text = g_convert (text, -1, "UCS-2BE//TRANSLIT", "UTF-8", NULL, &ucs2_len, NULL);
++ ucs2_text = g_convert (text, -1, "UCS-2BE", "UTF-8", NULL, &ucs2_len, NULL);
+ g_assert (ucs2_text);
+ raw = g_byte_array_sized_new (ucs2_len);
+ g_byte_array_append (raw, (const guint8 *) ucs2_text, ucs2_len);
+--- ModemManager-1.10.0/src/mm-charsets.c.old 2019-05-10 05:09:21.350652258 +0000
++++ ModemManager-1.10.0/src/mm-charsets.c 2019-05-10 05:16:41.752668021 +0000
+@@ -35,15 +35,15 @@
+ } CharsetEntry;
+
+ static CharsetEntry charset_map[] = {
+- { "UTF-8", "UTF8", "UTF-8", "UTF-8//TRANSLIT", MM_MODEM_CHARSET_UTF8 },
+- { "UCS2", NULL, "UCS-2BE", "UCS-2BE//TRANSLIT", MM_MODEM_CHARSET_UCS2 },
+- { "IRA", "ASCII", "ASCII", "ASCII//TRANSLIT", MM_MODEM_CHARSET_IRA },
+- { "GSM", NULL, NULL, NULL, MM_MODEM_CHARSET_GSM },
+- { "8859-1", NULL, "ISO8859-1", "ISO8859-1//TRANSLIT", MM_MODEM_CHARSET_8859_1 },
+- { "PCCP437", "CP437", "CP437", "CP437//TRANSLIT", MM_MODEM_CHARSET_PCCP437 },
+- { "PCDN", "CP850", "CP850", "CP850//TRANSLIT", MM_MODEM_CHARSET_PCDN },
+- { "HEX", NULL, NULL, NULL, MM_MODEM_CHARSET_HEX },
+- { NULL, NULL, NULL, NULL, MM_MODEM_CHARSET_UNKNOWN }
++ { "UTF-8", "UTF8", "UTF-8", "UTF-8", MM_MODEM_CHARSET_UTF8 },
++ { "UCS2", NULL, "UCS-2BE", "UCS-2BE", MM_MODEM_CHARSET_UCS2 },
++ { "IRA", "ASCII", "ASCII", "ASCII", MM_MODEM_CHARSET_IRA },
++ { "GSM", NULL, NULL, NULL, MM_MODEM_CHARSET_GSM },
++ { "8859-1", NULL, "ISO8859-1", "ISO8859-1", MM_MODEM_CHARSET_8859_1 },
++ { "PCCP437", "CP437", "CP437", "CP437", MM_MODEM_CHARSET_PCCP437 },
++ { "PCDN", "CP850", "CP850", "CP850", MM_MODEM_CHARSET_PCDN },
++ { "HEX", NULL, NULL, NULL, MM_MODEM_CHARSET_HEX },
++ { NULL, NULL, NULL, NULL, MM_MODEM_CHARSET_UNKNOWN }
+ };
+
+ const char *
+@@ -163,7 +163,7 @@
+ g_return_val_if_fail (iconv_from != NULL, FALSE);
+
+ converted = g_convert ((const gchar *)array->data, array->len,
+- "UTF-8//TRANSLIT", iconv_from,
++ "UTF-8", iconv_from,
+ NULL, NULL, &error);
+ if (!converted || error) {
+ g_clear_error (&error);
+@@ -195,7 +195,7 @@
+ return unconverted;
+
+ converted = g_convert (unconverted, unconverted_len,
+- "UTF-8//TRANSLIT", iconv_from,
++ "UTF-8", iconv_from,
+ NULL, NULL, &error);
+ if (!converted || error) {
+ g_clear_error (&error);
+@@ -226,7 +226,7 @@
+ return g_strdup (src);
+
+ converted = g_convert (src, strlen (src),
+- iconv_to, "UTF-8//TRANSLIT",
++ iconv_to, "UTF-8",
+ NULL, &converted_len, &error);
+ if (!converted || error) {
+ g_clear_error (&error);
+@@ -747,7 +747,7 @@
+
+ iconv_from = charset_iconv_from (charset);
+ utf8 = g_convert (str, strlen (str),
+- "UTF-8//TRANSLIT", iconv_from,
++ "UTF-8", iconv_from,
+ NULL, NULL, &error);
+ if (!utf8 || error) {
+ g_clear_error (&error);
+@@ -790,7 +790,7 @@
+ * that is UTF-8, if any.
+ */
+ utf8 = g_convert (str, strlen (str),
+- "UTF-8//TRANSLIT", "UTF-8//TRANSLIT",
++ "UTF-8", "UTF-8",
+ &bread, &bwritten, NULL);
+
+ /* Valid conversion, or we didn't get enough valid UTF-8 */
+@@ -804,7 +804,7 @@
+ */
+ str[bread] = '\0';
+ utf8 = g_convert (str, strlen (str),
+- "UTF-8//TRANSLIT", "UTF-8//TRANSLIT",
++ "UTF-8", "UTF-8",
+ NULL, NULL, NULL);
+ g_free (str);
+ break;
diff --git a/user/montecarlo/APKBUILD b/user/montecarlo/APKBUILD
index 71e45e6dd..f3c794409 100644
--- a/user/montecarlo/APKBUILD
+++ b/user/montecarlo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=montecarlo
-pkgver=0
+pkgver=1
pkgrel=0
pkgdesc="Monospace typeface designed for programmers"
url="http://www.bok.net/MonteCarlo/"
diff --git a/user/mosh/APKBUILD b/user/mosh/APKBUILD
index 323891e69..afa107c80 100644
--- a/user/mosh/APKBUILD
+++ b/user/mosh/APKBUILD
@@ -7,7 +7,7 @@ pkgdesc="Mobile shell surviving disconnects with local echo and line editing"
url="https://mosh.org"
arch="all"
license="GPL-3.0+"
-depends="$pkgname-client $pkgname-server"
+depends="$pkgname-client $pkgname-server perl"
checkdepends="tmux perl"
makedepends="ncurses-dev zlib-dev openssl-dev perl-dev perl-io-tty
protobuf-dev automake autoconf libtool gzip"
diff --git a/user/mozjs/0004-build-Copy-headers-on-install-instead-of-symlinking.patch b/user/mozjs/0004-build-Copy-headers-on-install-instead-of-symlinking.patch
deleted file mode 100644
index cc55486b9..000000000
--- a/user/mozjs/0004-build-Copy-headers-on-install-instead-of-symlinking.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 45919a0f627c7adde9f9676228448b4c53b291e5 Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Wed, 5 Jul 2017 22:45:59 -0700
-Subject: [PATCH 04/10] build: Copy headers on install instead of symlinking
-
-Patch ported forward to mozjs52 by Philip Chimento
-<philip.chimento@gmail.com>.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1379537
----
- python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
-index 132dcf94..33d489a6 100644
---- a/python/mozbuild/mozbuild/backend/recursivemake.py
-+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
-@@ -1307,11 +1307,11 @@ class RecursiveMakeBackend(CommonBackend):
- raise Exception("Wildcards are only supported in the filename part of "
- "srcdir-relative or absolute paths.")
-
-- install_manifest.add_pattern_symlink(basepath, wild, path)
-+ install_manifest.add_pattern_copy(basepath, wild, path)
- else:
-- install_manifest.add_pattern_symlink(f.srcdir, f, path)
-+ install_manifest.add_pattern_copy(f.srcdir, f, path)
- else:
-- install_manifest.add_symlink(f.full_path, dest)
-+ install_manifest.add_copy(f.full_path, dest)
- else:
- install_manifest.add_optional_exists(dest)
- backend_file.write('%s_FILES += %s\n' % (
---
-2.13.0
-
diff --git a/user/mozjs/0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch b/user/mozjs/0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch
deleted file mode 100644
index dd0e40115..000000000
--- a/user/mozjs/0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From ed8471fe677138b71477f25a6ee2732a80c1c5f7 Mon Sep 17 00:00:00 2001
-From: Till Schneidereit <till@tillschneidereit.net>
-Date: Thu, 1 Oct 2015 12:59:09 +0200
-Subject: [PATCH 06/10] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on
- all platforms
-
-Otherwise, build fails not being able to find HashBytes.
-
-Patch ported forward to mozjs52 by Philip Chimento
-<philip.chimento@gmail.com>.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
----
- js/src/old-configure.in | 23 ++++++++++++++---------
- mozglue/build/moz.build | 2 +-
- 2 files changed, 15 insertions(+), 10 deletions(-)
-
-diff --git a/js/src/old-configure.in b/js/src/old-configure.in
-index c40eb962..336e1aa7 100644
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -1620,16 +1620,21 @@ dnl ========================================================
- dnl = Enable jemalloc
- dnl ========================================================
-
--case "${OS_TARGET}" in
--Android|WINNT|Darwin)
-+dnl In stand-alone builds we always only want to link executables against mozglue.
-+if test "$JS_STANDALONE"; then
- MOZ_GLUE_IN_PROGRAM=
-- ;;
--*)
-- dnl On !Android !Windows !OSX, we only want to link executables against mozglue
-- MOZ_GLUE_IN_PROGRAM=1
-- AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
-- ;;
--esac
-+else
-+ case "${OS_TARGET}" in
-+ Android|WINNT|Darwin)
-+ MOZ_GLUE_IN_PROGRAM=
-+ ;;
-+ *)
-+ dnl On !Android !Windows !OSX, we only want to link executables against mozglue
-+ MOZ_GLUE_IN_PROGRAM=1
-+ AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
-+ ;;
-+ esac
-+fi
-
- if test "$MOZ_MEMORY"; then
- if test "x$MOZ_DEBUG" = "x1"; then
-diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
-index d2897477..e3be5a2b 100644
---- a/mozglue/build/moz.build
-+++ b/mozglue/build/moz.build
-@@ -6,7 +6,7 @@
-
- # Build mozglue as a shared lib on Windows, OSX and Android.
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
--if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
-+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
---
-2.13.0
-
diff --git a/user/mozjs/0008-tests-Skip-on-all-64-bit-archs.patch b/user/mozjs/0008-tests-Skip-on-all-64-bit-archs.patch
deleted file mode 100644
index 9f41e0fd6..000000000
--- a/user/mozjs/0008-tests-Skip-on-all-64-bit-archs.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 6a5ffe6cc8c6c2b7cf18c1778279e993afbb660a Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
-Date: Wed, 5 Jul 2017 21:05:27 -0700
-Subject: [PATCH 08/10] tests: Skip on all 64-bit archs
-
-Tests that are skipped on x86_64 should be skipped on all 64-bit
-architectures.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1357593
-
-Taken from Fedora:
-http://pkgs.fedoraproject.org/cgit/rpms/mozjs38.git/tree/fix-64bit-archs.patch
----
- js/src/tests/js1_5/Array/regress-157652.js | 2 +-
- js/src/tests/js1_5/Array/regress-330812.js | 2 +-
- js/src/tests/js1_5/Regress/regress-422348.js | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/js/src/tests/js1_5/Array/regress-157652.js b/js/src/tests/js1_5/Array/regress-157652.js
-index 0bdba8fd..9d77802c 100644
---- a/js/src/tests/js1_5/Array/regress-157652.js
-+++ b/js/src/tests/js1_5/Array/regress-157652.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
-diff --git a/js/src/tests/js1_5/Array/regress-330812.js b/js/src/tests/js1_5/Array/regress-330812.js
-index 3a392976..c48f4c88 100644
---- a/js/src/tests/js1_5/Array/regress-330812.js
-+++ b/js/src/tests/js1_5/Array/regress-330812.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
-diff --git a/js/src/tests/js1_5/Regress/regress-422348.js b/js/src/tests/js1_5/Regress/regress-422348.js
-index f2443c28..7ae83f4a 100644
---- a/js/src/tests/js1_5/Regress/regress-422348.js
-+++ b/js/src/tests/js1_5/Regress/regress-422348.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)) -- On 64-bit, takes forever rather than throwing
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) -- On 64-bit, takes forever rather than throwing
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
---
-2.13.0
-
diff --git a/user/mozjs/1002_drop_build_id.patch b/user/mozjs/1002_drop_build_id.patch
new file mode 100644
index 000000000..9f62abaea
--- /dev/null
+++ b/user/mozjs/1002_drop_build_id.patch
@@ -0,0 +1,33 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+We must drop build id as it causes conflicts when merging
+thunderbird/firefox/seamonkey on same system when using
+splitdebug
+
+diff --git a/js/src/old-configure.in b/js/src/old-configure.in
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -478,23 +478,16 @@ if test "$GNU_CC"; then
+
+ AC_MSG_CHECKING([for -z relro option to ld])
+ _SAVE_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-z,relro"
+ AC_TRY_LINK(,,AC_MSG_RESULT([yes]),
+ AC_MSG_RESULT([no])
+ LDFLAGS=$_SAVE_LDFLAGS)
+
+- AC_MSG_CHECKING([for --build-id option to ld])
+- _SAVE_LDFLAGS=$LDFLAGS
+- LDFLAGS="$LDFLAGS -Wl,--build-id"
+- AC_TRY_LINK(,,AC_MSG_RESULT([yes]),
+- AC_MSG_RESULT([no])
+- LDFLAGS=$_SAVE_LDFLAGS)
+-
+ _DEFINES_CFLAGS="-include $jsconfdefs -DMOZILLA_CLIENT"
+ _USE_CPP_INCLUDE_FLAG=1
+ fi
+
+ if test "$GNU_CXX"; then
+ _DEFINES_CXXFLAGS="-DMOZILLA_CLIENT -include $jsconfdefs"
+ _USE_CPP_INCLUDE_FLAG=1
+ fi
diff --git a/user/mozjs/1004_fix_pie_detection.patch b/user/mozjs/1004_fix_pie_detection.patch
new file mode 100644
index 000000000..e24adf365
--- /dev/null
+++ b/user/mozjs/1004_fix_pie_detection.patch
@@ -0,0 +1,34 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+CFLAGS must contain -fPIC when checking the linker
+
+diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4
+--- a/build/autoconf/compiler-opts.m4
++++ b/build/autoconf/compiler-opts.m4
+@@ -205,23 +205,26 @@ MOZ_PIE=
+
+ MOZ_ARG_ENABLE_BOOL(pie,
+ [ --enable-pie Enable Position Independent Executables],
+ MOZ_PIE=1,
+ MOZ_PIE= )
+
+ if test "$GNU_CC$CLANG_CC" -a -n "$MOZ_PIE"; then
+ AC_MSG_CHECKING([for PIE support])
++ _SAVE_CFLAGS=$CFLAGS
++ CFLAGS="$CFLAGS -fPIC"
+ _SAVE_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $DSO_PIC_CFLAGS -pie"
+ AC_TRY_LINK(,,AC_MSG_RESULT([yes])
+ [MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -pie"],
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([--enable-pie requires PIE support from the linker.]))
+ LDFLAGS=$_SAVE_LDFLAGS
++ CFLAGS=$_SAVE_CFLAGS
+ fi
+
+ AC_SUBST(MOZ_PROGRAM_LDFLAGS)
+
+ dnl ASan assumes no symbols are being interposed, and when that happens,
+ dnl it's not happy with it. Unconveniently, since Firefox is exporting
+ dnl libffi symbols and Gtk+3 pulls system libffi via libwayland-client,
+ dnl system libffi interposes libffi symbols that ASan assumes are in
diff --git a/user/mozjs/6006_musl_pthread_setname.patch b/user/mozjs/6006_musl_pthread_setname.patch
new file mode 100644
index 000000000..213509ff7
--- /dev/null
+++ b/user/mozjs/6006_musl_pthread_setname.patch
@@ -0,0 +1,29 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+set pthread name for non glibc systems
+
+diff --git a/js/src/threading/posix/Thread.cpp b/js/src/threading/posix/Thread.cpp
+--- a/js/src/threading/posix/Thread.cpp
++++ b/js/src/threading/posix/Thread.cpp
+@@ -155,18 +155,20 @@
+ int rv;
+ #ifdef XP_DARWIN
+ rv = pthread_setname_np(name);
+ #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ pthread_set_name_np(pthread_self(), name);
+ rv = 0;
+ #elif defined(__NetBSD__)
+ rv = pthread_setname_np(pthread_self(), "%s", (void*)name);
+-#else
++#elif defined(__GLIBC__)
+ rv = pthread_setname_np(pthread_self(), name);
++#else
++ rv = 0;
+ #endif
+ MOZ_RELEASE_ASSERT(!rv);
+ }
+
+ void js::ThisThread::GetName(char* nameBuffer, size_t len) {
+ MOZ_RELEASE_ASSERT(len >= 16);
+
+ int rv = -1;
diff --git a/user/mozjs/APKBUILD b/user/mozjs/APKBUILD
index 7760654b5..78d4ea352 100644
--- a/user/mozjs/APKBUILD
+++ b/user/mozjs/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mozjs
-pkgver=52.4.0
-pkgrel=1
+pkgver=60.5.2
+pkgrel=0
pkgdesc="Standalone JavaScript interpreter from Mozilla"
url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
arch="all"
@@ -10,51 +10,70 @@ license="NPL-1.1"
depends=""
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="autoconf2.13 icu-dev libffi-dev nspr-dev python3 cmd:which
- zlib-dev"
+ zlib-dev
+ ncurses-dev openssl-dev"
subpackages="$pkgname-dev"
source="https://distfiles.adelielinux.org/source/mozilla/mozjs-$pkgver.tar.bz2
+ https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
0003-build-Fix-library-install-name-on-macOS.patch
- 0004-build-Copy-headers-on-install-instead-of-symlinking.patch
- 0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch
- 0008-tests-Skip-on-all-64-bit-archs.patch
0009-build-Include-configure-script-be-nicer-about-option.patch
- baseconfig.patch
- dont-fail-tests-without-ion.patch
- python3.patch
+ 1002_drop_build_id.patch
+ 1004_fix_pie_detection.patch
+ 6006_musl_pthread_setname.patch
+ endian.patch
"
builddir="$srcdir/mozjs-$pkgver"
+unpack() {
+ default_unpack
+ [ -z $SKIP_PYTHON ] || return 0
+
+ msg "Killing all remaining hope for humanity and building Python 2..."
+ cd "$srcdir/Python-2.7.15"
+ [ -d ../python ] && rm -r ../python
+ # 19:39 <+solar> just make the firefox build process build its own py2 copy
+ # 20:03 <calvin> TheWilfox: there's always violence
+ ./configure --prefix="$srcdir/python"
+ make -j $JOBS
+ # 6 tests failed:
+ # test__locale test_os test_posix test_re test_strptime test_time
+ # make test
+ make -j $JOBS install
+}
+
prepare() {
cd "$builddir"
default_prepare
cd "$builddir"/js/src
+ export PATH="$srcdir/python/bin:$PATH"
autoconf-2.13 old-configure.in >/dev/null
autoconf-2.13
}
build() {
- cd "$builddir"/js/src
- ./configure \
+ cd "$builddir"/js/src/build
+ export PATH="$srcdir/python/bin:$PATH"
+ ../configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--disable-jemalloc \
--disable-optimize \
- --enable-ion \
--enable-tests \
--with-intl-api \
--with-system-icu \
- --with-system-nspr
+ --with-system-nspr \
+ --with-system-zlib
MOZ_MAKE_FLAGS="$MAKEFLAGS" make
}
check() {
- cd "$builddir"/js/src
+ cd "$builddir"/js/src/build
dist/bin/jsapi-tests
}
package() {
- cd "$builddir"/js/src
+ cd "$builddir"/js/src/build
make DESTDIR="$pkgdir" install
# no real point for 400 MB monster.
@@ -62,12 +81,11 @@ package() {
rm "$pkgdir"/usr/lib/libjs_static.ajs
}
-sha512sums="80e006ed7550b64dad7cf78335dd9f2d34f50ad486439887f0088eb3817242d24cf7c1d9325e2dcd4a01fd5c5f54d710873113b97fd914ccd961fa46a71653fa mozjs-52.4.0.tar.bz2
+sha512sums="5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0 mozjs-60.5.2.tar.bz2
+27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz
8563264274c8b47c41fcce0b23d8d31467c60b4f1e6b37e14a390950f0d4c84be08919e0cf3578367ca1c76633201fc7d182c98a1efb57b17ce176a3e1ed5b0d 0003-build-Fix-library-install-name-on-macOS.patch
-edbec26bff4fb91911b1dafc566d4cf37635e9039a1cbd527543d74765d1c96bcfae71fe4f9a66c6555750f402377db4963e2afe0d6b061f48dbab78717bd177 0004-build-Copy-headers-on-install-instead-of-symlinking.patch
-d9acf4570a073a2151e19ad854e72ff927d050b532f04367bf49fb0c98f8eb544e9f6c455b1411d09a8a3034a2be62e23b7f9080fac9249e4132e85f2245d474 0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch
-a95e91ffa3693ac2ac81eddee2e490b4acfb5ae0381a291b1916afc0d91fb00b95457fde0efe62905025fe425c18d5363c5e6ad1bb121645b29a14f6c76c0489 0008-tests-Skip-on-all-64-bit-archs.patch
2556f3322c5bc39c1efbbbd19b6843cf69b63a0255e8e3617f58b229e75ac221b6cb57fce15452cd1f25498c66f29f588f38c10c175b82c6fe163faaa7e3e2b0 0009-build-Include-configure-script-be-nicer-about-option.patch
-22870d6ee8a0a0b4359d78173aef0ade49063bfad495fd40815852684a1cdf17f9f50585e0d693eb712c2a2225ea43c4387cf454f3b9bd39e01899f3936775f1 baseconfig.patch
-6ebaf6fd24f1987020ad0da82cd2ff878e5c27997ac45a571899f492b435d12e32274eac35e2d571775b6f6bdce24f8e7a968088da61329e2cd36dfc762a0156 dont-fail-tests-without-ion.patch
-66a894b4878797438ac1361b892df4df45fe0c990e9540235336116a2dbfcc5d787a3076dca323b8252fb8cb6e39a61819fc0d4ce1491fb9e4d07c912fdf9e4d python3.patch"
+0882664005d65d491d4b3d0cd73a2163637730eff41a2ad3ae1ea4e855e8728b83d1bc42632901d717f947a11e6c1c42a33f5286b0adedda3111068ae1425259 1002_drop_build_id.patch
+11cef339e8ba5d446d9fbb3947c6526294a3577025f21323cfd959707cbcc36f24535d5b68ea286220891de584ae6deef9408e838fc720af453062a179f22f42 1004_fix_pie_detection.patch
+00cc3ea149ea8527393fa3995fcb6fa7af41fc79488c38df2bcd3326dbf43bcc83db509b6dbf2c9c8d68998ce2c1ab1f18c1c46584d9aeb63ddd2cf05b1ca1ce 6006_musl_pthread_setname.patch
+363f1df1a78799783b4e9f887dc85d83ec83c6ec392aeacbd98dc89e543d0cd3b9d1964ce274142b44847a03c47f845cbf6fa7fa17a04b25bbaa37fc5d714730 endian.patch"
diff --git a/user/mozjs/baseconfig.patch b/user/mozjs/baseconfig.patch
deleted file mode 100644
index ee52728fa..000000000
--- a/user/mozjs/baseconfig.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix various paths to include MOZ_APP_VERSION
-
-This has been committed upstream but was not included in
-the 52.4.0 sources that spidermonkey was rolled from.
-
---- a/config/baseconfig.mk 2017-10-03 14:00:45.000000000 -0400
-+++ b/config/baseconfig.mk 2017-10-03 16:36:10.857663794 -0400
-@@ -2,10 +2,10 @@
- # directly in python/mozbuild/mozbuild/base.py for gmake validation.
- # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
- # whether a normal build is happening or whether the check is running.
--includedir := $(includedir)/$(MOZ_APP_NAME)
--idldir = $(includedir)/idl/$(MOZ_APP_NAME)
--installdir = $(libdir)/$(MOZ_APP_NAME)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)
-+includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+idldir = $(includedir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+sdkdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
- ifeq (.,$(DEPTH))
- DIST = dist
- else
diff --git a/user/mozjs/dont-fail-tests-without-ion.patch b/user/mozjs/dont-fail-tests-without-ion.patch
deleted file mode 100644
index 569947cdc..000000000
--- a/user/mozjs/dont-fail-tests-without-ion.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-
-# HG changeset patch
-# User Steve Fink <sfink@mozilla.com>
-# Date 1519362707 28800
-# Node ID 7b78c4aa2d589e088519b4f76bddf8ded33283a6
-# Parent 9b8b888e1ce64b1a607158681aecb959721d1326
-Bug 1426006 - Do not expect ion scripts when ion is unavailable. r=bbouvier, a=RyanVM
-
-diff --git a/js/src/jsapi-tests/testPreserveJitCode.cpp b/js/src/jsapi-tests/testPreserveJitCode.cpp
---- a/js/src/jsapi-tests/testPreserveJitCode.cpp
-+++ b/js/src/jsapi-tests/testPreserveJitCode.cpp
-@@ -38,24 +38,20 @@ testPreserveJitCode(bool preserveJitCode
- cx->options().setBaseline(true);
- cx->options().setIon(true);
- cx->setOffthreadIonCompilationEnabled(false);
-
- RootedObject global(cx, createTestGlobal(preserveJitCode));
- CHECK(global);
- JSAutoCompartment ac(cx, global);
-
--#ifdef JS_CODEGEN_ARM64
-- // The ARM64 Ion JIT is not yet enabled, so this test will fail with
-- // countIonScripts(global) == 0. Once Ion is enabled for ARM64, this test
-- // should be passing again, and this code can be deleted.
-- // Bug 1208526 - ARM64: Reenable jsapi-tests/testPreserveJitCode once Ion is enabled
-+ // The Ion JIT may be unavailable due to --disable-ion or lack of support
-+ // for this platform.
- if (!js::jit::IsIonEnabled(cx))
- knownFail = true;
--#endif
-
- CHECK_EQUAL(countIonScripts(global), 0u);
-
- const char* source =
- "var i = 0;\n"
- "var sum = 0;\n"
- "while (i < 10) {\n"
- " sum += i;\n"
-
diff --git a/user/mozjs/endian.patch b/user/mozjs/endian.patch
new file mode 100644
index 000000000..1a04573ea
--- /dev/null
+++ b/user/mozjs/endian.patch
@@ -0,0 +1,141 @@
+Bug 1488552 - Ensure proper running on 64-bit and 32-bit BE platforms.
+
+diff --git a/js/src/gc/RelocationOverlay.h b/js/src/gc/RelocationOverlay.h
+--- a/js/src/gc/RelocationOverlay.h
++++ b/js/src/gc/RelocationOverlay.h
+@@ -29,23 +29,34 @@ struct Cell;
+ * This structure overlays a Cell that has been moved and provides a way to find
+ * its new location. It's used during generational and compacting GC.
+ */
+ class RelocationOverlay {
+ /* See comment in js/public/HeapAPI.h. */
+ static const uint32_t Relocated = js::gc::Relocated;
+
++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
+ /*
+- * Keep the low 32 bits untouched. Use them to distinguish strings from
++ * Keep the first 32 bits untouched. Use them to distinguish strings from
+ * objects in the nursery.
+ */
+ uint32_t preserve_;
+
+ /* Set to Relocated when moved. */
+ uint32_t magic_;
++#elif JS_BITS_PER_WORD == 64
++ /*
++ * On big-endian, we need to reorder to keep preserve_ lined up with the
++ * low 32 bits of the aligned group_ pointer in JSObject.
++ */
++ uint32_t magic_;
++ uint32_t preserve_;
++#else
++# error "Unknown endianness or word size"
++#endif
+
+ /* The location |this| was moved to. */
+ Cell* newLocation_;
+
+ /* A list entry to track all relocated things. */
+ RelocationOverlay* next_;
+
+ public:
+diff --git a/js/src/vm/StringType.h b/js/src/vm/StringType.h
+--- a/js/src/vm/StringType.h
++++ b/js/src/vm/StringType.h
+@@ -2,16 +2,17 @@
+ * vim: set ts=8 sts=4 et sw=4 tw=99:
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ #ifndef vm_StringType_h
+ #define vm_StringType_h
+
++#include "mozilla/EndianUtils.h"
+ #include "mozilla/MemoryReporting.h"
+ #include "mozilla/PodOperations.h"
+ #include "mozilla/Range.h"
+
+ #include "jsapi.h"
+ #include "jsfriendapi.h"
+
+ #include "builtin/String.h"
+@@ -168,8 +168,20 @@ class JSString : public js::gc::Cell
+ struct Data {
+ union {
+ struct {
++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
+ uint32_t flags; /* JSString */
+ uint32_t length; /* JSString */
++#elif JS_BITS_PER_WORD == 64
++ /*
++ * On big-endian, we need to reorder to keep flags lined up
++ * with the low 32 bits of the aligned group_ pointer in
++ * JSObject.
++ */
++ uint32_t length; /* JSString */
++ uint32_t flags; /* JSString */
++#else
++# error "Unknown endianness or word size"
++#endif
+ };
+ uintptr_t flattenData; /* JSRope (temporary while flattening) */
+ } u1;
+--- thunderbird-60.2.1/js/src/gc/Marking-inl.h.old 2018-10-01 14:51:12.000000000 +0000
++++ thunderbird-60.2.1/js/src/gc/Marking-inl.h 2018-10-12 19:08:28.260000000 +0000
+@@ -92,13 +92,29 @@
+ MOZ_ASSERT(!isForwarded());
+ // The location of magic_ is important because it must never be valid to see
+ // the value Relocated there in a GC thing that has not been moved.
++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
++ // On 32-bit, the magic_ aliases with whatever comes after the first
++ // pointer; on little-endian 64-bit, the magic_ aliases with the
++ // 32 most significant bits of the pointer, which are the second half.
+ static_assert(offsetof(RelocationOverlay, magic_) ==
+ offsetof(JSObject, group_) + sizeof(uint32_t),
+ "RelocationOverlay::magic_ is in the wrong location");
+ static_assert(offsetof(RelocationOverlay, magic_) ==
+ offsetof(js::Shape, base_) + sizeof(uint32_t),
+ "RelocationOverlay::magic_ is in the wrong location");
++#elif JS_BITS_PER_WORD == 64
++ // On big-endian 64-bit, the magic_ aliases with the 32 most
++ // significant bits of the pointer, but now that's the first half.
++ static_assert(offsetof(RelocationOverlay, magic_) ==
++ offsetof(JSObject, group_),
++ "RelocationOverlay::magic_ is in the wrong location");
++ static_assert(offsetof(RelocationOverlay, magic_) ==
++ offsetof(js::Shape, base_),
++ "RelocationOverlay::magic_ is in the wrong location");
++#else
++# error "Unknown endianness or word size"
++#endif
+ static_assert(
+ offsetof(RelocationOverlay, magic_) == offsetof(JSString, d.u1.length),
+ "RelocationOverlay::magic_ is in the wrong location");
+ magic_ = Relocated;
+--- thunderbird-60.2.1/js/src/jsfriendapi.h.old 2018-10-01 14:51:13.000000000 +0000
++++ thunderbird-60.2.1/js/src/jsfriendapi.h 2018-10-12 19:12:06.190000000 +0000
+@@ -9,6 +9,7 @@
+
+ #include "mozilla/Atomics.h"
+ #include "mozilla/Casting.h"
++#include "mozilla/EndianUtils.h"
+ #include "mozilla/Maybe.h"
+ #include "mozilla/MemoryReporting.h"
+ #include "mozilla/UniquePtr.h"
+@@ -640,8 +641,15 @@
+ static const uint32_t LATIN1_CHARS_BIT = JS_BIT(6);
+ static const uint32_t EXTERNAL_FLAGS = LINEAR_BIT | NON_ATOM_BIT | JS_BIT(5);
+ static const uint32_t TYPE_FLAGS_MASK = JS_BIT(6) - 1;
++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32
+ uint32_t flags;
+ uint32_t length;
++#elif JS_BITS_PER_WORD == 64
++ uint32_t length;
++ uint32_t flags;
++#else
++# error "Unknown endianness or word size"
++#endif
+ union {
+ const JS::Latin1Char* nonInlineCharsLatin1;
+ const char16_t* nonInlineCharsTwoByte;
diff --git a/user/mozjs/python3.patch b/user/mozjs/python3.patch
index 2ff9dcfa6..65fc9da53 100644
--- a/user/mozjs/python3.patch
+++ b/user/mozjs/python3.patch
@@ -424,17 +424,6 @@
return bool(self._set)
def __iter__(self):
---- mozjs-52.4.0/python/mozbuild/mozbuild/milestone.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/milestone.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
--- mozjs-52.4.0/python/mozbuild/mozbuild/mozconfig.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozbuild/mozconfig.py (refactored)
@@ -2,7 +2,7 @@
@@ -962,26 +951,6 @@
- print('%s=%s' % (key, value))
+for key, value in list(os.environ.items()):
+ print(('%s=%s' % (key, value)))
---- mozjs-52.4.0/python/mozbuild/mozbuild/action/explode_aar.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/explode_aar.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import errno
-@@ -44,7 +44,7 @@
- assets = mozpath.join(destdir, 'assets')
- try:
- os.rmdir(assets)
-- except OSError, e:
-+ except OSError as e:
- if e.errno in (errno.ENOTEMPTY, errno.ENOENT):
- pass
- else:
--- mozjs-52.4.0/python/mozbuild/mozbuild/action/file_generate.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozbuild/action/file_generate.py (refactored)
@@ -6,7 +6,7 @@
@@ -1201,17 +1170,6 @@
from mozpack.files import FileFinder
from mozpack.copier import Jarrer
---- mozjs-52.4.0/python/mozbuild/mozbuild/backend/android_eclipse.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/android_eclipse.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import itertools
- import os
--- mozjs-52.4.0/python/mozbuild/mozbuild/backend/base.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozbuild/backend/base.py (refactored)
@@ -2,7 +2,7 @@
@@ -3235,21 +3193,6 @@
os.path.join(os.path.abspath(mozbuild_path), '__init__.py'),
os.path.join(os.path.abspath(mozbuild_path), 'pythonutil.py'),
os.path.join(os.path.abspath(mozbuild_path), 'test', 'test_pythonutil.py'),
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_testing.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_testing.py (refactored)
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
--
--import cPickle as pickle
-+
-+
-+import pickle as pickle
- import os
- import shutil
- import tempfile
--- mozjs-52.4.0/python/mozbuild/mozbuild/test/test_util.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/test_util.py (refactored)
@@ -3,7 +3,7 @@
@@ -3488,17 +3431,6 @@
import os
import unittest
---- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_android_eclipse.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_android_eclipse.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-+
-
- import json
- import os
--- mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_build.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozbuild/test/backend/test_build.py (refactored)
@@ -2,7 +2,7 @@
@@ -7145,26 +7077,6 @@
import posixpath
import os
---- mozjs-52.4.0/python/mozbuild/mozpack/unify.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/unify.py (refactored)
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from mozpack.files import (
- BaseFinder,
-@@ -73,7 +73,7 @@
- creating the instance.
- skip_if_older is ignored.
- '''
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
- tmpfiles = []
- try:
- for e in self._executables:
--- mozjs-52.4.0/python/mozbuild/mozpack/chrome/flags.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozpack/chrome/flags.py (refactored)
@@ -2,7 +2,7 @@
@@ -7615,17 +7527,6 @@
)
---- mozjs-52.4.0/python/mozbuild/mozpack/test/test_unify.py (original)
-+++ mozjs-52.4.0/python/mozbuild/mozpack/test/test_unify.py (refactored)
-@@ -13,7 +13,7 @@
- from mozpack.files import FileFinder
- from mozpack.mozjar import JarWriter
- from mozpack.test.test_files import MockDest
--from cStringIO import StringIO
-+from io import StringIO
- import os
- import sys
- from mozpack.errors import (
--- mozjs-52.4.0/python/mozbuild/mozpack/test/support/minify_js_verify.py (original)
+++ mozjs-52.4.0/python/mozbuild/mozpack/test/support/minify_js_verify.py (refactored)
@@ -2,7 +2,7 @@
@@ -7837,42 +7738,6 @@ diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/makeutil.py mozjs-fixed/python/m
self._commands.extend(commands)
return self
-diff -aur mozjs-52.4.0/python/which/which.py mozjs-fixed/python/which/which.py
---- mozjs-52.4.0/python/which/which.py 2017-04-11 02:13:24.000000000 +0000
-+++ mozjs-fixed/python/which/which.py 2018-07-10 08:11:01.570000000 +0000
-@@ -280,17 +280,17 @@
- try:
- optlist, args = getopt.getopt(argv[1:], 'haVvqp:e:',
- ['help', 'all', 'version', 'verbose', 'quiet', 'path=', 'exts='])
-- except getopt.GetoptError, msg:
-+ except getopt.GetoptError as msg:
- sys.stderr.write("which: error: %s. Your invocation was: %s\n"\
- % (msg, argv))
- sys.stderr.write("Try 'which --help'.\n")
- return 1
- for opt, optarg in optlist:
- if opt in ('-h', '--help'):
-- print _cmdlnUsage
-+ print(_cmdlnUsage)
- return 0
- elif opt in ('-V', '--version'):
-- print "which %s" % __version__
-+ print("which %s" % __version__)
- return 0
- elif opt in ('-a', '--all'):
- all = 1
-@@ -318,9 +318,9 @@
- nmatches = 0
- for match in whichgen(arg, path=altpath, verbose=verbose, exts=exts):
- if verbose:
-- print "%s (%s)" % match
-+ print("%s (%s)" % match)
- else:
-- print match
-+ print(match)
- nmatches += 1
- if not all:
- break
diff -aur mozjs-52.4.0/testing/mozbase/mozprocess/mozprocess/processhandler.py mozjs-fixed/testing/mozbase/mozprocess/mozprocess/processhandler.py
--- mozjs-52.4.0/testing/mozbase/mozprocess/mozprocess/processhandler.py 2017-04-11 02:13:06.000000000 +0000
+++ mozjs-fixed/testing/mozbase/mozprocess/mozprocess/processhandler.py 2018-07-10 08:13:15.440000000 +0000
@@ -8117,18 +7982,6 @@ diff -aur mozjs-52.4.0/python/mozbuild/mozbuild/virtualenv.py mozjs-fixed/python
log_handle.write('You are running Python %s.\n' % our)
if os.name in ('nt', 'ce'):
-diff -aur mozjs-52.4.0/python/which/which.py mozjs-fixed/python/which/which.py
---- mozjs-52.4.0/python/which/which.py 2018-07-10 10:29:50.380000000 +0000
-+++ mozjs-fixed/python/which/which.py 2018-07-10 10:20:16.770000000 +0000
-@@ -243,7 +243,7 @@
- If no match is found for the command, a WhichError is raised.
- """
- try:
-- match = whichgen(command, path, verbose, exts).next()
-+ match = next(whichgen(command, path, verbose, exts))
- except StopIteration:
- raise WhichError("Could not find '%s' on the path." % command)
- return match
--- mozjs-52.4.0/build/moz.configure/old.configure.old 2018-07-10 10:32:48.550000000 +0000
+++ mozjs-52.4.0/build/moz.configure/old.configure 2018-07-10 10:35:32.440000000 +0000
@@ -107,7 +107,7 @@
@@ -8252,57 +8105,6 @@ diff -aur mozjs-52.4.0/python/which/which.py mozjs-fixed/python/which/which.py
from mozbuild.config_status import config_status
# Some values in sanitized_config also have more complex types, such as
---- mozjs-52.4.0/python/blessings/blessings/__init__.py.old 2017-04-11 02:13:23.000000000 +0000
-+++ mozjs-52.4.0/python/blessings/blessings/__init__.py 2018-07-10 10:56:52.820000000 +0000
-@@ -333,7 +333,7 @@
- 'shadow', 'standout', 'subscript', 'superscript']))
-
-
--class ParametrizingString(unicode):
-+class ParametrizingString(str):
- """A Unicode string which can be called to parametrize it as a terminal capability"""
- def __new__(cls, formatting, normal=None):
- """Instantiate.
-@@ -343,7 +343,7 @@
- "normal" capability.
-
- """
-- new = unicode.__new__(cls, formatting)
-+ new = str.__new__(cls, formatting)
- new._normal = normal
- return new
-
-@@ -375,10 +375,10 @@
- raise
-
-
--class FormattingString(unicode):
-+class FormattingString(str):
- """A Unicode string which can be called upon a piece of text to wrap it in formatting"""
- def __new__(cls, formatting, normal):
-- new = unicode.__new__(cls, formatting)
-+ new = str.__new__(cls, formatting)
- new._normal = normal
- return new
-
-@@ -393,7 +393,7 @@
- return self + text + self._normal
-
-
--class NullCallableString(unicode):
-+class NullCallableString(str):
- """A dummy class to stand in for ``FormattingString`` and ``ParametrizingString``
-
- A callable bytestring that returns an empty Unicode when called with an int
-@@ -402,7 +402,7 @@
-
- """
- def __new__(cls):
-- new = unicode.__new__(cls, u'')
-+ new = str.__new__(cls, u'')
- return new
-
- def __call__(self, arg):
--- mozjs-52.4.0/testing/mozbase/mozfile/mozfile/mozfile.py (original)
+++ mozjs-52.4.0/testing/mozbase/mozfile/mozfile/mozfile.py (refactored)
@@ -6,7 +6,7 @@
@@ -8599,56 +8401,6 @@ diff -aur mozjs-52.4.0/python/which/which.py mozjs-fixed/python/which/which.py
cls._walk_directories(directories, callback, pattern=pattern, ignore=ignore)
---- mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/cli.py (original)
-+++ mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/cli.py (refactored)
-@@ -81,7 +81,7 @@
- # parse the arguments
- try:
- kwargs, tags, args = parse_args(args)
-- except ParserError, e:
-+ except ParserError as e:
- self._parser.error(e.message)
-
- # make sure we have some manifests, otherwise it will
-@@ -132,7 +132,7 @@
- manifest = convert(args, pattern=options.pattern, ignore=options.ignore,
- write=options.in_place)
- if manifest:
-- print manifest
-+ print(manifest)
-
-
- class WriteCLI(CLICommand):
-@@ -146,7 +146,7 @@
- # parse the arguments
- try:
- kwargs, tags, args = parse_args(args)
-- except ParserError, e:
-+ except ParserError as e:
- self._parser.error(e.message)
-
- # make sure we have some manifests, otherwise it will
-@@ -175,9 +175,9 @@
- commands[args[0]](self._parser).parser().print_help()
- else:
- self._parser.print_help()
-- print '\nCommands:'
-+ print('\nCommands:')
- for command in sorted(commands):
-- print ' %s : %s' % (command, commands[command].__doc__.strip())
-+ print(' %s : %s' % (command, commands[command].__doc__.strip()))
-
-
- class UpdateCLI(CLICommand):
-@@ -190,7 +190,7 @@
- # parse the arguments
- try:
- kwargs, tags, args = parse_args(args)
-- except ParserError, e:
-+ except ParserError as e:
- self._parser.error(e.message)
-
- # make sure we have some manifests, otherwise it will
--- mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/expression.py (original)
+++ mozjs-52.4.0/testing/mozbase/manifestparser/manifestparser/expression.py (refactored)
@@ -275,7 +275,7 @@
@@ -9378,61 +9130,6 @@ diff -aur mozjs-52.4.0/python/which/which.py mozjs-fixed/python/which/which.py
lines.append("{0:6}: {1}".format(v, k))
lines.sort()
---- mozjs-52.4.0/config/link.py (original)
-+++ mozjs-52.4.0/config/link.py (refactored)
-@@ -18,7 +18,7 @@
- time.sleep(0.5)
- idleTime += 0.5
- if idleTime > 20 * 60:
-- print "Still linking, 20 minutes passed..."
-+ print("Still linking, 20 minutes passed...")
- sys.stdout.flush()
- idleTime = 0
-
-@@ -42,6 +42,6 @@
-
- if __name__ == "__main__":
- if len(sys.argv) < 2:
-- print >>sys.stderr, "Usage: link.py <commandline>"
-+ print("Usage: link.py <commandline>", file=sys.stderr)
- sys.exit(1)
- sys.exit(wrap_linker(sys.argv[1:]))
---- mozjs-52.4.0/config/mozunit.py (original)
-+++ mozjs-52.4.0/config/mozunit.py (refactored)
-@@ -140,7 +140,7 @@
- '''
- def __init__(self, files = {}):
- self.files = {}
-- for name, content in files.iteritems():
-+ for name, content in files.items():
- self.files[normcase(os.path.abspath(name))] = content
-
- def __call__(self, name, mode = 'r'):
-@@ -158,19 +158,19 @@
- return file
-
- def __enter__(self):
-- import __builtin__
-- self.open = __builtin__.open
-+ import builtins
-+ self.open = builtins.open
- self._orig_path_exists = os.path.exists
- self._orig_path_isdir = os.path.isdir
- self._orig_path_isfile = os.path.isfile
-- __builtin__.open = self
-+ builtins.open = self
- os.path.exists = self._wrapped_exists
- os.path.isdir = self._wrapped_isdir
- os.path.isfile = self._wrapped_isfile
-
- def __exit__(self, type, value, traceback):
-- import __builtin__
-- __builtin__.open = self.open
-+ import builtins
-+ builtins.open = self.open
- os.path.exists = self._orig_path_exists
- os.path.isdir = self._orig_path_isdir
- os.path.isfile = self._orig_path_isfile
--- mozjs-52.4.0/config/nsinstall.py (original)
+++ mozjs-52.4.0/config/nsinstall.py (refactored)
@@ -9,7 +9,7 @@
@@ -9782,34 +9479,6 @@ diff -aur mozjs-52.4.0/python/which/which.py mozjs-fixed/python/which/which.py
sys.stderr.flush()
if proc.returncode:
return proc.returncode
---- mozjs-52.4.0/js/src/jsautokw.py.old 2017-04-11 02:13:16.000000000 +0000
-+++ mozjs-52.4.0/js/src/jsautokw.py 2018-07-11 05:11:27.080000000 +0000
-@@ -80,14 +80,14 @@
- per_column = column_dict.setdefault(keyword[column], [])
- per_column.append(item)
-
-- return sorted(column_dict.items(), key=lambda (char, keyword): ord(char))
-+ return sorted(list(column_dict.items()), key=lambda char_keyword: ord(char_keyword[0]))
-
- def generate_letter_switch(opt, unprocessed_columns, keyword_list,
- columns=None):
- assert(len(keyword_list) != 0);
-
- if not columns:
-- columns = range(0, unprocessed_columns)
-+ columns = list(range(0, unprocessed_columns))
-
- if len(keyword_list) == 1:
- index, keyword = keyword_list[0]
-@@ -161,7 +161,7 @@
- per_length = length_dict.setdefault(len(keyword), [])
- per_length.append(item)
-
-- return sorted(length_dict.items(), key=lambda (length, keyword): length)
-+ return sorted(list(length_dict.items()), key=lambda length_keyword: length_keyword[0])
-
- def generate_switch(opt, keyword_list):
- assert(len(keyword_list) != 0);
--- mozjs-52.4.0/js/src/builtin/embedjs.py (original)
+++ mozjs-52.4.0/js/src/builtin/embedjs.py (refactored)
@@ -36,7 +36,7 @@
diff --git a/user/mozo/APKBUILD b/user/mozo/APKBUILD
new file mode 100644
index 000000000..612afb7b9
--- /dev/null
+++ b/user/mozo/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=mozo
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Menu editor for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="noarch"
+license="LGPL-2.0+"
+depends="python3"
+makedepends="intltool mate-menus-dev py3-pygobject-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mozo-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="6cd4ed04d43ae064077fc78ed59644bf6efe4c65c26995742166c57333d470fbe95ca4f4037e786f16dc076e75d938868948e8c2e5c662f35d971b36992f1a9b mozo-1.22.1.tar.xz"
diff --git a/user/muparser/APKBUILD b/user/muparser/APKBUILD
index ff5fbda6f..f088af0fa 100644
--- a/user/muparser/APKBUILD
+++ b/user/muparser/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=muparser
-pkgver=2.2.6
+pkgver=2.2.6.1
pkgrel=0
pkgdesc="Fast math parser library"
-url="http://beltoforion.de/article.php?a=muparser"
+url="https://beltoforion.de/article.php?a=muparser"
arch="all"
options="!check" # No test suite.
license="MIT"
@@ -14,8 +14,6 @@ subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/beltoforion/$pkgname/archive/v$pkgver.tar.gz"
build() {
- cd "$builddir/build"
-
cmake \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
@@ -23,13 +21,12 @@ build() {
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_VERBOSE_MAKEFILE=ON \
$cmake_opts \
- ../
- make
+ -Bbuild
+ make -C build
}
package() {
- cd "$builddir/build"
- make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C build install
}
-sha512sums="2b34e740a3d07767b2b97871d11f845afd74e4abe7ba5ceb5dd9bd8405aa45b8dcb2c5980535b05b92ba680cfc6f722948bf9e7f8858a335c9b63f7ac384107c muparser-2.2.6.tar.gz"
+sha512sums="01bfc8cc48158c8413ae5e1da2ddbac1c9f0b9075470b1ab75853587d641dd195ebea268e1060a340098fd8015bc5f77d8e9cde5f81cffeade2f157c5f295496 muparser-2.2.6.1.tar.gz"
diff --git a/user/mutt/APKBUILD b/user/mutt/APKBUILD
index cb717ec1b..e13de2e06 100644
--- a/user/mutt/APKBUILD
+++ b/user/mutt/APKBUILD
@@ -3,10 +3,10 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=mutt
-pkgver=1.10.1
+pkgver=1.11.4
pkgrel=0
pkgdesc="Small but very powerful text-mode email client"
-url="http://www.mutt.org"
+url="http://www.mutt.org" # No HTTPS
arch="all"
options="suid !check" # No test suite.
license="GPL-2.0+ AND LGPL-2.0+ AND LGPL-2.1+ AND Public-Domain"
@@ -16,7 +16,6 @@ subpackages="$pkgname-doc $pkgname-lang"
source="https://bitbucket.org/$pkgname/$pkgname/downloads/$pkgname-$pkgver.tar.gz"
build() {
- cd "$builddir"
ISPELL=/usr/bin/hunspell \
./configure \
--build=$CBUILD \
@@ -42,7 +41,6 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
rm "$pkgdir"/etc/*.dist \
@@ -58,4 +56,4 @@ package() {
"$pkgdir"/etc/Muttrc.gpg.dist
}
-sha512sums="13509ff159c65e23614696967b4bd8baf7b8e16c0e85cfd89e2df8201de2dc97e6c4a426f5919f05051dee2b14f847c7203e0b236931d3cdf81dbbb221551726 mutt-1.10.1.tar.gz"
+sha512sums="18c5bfa5c45ef70b3307afccf28f613a36de035f1b5c493f84f0571f7ba297cd0b25e01be9102a028c51c28c459c4bc62281da88926e16ce58c3c1407609e0eb mutt-1.11.4.tar.gz"
diff --git a/user/nano/APKBUILD b/user/nano/APKBUILD
index 45583d16a..5c9e06bd5 100644
--- a/user/nano/APKBUILD
+++ b/user/nano/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=nano
-pkgver=3.1
+pkgver=4.2
pkgrel=0
pkgdesc="Enhanced clone of the Pico text editor"
url="https://www.nano-editor.org"
@@ -44,4 +44,4 @@ package() {
rm -rf "$pkgdir"/usr/lib/charset.alias
}
-sha512sums="dc50381a129fec32d85982d8129324268e3e27a28c5b958fb7bcfca690646bd0a3b995dc456971355b91952c0ac3ea3e0a873b228010238a76e8dbb0ddaf1143 nano-3.1.tar.xz"
+sha512sums="280c986ebbc83875270da659232910568bcade962b75ddf9ddc2af6e0fb9aab2b0d029a80d632b5c67fc385958ef4d724aafeeb10299c9e2bc281e737a11845c nano-4.2.tar.xz"
diff --git a/user/ncompress/APKBUILD b/user/ncompress/APKBUILD
index dab9c6d08..0a34a72fe 100644
--- a/user/ncompress/APKBUILD
+++ b/user/ncompress/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ncompress
-pkgver=4.2.4.4
-pkgrel=1
+pkgver=4.2.4.5
+pkgrel=0
pkgdesc="Fast, simple LZW compressor"
url="https://github.com/vapier/ncompress"
arch="all"
@@ -13,15 +13,13 @@ source="https://downloads.sourceforge.net/ncompress/ncompress-$pkgver.tar.gz
fix-9bit-compress.patch"
build() {
- cd "$builddir"
make
}
package() {
- cd "$builddir"
install -D -m755 "$builddir"/compress "$pkgdir"/usr/bin/compress
install -D -m644 "$builddir"/compress.1 "$pkgdir"/usr/share/man/man1/compress.1
}
-sha512sums="abc7bd96daaab0b83d5ca18ef4b8b4c6528632653a0882a4e0eda4fb3f99e23aae60ee30193e79104ea2ac8fb5816ac3b0bdebb08322db6bde6b8ef1639527be ncompress-4.2.4.4.tar.gz
+sha512sums="487e8d5ca743c3aba19cf69f7ec62bdc0784e43af5737f06d6d4257f2f33899eb3d293ed049f57b3164e344a0fddc077bc73437564977bad8de45816354c8bf3 ncompress-4.2.4.5.tar.gz
b2e897679234f391fa3cf4d5b55a3894424cca632a3b16303b0085e908808bc72b66e6a9df3e56e1a26eac79340c0901f7e6ef2378cc61b710e93194d345c2ea fix-9bit-compress.patch"
diff --git a/user/networkmanager/01-org.freedesktop.NetworkManager.rules b/user/networkmanager/01-org.freedesktop.NetworkManager.rules
new file mode 100644
index 000000000..d00b26853
--- /dev/null
+++ b/user/networkmanager/01-org.freedesktop.NetworkManager.rules
@@ -0,0 +1,7 @@
+// Let users in plugdev group modify NetworkManager
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
+ subject.isInGroup("plugdev") && subject.active) {
+ return "yes";
+ }
+});
diff --git a/user/networkmanager/10-openrc-status b/user/networkmanager/10-openrc-status
new file mode 100644
index 000000000..06b22bd77
--- /dev/null
+++ b/user/networkmanager/10-openrc-status
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Copyright (c) 2012 Alexandre Rostovtsev
+# Released under the 2-clause BSD license.
+
+# Ensures that the NetworkManager OpenRC service is marked as started and
+# providing net only when it has a successful connection.
+
+if [ ! -e "/run/openrc/softlevel" ]; then
+ # OpenRC is not running
+ exit 0
+fi
+
+# Ensure rc-service is in PATH
+PATH="${PATH}:/sbin:/usr/sbin"
+
+# Exit if the NetworkManager OpenRC service is not running
+rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0
+
+# Call rc-service in background mode so that the start/stop functions update
+# NetworkManager service status to started or inactive instead of actually
+# starting or stopping the daemon
+export IN_BACKGROUND=YES
+
+case "$2" in
+ up) nm-online -t 0 -x &&
+ ! rc-service NetworkManager status 2>&1 | grep -q started &&
+ exec rc-service NetworkManager start ;;
+ down) nm-online -t 0 -x ||
+ rc-service NetworkManager status 2>&1 | grep -q stopped ||
+ exec rc-service NetworkManager stop ;;
+ pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped ||
+ exec rc-service NetworkManager stop ;;
+esac
+exit 0
+# vim: set ts=4:
diff --git a/user/networkmanager/APKBUILD b/user/networkmanager/APKBUILD
new file mode 100644
index 000000000..daf79c413
--- /dev/null
+++ b/user/networkmanager/APKBUILD
@@ -0,0 +1,100 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=networkmanager
+pkgver=1.18.1
+pkgrel=0
+pkgdesc="Network management daemon"
+url="https://wiki.gnome.org/Projects/NetworkManager"
+arch="all"
+options="!check" # Requires dbus-python and running DBus server.
+license="GPL-2.0+ AND LGPL-2.1+"
+depends="dhcpcd iputils ppp wpa_supplicant-dbus"
+makedepends="bluez-dev consolekit2-dev curl-dev dbus-dev dbus-glib-dev
+ eudev-dev glib-dev gobject-introspection-dev intltool libedit-dev
+ libndp-dev libxslt modemmanager-dev ncurses-dev newt-dev nss-dev
+ perl polkit-dev ppp-dev py3-pygobject util-linux-dev vala-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc"
+source="https://download.gnome.org/sources/NetworkManager/1.18/NetworkManager-$pkgver.tar.xz
+ editline.patch
+ errno.patch
+ musl.patch
+ tests.patch
+
+ 01-org.freedesktop.NetworkManager.rules
+ 10-openrc-status
+ nm.confd
+ nm.initd
+ "
+builddir="$srcdir/NetworkManager-$pkgver"
+
+build() {
+ # pppd plugin dir is a huge hack.
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-json-validation \
+ --disable-more-warnings \
+ --disable-ovs \
+ --disable-qt \
+ --disable-static \
+ --enable-bluez5-dun \
+ --enable-concheck \
+ --enable-polkit=yes \
+ --enable-ppp \
+ --enable-vala \
+ --with-crypto=nss \
+ --with-dbus-sys-dir=/etc/dbus-1/system.d \
+ --with-dhcpcd \
+ --with-ebpf=yes \
+ --with-iptables=/sbin/iptables \
+ --with-libnm-glib \
+ --with-nmcli=yes \
+ --with-nmtui \
+ --with-pppd-plugin-dir=/usr/lib/pppd/$(ls -1 /usr/lib/pppd | head) \
+ --with-session-tracking=consolekit \
+ --with-suspend-resume=consolekit \
+ --without-dhclient \
+ --without-libaudit \
+ --without-libpsl \
+ --without-netconfig \
+ --without-systemd-journal
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -D -m755 "$srcdir"/nm.initd "$pkgdir"/etc/init.d/NetworkManager
+ install -D -m644 "$srcdir"/nm.confd "$pkgdir"/etc/conf.d/NetworkManager
+ install -D -m600 -t "$pkgdir"/usr/share/polkit-1/rules.d/ \
+ "$srcdir"/01-org.freedesktop.NetworkManager.rules
+ install -D -m755 -t "$pkgdir"/etc/NetworkManager/dispatcher.d/ \
+ "$srcdir"/10-openrc-status
+ install -d "$pkgdir"/etc/NetworkManager/system-connections
+ touch "$pkgdir"/etc/NetworkManager/system-connections/.keepdir
+}
+
+openrc() {
+ default_openrc
+ mkdir -p "$subpkgdir"/etc/NetworkManager/dispatcher.d
+ mv "$pkgdir"/etc/NetworkManager/dispatcher.d/10-openrc-status \
+ "$subpkgdir"/etc/NetworkManager/dispatcher.d/
+}
+
+sha512sums="24ffd5b5802692ce392a5ce65623679014d4e476cddedf76222829118f3ab4c92e180c1814db80438f66e2ab7a4e93eb1bac1e0b77575ff7620b0bf0e27d2992 NetworkManager-1.18.1.tar.xz
+559dc42d3017508bfc35ea91da3d0169d601cd6b1764210fd8a27733e9c6671ec2d2d4d6a88af6749df450ea0c16dbc5269258cf2a0b608b9223688a40ca3ec0 editline.patch
+0006d9c538a72673746b6aede8c61e0b7a23b055f8276fa2dde6e70f8c00d60854cf49678c996764f83b40cf06c5c2cd24c8c382d900aaf97fc840342e29500f errno.patch
+2d77b08d737653999631b8d51b884d12a2f6ba62ef99f0115e0fe2513fcdabec44ea67083684a6762dbc0423d9b41706d6223e4751bbabb70e8ef0691af57256 musl.patch
+2c987c464c31e6ad5a34abd8401bb625e9438e656a55adca21e07ca6ee974d39b6d7e942805b17a72ef38154612e2475fd7951f185b775945c8bd740226668af tests.patch
+22dfa5b071891ba16b9a8b90a1964d56e370cb640d78191934ae802e568f92c299b9d4d965f7081fb36a8c09378bfb0b33193b2332cbdc28c6799b152128c214 01-org.freedesktop.NetworkManager.rules
+26f962cea0b6a75549d16c19a71e3559239b08b001927882702f5d9355a2cc95f7b13c581439f758a950d9a5bfb73b86ba61a5ffb22c9abe19f5b05fe5f5834a 10-openrc-status
+f8c9331834cbc66ab0e4e6f4a120fde6a08a435d680a1e1087718fdbb2b9843a313e7ec30b7008822999dafd98e152aa7d2a96f87320ba9c91c3adb63e0b7c9a nm.confd
+a8356480592ec5e818b390b83cb258248d64850748e9e485bed68befabf067219d02fda137ee63684e0cd2c0e4f5fca30f94f8db71f811149183ff4715159658 nm.initd"
diff --git a/user/networkmanager/editline.patch b/user/networkmanager/editline.patch
new file mode 100644
index 000000000..e97461d3a
--- /dev/null
+++ b/user/networkmanager/editline.patch
@@ -0,0 +1,128 @@
+--- NetworkManager-1.18.1/clients/cli/agent.c.old 2019-04-18 09:19:11.000000000 +0000
++++ NetworkManager-1.18.1/clients/cli/agent.c 2019-05-10 06:15:55.614930112 +0000
+@@ -25,8 +25,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <readline/readline.h>
+-#include <readline/history.h>
++#include <editline/readline.h>
+
+ #include "common.h"
+ #include "utils.h"
+--- NetworkManager-1.18.1/clients/cli/common.c.old 2019-04-20 19:01:59.000000000 +0000
++++ NetworkManager-1.18.1/clients/cli/common.c 2019-05-10 07:07:34.506620687 +0000
+@@ -26,8 +26,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/ioctl.h>
+-#include <readline/readline.h>
+-#include <readline/history.h>
++#include <editline/readline.h>
+
+ #include "nm-vpn-helpers.h"
+ #include "nm-client-utils.h"
+@@ -984,7 +983,7 @@
+ * nmc_readline_echo:
+ *
+ * The same as nmc_readline() except it can disable echoing of input characters if @echo_on is %FALSE.
+- * nmc_readline(TRUE, ...) == nmc_readline(...)
++ * nmc_readline_echo(TRUE, ...) == nmc_readline(...)
+ */
+ char *
+ nmc_readline_echo (const NmcConfig *nmc_config,
+@@ -995,8 +994,7 @@
+ va_list args;
+ gs_free char *prompt = NULL;
+ char *str;
+- HISTORY_STATE *saved_history;
+- HISTORY_STATE passwd_history = { 0, };
++ int whence, curpos;
+
+ va_start (args, prompt_fmt);
+ prompt = g_strdup_vprintf (prompt_fmt, args);
+@@ -1006,8 +1004,7 @@
+
+ /* Hide the actual password */
+ if (!echo_on) {
+- saved_history = history_get_history_state ();
+- history_set_history_state (&passwd_history);
++ whence = where_history ();
+ rl_redisplay_function = nmc_secret_redisplay;
+ }
+
+@@ -1016,7 +1013,10 @@
+ /* Restore the non-hiding behavior */
+ if (!echo_on) {
+ rl_redisplay_function = rl_redisplay;
+- history_set_history_state (saved_history);
++ curpos = where_history ();
++ for (; curpos > whence; curpos--) {
++ remove_history (curpos);
++ }
+ }
+
+ return str;
+--- NetworkManager-1.18.1/clients/cli/connections.c.old 2019-04-20 19:01:59.000000000 +0000
++++ NetworkManager-1.18.1/clients/cli/connections.c 2019-05-10 07:05:43.058781503 +0000
+@@ -26,8 +26,7 @@
+ #include <unistd.h>
+ #include <signal.h>
+ #include <netinet/ether.h>
+-#include <readline/readline.h>
+-#include <readline/history.h>
++#include <editline/readline.h>
+ #include <fcntl.h>
+
+ #include "nm-client-utils.h"
+@@ -6007,9 +6006,6 @@
+ return nmc_rl_gen_func_basic (text, state, avals);
+ }
+
+-/* from readline */
+-extern int rl_complete_with_tilde_expansion;
+-
+ /*
+ * Attempt to complete on the contents of TEXT. START and END show the
+ * region of TEXT that contains the word to complete. We can use the
+@@ -6036,9 +6032,6 @@
+ /* Disable default filename completion */
+ rl_attempted_completion_over = 1;
+
+- /* Enable tilde expansion when filenames are completed */
+- rl_complete_with_tilde_expansion = 1;
+-
+ /* Filter out possible ANSI color escape sequences */
+ prompt_tmp = nmc_filter_out_colors ((const char *) rl_prompt);
+
+@@ -9142,7 +9135,6 @@
+ generator_func = _meta_abstract_generator;
+ } else if (g_strcmp0 (rl_prompt, PROMPT_IMPORT_FILE) == 0) {
+ rl_attempted_completion_over = 0;
+- rl_complete_with_tilde_expansion = 1;
+ } else if (g_strcmp0 (rl_prompt, PROMPT_VPN_CONNECTION) == 0) {
+ generator_func = gen_vpn_ids;
+ }
+--- NetworkManager-1.18.1/clients/cli/devices.c.old 2019-04-20 19:01:59.000000000 +0000
++++ NetworkManager-1.18.1/clients/cli/devices.c 2019-05-10 06:16:21.432108032 +0000
+@@ -23,7 +23,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <readline/readline.h>
++#include <editline/readline.h>
+
+ #include "nm-secret-agent-simple.h"
+ #include "nm-client-utils.h"
+--- NetworkManager-1.18.1/clients/cli/nmcli.c.old 2019-04-20 19:01:59.000000000 +0000
++++ NetworkManager-1.18.1/clients/cli/nmcli.c 2019-05-10 06:16:29.211257692 +0000
+@@ -30,8 +30,7 @@
+ #include <unistd.h>
+ #include <locale.h>
+ #include <glib-unix.h>
+-#include <readline/readline.h>
+-#include <readline/history.h>
++#include <editline/readline.h>
+
+ #include "nm-client-utils.h"
+
diff --git a/user/networkmanager/errno.patch b/user/networkmanager/errno.patch
new file mode 100644
index 000000000..825cc97a7
--- /dev/null
+++ b/user/networkmanager/errno.patch
@@ -0,0 +1,21 @@
+--- NetworkManager-1.18.1/shared/nm-glib-aux/nm-errno.c.old 2019-04-19 09:31:51.000000000 +0000
++++ NetworkManager-1.18.1/shared/nm-glib-aux/nm-errno.c 2019-05-10 06:01:00.812741059 +0000
+@@ -121,7 +121,6 @@
+ nm_assert (buf);
+ nm_assert (buf_size > 0);
+
+-#if (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE
+ /* XSI-compliant */
+ {
+ int errno_saved = errno;
+@@ -132,10 +131,6 @@
+ }
+ buf2 = buf;
+ }
+-#else
+- /* GNU-specific */
+- buf2 = strerror_r (errsv, buf, buf_size);
+-#endif
+
+ /* like g_strerror(), ensure that the error message is UTF-8. */
+ if ( !g_get_charset (NULL)
diff --git a/user/networkmanager/musl.patch b/user/networkmanager/musl.patch
new file mode 100644
index 000000000..2e4370969
--- /dev/null
+++ b/user/networkmanager/musl.patch
@@ -0,0 +1,223 @@
+Misc header fixes for compatibility with musl libc.
+
+diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
+index c3b9448..e80a938 100644
+--- a/shared/systemd/src/basic/stdio-util.h
++++ b/shared/systemd/src/basic/stdio-util.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+
++#if defined(__GLIBC__)
+ #include <printf.h>
++#endif
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
+index e029f86..935f136 100644
+--- a/shared/systemd/src/basic/sort-util.h
++++ b/shared/systemd/src/basic/sort-util.h
+@@ -5,6 +5,13 @@
+
+ #include "macro.h"
+
++#ifndef __COMPAR_FN_T
++# define __COMPAR_FN_T
++typedef int (*__compar_fn_t) (const void *, const void *);
++typedef __compar_fn_t comparison_fn_t;
++typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
++#endif
++
+ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+ __compar_d_fn_t compar, void *arg);
+
+diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h
+index 25e6ab8..7967e8a 100644
+--- a/shared/systemd/src/basic/util.h
++++ b/shared/systemd/src/basic/util.h
+@@ -46,6 +46,12 @@ static inline unsigned u64log2(uint64_t n) {
+ #endif
+ }
+
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
++#endif
++
+ static inline unsigned u32ctz(uint32_t n) {
+ #if __SIZEOF_INT__ == 4
+ return n != 0 ? __builtin_ctz(n) : 32;
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 2b5baba..976850c 100644
+--- a/libnm-core/nm-utils.h
++++ b/libnm-core/nm-utils.h
+@@ -30,7 +30,11 @@
+ #include <netinet/in.h>
+
+ /* For ETH_ALEN and INFINIBAND_ALEN */
++#if defined(__GLIBC__)
+ #include <linux/if_ether.h>
++#else
++#define ETH_ALEN 6 /* Octets in one ethernet addr */
++#endif
+ #include <linux/if_infiniband.h>
+
+ #include "nm-core-enum-types.h"
+diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
+index d2246a8..4cb0807 100644
+--- a/shared/systemd/src/basic/socket-util.h
++++ b/shared/systemd/src/basic/socket-util.h
+@@ -12,6 +12,11 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
++#if !defined(__GLIBC__)
++/* SIOCGSTAMPNS from linux/asm-generic.h
++ * for src/systemd/src/libsystemd-network/sd-lldp.c */
++#include <linux/sockios.h>
++#endif
+
+ #include "macro.h"
+ #include "missing_socket.h"
+diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h
+index 36148b5..d282eb2 100644
+--- a/src/platform/wifi/nm-wifi-utils.h
++++ b/src/platform/wifi/nm-wifi-utils.h
+@@ -22,7 +22,11 @@
+ #ifndef __WIFI_UTILS_H__
+ #define __WIFI_UTILS_H__
+
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#else /* musl libc */
++#define ETH_ALEN 6 /* Octets in one ethernet addr */
++#endif
+
+ #include "nm-dbus-interface.h"
+ #include "nm-setting-wireless.h"
+diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
+index 7514fa7..f041382 100644
+--- a/src/devices/nm-device.c
++++ b/src/devices/nm-device.c
+@@ -32,7 +32,11 @@
+ #include <arpa/inet.h>
+ #include <fcntl.h>
+ #include <linux/if_addr.h>
++#if defined(__GLIBC__)
+ #include <linux/if_arp.h>
++#else
++#include <linux/if.h>
++#endif
+ #include <linux/rtnetlink.h>
+ #include <linux/pkt_sched.h>
+
+diff --git a/src/nm-manager.c b/src/nm-manager.c
+index 0bf6a75..e392507 100644
+--- a/src/nm-manager.c
++++ b/src/nm-manager.c
+@@ -26,6 +26,7 @@
+ #include <stdlib.h>
+ #include <fcntl.h>
+ #include <unistd.h>
++#include <asm/types.h>
+
+ #include "nm-utils/nm-c-list.h"
+
+--- NetworkManager-1.18.1/shared/systemd/src/basic/fs-util.h.old 2019-04-18 09:19:11.000000000 +0000
++++ NetworkManager-1.18.1/shared/systemd/src/basic/fs-util.h 2019-05-10 06:02:21.493921788 +0000
+@@ -7,6 +7,7 @@
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <sys/inotify.h>
++#include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+
+diff --git a/src/systemd/sd-adapt-core/nm-sd-adapt-core.h b/src/systemd/sd-adapt-core/nm-sd-adapt-core.h
+index 8c07c53..d043afc 100644
+--- a/src/systemd/sd-adapt-core/nm-sd-adapt-core.h
++++ b/src/systemd/sd-adapt-core/nm-sd-adapt-core.h
+@@ -65,7 +65,7 @@
+ # ifdef HAVE___SECURE_GETENV
+ # define secure_getenv __secure_getenv
+ # else
+-# error neither secure_getenv nor __secure_getenv is available
++# define secure_getenv getenv
+ # endif
+ #endif
+
+--- NetworkManager-1.18.1/src/platform/nm-linux-platform.c.old 2019-04-19 09:31:51.000000000 +0000
++++ NetworkManager-1.18.1/src/platform/nm-linux-platform.c 2019-05-10 07:21:32.665163629 +0000
+@@ -20,6 +20,7 @@
+ #include "nm-default.h"
+
+ #include "nm-linux-platform.h"
++#include "wpan/nm-wpan-utils.h"
+
+ #include <arpa/inet.h>
+ #include <dlfcn.h>
+@@ -28,7 +29,11 @@
+ #include <libudev.h>
+ #include <linux/fib_rules.h>
+ #include <linux/ip.h>
++#ifdef __GLIBC__
+ #include <linux/if_arp.h>
++#else
++#include <linux/if.h>
++#endif
+ #include <linux/if_bridge.h>
+ #include <linux/if_link.h>
+ #include <linux/if_tun.h>
+@@ -57,7 +62,6 @@
+ #include "nm-platform-private.h"
+ #include "wifi/nm-wifi-utils.h"
+ #include "wifi/nm-wifi-utils-wext.h"
+-#include "wpan/nm-wpan-utils.h"
+ #include "nm-glib-aux/nm-io-utils.h"
+ #include "nm-udev-aux/nm-udev-utils.h"
+
+diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c
+index b0afb5c..f72e346 100644
+--- a/shared/systemd/src/basic/process-util.c
++++ b/shared/systemd/src/basic/process-util.c
+@@ -21,6 +21,9 @@
+ #include <sys/wait.h>
+ #include <syslog.h>
+ #include <unistd.h>
++#ifndef __GLIBC__
++#include <pthread.h>
++#endif
+ #if 0 /* NM_IGNORED */
+ #if HAVE_VALGRIND_VALGRIND_H
+ #include <valgrind/valgrind.h>
+@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) {
+ cached_pid = CACHED_PID_UNSET;
+ }
+
++#ifdef __GLIBC__
+ /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
+ * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
+ * libpthread, as it is part of glibc anyway. */
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
+ extern void* __dso_handle _weak_;
++#endif
+
+ pid_t getpid_cached(void) {
+ static bool installed = false;
+@@ -1201,7 +1206,12 @@ pid_t getpid_cached(void) {
+ * only half-documented (glibc doesn't document it but LSB does — though only superficially)
+ * we'll check for errors only in the most generic fashion possible. */
+
+- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
++ #ifdef __GLIBC__
++ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
++ #else
++ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
++ #endif
++
+ /* OOM? Let's try again later */
+ cached_pid = CACHED_PID_UNSET;
+ return new_pid;
+
diff --git a/user/networkmanager/nm.confd b/user/networkmanager/nm.confd
new file mode 100644
index 000000000..4a9922965
--- /dev/null
+++ b/user/networkmanager/nm.confd
@@ -0,0 +1,4 @@
+# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT
+# seconds after starting, the service will be marked as inactive, and it will
+# continue to wait for a connection in background mode.
+INACTIVE_TIMEOUT=1
diff --git a/user/networkmanager/nm.initd b/user/networkmanager/nm.initd
new file mode 100644
index 000000000..3209644c5
--- /dev/null
+++ b/user/networkmanager/nm.initd
@@ -0,0 +1,58 @@
+#!/sbin/openrc-run
+# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
+# Copyright 2013-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="NetworkManager daemon. The service is marked as started only \
+when a network connection is established."
+
+depend() {
+ need dbus
+ use consolekit
+ provide net
+}
+
+start() {
+ # If we are re-called by a dispatcher event, we want to mark the service
+ # as started without starting the daemon again
+ yesno "${IN_BACKGROUND}" && return 0
+
+ [ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
+
+ ebegin "Starting NetworkManager"
+ start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
+ --exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
+ local _retval=$?
+ eend "${_retval}"
+ if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
+ einfo "Marking NetworkManager as inactive. It will automatically be marked"
+ einfo "as started after a network connection has been established."
+ mark_service_inactive
+ fi
+ return "${_retval}"
+}
+
+stop() {
+ # If we are re-called by a dispatcher event, we want to mark the service
+ # as inactive without stopping the daemon
+ if yesno "${IN_BACKGROUND}"; then
+ mark_service_inactive "${SVCNAME}"
+ return 0
+ fi
+
+ ebegin "Stopping NetworkManager"
+ local pidfile=/run/NetworkManager/NetworkManager.pid
+ if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then
+ # Try stopping the pid file used by <0.9.7
+ pidfile=/var/run/NetworkManager.pid
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+ ret=$?
+ [ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
+ eend ${ret}
+ else
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+ eend $?
+ fi
+}
+
+# vim: set ft=gentoo-init-d ts=4 :
diff --git a/user/networkmanager/tests.patch b/user/networkmanager/tests.patch
new file mode 100644
index 000000000..8fb5cda60
--- /dev/null
+++ b/user/networkmanager/tests.patch
@@ -0,0 +1,18 @@
+--- NetworkManager-1.18.1/src/devices/tests/test-lldp.c.old 2019-04-18 09:19:11.000000000 +0000
++++ NetworkManager-1.18.1/src/devices/tests/test-lldp.c 2019-05-10 07:23:58.979198831 +0000
+@@ -21,7 +21,6 @@
+ #include "nm-default.h"
+
+ #include <fcntl.h>
+-#include <linux/if_tun.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+@@ -32,6 +31,7 @@
+ #include "platform/tests/test-common.h"
+
+ #include "nm-test-utils-core.h"
++#include <linux/if_tun.h>
+
+ /*****************************************************************************/
+
diff --git a/user/newt/APKBUILD b/user/newt/APKBUILD
new file mode 100644
index 000000000..c05167f63
--- /dev/null
+++ b/user/newt/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=newt
+pkgver=0.52.20
+pkgrel=0
+pkgdesc="Terminal user interface library"
+url="https://pagure.io/newt/"
+arch="all"
+options="!check" # No test suite.
+license="LGPL-2.0-only"
+depends=""
+makedepends="popt-dev slang-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pagure.io/newt/archive/r${pkgver//./-}/newt-r${pkgver//./-}.tar.gz"
+builddir="$srcdir/newt-r${pkgver//./-}"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="d8d66cef16595d289e4d8cc75589c684e855158f0eda3530d8be9f980f663c4f175ac47925cf9ba6980e9e5fdb0a83f7bcacf38fef0db31a1a48a62bd07bdec6 newt-r0-52-20.tar.gz"
diff --git a/user/nextcloud-client/APKBUILD b/user/nextcloud-client/APKBUILD
index 549383413..ffd242b29 100644
--- a/user/nextcloud-client/APKBUILD
+++ b/user/nextcloud-client/APKBUILD
@@ -1,25 +1,22 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=nextcloud-client
-pkgver=2.5.0_beta2
-_ver="${pkgver%_beta2}-beta2"
+pkgver=2.5.2
pkgrel=0
pkgdesc="Nextcloud desktop client"
url="https://github.com/nextcloud/desktop"
arch="all"
-options="!checkroot"
license="GPL-2.0+ AND LGPL-2.1+ AND Public-Domain AND MIT AND (Custom:Digia-Qt OR LGPL-2.1-only WITH Qt-LGPL-exception-1.1) AND (Custom:Digia-Qt OR LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only)"
depends=""
makedepends="cmake qt5-qttools-dev qtkeychain-dev zlib-dev
openssl-dev sqlite-dev qt5-qtsvg-dev"
subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/nextcloud/desktop/archive/v$_ver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/nextcloud/desktop/archive/v$pkgver.tar.gz
no-webengine.patch
openssl.patch"
-builddir="$srcdir/desktop-$_ver"
+builddir="$srcdir/desktop-$pkgver"
build() {
- cd "$builddir"
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_LIBDIR=lib \
@@ -27,20 +24,21 @@ build() {
-DCMAKE_INSTALL_SYSCONFDIR="/etc/$pkgname" \
-DNO_SHIBBOLETH=1 \
-DWITH_CRASHREPORTER=bool:OFF \
- -DUNIT_TESTING=bool:ON
+ -DUNIT_TESTING=bool:ON \
+ -DNO_SHIBBOLETH=bool:ON
make
}
check() {
- cd "$builddir"
- make test
+ # ChunkingTestNg fails sporadically when run with the other tests based
+ # on a timeout, but runs fine on its own
+ make test || make test ARGS="--rerun-failed --output-on-failure"
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="ed5ec8c0fd79d3f7f843ef1aefb9b94088b85dacca442388bc9a42e1ddbf1ee90482595135ffaffc85e40d223406964c903949ca1c2161fa0f6a2d6770a77cea nextcloud-client-2.5.0_beta2.tar.gz
-6bd83fdee02eabe7ae29fb1a677f62d4a416ec553a0f8c66b7544cafb9201dd7d8b04dc6fb21f447f6c1ece13b06f5d3cba57ac71b211e166607ef15350b3e57 no-webengine.patch
+sha512sums="1000b420355d7a4104ca5b41e813d467dcb345b60c79c78ce532de9c58ea89cad10d5565a433409bd512f0f7771c18c7c27974b968c74f84ccfda1ed3510d3ae nextcloud-client-2.5.2.tar.gz
+17e6a8437d33a2bb1305e45405aee4e23f233e00c232669a1f8317355032d88329899d3f7b65d1069cf1612029b589a575b0f64018b9b23d239a73c5f4bed2ce no-webengine.patch
e323a1074f8ac96667a420f076fdfc988e2fd97cdacd05d83ac54b467b567f5adbf635e7c4fb0414af0012b4016cc4c13441cb35ed3976bc970e514e81b65fd4 openssl.patch"
diff --git a/user/nextcloud-client/no-webengine.patch b/user/nextcloud-client/no-webengine.patch
index d5beed35c..762b5092d 100644
--- a/user/nextcloud-client/no-webengine.patch
+++ b/user/nextcloud-client/no-webengine.patch
@@ -1,470 +1,17 @@
---- desktop-2.5.0-beta1/src/libsync/networkjobs.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/libsync/networkjobs.cpp 2018-08-15 19:10:43.340595365 -0400
-@@ -922,7 +922,7 @@
-
- // WebViewFlow > OAuth > Shib > Basic
- if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-- result = WebViewFlow;
-+ result = Basic;
- }
-
- qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result;
---- desktop-2.5.0-beta1/src/gui/creds/webflowcredentialsdialog.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
-@@ -1,49 +0,0 @@
--#include "webflowcredentialsdialog.h"
--
--#include <QVBoxLayout>
--#include <QLabel>
--
--#include "wizard/webview.h"
--
--namespace OCC {
--
--WebFlowCredentialsDialog::WebFlowCredentialsDialog(QWidget *parent)
-- : QDialog(parent)
--{
-- _layout = new QVBoxLayout(this);
--
-- //QString msg = tr("You have been logged out of %1 as user %2, please login again")
-- // .arg(_account->displayName(), _user);
-- _infoLabel = new QLabel();
-- _layout->addWidget(_infoLabel);
--
-- _webView = new WebView();
-- _layout->addWidget(_webView);
--
-- _errorLabel = new QLabel();
-- _errorLabel->hide();
-- _layout->addWidget(_errorLabel);
--
-- setLayout(_layout);
--
-- connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched);
--}
--
--void WebFlowCredentialsDialog::setUrl(const QUrl &url) {
-- _webView->setUrl(url);
--}
--
--void WebFlowCredentialsDialog::setInfo(const QString &msg) {
-- _infoLabel->setText(msg);
--}
--
--void WebFlowCredentialsDialog::setError(const QString &error) {
-- if (error.isEmpty()) {
-- _errorLabel->hide();
-- } else {
-- _errorLabel->setText(error);
-- _errorLabel->show();
-- }
--}
--
--}
---- desktop-2.5.0-beta1/src/gui/creds/webflowcredentials.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
-@@ -1,258 +0,0 @@
--#include "webflowcredentials.h"
--
--#include "creds/httpcredentials.h"
--
--#include <QAuthenticator>
--#include <QNetworkAccessManager>
--#include <QNetworkReply>
--#include <QPointer>
--#include <QTimer>
--#include <keychain.h>
--#include <QDialog>
--#include <QVBoxLayout>
--#include <QLabel>
--
--#include "accessmanager.h"
--#include "account.h"
--#include "theme.h"
--#include "wizard/webview.h"
--#include "webflowcredentialsdialog.h"
--
--using namespace QKeychain;
--
--namespace OCC {
--
--Q_LOGGING_CATEGORY(lcWebFlowCredentials, "sync.credentials.webflow", QtInfoMsg)
--
--WebFlowCredentials::WebFlowCredentials()
-- : _ready(false),
-- _credentialsValid(false)
--{
--
--}
--
--WebFlowCredentials::WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate, const QSslKey &key)
-- : _user(user)
-- , _password(password)
-- , _clientSslKey(key)
-- , _clientSslCertificate(certificate)
-- , _ready(true)
-- , _credentialsValid(true)
--{
--
--}
--
--QString WebFlowCredentials::authType() const {
-- return QString::fromLatin1("webflow");
--}
--
--QString WebFlowCredentials::user() const {
-- return _user;
--}
--
--QString WebFlowCredentials::password() const {
-- return _password;
--}
--
--QNetworkAccessManager *WebFlowCredentials::createQNAM() const {
-- qCInfo(lcWebFlowCredentials()) << "Get QNAM";
-- AccessManager *qnam = new AccessManager();
--
-- connect(qnam, &AccessManager::authenticationRequired, this, &WebFlowCredentials::slotAuthentication);
-- connect(qnam, &AccessManager::finished, this, &WebFlowCredentials::slotFinished);
--
-- return qnam;
--}
--
--bool WebFlowCredentials::ready() const {
-- return _ready;
--}
--
--void WebFlowCredentials::fetchFromKeychain() {
-- _wasFetched = true;
--
-- // Make sure we get the user fromt he config file
-- fetchUser();
--
-- if (ready()) {
-- emit fetched();
-- } else {
-- qCInfo(lcWebFlowCredentials()) << "Fetch from keyhchain!";
-- fetchFromKeychainHelper();
-- }
--}
--
--void WebFlowCredentials::askFromUser() {
-- _askDialog = new WebFlowCredentialsDialog();
--
-- QUrl url = _account->url();
-- QString path = url.path() + "/index.php/login/flow";
-- url.setPath(path);
-- _askDialog->setUrl(url);
--
-- QString msg = tr("You have been logged out of %1 as user %2. Please login again")
-- .arg(_account->displayName(), _user);
-- _askDialog->setInfo(msg);
--
-- _askDialog->show();
--
-- connect(_askDialog, &WebFlowCredentialsDialog::urlCatched, this, &WebFlowCredentials::slotAskFromUserCredentialsProvided);
--
-- qCWarning(lcWebFlowCredentials()) << "User needs to reauth!";
--}
--
--void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user, const QString &pass, const QString &host) {
-- Q_UNUSED(host);
--
-- if (_user != user) {
-- qCInfo(lcWebFlowCredentials()) << "Authed with the wrong user!";
--
-- QString msg = tr("Please login with the user: %1")
-- .arg(_user);
-- _askDialog->setError(msg);
--
-- QUrl url = _account->url();
-- QString path = url.path() + "/index.php/login/flow";
-- url.setPath(path);
-- _askDialog->setUrl(url);
--
-- return;
-- }
--
-- qCInfo(lcWebFlowCredentials()) << "Obtained a new password";
--
-- _password = pass;
-- _ready = true;
-- _credentialsValid = true;
-- persist();
-- emit asked();
--
-- _askDialog->close();
-- delete _askDialog;
-- _askDialog = NULL;
--}
--
--
--bool WebFlowCredentials::stillValid(QNetworkReply *reply) {
-- qCWarning(lcWebFlowCredentials()) << "Still valid?";
-- qCWarning(lcWebFlowCredentials()) << reply->error();
-- qCWarning(lcWebFlowCredentials()) << reply->errorString();
-- return (reply->error() != QNetworkReply::AuthenticationRequiredError);
--}
--
--void WebFlowCredentials::persist() {
-- if (_user.isEmpty()) {
-- // We don't even have a user nothing to see here move along
-- return;
-- }
--
-- _account->setCredentialSetting("user", _user);
-- _account->wantsAccountSaved(_account);
--
-- //TODO: Add ssl cert and key storing
-- WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName());
-- job->setInsecureFallback(false);
-- job->setKey(keychainKey(_account->url().toString(), _user, _account->id()));
-- job->setTextData(_password);
-- job->start();
--}
--
--void WebFlowCredentials::invalidateToken() {
-- // clear the session cookie.
-- _account->clearCookieJar();
--
-- // let QNAM forget about the password
-- // This needs to be done later in the event loop because we might be called (directly or
-- // indirectly) from QNetworkAccessManagerPrivate::authenticationRequired, which itself
-- // is a called from a BlockingQueuedConnection from the Qt HTTP thread. And clearing the
-- // cache needs to synchronize again with the HTTP thread.
-- QTimer::singleShot(0, _account, &Account::clearQNAMCache);
--}
--
--void WebFlowCredentials::forgetSensitiveData(){
-- _password = QString();
-- _ready = false;
--
-- fetchUser();
--
-- const QString kck = keychainKey(_account->url().toString(), _user, _account->id());
-- if (kck.isEmpty()) {
-- qCWarning(lcWebFlowCredentials()) << "InvalidateToken: User is empty, bailing out!";
-- return;
-- }
--
-- DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName());
-- job->setInsecureFallback(false);
-- job->setKey(kck);
-- job->start();
--
-- invalidateToken();
--}
--
--void WebFlowCredentials::setAccount(Account *account) {
-- AbstractCredentials::setAccount(account);
-- if (_user.isEmpty()) {
-- fetchUser();
-- }
--}
--
--QString WebFlowCredentials::fetchUser() {
-- _user = _account->credentialSetting("user").toString();
-- return _user;
--}
--
--void WebFlowCredentials::slotAuthentication(QNetworkReply *reply, QAuthenticator *authenticator) {
-- Q_UNUSED(reply);
--
-- if (!_ready) {
-- return;
-- }
--
-- if (_credentialsValid == false) {
-- return;
-- }
--
-- qCWarning(lcWebFlowCredentials()) << "Requires authentication";
--
-- authenticator->setUser(_user);
-- authenticator->setPassword(_password);
-- _credentialsValid = false;
--}
--
--void WebFlowCredentials::slotFinished(QNetworkReply *reply) {
-- qCInfo(lcWebFlowCredentials()) << "request finished";
--
-- if (reply->error() == QNetworkReply::NoError) {
-- _credentialsValid = true;
-- }
--}
--
--void WebFlowCredentials::fetchFromKeychainHelper() {
-- const QString kck = keychainKey(
-- _account->url().toString(),
-- _user,
-- _account->id());
--
-- ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName());
-- job->setInsecureFallback(false);
-- job->setKey(kck);
-- connect(job, &Job::finished, this, &WebFlowCredentials::slotReadPasswordJobDone);
-- job->start();
--}
--
--void WebFlowCredentials::slotReadPasswordJobDone(Job *incomingJob) {
-- QKeychain::ReadPasswordJob *job = static_cast<ReadPasswordJob *>(incomingJob);
-- QKeychain::Error error = job->error();
--
-- if (error == QKeychain::NoError) {
-- _password = job->textData();
-- _ready = true;
-- _credentialsValid = true;
-- } else {
-- _ready = false;
-- }
--
-- emit fetched();
--}
--
--}
---- desktop-2.5.0-beta1/src/gui/creds/webflowcredentialsdialog.h 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
-@@ -1,36 +0,0 @@
--#ifndef WEBFLOWCREDENTIALSDIALOG_H
--#define WEBFLOWCREDENTIALSDIALOG_H
--
--#include <QDialog>
--#include <QUrl>
--
--class QLabel;
--class QVBoxLayout;
--
--namespace OCC {
--
--class WebView;
--
--class WebFlowCredentialsDialog : public QDialog
--{
-- Q_OBJECT
--public:
-- WebFlowCredentialsDialog(QWidget *parent = 0);
--
-- void setUrl(const QUrl &url);
-- void setInfo(const QString &msg);
-- void setError(const QString &error);
--
--signals:
-- void urlCatched(const QString user, const QString pass, const QString host);
--
--private:
-- WebView *_webView;
-- QLabel *_errorLabel;
-- QLabel *_infoLabel;
-- QVBoxLayout *_layout;
--};
--
--}
--
--#endif // WEBFLOWCREDENTIALSDIALOG_H
---- desktop-2.5.0-beta1/src/gui/creds/credentialsfactory.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/gui/creds/credentialsfactory.cpp 2018-08-15 19:29:27.240615471 -0400
-@@ -21,7 +21,6 @@
- #ifndef NO_SHIBBOLETH
- #include "creds/shibbolethcredentials.h"
- #endif
--#include "creds/webflowcredentials.h"
+--- desktop-2.5.2/src/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/CMakeLists.txt 2019-04-22 04:01:31.260028906 +0000
+@@ -4,7 +4,7 @@
- namespace OCC {
+ set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
-@@ -40,8 +39,6 @@
- } else if (type == "shibboleth") {
- return new ShibbolethCredentials;
- #endif
-- } else if (type == "webflow") {
-- return new WebFlowCredentials;
- } else {
- qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
- return new DummyCredentials;
---- desktop-2.5.0-beta1/src/gui/creds/webflowcredentials.h 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:12:03.420596798 -0400
-@@ -1,79 +0,0 @@
--#ifndef WEBFLOWCREDENTIALS_H
--#define WEBFLOWCREDENTIALS_H
--
--#include <QSslCertificate>
--#include <QSslKey>
--
--#include "creds/abstractcredentials.h"
--
--class QDialog;
--class QLabel;
--class QNetworkReply;
--class QAuthenticator;
--
--namespace QKeychain {
-- class Job;
--}
--
--namespace OCC {
--
--class WebFlowCredentialsDialog;
--
--class WebFlowCredentials : public AbstractCredentials
--{
-- Q_OBJECT
--public:
-- explicit WebFlowCredentials();
-- WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate = QSslCertificate(), const QSslKey &key = QSslKey());
--
-- QString authType() const override;
-- QString user() const override;
-- QString password() const;
-- QNetworkAccessManager *createQNAM() const override;
--
-- bool ready() const override;
--
-- void fetchFromKeychain() override;
-- void askFromUser() override;
--
-- bool stillValid(QNetworkReply *reply) override;
-- void persist() override;
-- void invalidateToken() override;
-- void forgetSensitiveData() override;
--
-- // To fetch the user name as early as possible
-- void setAccount(Account *account) override;
--
--private slots:
-- void slotAuthentication(QNetworkReply *reply, QAuthenticator *authenticator);
-- void slotFinished(QNetworkReply *reply);
--
-- void slotReadPasswordJobDone(QKeychain::Job *incomingJob);
-- void slotAskFromUserCredentialsProvided(const QString &user, const QString &pass, const QString &host);
--
--private:
-- /** Reads data from keychain locations
-- *
-- * Goes through
-- * slotReadClientCertPEMJobDone to
-- * slotReadClientCertPEMJobDone to
-- * slotReadJobDone
-- */
-- void fetchFromKeychainHelper();
--
-- QString fetchUser();
--
-- QString _user;
-- QString _password;
-- QSslKey _clientSslKey;
-- QSslCertificate _clientSslCertificate;
--
-- bool _ready;
-- bool _credentialsValid;
--
-- WebFlowCredentialsDialog *_askDialog;
--};
--
--}
--
--#endif // WEBFLOWCREDENTIALS_H
---- desktop-2.5.0-beta1/src/gui/CMakeLists.txt 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/gui/CMakeLists.txt 2018-08-15 19:28:53.640614870 -0400
-@@ -41,7 +41,6 @@
+-find_package(Qt5 5.6 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
++find_package(Qt5 5.6 COMPONENTS Core Network Xml Concurrent REQUIRED)
+ if (Qt5Core_VERSION VERSION_LESS 5.9.0)
+ message(STATUS "For HTTP/2 support, compile with Qt 5.9 or higher.")
+ endif()
+--- desktop-2.5.2/src/gui/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/gui/CMakeLists.txt 2019-04-22 04:15:53.230034980 +0000
+@@ -40,7 +40,6 @@
wizard/owncloudoauthcredspage.ui
wizard/owncloudsetupnocredspage.ui
wizard/owncloudwizardresultpage.ui
@@ -472,7 +19,7 @@
)
set(client_SRCS
-@@ -104,8 +103,6 @@
+@@ -103,8 +102,6 @@
creds/credentialsfactory.cpp
creds/httpcredentialsgui.cpp
creds/oauth.cpp
@@ -481,16 +28,16 @@
wizard/postfixlineedit.cpp
wizard/abstractcredswizardpage.cpp
wizard/owncloudadvancedsetuppage.cpp
-@@ -116,8 +113,6 @@
+@@ -115,8 +112,6 @@
wizard/owncloudwizardcommon.cpp
wizard/owncloudwizard.cpp
wizard/owncloudwizardresultpage.cpp
- wizard/webviewpage.cpp
- wizard/webview.cpp
+ wizard/slideshow.cpp
)
- IF(NOT NO_SHIBBOLETH)
-@@ -290,7 +290,7 @@
+@@ -295,7 +290,7 @@
endif()
add_library(updater STATIC ${updater_SRCS})
@@ -499,459 +46,50 @@
target_include_directories(updater PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
---- desktop-2.5.0-beta2/src/gui/wizard/webview.cpp 2018-08-24 12:54:42.000000000 +0000
-+++ /dev/null 2018-10-03 06:10:44.230254545 +0000
-@@ -1,162 +0,0 @@
--#include "webview.h"
--
--#include <QWebEnginePage>
--#include <QWebEngineProfile>
--#include <QWebEngineUrlRequestInterceptor>
--#include <QWebEngineUrlRequestJob>
--#include <QWebEngineUrlSchemeHandler>
--#include <QWebEngineView>
--#include <QDesktopServices>
--#include <QProgressBar>
--#include <QLoggingCategory>
--#include <QLocale>
--
--#include "common/utility.h"
--
--namespace OCC {
--
--Q_LOGGING_CATEGORY(lcWizardWebiew, "gui.wizard.webview", QtInfoMsg)
--
--
--class WebViewPageUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor
--{
-- Q_OBJECT
--public:
-- WebViewPageUrlRequestInterceptor(QObject *parent = 0);
-- void interceptRequest(QWebEngineUrlRequestInfo &info);
--};
--
--class WebViewPageUrlSchemeHandler : public QWebEngineUrlSchemeHandler
--{
-- Q_OBJECT
--public:
-- WebViewPageUrlSchemeHandler(QObject *parent = 0);
-- void requestStarted(QWebEngineUrlRequestJob *request);
--
--Q_SIGNALS:
-- void urlCatched(QString user, QString pass, QString host);
--};
--
--class WebEnginePage : public QWebEnginePage {
--public:
-- WebEnginePage(QWebEngineProfile *profile, QObject* parent = nullptr);
-- QWebEnginePage * createWindow(QWebEnginePage::WebWindowType type) override;
--};
--
--// We need a separate class here, since we cannot simply return the same WebEnginePage object
--// this leads to a strage segfault somewhere deep inside of the QWebEngine code
--class ExternalWebEnginePage : public QWebEnginePage {
--public:
-- ExternalWebEnginePage(QWebEngineProfile *profile, QObject* parent = nullptr);
-- bool acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) override;
--};
--
--WebView::WebView(QWidget *parent)
-- : QWidget(parent),
-- _ui()
--{
-- _ui.setupUi(this);
--
-- _webview = new QWebEngineView(this);
-- _profile = new QWebEngineProfile(this);
-- _page = new WebEnginePage(_profile);
-- _interceptor = new WebViewPageUrlRequestInterceptor(this);
-- _schemeHandler = new WebViewPageUrlSchemeHandler(this);
--
-- const QString userAgent(Utility::userAgentString());
-- _profile->setHttpUserAgent(userAgent);
-- QWebEngineProfile::defaultProfile()->setHttpUserAgent(userAgent);
-- _profile->setRequestInterceptor(_interceptor);
-- _profile->installUrlSchemeHandler("nc", _schemeHandler);
--
-- /*
-- * Set a proper accept langauge to the language of the client
-- * code from: http://code.qt.io/cgit/qt/qtbase.git/tree/src/network/access/qhttpnetworkconnection.cpp
-- */
-- {
-- QString systemLocale = QLocale::system().name().replace(QChar::fromLatin1('_'),QChar::fromLatin1('-'));
-- QString acceptLanguage;
-- if (systemLocale == QLatin1String("C")) {
-- acceptLanguage = QString::fromLatin1("en,*");
-- } else if (systemLocale.startsWith(QLatin1String("en-"))) {
-- acceptLanguage = systemLocale + QLatin1String(",*");
-- } else {
-- acceptLanguage = systemLocale + QLatin1String(",en,*");
-- }
-- _profile->setHttpAcceptLanguage(acceptLanguage);
-- }
--
-- _webview->setPage(_page);
-- _ui.verticalLayout->addWidget(_webview);
--
-- connect(_webview, &QWebEngineView::loadProgress, _ui.progressBar, &QProgressBar::setValue);
-- connect(_schemeHandler, &WebViewPageUrlSchemeHandler::urlCatched, this, &WebView::urlCatched);
--}
--
--void WebView::setUrl(const QUrl &url) {
-- _page->setUrl(url);
--}
--
--WebViewPageUrlRequestInterceptor::WebViewPageUrlRequestInterceptor(QObject *parent)
-- : QWebEngineUrlRequestInterceptor(parent) {
--
--}
--
--void WebViewPageUrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) {
-- info.setHttpHeader("OCS-APIREQUEST", "true");
--}
--
--WebViewPageUrlSchemeHandler::WebViewPageUrlSchemeHandler(QObject *parent)
-- : QWebEngineUrlSchemeHandler(parent) {
--
--}
--
--void WebViewPageUrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request) {
-- QUrl url = request->requestUrl();
--
-- QString path = url.path().mid(1);
-- QStringList parts = path.split("&");
--
-- QString server;
-- QString user;
-- QString password;
--
-- for (QString part : parts) {
-- if (part.startsWith("server:")) {
-- server = part.mid(7);
-- } else if (part.startsWith("user:")) {
-- user = part.mid(5);
-- } else if (part.startsWith("password:")) {
-- password = part.mid(9);
+--- desktop-2.5.2/src/gui/accountmanager.cpp 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/gui/accountmanager.cpp 2019-04-22 04:17:04.440035482 +0000
+@@ -253,20 +253,6 @@
+ acc->setUrl(urlConfig.toUrl());
+ }
+
+- // Migrate to webflow
+- if (authType == QLatin1String("http")) {
+- authType = "webflow";
+- settings.setValue(QLatin1String(authTypeC), authType);
+-
+- foreach(QString key, settings.childKeys()) {
+- if (!key.startsWith("http_"))
+- continue;
+- auto newkey = QString::fromLatin1("webflow_").append(key.mid(5));
+- settings.setValue(newkey, settings.value((key)));
+- settings.remove(key);
- }
- }
-
-- qCInfo(lcWizardWebiew()) << "Got user: " << user << ", server: " << server;
--
-- emit urlCatched(user, password, server);
--}
--
--
--WebEnginePage::WebEnginePage(QWebEngineProfile *profile, QObject* parent) : QWebEnginePage(profile, parent) {
--
--}
--
--QWebEnginePage * WebEnginePage::createWindow(QWebEnginePage::WebWindowType type) {
-- ExternalWebEnginePage *view = new ExternalWebEnginePage(this->profile());
-- return view;
--}
--
--ExternalWebEnginePage::ExternalWebEnginePage(QWebEngineProfile *profile, QObject* parent) : QWebEnginePage(profile, parent) {
--
--}
--
--
--bool ExternalWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
--{
-- QDesktopServices::openUrl(url);
-- return false;
--}
--
--}
--
--#include "webview.moc"
---- desktop-2.5.0-beta1/src/gui/wizard/webviewpage.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:06:30.250590838 -0400
-@@ -1,73 +0,0 @@
--#include "webviewpage.h"
--
--#include <QWebEngineUrlRequestJob>
--#include <QProgressBar>
--#include <QVBoxLayout>
--
--#include "owncloudwizard.h"
--#include "creds/webflowcredentials.h"
--#include "webview.h"
--#include "account.h"
--
--namespace OCC {
--
--Q_LOGGING_CATEGORY(lcWizardWebiewPage, "gui.wizard.webviewpage", QtInfoMsg)
--
--
--WebViewPage::WebViewPage(QWidget *parent)
-- : AbstractCredentialsWizardPage()
--{
-- _ocWizard = qobject_cast<OwncloudWizard *>(parent);
--
-- qCInfo(lcWizardWebiewPage()) << "Time for a webview!";
-- _webView = new WebView(this);
--
-- QVBoxLayout *layout = new QVBoxLayout(this);
-- layout->addWidget(_webView);
-- setLayout(layout);
--
-- connect(_webView, &WebView::urlCatched, this, &WebViewPage::urlCatched);
--}
--
--void WebViewPage::initializePage() {
-- QString url;
-- if (_ocWizard->registration()) {
-- url = "https://nextcloud.com/register";
-- } else {
-- url = _ocWizard->ocUrl();
-- url += "/index.php/login/flow";
-- }
-- qCInfo(lcWizardWebiewPage()) << "Url to auth at: " << url;
-- _webView->setUrl(QUrl(url));
--}
--
--int WebViewPage::nextId() const {
-- return WizardCommon::Page_AdvancedSetup;
--}
--
--bool WebViewPage::isComplete() const {
-- return false;
--}
--
--AbstractCredentials* WebViewPage::getCredentials() const {
-- return new WebFlowCredentials(_user, _pass, _ocWizard->_clientSslCertificate, _ocWizard->_clientSslKey);
--}
--
--void WebViewPage::setConnected() {
-- qCInfo(lcWizardWebiewPage()) << "YAY! we are connected!";
--}
--
--void WebViewPage::urlCatched(QString user, QString pass, QString host) {
-- qCInfo(lcWizardWebiewPage()) << "Got user: " << user << ", server: " << host;
--
-- _user = user;
-- _pass = pass;
--
-- AccountPtr account = _ocWizard->account();
-- account->setUrl(host);
--
-- qCInfo(lcWizardWebiewPage()) << "URL: " << field("OCUrl").toString();
-- emit connectToOCUrl(host);
--}
--
--}
---- desktop-2.5.0-beta2/src/gui/wizard/webview.h 2018-08-24 12:54:42.000000000 +0000
-+++ /dev/null 2018-10-03 06:11:27.640255322 +0000
-@@ -1,42 +0,0 @@
--#ifndef WEBVIEW_H
--#define WEBVIEW_H
--
--#include <QUrl>
--#include <QWidget>
--
--#include "ui_webview.h"
--
--class QWebEngineView;
--class QWebEngineProfile;
--class QWebEnginePage;
--
--namespace OCC {
--
--class WebViewPageUrlRequestInterceptor;
--class WebViewPageUrlSchemeHandler;
--class WebEnginePage;
--
--class WebView : public QWidget
--{
-- Q_OBJECT
--public:
-- WebView(QWidget *parent = 0);
-- void setUrl(const QUrl &url);
--
--signals:
-- void urlCatched(const QString user, const QString pass, const QString host);
--
--private:
-- Ui_WebView _ui;
--
-- QWebEngineView *_webview;
-- QWebEngineProfile *_profile;
-- WebEnginePage *_page;
--
-- WebViewPageUrlRequestInterceptor *_interceptor;
-- WebViewPageUrlSchemeHandler *_schemeHandler;
--};
--
--}
--
--#endif // WEBVIEW_H
---- desktop-2.5.0-beta1/src/gui/wizard/webviewpage.h 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:25:56.010611692 -0400
-@@ -1,41 +0,0 @@
--#ifndef WEBVIEWPAGE_H
--#define WEBVIEWPAGE_H
--
--#include "wizard/abstractcredswizardpage.h"
--
--namespace OCC {
--
--class AbstractCredentials;
--class OwncloudWizard;
--class WebView;
--
--class WebViewPage : public AbstractCredentialsWizardPage
--{
-- Q_OBJECT
--public:
-- WebViewPage(QWidget *parent = 0);
--
-- void initializePage() Q_DECL_OVERRIDE;
-- int nextId() const Q_DECL_OVERRIDE;
-- bool isComplete() const;
--
-- AbstractCredentials* getCredentials() const;
-- void setConnected();
--
--signals:
-- void connectToOCUrl(const QString&);
--
--private slots:
-- void urlCatched(QString user, QString pass, QString host);
--
--private:
-- OwncloudWizard *_ocWizard;
-- WebView *_webView;
--
-- QString _user;
-- QString _pass;
--};
--
--}
--
--#endif // WEBVIEWPAGE_H
---- desktop-2.5.0-beta1/src/gui/wizard/owncloudsetuppage.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/gui/wizard/owncloudsetuppage.cpp 2018-08-15 19:23:33.100609136 -0400
-@@ -161,7 +161,7 @@
- void OwncloudSetupPage::slotGotoProviderList()
- {
- _ocWizard->setRegistration(true);
-- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
- _authTypeKnown = true;
- _checking = false;
- emit completeChanged();
-@@ -278,8 +278,6 @@
- return WizardCommon::Page_OAuthCreds;
- case DetermineAuthTypeJob::Shibboleth:
- return WizardCommon::Page_ShibbolethCreds;
-- case DetermineAuthTypeJob::WebViewFlow:
-- return WizardCommon::Page_WebView;
- }
- return WizardCommon::Page_HttpCreds;
- }
---- desktop-2.5.0-beta1/src/gui/wizard/webview.ui 2018-08-02 16:32:56.000000000 -0400
-+++ /dev/null 2018-08-15 19:24:43.320610392 -0400
-@@ -1,80 +0,0 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<ui version="4.0">
-- <class>WebView</class>
-- <widget class="QWidget" name="WebView">
-- <property name="geometry">
-- <rect>
-- <x>0</x>
-- <y>0</y>
-- <width>800</width>
-- <height>700</height>
-- </rect>
-- </property>
-- <property name="sizePolicy">
-- <sizepolicy hsizetype="Minimum" vsizetype="Maximum">
-- <horstretch>0</horstretch>
-- <verstretch>0</verstretch>
-- </sizepolicy>
-- </property>
-- <property name="minimumSize">
-- <size>
-- <width>800</width>
-- <height>650</height>
-- </size>
-- </property>
-- <property name="windowTitle">
-- <string>Form</string>
-- </property>
-- <layout class="QGridLayout" name="gridLayout">
-- <property name="leftMargin">
-- <number>0</number>
-- </property>
-- <property name="topMargin">
-- <number>0</number>
-- </property>
-- <property name="rightMargin">
-- <number>0</number>
-- </property>
-- <property name="bottomMargin">
-- <number>0</number>
-- </property>
-- <item row="1" column="0">
-- <layout class="QVBoxLayout" name="verticalLayout">
-- <property name="spacing">
-- <number>0</number>
-- </property>
-- <item>
-- <widget class="QProgressBar" name="progressBar">
-- <property name="maximumSize">
-- <size>
-- <width>16777215</width>
-- <height>5</height>
-- </size>
-- </property>
-- <property name="styleSheet">
-- <string notr="true">QProgressBar::chunk {
-- background-color: rgba(0, 130, 201, 255);
--}</string>
-- </property>
-- <property name="value">
-- <number>0</number>
-- </property>
-- <property name="textVisible">
-- <bool>false</bool>
-- </property>
-- </widget>
-- </item>
-- <item>
-- <layout class="QHBoxLayout" name="resultLayout">
-- <property name="spacing">
-- <number>0</number>
-- </property>
-- </layout>
-- </item>
-- </layout>
-- </item>
-- </layout>
-- </widget>
-- <resources/>
-- <connections/>
--</ui>
---- desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.h 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.h 2018-08-15 19:22:00.430607478 -0400
-@@ -39,7 +39,6 @@
- class OwncloudWizardResultPage;
- class AbstractCredentials;
- class AbstractCredentialsWizardPage;
--class WebViewPage;
+ qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- /**
- * @brief The OwncloudWizard class
-@@ -106,7 +105,6 @@
- OwncloudAdvancedSetupPage *_advancedSetupPage;
- OwncloudWizardResultPage *_resultPage;
- AbstractCredentialsWizardPage *_credentialsPage;
-- WebViewPage *_webViewPage;
+ acc->_serverVersion = settings.value(QLatin1String(serverVersionC)).toString();
+--- desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-04-22 04:23:19.590038126 +0000
+@@ -21,7 +21,6 @@
+ #ifndef NO_SHIBBOLETH
+ #include "creds/shibbolethcredentials.h"
+ #endif
+-#include "creds/webflowcredentials.h"
- QStringList _setupLog;
+ namespace OCC {
---- desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.cpp 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/gui/wizard/owncloudwizard.cpp 2018-08-15 19:04:35.670588788 -0400
+@@ -40,8 +39,6 @@
+ } else if (type == "shibboleth") {
+ return new ShibbolethCredentials;
+ #endif
+- } else if (type == "webflow") {
+- return new WebFlowCredentials;
+ } else {
+ qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
+ return new DummyCredentials;
+--- desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-04-22 04:24:59.360038829 +0000
@@ -26,7 +26,6 @@
#endif
#include "wizard/owncloudadvancedsetuppage.h"
@@ -963,7 +101,7 @@
@@ -51,7 +50,6 @@
, _advancedSetupPage(new OwncloudAdvancedSetupPage)
, _resultPage(new OwncloudWizardResultPage)
- , _credentialsPage(0)
+ , _credentialsPage(nullptr)
- , _webViewPage(new WebViewPage(this))
, _setupLog()
, _registration(false)
@@ -1004,14 +142,64 @@
} else { // try Basic auth even for "Unknown"
_credentialsPage = _httpCredsPage;
}
---- desktop-2.5.0-beta1/src/CMakeLists.txt 2018-08-02 16:32:56.000000000 -0400
-+++ desktop-2.5.0-beta1/src/CMakeLists.txt 2018-08-15 20:59:59.390712646 -0400
-@@ -4,7 +4,7 @@
+--- desktop-2.5.2/src/libsync/networkjobs.h 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/libsync/networkjobs.h 2019-04-22 05:21:11.950062594 +0000
+@@ -411,8 +411,7 @@
+ enum AuthType {
+ Basic, // also the catch-all fallback for backwards compatibility reasons
+ OAuth,
+- Shibboleth,
+- WebViewFlow
++ Shibboleth
+ };
+
+ explicit DetermineAuthTypeJob(AccountPtr account, QObject *parent = nullptr);
+--- desktop-2.5.2/src/libsync/networkjobs.cpp 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/libsync/networkjobs.cpp 2019-04-22 05:33:28.590067785 +0000
+@@ -922,7 +922,7 @@
- set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
+ // WebViewFlow > OAuth > Shib > Basic
+ if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
+- result = WebViewFlow;
++ result = Basic;
+ }
+
+ qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result;
+--- desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-03-19 01:52:24.000000000 +0000
++++ desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-04-22 05:32:01.750067173 +0000
+@@ -143,7 +143,7 @@
+ void OwncloudSetupPage::slotGotoProviderList()
+ {
+ _ocWizard->setRegistration(true);
+- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
++ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
+ _authTypeKnown = true;
+ _checking = false;
+ emit completeChanged();
+@@ -260,8 +260,6 @@
+ return WizardCommon::Page_OAuthCreds;
+ case DetermineAuthTypeJob::Shibboleth:
+ return WizardCommon::Page_ShibbolethCreds;
+- case DetermineAuthTypeJob::WebViewFlow:
+- return WizardCommon::Page_WebView;
+ }
+ return WizardCommon::Page_HttpCreds;
+ }
+--- desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-03-18 21:52:24.000000000 -0400
++++ desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-04-22 02:07:03.600081984 -0400
+@@ -39,7 +39,6 @@
+ class OwncloudWizardResultPage;
+ class AbstractCredentials;
+ class AbstractCredentialsWizardPage;
+-class WebViewPage;
+
+ /**
+ * @brief The OwncloudWizard class
+@@ -106,7 +105,6 @@
+ OwncloudAdvancedSetupPage *_advancedSetupPage;
+ OwncloudWizardResultPage *_resultPage;
+ AbstractCredentialsWizardPage *_credentialsPage;
+- WebViewPage *_webViewPage;
+
+ QStringList _setupLog;
--find_package(Qt5 5.6 COMPONENTS Core Network Xml Concurrent WebEngineWidgets WebEngine REQUIRED)
-+find_package(Qt5 5.6 COMPONENTS Core Network Xml Concurrent REQUIRED)
- if (Qt5Core_VERSION VERSION_LESS 5.9.0)
- message(STATUS "For HTTP/2 support, compile with Qt 5.9 or higher.")
- endif()
diff --git a/user/nfs-utils/APKBUILD b/user/nfs-utils/APKBUILD
index 5c2c06c70..6ca30bbad 100644
--- a/user/nfs-utils/APKBUILD
+++ b/user/nfs-utils/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=nfs-utils
pkgver=2.3.3
-pkgrel=0
+pkgrel=1
pkgdesc="NFS file sharing client and server"
url="http://nfs.sourceforge.net/"
arch="all"
@@ -13,6 +13,7 @@ makedepends="keyutils-dev krb5-dev libevent-dev libtirpc-dev lvm2-dev
rpcsvc-proto sqlite-dev util-linux-dev"
subpackages="$pkgname-doc $pkgname-openrc"
source="https://downloads.sourceforge.net/nfs/nfs-utils-$pkgver.tar.xz
+ freeaddrinfo-properly.patch
nfs-utils-1.1.4-mtab-sym.patch
posixish.patch
undef-def.patch
@@ -63,6 +64,7 @@ package() {
}
sha512sums="5025ccd7699ac1a0fdbd8b18ed8b33ea89230158320d809ec51e73f831100db75dceaddde481d911eeca9059caa521d155c2d14d014d75f091f432aad92a9716 nfs-utils-2.3.3.tar.xz
+7e1472989374cf8a8dbd4944bbd5deaa5520f12ea3627709be037fb78febec531b373c6e05004f27046d1e3842f5cc7ce024f4db65cf656864bda85db529b451 freeaddrinfo-properly.patch
1cd916028a8515772f05ef63832d73a09e9720055aedc9e2e4ce3a08ce1820948700a4f00ca9c4ee684880f18e67aca888dd857fc7931d923021ba50964be998 nfs-utils-1.1.4-mtab-sym.patch
f0b87ff4229d96a46e3f0c17f87dcd3ce5c51651ee036d935c1481b421cd7e5b6a048a082b4f8115a969fe6e85cc871df7658bf5d80c480095b69f29fd6b085d posixish.patch
2e54efa2cac0522f549e8bed45147676d10b299b5060eda305da8767feb55d37627259196d89c295e8d5f4fbbb7c9e791a53dddd579187600f1717968049aa6a undef-def.patch
diff --git a/user/nfs-utils/freeaddrinfo-properly.patch b/user/nfs-utils/freeaddrinfo-properly.patch
new file mode 100644
index 000000000..7ddcde004
--- /dev/null
+++ b/user/nfs-utils/freeaddrinfo-properly.patch
@@ -0,0 +1,126 @@
+diff -Naur nfs-utils-2.3.3-orig/support/export/client.c nfs-utils-2.3.3/support/export/client.c
+--- nfs-utils-2.3.3-orig/support/export/client.c 2018-09-06 13:09:08.000000000 -0500
++++ nfs-utils-2.3.3/support/export/client.c 2019-04-21 02:48:45.676838188 -0500
+@@ -309,7 +309,8 @@
+ init_addrlist(clp, ai);
+
+ out:
+- freeaddrinfo(ai);
++ if (ai != NULL)
++ freeaddrinfo(ai);
+ return clp;
+ }
+
+diff -Naur nfs-utils-2.3.3-orig/tests/nsm_client/nsm_client.c nfs-utils-2.3.3/tests/nsm_client/nsm_client.c
+--- nfs-utils-2.3.3-orig/tests/nsm_client/nsm_client.c 2018-09-06 13:09:08.000000000 -0500
++++ nfs-utils-2.3.3/tests/nsm_client/nsm_client.c 2019-04-21 02:35:53.139552780 -0500
+@@ -243,7 +243,8 @@
+ printf("RPC client creation failed\n");
+ }
+ out:
+- freeaddrinfo(ai);
++ if (ai != NULL)
++ freeaddrinfo(ai);
+ return client;
+ }
+
+diff -Naur nfs-utils-2.3.3-orig/utils/exportfs/exportfs.c nfs-utils-2.3.3/utils/exportfs/exportfs.c
+--- nfs-utils-2.3.3-orig/utils/exportfs/exportfs.c 2018-09-06 13:09:08.000000000 -0500
++++ nfs-utils-2.3.3/utils/exportfs/exportfs.c 2019-04-21 02:40:07.432327005 -0500
+@@ -282,7 +282,8 @@
+ validate_export(exp);
+
+ out:
+- freeaddrinfo(ai);
++ if (ai != NULL)
++ freeaddrinfo(ai);
+ }
+
+ static int exportfs_generic(char *arg, char *options, int verbose)
+@@ -395,7 +396,8 @@
+ if (!success)
+ xlog(L_ERROR, "Could not find '%s:%s' to unexport.", hname, path);
+
+- freeaddrinfo(ai);
++ if (ai != NULL)
++ freeaddrinfo(ai);
+ }
+
+ static int unexportfs_generic(char *arg, int verbose)
+@@ -639,8 +641,10 @@
+ }
+
+ out:
+- freeaddrinfo(results1);
+- freeaddrinfo(results2);
++ if (results1 != NULL)
++ freeaddrinfo(results1);
++ if (results2 != NULL)
++ freeaddrinfo(results2);
+ return result;
+ }
+
+diff -Naur nfs-utils-2.3.3-orig/utils/mount/stropts.c nfs-utils-2.3.3/utils/mount/stropts.c
+--- nfs-utils-2.3.3-orig/utils/mount/stropts.c 2018-09-06 13:09:08.000000000 -0500
++++ nfs-utils-2.3.3/utils/mount/stropts.c 2019-04-21 02:43:18.451874403 -0500
+@@ -1263,7 +1263,8 @@
+ } else
+ nfs_error(_("%s: internal option parsing error"), progname);
+
+- freeaddrinfo(mi.address);
++ if (mi.address != NULL)
++ freeaddrinfo(mi.address);
+ free(mi.hostname);
+ return retval;
+ }
+diff -Naur nfs-utils-2.3.3-orig/utils/mountd/cache.c nfs-utils-2.3.3/utils/mountd/cache.c
+--- nfs-utils-2.3.3-orig/utils/mountd/cache.c 2019-04-21 02:33:43.603417171 -0500
++++ nfs-utils-2.3.3/utils/mountd/cache.c 2019-04-21 02:45:11.289792765 -0500
+@@ -834,7 +834,8 @@
+ out:
+ if (found_path)
+ free(found_path);
+- freeaddrinfo(ai);
++ if (ai != NULL)
++ freeaddrinfo(ai);
+ free(dom);
+ xlog(D_CALL, "nfsd_fh: found %p path %s", found, found ? found->e_path : NULL);
+ }
+@@ -1355,7 +1356,7 @@
+ xlog(D_CALL, "nfsd_export: found %p path %s", found, path ? path : NULL);
+ if (dom) free(dom);
+ if (path) free(path);
+- freeaddrinfo(ai);
++ if (ai) freeaddrinfo(ai);
+ }
+
+
+diff -Naur nfs-utils-2.3.3-orig/utils/mountd/mountd.c nfs-utils-2.3.3/utils/mountd/mountd.c
+--- nfs-utils-2.3.3-orig/utils/mountd/mountd.c 2018-09-06 13:09:08.000000000 -0500
++++ nfs-utils-2.3.3/utils/mountd/mountd.c 2019-04-21 02:45:41.796526387 -0500
+@@ -581,7 +581,8 @@
+ freeaddrinfo(ai);
+ continue;
+ }
+- freeaddrinfo(ai);
++ if (ai != NULL)
++ freeaddrinfo(ai);
+ }
+ cp = &(c->gr_next);
+ }
+diff -Naur nfs-utils-2.3.3-orig/utils/statd/hostname.c nfs-utils-2.3.3/utils/statd/hostname.c
+--- nfs-utils-2.3.3-orig/utils/statd/hostname.c 2018-09-06 13:09:08.000000000 -0500
++++ nfs-utils-2.3.3/utils/statd/hostname.c 2019-04-21 02:41:39.712446505 -0500
+@@ -308,8 +308,10 @@
+ }
+
+ out:
+- freeaddrinfo(results2);
+- freeaddrinfo(results1);
++ if (results2 != NULL)
++ freeaddrinfo(results2);
++ if (results1 != NULL)
++ freeaddrinfo(results1);
+
+ xlog(D_CALL, "%s: hostnames %s and %s %s", __func__,
+ hostname1, hostname2,
diff --git a/user/nghttp2/APKBUILD b/user/nghttp2/APKBUILD
index da23381f8..0c0c764e7 100644
--- a/user/nghttp2/APKBUILD
+++ b/user/nghttp2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer:
pkgname=nghttp2
-pkgver=1.36.0
+pkgver=1.37.0
pkgrel=0
pkgdesc="Experimental HTTP/2 client, server and proxy"
url="https://nghttp2.org/"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4e0d5c5cdb4f1b7e5f12790850237f36649af4aa9596033392725972e4e0e5a33bb78bd1aa0735e35e489b523b7e9a236a7b5847dfca69bd7583fcab36c13c76 nghttp2-1.36.0.tar.xz"
+sha512sums="67a4b9df3f7f0edad719011fa289d9aa9ef04f31ef3ccf826b861c8830ed24e0743a33b54ab66d198fec7edbf723852b38a2007b335d7f566f702f4b02297b0f nghttp2-1.37.0.tar.xz"
diff --git a/user/node/APKBUILD b/user/node/APKBUILD
new file mode 100644
index 000000000..ba3ff6807
--- /dev/null
+++ b/user/node/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=node
+pkgver=10.15.3
+pkgrel=0
+pkgdesc="JavaScript runtime"
+url="https://nodejs.org/"
+arch="all"
+license="MIT AND ICU AND BSD-3-Clause AND BSD-2-Clause AND ISC AND OpenSSL AND Public-Domain AND Zlib AND Artistic-2.0 AND Apache-2.0 AND CC0-1.0"
+depends=""
+makedepends="c-ares-dev http-parser-dev icu-dev libexecinfo-dev libuv-dev
+ nghttp2-dev python3 zlib-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://nodejs.org/download/release/v$pkgver/node-v$pkgver.tar.xz
+ https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
+ libatomic.patch
+ ppc32.patch
+ ppc64.patch
+ stack-silliness.patch
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+
+unpack() {
+ default_unpack
+ [ -z $SKIP_PYTHON ] || return 0
+
+ msg "Killing all remaining hope for humanity and building Python 2..."
+ cd "$srcdir/Python-2.7.15"
+ [ -d ../python ] && rm -r ../python
+ # 19:39 <+solar> just make the firefox build process build its own py2 copy
+ # 20:03 <calvin> TheWilfox: there's always violence
+ ./configure --prefix="$srcdir/python"
+ make -j $JOBS
+ make -j $JOBS install
+}
+
+build() {
+ cd "$builddir"
+ export PATH="$srcdir/python/bin:$PATH"
+ # We can't use --shared-openssl until 1.1 is available.
+ python ./configure.py \
+ --prefix=/usr \
+ --with-intl=system-icu \
+ --shared-cares \
+ --shared-http-parser \
+ --shared-libuv \
+ --shared-nghttp2 \
+ --openssl-no-asm \
+ --shared-zlib
+ # keep DESTDIR set, to avoid a full rebuild in package()
+ make DESTDIR="$pkgdir"
+}
+
+check() {
+ cd "$builddir"
+ export PATH="$srcdir/python/bin:$PATH"
+ make DESTDIR="$pkgdir" test-only
+}
+
+package() {
+ cd "$builddir"
+ export PATH="$srcdir/python/bin:$PATH"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="cf741f733af7a7e1fbd37b0f98110078494b4771dbdfccacfda95a5ea4cda6cdcea4f8d31dddcf27477213614e4ab6cf7d1a1f900cb92936333730737ac4f9e8 node-v10.15.3.tar.xz
+27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz
+8f64922d586bce9d82c83042a989739cc55ecc5e015778cdfbda21c257aa50527ddb18740985bcb2068e4a749b71eb8a135d9a8152b374d361589df7f33c9b60 libatomic.patch
+d369cd9685e372368af11ea763defdde7afc789ce5e2f617b47174fb4d45003d6e494a00ef92c9ed098c49c189d1690edf9ce780448a5b4a5b072c20ea35ab95 ppc32.patch
+583326353de5b0ac14a6c42321f6b031bd943a80550624794e15bd7526470f67bfa14a66558db3c94b4ee2db3053d2e4efed2117f4e7b6dca3c59c171048c094 ppc64.patch
+3ea09e36ed0cc31e0475ebc9c92b7609b70e9c1637c5db6c92cf1d6363fb8c6f884ffa20dd81054ca390b721695185327d80c9eeff0688a959e9d46947602471 stack-silliness.patch"
diff --git a/user/node/gyp-python3.patch b/user/node/gyp-python3.patch
new file mode 100644
index 000000000..e52ef19ec
--- /dev/null
+++ b/user/node/gyp-python3.patch
@@ -0,0 +1,3862 @@
+diff --git a/tools/gyp/pylib/gyp/input.py b/pylib/gyp/input.py
+index a046a15..21b4606 100644
+--- a/tools/gyp/pylib/gyp/input.py
++++ b/tools/gyp/pylib/gyp/input.py
+@@ -2,14 +2,8 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
+-from compiler.ast import Const
+-from compiler.ast import Dict
+-from compiler.ast import Discard
+-from compiler.ast import List
+-from compiler.ast import Module
+-from compiler.ast import Node
+-from compiler.ast import Stmt
+-import compiler
++import ast
++
+ import gyp.common
+ import gyp.simple_copy
+ import multiprocessing
+@@ -183,43 +177,38 @@
+ Note that this is slower than eval() is.
+ """
+
+- ast = compiler.parse(file_contents)
+- assert isinstance(ast, Module)
+- c1 = ast.getChildren()
+- assert c1[0] is None
+- assert isinstance(c1[1], Stmt)
+- c2 = c1[1].getChildren()
+- assert isinstance(c2[0], Discard)
+- c3 = c2[0].getChildren()
+- assert len(c3) == 1
+- return CheckNode(c3[0], [])
++ syntax_tree = ast.parse(file_contents)
++ assert isinstance(syntax_tree, ast.Module)
++ c1 = syntax_tree.body
++ assert len(c1) == 1
++ c2 = c1[0]
++ assert isinstance(c2, ast.Expr)
++ return CheckNode(c2.value, [])
+
+
+ def CheckNode(node, keypath):
+- if isinstance(node, Dict):
+- c = node.getChildren()
++ if isinstance(node, ast.Dict):
+ dict = {}
+- for n in range(0, len(c), 2):
+- assert isinstance(c[n], Const)
+- key = c[n].getChildren()[0]
++ for key, value in zip(node.keys, node.values):
++ assert isinstance(key, ast.Str)
++ key = key.s
+ if key in dict:
+ raise GypError("Key '" + key + "' repeated at level " +
+ repr(len(keypath) + 1) + " with key path '" +
+ '.'.join(keypath) + "'")
+ kp = list(keypath) # Make a copy of the list for descending this node.
+ kp.append(key)
+- dict[key] = CheckNode(c[n + 1], kp)
++ dict[key] = CheckNode(value, kp)
+ return dict
+- elif isinstance(node, List):
+- c = node.getChildren()
++ elif isinstance(node, ast.List):
+ children = []
+- for index, child in enumerate(c):
++ for index, child in enumerate(node.elts):
+ kp = list(keypath) # Copy list.
+ kp.append(repr(index))
+ children.append(CheckNode(child, kp))
+ return children
+- elif isinstance(node, Const):
+- return node.getChildren()[0]
++ elif isinstance(node, ast.Str):
++ return node.s
+ else:
+ raise TypeError("Unknown AST node at key path '" + '.'.join(keypath) +
+ "': " + repr(node))
+diff --git a/tools/gyp/pylib/gyp/simple_copy.py b/pylib/gyp/simple_copy.py
+index 74c98c5..eaf5f8b 100644
+--- a/tools/gyp/pylib/gyp/simple_copy.py
++++ b/tools/gyp/pylib/gyp/simple_copy.py
+@@ -28,8 +28,19 @@
+ def _deepcopy_atomic(x):
+ return x
+
+-for x in (type(None), int, long, float,
+- bool, str, unicode, type):
++try:
++ _string_types = (str, unicode)
++# There's no unicode in python3
++except NameError:
++ _string_types = (str, )
++
++try:
++ _integer_types = (int, long)
++# There's no long in python3
++except NameError:
++ _integer_types = (int, )
++
++for x in (type(None), float, bool, type) + _integer_types + _string_types:
+ d[x] = _deepcopy_atomic
+
+ def _deepcopy_list(x):
+diff --git a/tools/gyp/PRESUBMIT.py b/PRESUBMIT.py
+index 4bc1b8c..5ee669b 100644
+--- a/tools/gyp/PRESUBMIT.py
++++ b/tools/gyp/PRESUBMIT.py
+@@ -76,8 +76,7 @@
+ def _LicenseHeader(input_api):
+ # Accept any year number from 2009 to the current year.
+ current_year = int(input_api.time.strftime('%Y'))
+- allowed_years = (str(s) for s in reversed(xrange(2009, current_year + 1)))
+-
++ allowed_years = (str(s) for s in reversed(range(2009, current_year + 1)))
+ years_re = '(' + '|'.join(allowed_years) + ')'
+
+ # The (c) is deprecated, but tolerate it until it's removed from all files.
+diff --git a/tools/gyp/README.md b/README.md
+index c0d73ac..b4766c9 100644
+--- a/tools/gyp/README.md
++++ b/tools/gyp/README.md
+@@ -1,4 +1,5 @@
+ GYP can Generate Your Projects.
+ ===================================
+
+-Documents are available at [gyp.gsrc.io](https://gyp.gsrc.io), or you can check out ```md-pages``` branch to read those documents offline.
++Documents are available at [gyp.gsrc.io](https://gyp.gsrc.io), or you can
++check out ```md-pages``` branch to read those documents offline.
+diff --git a/tools/gyp/buildbot/buildbot_run.py b/buildbot/buildbot_run.py
+index 9a2b71f..8941652 100755
+--- a/tools/gyp/buildbot/buildbot_run.py
++++ b/tools/gyp/buildbot/buildbot_run.py
+@@ -5,6 +5,8 @@
+
+ """Argument-less script to select what to run on the buildbots."""
+
++from __future__ import print_function
++
+ import os
+ import shutil
+ import subprocess
+@@ -24,14 +26,14 @@
+ with open(os.devnull) as devnull_fd:
+ retcode = subprocess.call(stdin=devnull_fd, *args, **kwargs)
+ if retcode != 0:
+- print '@@@STEP_EXCEPTION@@@'
++ print('@@@STEP_EXCEPTION@@@')
+ sys.exit(1)
+
+
+ def PrepareCmake():
+ """Build CMake 2.8.8 since the version in Precise is 2.8.7."""
+ if os.environ['BUILDBOT_CLOBBER'] == '1':
+- print '@@@BUILD_STEP Clobber CMake checkout@@@'
++ print('@@@BUILD_STEP Clobber CMake checkout@@@')
+ shutil.rmtree(CMAKE_DIR)
+
+ # We always build CMake 2.8.8, so no need to do anything
+@@ -39,10 +41,10 @@
+ if os.path.isdir(CMAKE_DIR):
+ return
+
+- print '@@@BUILD_STEP Initialize CMake checkout@@@'
++ print('@@@BUILD_STEP Initialize CMake checkout@@@')
+ os.mkdir(CMAKE_DIR)
+
+- print '@@@BUILD_STEP Sync CMake@@@'
++ print('@@@BUILD_STEP Sync CMake@@@')
+ CallSubProcess(
+ ['git', 'clone',
+ '--depth', '1',
+@@ -53,7 +55,7 @@
+ CMAKE_DIR],
+ cwd=CMAKE_DIR)
+
+- print '@@@BUILD_STEP Build CMake@@@'
++ print('@@@BUILD_STEP Build CMake@@@')
+ CallSubProcess(
+ ['/bin/bash', 'bootstrap', '--prefix=%s' % CMAKE_DIR],
+ cwd=CMAKE_DIR)
+@@ -74,7 +76,7 @@
+ if not format:
+ format = title
+
+- print '@@@BUILD_STEP ' + title + '@@@'
++ print('@@@BUILD_STEP ' + title + '@@@')
+ sys.stdout.flush()
+ env = os.environ.copy()
+ if msvs_version:
+@@ -89,17 +91,17 @@
+ retcode = subprocess.call(command, cwd=ROOT_DIR, env=env, shell=True)
+ if retcode:
+ # Emit failure tag, and keep going.
+- print '@@@STEP_FAILURE@@@'
++ print('@@@STEP_FAILURE@@@')
+ return 1
+ return 0
+
+
+ def GypBuild():
+ # Dump out/ directory.
+- print '@@@BUILD_STEP cleanup@@@'
+- print 'Removing %s...' % OUT_DIR
++ print('@@@BUILD_STEP cleanup@@@')
++ print('Removing %s...' % OUT_DIR)
+ shutil.rmtree(OUT_DIR, ignore_errors=True)
+- print 'Done.'
++ print('Done.')
+
+ retcode = 0
+ if sys.platform.startswith('linux'):
+@@ -128,7 +130,7 @@
+ # after the build proper that could be used for cumulative failures),
+ # use that instead of this. This isolates the final return value so
+ # that it isn't misattributed to the last stage.
+- print '@@@BUILD_STEP failures@@@'
++ print('@@@BUILD_STEP failures@@@')
+ sys.exit(retcode)
+
+
+diff --git a/tools/gyp/pylib/gyp/MSVSSettings.py b/pylib/gyp/MSVSSettings.py
+index 8ae1918..1d2e25a 100644
+--- a/tools/gyp/pylib/gyp/MSVSSettings.py
++++ b/tools/gyp/pylib/gyp/MSVSSettings.py
+@@ -14,9 +14,17 @@
+ MSBuild install directory, e.g. c:\Program Files (x86)\MSBuild
+ """
+
++from __future__ import print_function
++
+ import sys
+ import re
+
++try:
++ # basestring was removed in python3.
++ basestring
++except NameError:
++ basestring = str
++
+ # Dictionaries of settings validators. The key is the tool name, the value is
+ # a dictionary mapping setting names to validation functions.
+ _msvs_validators = {}
+@@ -400,7 +408,7 @@
+
+ if unrecognized:
+ # We don't know this setting. Give a warning.
+- print >> stderr, error_msg
++ print(error_msg, file=stderr)
+
+
+ def FixVCMacroSlashes(s):
+@@ -433,7 +441,7 @@
+ '$(PlatformName)': '$(Platform)',
+ '$(SafeInputName)': '%(Filename)',
+ }
+- for old, new in replace_map.iteritems():
++ for old, new in replace_map.items():
+ s = s.replace(old, new)
+ s = FixVCMacroSlashes(s)
+ return s
+@@ -453,17 +461,18 @@
+ dictionaries of settings and their values.
+ """
+ msbuild_settings = {}
+- for msvs_tool_name, msvs_tool_settings in msvs_settings.iteritems():
++ for msvs_tool_name, msvs_tool_settings in msvs_settings.items():
+ if msvs_tool_name in _msvs_to_msbuild_converters:
+ msvs_tool = _msvs_to_msbuild_converters[msvs_tool_name]
+- for msvs_setting, msvs_value in msvs_tool_settings.iteritems():
++ for msvs_setting, msvs_value in msvs_tool_settings.items():
+ if msvs_setting in msvs_tool:
+ # Invoke the translation function.
+ try:
+ msvs_tool[msvs_setting](msvs_value, msbuild_settings)
+- except ValueError, e:
+- print >> stderr, ('Warning: while converting %s/%s to MSBuild, '
+- '%s' % (msvs_tool_name, msvs_setting, e))
++ except ValueError as e:
++ print(('Warning: while converting %s/%s to MSBuild, '
++ '%s' % (msvs_tool_name, msvs_setting, e)),
++ file=stderr)
+ else:
+ _ValidateExclusionSetting(msvs_setting,
+ msvs_tool,
+@@ -472,8 +481,8 @@
+ (msvs_tool_name, msvs_setting)),
+ stderr)
+ else:
+- print >> stderr, ('Warning: unrecognized tool %s while converting to '
+- 'MSBuild.' % msvs_tool_name)
++ print(('Warning: unrecognized tool %s while converting to '
++ 'MSBuild.' % msvs_tool_name), file=stderr)
+ return msbuild_settings
+
+
+@@ -513,13 +522,13 @@
+ for tool_name in settings:
+ if tool_name in validators:
+ tool_validators = validators[tool_name]
+- for setting, value in settings[tool_name].iteritems():
++ for setting, value in settings[tool_name].items():
+ if setting in tool_validators:
+ try:
+ tool_validators[setting](value)
+- except ValueError, e:
+- print >> stderr, ('Warning: for %s/%s, %s' %
+- (tool_name, setting, e))
++ except ValueError as e:
++ print(('Warning: for %s/%s, %s' %
++ (tool_name, setting, e)), file=stderr)
+ else:
+ _ValidateExclusionSetting(setting,
+ tool_validators,
+@@ -528,7 +537,7 @@
+ stderr)
+
+ else:
+- print >> stderr, ('Warning: unrecognized tool %s' % tool_name)
++ print(('Warning: unrecognized tool %s' % tool_name), file=stderr)
+
+
+ # MSVS and MBuild names of the tools.
+diff --git a/tools/gyp/pylib/gyp/MSVSSettings_test.py b/pylib/gyp/MSVSSettings_test.py
+index bf6ea6b..73ed25e 100755
+--- a/tools/gyp/pylib/gyp/MSVSSettings_test.py
++++ b/tools/gyp/pylib/gyp/MSVSSettings_test.py
+@@ -6,7 +6,10 @@
+
+ """Unit tests for the MSVSSettings.py file."""
+
+-import StringIO
++try:
++ from StringIO import StringIO
++except ImportError:
++ from io import StringIO
+ import unittest
+ import gyp.MSVSSettings as MSVSSettings
+
+@@ -14,7 +17,7 @@
+ class TestSequenceFunctions(unittest.TestCase):
+
+ def setUp(self):
+- self.stderr = StringIO.StringIO()
++ self.stderr = StringIO()
+
+ def _ExpectedWarnings(self, expected):
+ """Compares recorded lines to expected warnings."""
+diff --git a/tools/gyp/pylib/gyp/MSVSUserFile.py b/pylib/gyp/MSVSUserFile.py
+index 6c07e9a..2264d64 100644
+--- a/tools/gyp/pylib/gyp/MSVSUserFile.py
++++ b/tools/gyp/pylib/gyp/MSVSUserFile.py
+@@ -91,7 +91,7 @@
+
+ if environment and isinstance(environment, dict):
+ env_list = ['%s="%s"' % (key, val)
+- for (key,val) in environment.iteritems()]
++ for (key,val) in environment.items()]
+ environment = ' '.join(env_list)
+ else:
+ environment = ''
+@@ -135,7 +135,7 @@
+ def WriteIfChanged(self):
+ """Writes the user file."""
+ configs = ['Configurations']
+- for config, spec in sorted(self.configurations.iteritems()):
++ for config, spec in sorted(self.configurations.items()):
+ configs.append(spec)
+
+ content = ['VisualStudioUserFile',
+diff --git a/tools/gyp/pylib/gyp/MSVSUtil.py b/pylib/gyp/MSVSUtil.py
+index 96dea6c..f24530b 100644
+--- a/tools/gyp/pylib/gyp/MSVSUtil.py
++++ b/tools/gyp/pylib/gyp/MSVSUtil.py
+@@ -236,7 +236,7 @@
+
+ # Set up the shim to output its PDB to the same location as the final linker
+ # target.
+- for config_name, config in shim_dict.get('configurations').iteritems():
++ for config_name, config in shim_dict.get('configurations').items():
+ pdb_path = _GetPdbPath(target_dict, config_name, vars)
+
+ # A few keys that we don't want to propagate.
+diff --git a/tools/gyp/pylib/gyp/MSVSVersion.py b/pylib/gyp/MSVSVersion.py
+index 44b958d..5f316b6 100644
+--- a/tools/gyp/pylib/gyp/MSVSVersion.py
++++ b/tools/gyp/pylib/gyp/MSVSVersion.py
+@@ -189,7 +189,7 @@
+ text = None
+ try:
+ text = _RegistryQueryBase('Sysnative', key, value)
+- except OSError, e:
++ except OSError as e:
+ if e.errno == errno.ENOENT:
+ text = _RegistryQueryBase('System32', key, value)
+ else:
+@@ -207,12 +207,15 @@
+ contents of the registry key's value, or None on failure. Throws
+ ImportError if _winreg is unavailable.
+ """
+- import _winreg
++ try:
++ import _winreg as winreg
++ except ImportError:
++ import winreg
+ try:
+ root, subkey = key.split('\\', 1)
+ assert root == 'HKLM' # Only need HKLM for now.
+- with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, subkey) as hkey:
+- return _winreg.QueryValueEx(hkey, value)[0]
++ with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, subkey) as hkey:
++ return winreg.QueryValueEx(hkey, value)[0]
+ except WindowsError:
+ return None
+
+diff --git a/tools/gyp/pylib/gyp/__init__.py b/pylib/gyp/__init__.py
+index 668f38b..e038151 100755
+--- a/tools/gyp/pylib/gyp/__init__.py
++++ b/tools/gyp/pylib/gyp/__init__.py
+@@ -4,6 +4,8 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++from __future__ import print_function
++
+ import copy
+ import gyp.input
+ import optparse
+@@ -14,6 +16,12 @@
+ import traceback
+ from gyp.common import GypError
+
++try:
++ # basestring was removed in python3.
++ basestring
++except NameError:
++ basestring = str
++
+ # Default debug modes for GYP
+ debug = {}
+
+@@ -22,7 +30,6 @@
+ DEBUG_VARIABLES = 'variables'
+ DEBUG_INCLUDES = 'includes'
+
+-
+ def DebugOutput(mode, message, *args):
+ if 'all' in gyp.debug or mode in gyp.debug:
+ ctx = ('unknown', 0, 'unknown')
+@@ -34,8 +41,8 @@
+ pass
+ if args:
+ message %= args
+- print '%s:%s:%d:%s %s' % (mode.upper(), os.path.basename(ctx[0]),
+- ctx[1], ctx[2], message)
++ print('%s:%s:%d:%s %s' % (mode.upper(), os.path.basename(ctx[0]),
++ ctx[1], ctx[2], message))
+
+ def FindBuildFiles():
+ extension = '.gyp'
+@@ -207,7 +214,7 @@
+ # We always want to ignore the environment when regenerating, to avoid
+ # duplicate or changed flags in the environment at the time of regeneration.
+ flags = ['--ignore-environment']
+- for name, metadata in options._regeneration_metadata.iteritems():
++ for name, metadata in options._regeneration_metadata.items():
+ opt = metadata['opt']
+ value = getattr(options, name)
+ value_predicate = metadata['type'] == 'path' and FixPath or Noop
+@@ -226,12 +233,13 @@
+ (action == 'store_false' and not value)):
+ flags.append(opt)
+ elif options.use_environment and env_name:
+- print >>sys.stderr, ('Warning: environment regeneration unimplemented '
++ print(('Warning: environment regeneration unimplemented '
+ 'for %s flag %r env_name %r' % (action, opt,
+- env_name))
++ env_name)),
++ file=sys.stderr)
+ else:
+- print >>sys.stderr, ('Warning: regeneration unimplemented for action %r '
+- 'flag %r' % (action, opt))
++ print(('Warning: regeneration unimplemented for action %r '
++ 'flag %r' % (action, opt)), file=sys.stderr)
+
+ return flags
+
+@@ -431,12 +439,11 @@
+ for build_file in build_files:
+ build_file_dir = os.path.abspath(os.path.dirname(build_file))
+ build_file_dir_components = build_file_dir.split(os.path.sep)
+- components_len = len(build_file_dir_components)
+- for index in xrange(components_len - 1, -1, -1):
+- if build_file_dir_components[index] == 'src':
++ for component in reversed(build_file_dir_components):
++ if component == 'src':
+ options.depth = os.path.sep.join(build_file_dir_components)
+ break
+- del build_file_dir_components[index]
++ del build_file_dir_components[-1]
+
+ # If the inner loop found something, break without advancing to another
+ # build file.
+@@ -475,7 +482,7 @@
+ if home_dot_gyp != None:
+ default_include = os.path.join(home_dot_gyp, 'include.gypi')
+ if os.path.exists(default_include):
+- print 'Using overrides found in ' + default_include
++ print('Using overrides found in ' + default_include)
+ includes.append(default_include)
+
+ # Command-line --include files come after the default include.
+@@ -490,7 +497,7 @@
+ if options.generator_flags:
+ gen_flags += options.generator_flags
+ generator_flags = NameValueListToDict(gen_flags)
+- if DEBUG_GENERAL in gyp.debug.keys():
++ if DEBUG_GENERAL in gyp.debug:
+ DebugOutput(DEBUG_GENERAL, "generator_flags: %s", generator_flags)
+
+ # Generate all requested formats (use a set in case we got one format request
+@@ -523,7 +530,7 @@
+ generator.GenerateOutput(flat_list, targets, data, params)
+
+ if options.configs:
+- valid_configs = targets[flat_list[0]]['configurations'].keys()
++ valid_configs = targets[flat_list[0]]['configurations']
+ for conf in options.configs:
+ if conf not in valid_configs:
+ raise GypError('Invalid config specified via --build: %s' % conf)
+@@ -536,7 +543,7 @@
+ def main(args):
+ try:
+ return gyp_main(args)
+- except GypError, e:
++ except GypError as e:
+ sys.stderr.write("gyp: %s\n" % e)
+ return 1
+
+diff --git a/tools/gyp/pylib/gyp/common.py b/pylib/gyp/common.py
+index 1b245ec..1823de8 100644
+--- a/tools/gyp/pylib/gyp/common.py
++++ b/tools/gyp/pylib/gyp/common.py
+@@ -345,7 +345,7 @@
+ prefix=os.path.split(filename)[1] + '.gyp.',
+ dir=os.path.split(filename)[0])
+ try:
+- self.tmp_file = os.fdopen(tmp_fd, 'wb')
++ self.tmp_file = os.fdopen(tmp_fd, 'w')
+ except Exception:
+ # Don't leave turds behind.
+ os.unlink(self.tmp_path)
+@@ -363,7 +363,7 @@
+ same = False
+ try:
+ same = filecmp.cmp(self.tmp_path, filename, False)
+- except OSError, e:
++ except OSError as e:
+ if e.errno != errno.ENOENT:
+ raise
+
+@@ -382,9 +382,9 @@
+ #
+ # No way to get the umask without setting a new one? Set a safe one
+ # and then set it back to the old value.
+- umask = os.umask(077)
++ umask = os.umask(0o77)
+ os.umask(umask)
+- os.chmod(self.tmp_path, 0666 & ~umask)
++ os.chmod(self.tmp_path, 0o666 & ~umask)
+ if sys.platform == 'win32' and os.path.exists(filename):
+ # NOTE: on windows (but not cygwin) rename will not replace an
+ # existing file, so it must be preceded with a remove. Sadly there
+@@ -471,7 +471,7 @@
+ ''.join([source[0], header] + source[1:]))
+
+ # Make file executable.
+- os.chmod(tool_path, 0755)
++ os.chmod(tool_path, 0o755)
+
+
+ # From Alex Martelli,
+diff --git a/tools/gyp/pylib/gyp/common_test.py b/pylib/gyp/common_test.py
+index ad6f9a1..0b8ada3 100755
+--- a/tools/gyp/pylib/gyp/common_test.py
++++ b/tools/gyp/pylib/gyp/common_test.py
+@@ -63,6 +63,7 @@
+ self.assertFlavor('solaris', 'sunos' , {});
+ self.assertFlavor('linux' , 'linux2' , {});
+ self.assertFlavor('linux' , 'linux3' , {});
++ self.assertFlavor('linux' , 'linux' , {});
+
+ def test_param(self):
+ self.assertFlavor('foobar', 'linux2' , {'flavor': 'foobar'})
+diff --git a/tools/gyp/pylib/gyp/easy_xml.py b/pylib/gyp/easy_xml.py
+index 2522efb..15c6651 100644
+--- a/tools/gyp/pylib/gyp/easy_xml.py
++++ b/tools/gyp/pylib/gyp/easy_xml.py
+@@ -6,6 +6,11 @@
+ import os
+ import locale
+
++try:
++ # reduce moved to functools in python3.
++ reduce
++except NameError:
++ from functools import reduce
+
+ def XmlToString(content, encoding='utf-8', pretty=False):
+ """ Writes the XML content to disk, touching the file only if it has changed.
+@@ -80,7 +85,7 @@
+ # Optionally in second position is a dictionary of the attributes.
+ rest = specification[1:]
+ if rest and isinstance(rest[0], dict):
+- for at, val in sorted(rest[0].iteritems()):
++ for at, val in sorted(rest[0].items()):
+ xml_parts.append(' %s="%s"' % (at, _XmlEscape(val, attr=True)))
+ rest = rest[1:]
+ if rest:
+diff --git a/tools/gyp/pylib/gyp/easy_xml_test.py b/pylib/gyp/easy_xml_test.py
+index df64354..a1fdb18 100755
+--- a/tools/gyp/pylib/gyp/easy_xml_test.py
++++ b/tools/gyp/pylib/gyp/easy_xml_test.py
+@@ -8,13 +8,16 @@
+
+ import gyp.easy_xml as easy_xml
+ import unittest
+-import StringIO
++try:
++ from StringIO import StringIO
++except ImportError:
++ from io import StringIO
+
+
+ class TestSequenceFunctions(unittest.TestCase):
+
+ def setUp(self):
+- self.stderr = StringIO.StringIO()
++ self.stderr = StringIO()
+
+ def test_EasyXml_simple(self):
+ self.assertEqual(
+diff --git a/tools/gyp/pylib/gyp/flock_tool.py b/pylib/gyp/flock_tool.py
+index b38d866..81fb79d 100755
+--- a/tools/gyp/pylib/gyp/flock_tool.py
++++ b/tools/gyp/pylib/gyp/flock_tool.py
+@@ -39,7 +39,7 @@
+ # where fcntl.flock(fd, LOCK_EX) always fails
+ # with EBADF, that's why we use this F_SETLK
+ # hack instead.
+- fd = os.open(lockfile, os.O_WRONLY|os.O_NOCTTY|os.O_CREAT, 0666)
++ fd = os.open(lockfile, os.O_WRONLY|os.O_NOCTTY|os.O_CREAT, 0o666)
+ if sys.platform.startswith('aix'):
+ # Python on AIX is compiled with LARGEFILE support, which changes the
+ # struct size.
+diff --git a/tools/gyp/pylib/gyp/generator/analyzer.py b/pylib/gyp/generator/analyzer.py
+index 921c1a6..b3484dc 100644
+--- a/tools/gyp/pylib/gyp/generator/analyzer.py
++++ b/tools/gyp/pylib/gyp/generator/analyzer.py
+@@ -62,6 +62,8 @@
+ then the "all" target includes "b1" and "b2".
+ """
+
++from __future__ import print_function
++
+ import gyp.common
+ import gyp.ninja_syntax as ninja_syntax
+ import json
+@@ -155,7 +157,7 @@
+ continue
+ result.append(base_path + source)
+ if debug:
+- print 'AddSource', org_source, result[len(result) - 1]
++ print('AddSource', org_source, result[len(result) - 1])
+
+
+ def _ExtractSourcesFromAction(action, base_path, base_path_components,
+@@ -185,7 +187,7 @@
+ base_path += '/'
+
+ if debug:
+- print 'ExtractSources', target, base_path
++ print('ExtractSources', target, base_path)
+
+ results = []
+ if 'sources' in target_dict:
+@@ -278,7 +280,7 @@
+ the root of the source tree."""
+ if _ToLocalPath(toplevel_dir, _ToGypPath(build_file)) in files:
+ if debug:
+- print 'gyp file modified', build_file
++ print('gyp file modified', build_file)
+ return True
+
+ # First element of included_files is the file itself.
+@@ -291,8 +293,8 @@
+ _ToGypPath(gyp.common.UnrelativePath(include_file, build_file))
+ if _ToLocalPath(toplevel_dir, rel_include_file) in files:
+ if debug:
+- print 'included gyp file modified, gyp_file=', build_file, \
+- 'included file=', rel_include_file
++ print('included gyp file modified, gyp_file=', build_file, \
++ 'included file=', rel_include_file)
+ return True
+ return False
+
+@@ -373,7 +375,7 @@
+ # If a build file (or any of its included files) is modified we assume all
+ # targets in the file are modified.
+ if build_file_in_files[build_file]:
+- print 'matching target from modified build file', target_name
++ print('matching target from modified build file', target_name)
+ target.match_status = MATCH_STATUS_MATCHES
+ matching_targets.append(target)
+ else:
+@@ -381,7 +383,7 @@
+ toplevel_dir)
+ for source in sources:
+ if _ToGypPath(os.path.normpath(source)) in files:
+- print 'target', target_name, 'matches', source
++ print('target', target_name, 'matches', source)
+ target.match_status = MATCH_STATUS_MATCHES
+ matching_targets.append(target)
+ break
+@@ -433,7 +435,7 @@
+ for dep in target.deps:
+ if _DoesTargetDependOnMatchingTargets(dep):
+ target.match_status = MATCH_STATUS_MATCHES_BY_DEPENDENCY
+- print '\t', target.name, 'matches by dep', dep.name
++ print('\t', target.name, 'matches by dep', dep.name)
+ return True
+ target.match_status = MATCH_STATUS_DOESNT_MATCH
+ return False
+@@ -445,7 +447,7 @@
+ supplied as input to analyzer.
+ possible_targets: targets to search from."""
+ found = []
+- print 'Targets that matched by dependency:'
++ print('Targets that matched by dependency:')
+ for target in possible_targets:
+ if _DoesTargetDependOnMatchingTargets(target):
+ found.append(target)
+@@ -484,12 +486,13 @@
+ (add_if_no_ancestor or target.requires_build)) or
+ (target.is_static_library and add_if_no_ancestor and
+ not target.is_or_has_linked_ancestor)):
+- print '\t\tadding to compile targets', target.name, 'executable', \
+- target.is_executable, 'added_to_compile_targets', \
+- target.added_to_compile_targets, 'add_if_no_ancestor', \
+- add_if_no_ancestor, 'requires_build', target.requires_build, \
+- 'is_static_library', target.is_static_library, \
++ print('\t\tadding to compile targets', target.name, 'executable',
++ target.is_executable, 'added_to_compile_targets',
++ target.added_to_compile_targets, 'add_if_no_ancestor',
++ add_if_no_ancestor, 'requires_build', target.requires_build,
++ 'is_static_library', target.is_static_library,
+ 'is_or_has_linked_ancestor', target.is_or_has_linked_ancestor
++ )
+ result.add(target)
+ target.added_to_compile_targets = True
+
+@@ -500,7 +503,7 @@
+ supplied_targets: set of targets supplied to analyzer to search from."""
+ result = set()
+ for target in matching_targets:
+- print 'finding compile targets for match', target.name
++ print('finding compile targets for match', target.name)
+ _AddCompileTargets(target, supplied_targets, True, result)
+ return result
+
+@@ -508,46 +511,46 @@
+ def _WriteOutput(params, **values):
+ """Writes the output, either to stdout or a file is specified."""
+ if 'error' in values:
+- print 'Error:', values['error']
++ print('Error:', values['error'])
+ if 'status' in values:
+- print values['status']
++ print(values['status'])
+ if 'targets' in values:
+ values['targets'].sort()
+- print 'Supplied targets that depend on changed files:'
++ print('Supplied targets that depend on changed files:')
+ for target in values['targets']:
+- print '\t', target
++ print('\t', target)
+ if 'invalid_targets' in values:
+ values['invalid_targets'].sort()
+- print 'The following targets were not found:'
++ print('The following targets were not found:')
+ for target in values['invalid_targets']:
+- print '\t', target
++ print('\t', target)
+ if 'build_targets' in values:
+ values['build_targets'].sort()
+- print 'Targets that require a build:'
++ print('Targets that require a build:')
+ for target in values['build_targets']:
+- print '\t', target
++ print('\t', target)
+ if 'compile_targets' in values:
+ values['compile_targets'].sort()
+- print 'Targets that need to be built:'
++ print('Targets that need to be built:')
+ for target in values['compile_targets']:
+- print '\t', target
++ print('\t', target)
+ if 'test_targets' in values:
+ values['test_targets'].sort()
+- print 'Test targets:'
++ print('Test targets:')
+ for target in values['test_targets']:
+- print '\t', target
++ print('\t', target)
+
+ output_path = params.get('generator_flags', {}).get(
+ 'analyzer_output_path', None)
+ if not output_path:
+- print json.dumps(values)
++ print(json.dumps(values))
+ return
+ try:
+ f = open(output_path, 'w')
+ f.write(json.dumps(values) + '\n')
+ f.close()
+ except IOError as e:
+- print 'Error writing to output file', output_path, str(e)
++ print('Error writing to output file', output_path, str(e))
+
+
+ def _WasGypIncludeFileModified(params, files):
+@@ -556,7 +559,7 @@
+ if params['options'].includes:
+ for include in params['options'].includes:
+ if _ToGypPath(os.path.normpath(include)) in files:
+- print 'Include file modified, assuming all changed', include
++ print('Include file modified, assuming all changed', include)
+ return True
+ return False
+
+@@ -638,13 +641,13 @@
+ set(self._root_targets))]
+ else:
+ test_targets = [x for x in test_targets_no_all]
+- print 'supplied test_targets'
++ print('supplied test_targets')
+ for target_name in self._test_target_names:
+- print '\t', target_name
+- print 'found test_targets'
++ print('\t', target_name)
++ print('found test_targets')
+ for target in test_targets:
+- print '\t', target.name
+- print 'searching for matching test targets'
++ print('\t', target.name)
++ print('searching for matching test targets')
+ matching_test_targets = _GetTargetsDependingOnMatchingTargets(test_targets)
+ matching_test_targets_contains_all = (test_target_names_contains_all and
+ set(matching_test_targets) &
+@@ -654,14 +657,14 @@
+ # 'all' is subsequentely added to the matching names below.
+ matching_test_targets = [x for x in (set(matching_test_targets) &
+ set(test_targets_no_all))]
+- print 'matched test_targets'
++ print('matched test_targets')
+ for target in matching_test_targets:
+- print '\t', target.name
++ print('\t', target.name)
+ matching_target_names = [gyp.common.ParseQualifiedTarget(target.name)[1]
+ for target in matching_test_targets]
+ if matching_test_targets_contains_all:
+ matching_target_names.append('all')
+- print '\tall'
++ print('\tall')
+ return matching_target_names
+
+ def find_matching_compile_target_names(self):
+@@ -669,7 +672,7 @@
+ assert self.is_build_impacted();
+ # Compile targets are found by searching up from changed targets.
+ # Reset the visited status for _GetBuildTargets.
+- for target in self._name_to_target.itervalues():
++ for target in self._name_to_target.values():
+ target.visited = False
+
+ supplied_targets = _LookupTargets(self._supplied_target_names_no_all(),
+@@ -677,10 +680,10 @@
+ if 'all' in self._supplied_target_names():
+ supplied_targets = [x for x in (set(supplied_targets) |
+ set(self._root_targets))]
+- print 'Supplied test_targets & compile_targets'
++ print('Supplied test_targets & compile_targets')
+ for target in supplied_targets:
+- print '\t', target.name
+- print 'Finding compile targets'
++ print('\t', target.name)
++ print('Finding compile targets')
+ compile_targets = _GetCompileTargets(self._changed_targets,
+ supplied_targets)
+ return [gyp.common.ParseQualifiedTarget(target.name)[1]
+@@ -699,7 +702,7 @@
+
+ toplevel_dir = _ToGypPath(os.path.abspath(params['options'].toplevel_dir))
+ if debug:
+- print 'toplevel_dir', toplevel_dir
++ print('toplevel_dir', toplevel_dir)
+
+ if _WasGypIncludeFileModified(params, config.files):
+ result_dict = { 'status': all_changed_string,
+diff --git a/tools/gyp/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py
+index a2b9629..4a2041c 100644
+--- a/tools/gyp/pylib/gyp/generator/cmake.py
++++ b/tools/gyp/pylib/gyp/generator/cmake.py
+@@ -28,6 +28,8 @@
+ CMakeLists.txt file.
+ """
+
++from __future__ import print_function
++
+ import multiprocessing
+ import os
+ import signal
+@@ -36,6 +38,12 @@
+ import gyp.common
+ import gyp.xcode_emulation
+
++try:
++ # maketrans moved to str in python3.
++ _maketrans = string.maketrans
++except NameError:
++ _maketrans = str.maketrans
++
+ generator_default_variables = {
+ 'EXECUTABLE_PREFIX': '',
+ 'EXECUTABLE_SUFFIX': '',
+@@ -238,7 +246,7 @@
+ Invalid for make: ':'
+ Invalid for unknown reasons but cause failures: '.'
+ """
+- return a.translate(string.maketrans(' /():."', '_______'))
++ return a.translate(_maketrans(' /():."', '_______'))
+
+
+ def WriteActions(target_name, actions, extra_sources, extra_deps,
+@@ -644,8 +652,8 @@
+
+ cmake_target_type = cmake_target_type_from_gyp_target_type.get(target_type)
+ if cmake_target_type is None:
+- print ('Target %s has unknown target type %s, skipping.' %
+- ( target_name, target_type ) )
++ print('Target %s has unknown target type %s, skipping.' %
++ ( target_name, target_type ))
+ return
+
+ SetVariable(output, 'TARGET', target_name)
+@@ -868,8 +876,8 @@
+ default_product_ext = generator_default_variables['SHARED_LIB_SUFFIX']
+
+ elif target_type != 'executable':
+- print ('ERROR: What output file should be generated?',
+- 'type', target_type, 'target', target_name)
++ print(('ERROR: What output file should be generated?',
++ 'type', target_type, 'target', target_name))
+
+ product_prefix = spec.get('product_prefix', default_product_prefix)
+ product_name = spec.get('product_name', default_product_name)
+@@ -1207,11 +1215,11 @@
+ output_dir,
+ config_name))
+ arguments = ['cmake', '-G', 'Ninja']
+- print 'Generating [%s]: %s' % (config_name, arguments)
++ print('Generating [%s]: %s' % (config_name, arguments))
+ subprocess.check_call(arguments, cwd=build_dir)
+
+ arguments = ['ninja', '-C', build_dir]
+- print 'Building [%s]: %s' % (config_name, arguments)
++ print('Building [%s]: %s' % (config_name, arguments))
+ subprocess.check_call(arguments)
+
+
+@@ -1230,7 +1238,7 @@
+ GenerateOutputForConfig(target_list, target_dicts, data,
+ params, user_config)
+ else:
+- config_names = target_dicts[target_list[0]]['configurations'].keys()
++ config_names = target_dicts[target_list[0]]['configurations']
+ if params['parallel']:
+ try:
+ pool = multiprocessing.Pool(len(config_names))
+@@ -1239,7 +1247,7 @@
+ arglists.append((target_list, target_dicts, data,
+ params, config_name))
+ pool.map(CallGenerateOutputForConfig, arglists)
+- except KeyboardInterrupt, e:
++ except KeyboardInterrupt as e:
+ pool.terminate()
+ raise e
+ else:
+diff --git a/tools/gyp/pylib/gyp/generator/dump_dependency_json.py b/pylib/gyp/generator/dump_dependency_json.py
+index 160eafe..2bf3f39 100644
+--- a/tools/gyp/pylib/gyp/generator/dump_dependency_json.py
++++ b/tools/gyp/pylib/gyp/generator/dump_dependency_json.py
+@@ -2,6 +2,8 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++from __future__ import print_function
++
+ import collections
+ import os
+ import gyp
+@@ -96,4 +98,4 @@
+ f = open(filename, 'w')
+ json.dump(edges, f)
+ f.close()
+- print 'Wrote json to %s.' % filename
++ print('Wrote json to %s.' % filename)
+diff --git a/tools/gyp/pylib/gyp/generator/eclipse.py b/pylib/gyp/generator/eclipse.py
+index 3544347..d039f03 100644
+--- a/tools/gyp/pylib/gyp/generator/eclipse.py
++++ b/tools/gyp/pylib/gyp/generator/eclipse.py
+@@ -141,7 +141,7 @@
+ compiler_includes_list.append(include_dir)
+
+ # Find standard gyp include dirs.
+- if config.has_key('include_dirs'):
++ if 'include_dirs' in config:
+ include_dirs = config['include_dirs']
+ for shared_intermediate_dir in shared_intermediate_dirs:
+ for include_dir in include_dirs:
+@@ -272,7 +272,7 @@
+ out.write(' <language name="holder for library settings"></language>\n')
+ for lang in eclipse_langs:
+ out.write(' <language name="%s">\n' % lang)
+- for key in sorted(defines.iterkeys()):
++ for key in sorted(defines.keys()):
+ out.write(' <macro><name>%s</name><value>%s</value></macro>\n' %
+ (escape(key), escape(defines[key])))
+ out.write(' </language>\n')
+@@ -418,7 +418,7 @@
+ GenerateOutputForConfig(target_list, target_dicts, data, params,
+ user_config)
+ else:
+- config_names = target_dicts[target_list[0]]['configurations'].keys()
++ config_names = target_dicts[target_list[0]]['configurations']
+ for config_name in config_names:
+ GenerateOutputForConfig(target_list, target_dicts, data, params,
+ config_name)
+diff --git a/tools/gyp/pylib/gyp/generator/gypd.py b/pylib/gyp/generator/gypd.py
+index 3efdb99..78eeaa6 100644
+--- a/tools/gyp/pylib/gyp/generator/gypd.py
++++ b/tools/gyp/pylib/gyp/generator/gypd.py
+@@ -88,7 +88,7 @@
+ if not output_file in output_files:
+ output_files[output_file] = input_file
+
+- for output_file, input_file in output_files.iteritems():
++ for output_file, input_file in output_files.items():
+ output = open(output_file, 'w')
+ pprint.pprint(data[input_file], output)
+ output.close()
+diff --git a/tools/gyp/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py
+index fb4f918..2057e3a 100644
+--- a/tools/gyp/pylib/gyp/generator/make.py
++++ b/tools/gyp/pylib/gyp/generator/make.py
+@@ -21,6 +21,8 @@
+ # toplevel Makefile. It may make sense to generate some .mk files on
+ # the side to keep the the files readable.
+
++from __future__ import print_function
++
+ import os
+ import re
+ import sys
+@@ -668,7 +670,7 @@
+ basenames.setdefault(basename, []).append(source)
+
+ error = ''
+- for basename, files in basenames.iteritems():
++ for basename, files in basenames.items():
+ if len(files) > 1:
+ error += ' %s: %s\n' % (basename, ' '.join(files))
+
+@@ -816,7 +818,7 @@
+ gyp.xcode_emulation.MacPrefixHeader(
+ self.xcode_settings, lambda p: Sourceify(self.Absolutify(p)),
+ self.Pchify))
+- sources = filter(Compilable, all_sources)
++ sources = [x for x in all_sources if Compilable(x)]
+ if sources:
+ self.WriteLn(SHARED_HEADER_SUFFIX_RULES_COMMENT1)
+ extensions = set([os.path.splitext(s)[1] for s in sources])
+@@ -945,7 +947,7 @@
+ '%s%s'
+ % (name, cd_action, command))
+ self.WriteLn()
+- outputs = map(self.Absolutify, outputs)
++ outputs = [self.Absolutify(o) for o in outputs]
+ # The makefile rules are all relative to the top dir, but the gyp actions
+ # are defined relative to their containing dir. This replaces the obj
+ # variable for the action rule with an absolute version so that the output
+@@ -1035,7 +1037,7 @@
+ outputs = [gyp.xcode_emulation.ExpandEnvVars(o, env) for o in outputs]
+ inputs = [gyp.xcode_emulation.ExpandEnvVars(i, env) for i in inputs]
+
+- outputs = map(self.Absolutify, outputs)
++ outputs = [self.Absolutify(o) for o in outputs]
+ all_outputs += outputs
+ # Only write the 'obj' and 'builddir' rules for the "primary" output
+ # (:1); it's superfluous for the "extra outputs", and this avoids
+@@ -1233,11 +1235,11 @@
+ self.WriteList(cflags_objcc, 'CFLAGS_OBJCC_%s' % configname)
+ includes = config.get('include_dirs')
+ if includes:
+- includes = map(Sourceify, map(self.Absolutify, includes))
++ includes = [Sourceify(self.Absolutify(include)) for include in includes]
+ self.WriteList(includes, 'INCS_%s' % configname, prefix='-I')
+
+ compilable = filter(Compilable, sources)
+- objs = map(self.Objectify, map(self.Absolutify, map(Target, compilable)))
++ objs = [self.Objectify(self.Absolutify(Target(x))) for x in compilable]
+ self.WriteList(objs, 'OBJS')
+
+ for obj in objs:
+@@ -1309,7 +1311,7 @@
+
+ # If there are any object files in our input file list, link them into our
+ # output.
+- extra_link_deps += filter(Linkable, sources)
++ extra_link_deps += [source for source in sources if Linkable(source)]
+
+ self.WriteLn()
+
+@@ -1377,8 +1379,8 @@
+ elif self.type == 'none':
+ target = '%s.stamp' % target
+ elif self.type != 'executable':
+- print ("ERROR: What output file should be generated?",
+- "type", self.type, "target", target)
++ print(("ERROR: What output file should be generated?",
++ "type", self.type, "target", target))
+
+ target_prefix = spec.get('product_prefix', target_prefix)
+ target = spec.get('product_name', target)
+@@ -1542,9 +1544,9 @@
+ # Postbuilds expect to be run in the gyp file's directory, so insert an
+ # implicit postbuild to cd to there.
+ postbuilds.insert(0, gyp.common.EncodePOSIXShellList(['cd', self.path]))
+- for i in xrange(len(postbuilds)):
+- if not postbuilds[i].startswith('$'):
+- postbuilds[i] = EscapeShellArgument(postbuilds[i])
++ for i, postbuild in enumerate(postbuilds):
++ if not postbuild.startswith('$'):
++ postbuilds[i] = EscapeShellArgument(postbuild)
+ self.WriteLn('%s: builddir := $(abs_builddir)' % QuoteSpaces(self.output))
+ self.WriteLn('%s: POSTBUILDS := %s' % (
+ QuoteSpaces(self.output), ' '.join(postbuilds)))
+@@ -1634,7 +1636,7 @@
+ self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all,
+ postbuilds=postbuilds)
+ else:
+- print "WARNING: no output for", self.type, target
++ print("WARNING: no output for", self.type, target)
+
+ # Add an alias for each target (if there are any outputs).
+ # Installable target aliases are created below.
+@@ -1741,7 +1743,7 @@
+ output is just a name to run the rule
+ command: (optional) command name to generate unambiguous labels
+ """
+- outputs = map(QuoteSpaces, outputs)
++ outputs = [QuoteSpaces(o) for o in outputs]
+ inputs = map(QuoteSpaces, inputs)
+
+ if comment:
+@@ -1986,7 +1988,7 @@
+ if options.toplevel_dir and options.toplevel_dir != '.':
+ arguments += '-C', options.toplevel_dir
+ arguments.append('BUILDTYPE=' + config)
+- print 'Building [%s]: %s' % (config, arguments)
++ print('Building [%s]: %s' % (config, arguments))
+ subprocess.check_call(arguments)
+
+
+diff --git a/tools/gyp/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py
+index 8fe9e5a..e8a2b36 100644
+--- a/tools/gyp/pylib/gyp/generator/msvs.py
++++ b/tools/gyp/pylib/gyp/generator/msvs.py
+@@ -2,6 +2,9 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++from __future__ import print_function
++
++import collections
+ import copy
+ import ntpath
+ import os
+@@ -23,16 +26,6 @@
+ from gyp.common import GypError
+ from gyp.common import OrderedSet
+
+-# TODO: Remove once bots are on 2.7, http://crbug.com/241769
+-def _import_OrderedDict():
+- import collections
+- try:
+- return collections.OrderedDict
+- except AttributeError:
+- import gyp.ordered_dict
+- return gyp.ordered_dict.OrderedDict
+-OrderedDict = _import_OrderedDict()
+-
+
+ # Regular expression for validating Visual Studio GUIDs. If the GUID
+ # contains lowercase hex letters, MSVS will be fine. However,
+@@ -202,7 +195,7 @@
+ if not prefix: prefix = []
+ result = []
+ excluded_result = []
+- folders = OrderedDict()
++ folders = collections.OrderedDict()
+ # Gather files into the final result, excluded, or folders.
+ for s in sources:
+ if len(s) == 1:
+@@ -469,7 +462,7 @@
+ 'CommandLine': cmd,
+ })
+ # Add to the properties of primary input for each config.
+- for config_name, c_data in spec['configurations'].iteritems():
++ for config_name, c_data in spec['configurations'].items():
+ p.AddFileConfig(_FixPath(primary_input),
+ _ConfigFullName(config_name, c_data), tools=[tool])
+
+@@ -775,8 +768,8 @@
+ # the VCProj but cause the same problem on the final command-line. Moving
+ # the item to the end of the list does works, but that's only possible if
+ # there's only one such item. Let's just warn the user.
+- print >> sys.stderr, ('Warning: MSVS may misinterpret the odd number of ' +
+- 'quotes in ' + s)
++ print(('Warning: MSVS may misinterpret the odd number of ' +
++ 'quotes in ' + s), file=sys.stderr)
+ return s
+
+
+@@ -991,7 +984,7 @@
+ basenames.setdefault(basename, []).append(source)
+
+ error = ''
+- for basename, files in basenames.iteritems():
++ for basename, files in basenames.items():
+ if len(files) > 1:
+ error += ' %s: %s\n' % (basename, ' '.join(files))
+
+@@ -1023,7 +1016,7 @@
+ relative_path_of_gyp_file = gyp.common.RelativePath(gyp_path, project_dir)
+
+ config_type = _GetMSVSConfigurationType(spec, project.build_file)
+- for config_name, config in spec['configurations'].iteritems():
++ for config_name, config in spec['configurations'].items():
+ _AddConfigurationToMSVSProject(p, spec, config_type, config_name, config)
+
+ # MSVC08 and prior version cannot handle duplicate basenames in the same
+@@ -1392,10 +1385,10 @@
+ A list of Tool objects.
+ """
+ tool_list = []
+- for tool, settings in tools.iteritems():
++ for tool, settings in tools.items():
+ # Collapse settings with lists.
+ settings_fixed = {}
+- for setting, value in settings.iteritems():
++ for setting, value in settings.items():
+ if type(value) == list:
+ if ((tool == 'VCLinkerTool' and
+ setting == 'AdditionalDependencies') or
+@@ -1570,7 +1563,7 @@
+ def _GetPrecompileRelatedFiles(spec):
+ # Gather a list of precompiled header related sources.
+ precompiled_related = []
+- for _, config in spec['configurations'].iteritems():
++ for _, config in spec['configurations'].items():
+ for k in precomp_keys:
+ f = config.get(k)
+ if f:
+@@ -1581,7 +1574,7 @@
+ def _ExcludeFilesFromBeingBuilt(p, spec, excluded_sources, excluded_idl,
+ list_excluded):
+ exclusions = _GetExcludedFilesFromBuild(spec, excluded_sources, excluded_idl)
+- for file_name, excluded_configs in exclusions.iteritems():
++ for file_name, excluded_configs in exclusions.items():
+ if (not list_excluded and
+ len(excluded_configs) == len(spec['configurations'])):
+ # If we're not listing excluded files, then they won't appear in the
+@@ -1598,7 +1591,7 @@
+ # Exclude excluded sources from being built.
+ for f in excluded_sources:
+ excluded_configs = []
+- for config_name, config in spec['configurations'].iteritems():
++ for config_name, config in spec['configurations'].items():
+ precomped = [_FixPath(config.get(i, '')) for i in precomp_keys]
+ # Don't do this for ones that are precompiled header related.
+ if f not in precomped:
+@@ -1608,7 +1601,7 @@
+ # Exclude them now.
+ for f in excluded_idl:
+ excluded_configs = []
+- for config_name, config in spec['configurations'].iteritems():
++ for config_name, config in spec['configurations'].items():
+ excluded_configs.append((config_name, config))
+ exclusions[f] = excluded_configs
+ return exclusions
+@@ -1617,7 +1610,7 @@
+ def _AddToolFilesToMSVS(p, spec):
+ # Add in tool files (rules).
+ tool_files = OrderedSet()
+- for _, config in spec['configurations'].iteritems():
++ for _, config in spec['configurations'].items():
+ for f in config.get('msvs_tool_files', []):
+ tool_files.add(f)
+ for f in tool_files:
+@@ -1630,7 +1623,7 @@
+ # kind (i.e. C vs. C++) as the precompiled header source stub needs
+ # to have use of precompiled headers disabled.
+ extensions_excluded_from_precompile = []
+- for config_name, config in spec['configurations'].iteritems():
++ for config_name, config in spec['configurations'].items():
+ source = config.get('msvs_precompiled_source')
+ if source:
+ source = _FixPath(source)
+@@ -1651,7 +1644,7 @@
+ else:
+ basename, extension = os.path.splitext(source)
+ if extension in extensions_excluded_from_precompile:
+- for config_name, config in spec['configurations'].iteritems():
++ for config_name, config in spec['configurations'].items():
+ tool = MSVSProject.Tool('VCCLCompilerTool',
+ {'UsePrecompiledHeader': '0',
+ 'ForcedIncludeFiles': '$(NOINHERIT)'})
+@@ -1702,7 +1695,7 @@
+ return # Nothing to add
+ # Write out the user file.
+ user_file = _CreateMSVSUserFile(project_path, version, spec)
+- for config_name, c_data in spec['configurations'].iteritems():
++ for config_name, c_data in spec['configurations'].items():
+ user_file.AddDebugSettings(_ConfigFullName(config_name, c_data),
+ action, environment, working_directory)
+ user_file.WriteIfChanged()
+@@ -1756,7 +1749,7 @@
+ def _DictsToFolders(base_path, bucket, flat):
+ # Convert to folders recursively.
+ children = []
+- for folder, contents in bucket.iteritems():
++ for folder, contents in bucket.items():
+ if type(contents) == dict:
+ folder_children = _DictsToFolders(os.path.join(base_path, folder),
+ contents, flat)
+@@ -1778,8 +1771,8 @@
+ # such projects up one level.
+ if (type(node) == dict and
+ len(node) == 1 and
+- node.keys()[0] == parent + '.vcproj'):
+- return node[node.keys()[0]]
++ next(iter(node)) == parent + '.vcproj'):
++ return node[next(iter(node))]
+ if type(node) != dict:
+ return node
+ for child in node:
+@@ -1798,8 +1791,8 @@
+ # Walk down from the top until we hit a folder that has more than one entry.
+ # In practice, this strips the top-level "src/" dir from the hierarchy in
+ # the solution.
+- while len(root) == 1 and type(root[root.keys()[0]]) == dict:
+- root = root[root.keys()[0]]
++ while len(root) == 1 and type(root[next(iter(root))]) == dict:
++ root = root[next(iter(root))]
+ # Collapse singles.
+ root = _CollapseSingles('', root)
+ # Merge buckets until everything is a root entry.
+@@ -1828,7 +1821,7 @@
+ # Prepare a dict indicating which project configurations are used for which
+ # solution configurations for this target.
+ config_platform_overrides = {}
+- for config_name, c in spec['configurations'].iteritems():
++ for config_name, c in spec['configurations'].items():
+ config_fullname = _ConfigFullName(config_name, c)
+ platform = c.get('msvs_target_platform', _ConfigPlatform(c))
+ fixed_config_fullname = '%s|%s' % (
+@@ -1967,7 +1960,7 @@
+ msvs_version = params['msvs_version']
+ devenv = os.path.join(msvs_version.path, 'Common7', 'IDE', 'devenv.com')
+
+- for build_file, build_file_dict in data.iteritems():
++ for build_file, build_file_dict in data.items():
+ (build_file_root, build_file_ext) = os.path.splitext(build_file)
+ if build_file_ext != '.gyp':
+ continue
+@@ -1977,7 +1970,7 @@
+
+ for config in configurations:
+ arguments = [devenv, sln_path, '/Build', config]
+- print 'Building [%s]: %s' % (config, arguments)
++ print('Building [%s]: %s' % (config, arguments))
+ rtn = subprocess.check_call(arguments)
+
+
+@@ -2029,7 +2022,7 @@
+ configs = set()
+ for qualified_target in target_list:
+ spec = target_dicts[qualified_target]
+- for config_name, config in spec['configurations'].iteritems():
++ for config_name, config in spec['configurations'].items():
+ configs.add(_ConfigFullName(config_name, config))
+ configs = list(configs)
+
+@@ -2072,7 +2065,7 @@
+ if generator_flags.get('msvs_error_on_missing_sources', False):
+ raise GypError(error_message)
+ else:
+- print >> sys.stdout, "Warning: " + error_message
++ print("Warning: " + error_message, file=sys.stdout)
+
+
+ def _GenerateMSBuildFiltersFile(filters_path, source_files,
+@@ -2669,7 +2662,7 @@
+
+ def _GetMSBuildProjectConfigurations(configurations):
+ group = ['ItemGroup', {'Label': 'ProjectConfigurations'}]
+- for (name, settings) in sorted(configurations.iteritems()):
++ for (name, settings) in sorted(configurations.items()):
+ configuration, platform = _GetConfigurationAndPlatform(name, settings)
+ designation = '%s|%s' % (configuration, platform)
+ group.append(
+@@ -2742,7 +2735,7 @@
+
+ def _GetMSBuildConfigurationDetails(spec, build_file):
+ properties = {}
+- for name, settings in spec['configurations'].iteritems():
++ for name, settings in spec['configurations'].items():
+ msbuild_attributes = _GetMSBuildAttributes(spec, settings, build_file)
+ condition = _GetConfigurationCondition(name, settings)
+ character_set = msbuild_attributes.get('CharacterSet')
+@@ -2776,9 +2769,9 @@
+ user_props = r'$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props'
+ additional_props = {}
+ props_specified = False
+- for name, settings in sorted(configurations.iteritems()):
++ for name, settings in sorted(configurations.items()):
+ configuration = _GetConfigurationCondition(name, settings)
+- if settings.has_key('msbuild_props'):
++ if 'msbuild_props' in settings:
+ additional_props[configuration] = _FixPaths(settings['msbuild_props'])
+ props_specified = True
+ else:
+@@ -2798,7 +2791,7 @@
+ ]
+ else:
+ sheets = []
+- for condition, props in additional_props.iteritems():
++ for condition, props in additional_props.items():
+ import_group = [
+ 'ImportGroup',
+ {'Label': 'PropertySheets',
+@@ -2831,7 +2824,7 @@
+ elif a == 'ConfigurationType':
+ msbuild_attributes[a] = _ConvertMSVSConfigurationType(msvs_attributes[a])
+ else:
+- print 'Warning: Do not know how to convert MSVS attribute ' + a
++ print('Warning: Do not know how to convert MSVS attribute ' + a)
+ return msbuild_attributes
+
+
+@@ -2927,7 +2920,7 @@
+ new_paths = '$(ExecutablePath);' + ';'.join(new_paths)
+
+ properties = {}
+- for (name, configuration) in sorted(configurations.iteritems()):
++ for (name, configuration) in sorted(configurations.items()):
+ condition = _GetConfigurationCondition(name, configuration)
+ attributes = _GetMSBuildAttributes(spec, configuration, build_file)
+ msbuild_settings = configuration['finalized_msbuild_settings']
+@@ -2952,7 +2945,7 @@
+ _AddConditionalProperty(properties, condition, 'ExecutablePath',
+ new_paths)
+ tool_settings = msbuild_settings.get('', {})
+- for name, value in sorted(tool_settings.iteritems()):
++ for name, value in sorted(tool_settings.items()):
+ formatted_value = _GetValueFormattedForMSBuild('', name, value)
+ _AddConditionalProperty(properties, condition, name, formatted_value)
+ return _GetMSBuildPropertyGroup(spec, None, properties)
+@@ -3021,7 +3014,7 @@
+ # NOTE: reverse(topsort(DAG)) = topsort(reverse_edges(DAG))
+ for name in reversed(properties_ordered):
+ values = properties[name]
+- for value, conditions in sorted(values.iteritems()):
++ for value, conditions in sorted(values.items()):
+ if len(conditions) == num_configurations:
+ # If the value is the same all configurations,
+ # just add one unconditional entry.
+@@ -3034,18 +3027,18 @@
+
+ def _GetMSBuildToolSettingsSections(spec, configurations):
+ groups = []
+- for (name, configuration) in sorted(configurations.iteritems()):
++ for (name, configuration) in sorted(configurations.items()):
+ msbuild_settings = configuration['finalized_msbuild_settings']
+ group = ['ItemDefinitionGroup',
+ {'Condition': _GetConfigurationCondition(name, configuration)}
+ ]
+- for tool_name, tool_settings in sorted(msbuild_settings.iteritems()):
++ for tool_name, tool_settings in sorted(msbuild_settings.items()):
+ # Skip the tool named '' which is a holder of global settings handled
+ # by _GetMSBuildConfigurationGlobalProperties.
+ if tool_name:
+ if tool_settings:
+ tool = [tool_name]
+- for name, value in sorted(tool_settings.iteritems()):
++ for name, value in sorted(tool_settings.items()):
+ formatted_value = _GetValueFormattedForMSBuild(tool_name, name,
+ value)
+ tool.append([name, formatted_value])
+@@ -3078,8 +3071,8 @@
+ for ignored_setting in ignored_settings:
+ value = configuration.get(ignored_setting)
+ if value:
+- print ('Warning: The automatic conversion to MSBuild does not handle '
+- '%s. Ignoring setting of %s' % (ignored_setting, str(value)))
++ print('Warning: The automatic conversion to MSBuild does not handle '
++ '%s. Ignoring setting of %s' % (ignored_setting, str(value)))
+
+ defines = [_EscapeCppDefineForMSBuild(d) for d in defines]
+ disabled_warnings = _GetDisabledWarnings(configuration)
+@@ -3245,7 +3238,7 @@
+ {'Condition': condition},
+ 'true'])
+ # Add precompile if needed
+- for config_name, configuration in spec['configurations'].iteritems():
++ for config_name, configuration in spec['configurations'].items():
+ precompiled_source = configuration.get('msvs_precompiled_source', '')
+ if precompiled_source != '':
+ precompiled_source = _FixPath(precompiled_source)
+@@ -3291,7 +3284,7 @@
+ ['Project', guid],
+ ['ReferenceOutputAssembly', 'false']
+ ]
+- for config in dependency.spec.get('configurations', {}).itervalues():
++ for config in dependency.spec.get('configurations', {}).values():
+ if config.get('msvs_use_library_dependency_inputs', 0):
+ project_ref.append(['UseLibraryDependencyInputs', 'true'])
+ break
+@@ -3360,7 +3353,7 @@
+ extension_to_rule_name)
+ missing_sources = _VerifySourcesExist(sources, project_dir)
+
+- for configuration in configurations.itervalues():
++ for configuration in configurations.values():
+ _FinalizeMSBuildSettings(spec, configuration)
+
+ # Add attributes to root element
+@@ -3486,7 +3479,7 @@
+ """
+ sources_handled_by_action = OrderedSet()
+ actions_spec = []
+- for primary_input, actions in actions_to_add.iteritems():
++ for primary_input, actions in actions_to_add.items():
+ inputs = OrderedSet()
+ outputs = OrderedSet()
+ descriptions = []
+diff --git a/tools/gyp/pylib/gyp/generator/msvs_test.py b/pylib/gyp/generator/msvs_test.py
+index c0b021d..838d236 100755
+--- a/tools/gyp/pylib/gyp/generator/msvs_test.py
++++ b/tools/gyp/pylib/gyp/generator/msvs_test.py
+@@ -7,13 +7,16 @@
+
+ import gyp.generator.msvs as msvs
+ import unittest
+-import StringIO
++try:
++ from StringIO import StringIO
++except ImportError:
++ from io import StringIO
+
+
+ class TestSequenceFunctions(unittest.TestCase):
+
+ def setUp(self):
+- self.stderr = StringIO.StringIO()
++ self.stderr = StringIO()
+
+ def test_GetLibraries(self):
+ self.assertEqual(
+diff --git a/tools/gyp/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py
+index 6de87b7..66faabc 100644
+--- a/tools/gyp/pylib/gyp/generator/ninja.py
++++ b/tools/gyp/pylib/gyp/generator/ninja.py
+@@ -2,6 +2,8 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++from __future__ import print_function
++
+ import collections
+ import copy
+ import hashlib
+@@ -18,7 +20,10 @@
+ import gyp.msvs_emulation
+ import gyp.MSVSUtil as MSVSUtil
+ import gyp.xcode_emulation
+-from cStringIO import StringIO
++try:
++ from cStringIO import StringIO
++except ImportError:
++ from io import StringIO
+
+ from gyp.common import GetEnvironFallback
+ import gyp.ninja_syntax as ninja_syntax
+@@ -350,7 +355,7 @@
+
+ Uses a stamp file if necessary."""
+
+- assert targets == filter(None, targets), targets
++ assert targets == [t for t in targets if t], targets
+ if len(targets) == 0:
+ assert not order_only
+ return None
+@@ -427,8 +432,8 @@
+ compile_depends.append(target.PreCompileInput())
+ if target.uses_cpp:
+ self.target.uses_cpp = True
+- actions_depends = filter(None, actions_depends)
+- compile_depends = filter(None, compile_depends)
++ actions_depends = [d for d in actions_depends if d]
++ compile_depends = [d for d in compile_depends if d]
+ actions_depends = self.WriteCollapsedDependencies('actions_depends',
+ actions_depends)
+ compile_depends = self.WriteCollapsedDependencies('compile_depends',
+@@ -455,8 +460,8 @@
+ try:
+ sources = extra_sources + spec.get('sources', [])
+ except TypeError:
+- print 'extra_sources: ', str(extra_sources)
+- print 'spec.get("sources"): ', str(spec.get('sources'))
++ print('extra_sources: ', str(extra_sources))
++ print('spec.get("sources"): ', str(spec.get('sources')))
+ raise
+ if sources:
+ if self.flavor == 'mac' and len(self.archs) > 1:
+@@ -485,8 +490,9 @@
+ if self.flavor != 'mac' or len(self.archs) == 1:
+ link_deps += [self.GypPathToNinja(o) for o in obj_outputs]
+ else:
+- print "Warning: Actions/rules writing object files don't work with " \
+- "multiarch targets, dropping. (target %s)" % spec['target_name']
++ print("Warning: Actions/rules writing object files don't work with " \
++ "multiarch targets, dropping. (target %s)" %
++ spec['target_name'])
+ elif self.flavor == 'mac' and len(self.archs) > 1:
+ link_deps = collections.defaultdict(list)
+
+@@ -838,7 +844,7 @@
+ 'XCASSETS_LAUNCH_IMAGE': 'launch-image',
+ }
+ settings = self.xcode_settings.xcode_settings[self.config_name]
+- for settings_key, arg_name in settings_to_arg.iteritems():
++ for settings_key, arg_name in settings_to_arg.items():
+ value = settings.get(settings_key)
+ if value:
+ extra_arguments[arg_name] = value
+@@ -1772,7 +1778,7 @@
+
+ # VS 2015 uses 20% more working set than VS 2013 and can consume all RAM
+ # on a 64 GB machine.
+- mem_limit = max(1, stat.ullTotalPhys / (5 * (2 ** 30))) # total / 5GB
++ mem_limit = max(1, stat.ullTotalPhys // (5 * (2 ** 30))) # total / 5GB
+ hard_cap = max(1, int(os.environ.get('GYP_LINK_CONCURRENCY_MAX', 2**32)))
+ return min(mem_limit, hard_cap)
+ elif sys.platform.startswith('linux'):
+@@ -1784,14 +1790,14 @@
+ if not match:
+ continue
+ # Allow 8Gb per link on Linux because Gold is quite memory hungry
+- return max(1, int(match.group(1)) / (8 * (2 ** 20)))
++ return max(1, int(match.group(1)) // (8 * (2 ** 20)))
+ return 1
+ elif sys.platform == 'darwin':
+ try:
+ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
+ # A static library debug build of Chromium's unit_tests takes ~2.7GB, so
+ # 4GB per ld process allows for some more bloat.
+- return max(1, avail_bytes / (4 * (2 ** 30))) # total / 4GB
++ return max(1, avail_bytes // (4 * (2 ** 30))) # total / 4GB
+ except:
+ return 1
+ else:
+@@ -1946,7 +1952,7 @@
+ wrappers[key[:-len('_wrapper')]] = os.path.join(build_to_root, value)
+
+ # Support wrappers from environment variables too.
+- for key, value in os.environ.iteritems():
++ for key, value in os.environ.items():
+ if key.lower().endswith('_wrapper'):
+ key_prefix = key[:-len('_wrapper')]
+ key_prefix = re.sub(r'\.HOST$', '.host', key_prefix)
+@@ -1966,7 +1972,7 @@
+ configs, generator_flags)
+ cl_paths = gyp.msvs_emulation.GenerateEnvironmentFiles(
+ toplevel_build, generator_flags, shared_system_includes, OpenOutput)
+- for arch, path in sorted(cl_paths.iteritems()):
++ for arch, path in sorted(cl_paths.items()):
+ if clang_cl:
+ # If we have selected clang-cl, use that instead.
+ path = clang_cl
+@@ -2381,6 +2387,7 @@
+
+ qualified_target_for_hash = gyp.common.QualifiedTarget(build_file, name,
+ toolset)
++ qualified_target_for_hash = qualified_target_for_hash.encode('utf-8')
+ hash_for_rules = hashlib.md5(qualified_target_for_hash).hexdigest()
+
+ base_path = os.path.dirname(build_file)
+@@ -2447,7 +2454,7 @@
+ for config in configurations:
+ builddir = os.path.join(options.toplevel_dir, 'out', config)
+ arguments = ['ninja', '-C', builddir]
+- print 'Building [%s]: %s' % (config, arguments)
++ print('Building [%s]: %s' % (config, arguments))
+ subprocess.check_call(arguments)
+
+
+@@ -2475,7 +2482,7 @@
+ GenerateOutputForConfig(target_list, target_dicts, data, params,
+ user_config)
+ else:
+- config_names = target_dicts[target_list[0]]['configurations'].keys()
++ config_names = target_dicts[target_list[0]]['configurations']
+ if params['parallel']:
+ try:
+ pool = multiprocessing.Pool(len(config_names))
+@@ -2484,7 +2491,7 @@
+ arglists.append(
+ (target_list, target_dicts, data, params, config_name))
+ pool.map(CallGenerateOutputForConfig, arglists)
+- except KeyboardInterrupt, e:
++ except KeyboardInterrupt as e:
+ pool.terminate()
+ raise e
+ else:
+diff --git a/tools/gyp/pylib/gyp/generator/ninja_test.py b/pylib/gyp/generator/ninja_test.py
+index 1767b2f..1ad68e4 100644
+--- a/tools/gyp/pylib/gyp/generator/ninja_test.py
++++ b/tools/gyp/pylib/gyp/generator/ninja_test.py
+@@ -8,7 +8,6 @@
+
+ import gyp.generator.ninja as ninja
+ import unittest
+-import StringIO
+ import sys
+ import TestCommon
+
+diff --git a/tools/gyp/pylib/gyp/generator/xcode.py b/pylib/gyp/generator/xcode.py
+index b35372a..8bc22be 100644
+--- a/tools/gyp/pylib/gyp/generator/xcode.py
++++ b/tools/gyp/pylib/gyp/generator/xcode.py
+@@ -2,6 +2,8 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++from __future__ import print_function
++
+ import filecmp
+ import gyp.common
+ import gyp.xcodeproj_file
+@@ -129,7 +131,7 @@
+ try:
+ os.makedirs(self.path)
+ self.created_dir = True
+- except OSError, e:
++ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
+
+@@ -183,7 +185,7 @@
+ # the tree tree view for UI display.
+ # Any values set globally are applied to all configurations, then any
+ # per-configuration values are applied.
+- for xck, xcv in self.build_file_dict.get('xcode_settings', {}).iteritems():
++ for xck, xcv in self.build_file_dict.get('xcode_settings', {}).items():
+ xccl.SetBuildSetting(xck, xcv)
+ if 'xcode_config_file' in self.build_file_dict:
+ config_ref = self.project.AddOrGetFileInRootGroup(
+@@ -197,7 +199,7 @@
+ if build_file_configuration_named:
+ xcc = xccl.ConfigurationNamed(config_name)
+ for xck, xcv in build_file_configuration_named.get('xcode_settings',
+- {}).iteritems():
++ {}).items():
+ xcc.SetBuildSetting(xck, xcv)
+ if 'xcode_config_file' in build_file_configuration_named:
+ config_ref = self.project.AddOrGetFileInRootGroup(
+@@ -273,7 +275,7 @@
+ script = script + "\n".join(
+ ['export %s="%s"' %
+ (key, gyp.xcodeproj_file.ConvertVariablesToShellSyntax(val))
+- for (key, val) in command.get('environment').iteritems()]) + "\n"
++ for (key, val) in command.get('environment').items()]) + "\n"
+
+ # Some test end up using sockets, files on disk, etc. and can get
+ # confused if more then one test runs at a time. The generator
+@@ -444,7 +446,7 @@
+ dir=self.path)
+
+ try:
+- output_file = os.fdopen(output_fd, 'wb')
++ output_file = os.fdopen(output_fd, 'w')
+
+ self.project_file.Print(output_file)
+ output_file.close()
+@@ -454,7 +456,7 @@
+ same = False
+ try:
+ same = filecmp.cmp(pbxproj_path, new_pbxproj_path, False)
+- except OSError, e:
++ except OSError as e:
+ if e.errno != errno.ENOENT:
+ raise
+
+@@ -473,10 +475,10 @@
+ #
+ # No way to get the umask without setting a new one? Set a safe one
+ # and then set it back to the old value.
+- umask = os.umask(077)
++ umask = os.umask(0o77)
+ os.umask(umask)
+
+- os.chmod(new_pbxproj_path, 0666 & ~umask)
++ os.chmod(new_pbxproj_path, 0o666 & ~umask)
+ os.rename(new_pbxproj_path, pbxproj_path)
+
+ except Exception:
+@@ -566,7 +568,7 @@
+ def PerformBuild(data, configurations, params):
+ options = params['options']
+
+- for build_file, build_file_dict in data.iteritems():
++ for build_file, build_file_dict in data.items():
+ (build_file_root, build_file_ext) = os.path.splitext(build_file)
+ if build_file_ext != '.gyp':
+ continue
+@@ -577,7 +579,7 @@
+ for config in configurations:
+ arguments = ['xcodebuild', '-project', xcodeproj_path]
+ arguments += ['-configuration', config]
+- print "Building [%s]: %s" % (config, arguments)
++ print("Building [%s]: %s" % (config, arguments))
+ subprocess.check_call(arguments)
+
+
+@@ -625,7 +627,7 @@
+ skip_excluded_files = \
+ not generator_flags.get('xcode_list_excluded_files', True)
+ xcode_projects = {}
+- for build_file, build_file_dict in data.iteritems():
++ for build_file, build_file_dict in data.items():
+ (build_file_root, build_file_ext) = os.path.splitext(build_file)
+ if build_file_ext != '.gyp':
+ continue
+@@ -744,7 +746,7 @@
+ xctarget_type = gyp.xcodeproj_file.PBXNativeTarget
+ try:
+ target_properties['productType'] = _types[type_bundle_key]
+- except KeyError, e:
++ except KeyError as e:
+ gyp.common.ExceptionAppend(e, "-- unknown product type while "
+ "writing target %s" % target_name)
+ raise
+@@ -1016,22 +1018,21 @@
+ makefile_name)
+ # TODO(mark): try/close? Write to a temporary file and swap it only
+ # if it's got changes?
+- makefile = open(makefile_path, 'wb')
++ makefile = open(makefile_path, 'w')
+
+ # make will build the first target in the makefile by default. By
+ # convention, it's called "all". List all (or at least one)
+ # concrete output for each rule source as a prerequisite of the "all"
+ # target.
+ makefile.write('all: \\\n')
+- for concrete_output_index in \
+- xrange(0, len(concrete_outputs_by_rule_source)):
++ for concrete_output_index, concrete_output_by_rule_source in \
++ enumerate(concrete_outputs_by_rule_source):
+ # Only list the first (index [0]) concrete output of each input
+ # in the "all" target. Otherwise, a parallel make (-j > 1) would
+ # attempt to process each input multiple times simultaneously.
+ # Otherwise, "all" could just contain the entire list of
+ # concrete_outputs_all.
+- concrete_output = \
+- concrete_outputs_by_rule_source[concrete_output_index][0]
++ concrete_output = concrete_output_by_rule_source[0]
+ if concrete_output_index == len(concrete_outputs_by_rule_source) - 1:
+ eol = ''
+ else:
+@@ -1047,8 +1048,8 @@
+ # rule source. Collect the names of the directories that are
+ # required.
+ concrete_output_dirs = []
+- for concrete_output_index in xrange(0, len(concrete_outputs)):
+- concrete_output = concrete_outputs[concrete_output_index]
++ for concrete_output_index, concrete_output in \
++ enumerate(concrete_outputs):
+ if concrete_output_index == 0:
+ bol = ''
+ else:
+@@ -1066,8 +1067,7 @@
+ # the set of additional rule inputs, if any.
+ prerequisites = [rule_source]
+ prerequisites.extend(rule.get('inputs', []))
+- for prerequisite_index in xrange(0, len(prerequisites)):
+- prerequisite = prerequisites[prerequisite_index]
++ for prerequisite_index, prerequisite in enumerate(prerequisites):
+ if prerequisite_index == len(prerequisites) - 1:
+ eol = ''
+ else:
+@@ -1279,7 +1279,7 @@
+ set_define = EscapeXcodeDefine(define)
+ xcbc.AppendBuildSetting('GCC_PREPROCESSOR_DEFINITIONS', set_define)
+ if 'xcode_settings' in configuration:
+- for xck, xcv in configuration['xcode_settings'].iteritems():
++ for xck, xcv in configuration['xcode_settings'].items():
+ xcbc.SetBuildSetting(xck, xcv)
+ if 'xcode_config_file' in configuration:
+ config_ref = pbxp.AddOrGetFileInRootGroup(
+@@ -1287,7 +1287,7 @@
+ xcbc.SetBaseConfiguration(config_ref)
+
+ build_files = []
+- for build_file, build_file_dict in data.iteritems():
++ for build_file, build_file_dict in data.items():
+ if build_file.endswith('.gyp'):
+ build_files.append(build_file)
+
+diff --git a/tools/gyp/pylib/gyp/input.py b/pylib/gyp/input.py
+index 21b4606..8ac47cb 100644
+--- a/tools/gyp/pylib/gyp/input.py
++++ b/tools/gyp/pylib/gyp/input.py
+@@ -2,8 +2,9 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
+-import ast
++from __future__ import print_function
+
++import ast
+ import gyp.common
+ import gyp.simple_copy
+ import multiprocessing
+@@ -231,10 +232,10 @@
+ else:
+ build_file_data = eval(build_file_contents, {'__builtins__': None},
+ None)
+- except SyntaxError, e:
++ except SyntaxError as e:
+ e.filename = build_file_path
+ raise
+- except Exception, e:
++ except Exception as e:
+ gyp.common.ExceptionAppend(e, 'while reading ' + build_file_path)
+ raise
+
+@@ -254,7 +255,7 @@
+ else:
+ LoadBuildFileIncludesIntoDict(build_file_data, build_file_path, data,
+ aux_data, None, check)
+- except Exception, e:
++ except Exception as e:
+ gyp.common.ExceptionAppend(e,
+ 'while reading includes of ' + build_file_path)
+ raise
+@@ -291,7 +292,7 @@
+ subdict_path, include)
+
+ # Recurse into subdictionaries.
+- for k, v in subdict.iteritems():
++ for k, v in subdict.items():
+ if type(v) is dict:
+ LoadBuildFileIncludesIntoDict(v, subdict_path, data, aux_data,
+ None, check)
+@@ -456,7 +457,7 @@
+ try:
+ LoadTargetBuildFile(dependency, data, aux_data, variables,
+ includes, depth, check, load_dependencies)
+- except Exception, e:
++ except Exception as e:
+ gyp.common.ExceptionAppend(
+ e, 'while loading dependencies of %s' % build_file_path)
+ raise
+@@ -477,7 +478,7 @@
+ signal.signal(signal.SIGINT, signal.SIG_IGN)
+
+ # Apply globals so that the worker process behaves the same.
+- for key, value in global_flags.iteritems():
++ for key, value in global_flags.items():
+ globals()[key] = value
+
+ SetGeneratorGlobals(generator_input_info)
+@@ -499,12 +500,12 @@
+ return (build_file_path,
+ build_file_data,
+ dependencies)
+- except GypError, e:
++ except GypError as e:
+ sys.stderr.write("gyp: %s\n" % e)
+ return None
+- except Exception, e:
+- print >>sys.stderr, 'Exception:', e
+- print >>sys.stderr, traceback.format_exc()
++ except Exception as e:
++ print('Exception:', e, file=sys.stderr)
++ print(traceback.format_exc(), file=sys.stderr)
+ return None
+
+
+@@ -594,7 +595,7 @@
+ args = (global_flags, dependency,
+ variables, includes, depth, check, generator_input_info),
+ callback = parallel_state.LoadTargetBuildFileCallback)
+- except KeyboardInterrupt, e:
++ except KeyboardInterrupt as e:
+ parallel_state.pool.terminate()
+ raise e
+
+@@ -894,7 +895,7 @@
+ stderr=subprocess.PIPE,
+ stdin=subprocess.PIPE,
+ cwd=build_file_dir)
+- except Exception, e:
++ except Exception as e:
+ raise GypError("%s while executing command '%s' in %s" %
+ (e, contents, build_file))
+
+@@ -1008,9 +1009,9 @@
+
+ # Convert all strings that are canonically-represented integers into integers.
+ if type(output) is list:
+- for index in xrange(0, len(output)):
+- if IsStrCanonicalInt(output[index]):
+- output[index] = int(output[index])
++ for index, outstr in enumerate(output):
++ if IsStrCanonicalInt(outstr):
++ output[index] = int(outstr)
+ elif IsStrCanonicalInt(output):
+ output = int(output)
+
+@@ -1079,13 +1080,13 @@
+ if eval(ast_code, {'__builtins__': None}, variables):
+ return true_dict
+ return false_dict
+- except SyntaxError, e:
++ except SyntaxError as e:
+ syntax_error = SyntaxError('%s while evaluating condition \'%s\' in %s '
+ 'at character %d.' %
+ (str(e.args[0]), e.text, build_file, e.offset),
+ e.filename, e.lineno, e.offset, e.text)
+ raise syntax_error
+- except NameError, e:
++ except NameError as e:
+ gyp.common.ExceptionAppend(e, 'while evaluating condition \'%s\' in %s' %
+ (cond_expr_expanded, build_file))
+ raise GypError(e)
+@@ -1140,7 +1141,7 @@
+ def LoadAutomaticVariablesFromDict(variables, the_dict):
+ # Any keys with plain string values in the_dict become automatic variables.
+ # The variable name is the key name with a "_" character prepended.
+- for key, value in the_dict.iteritems():
++ for key, value in the_dict.items():
+ if type(value) in (str, int, list):
+ variables['_' + key] = value
+
+@@ -1153,7 +1154,7 @@
+ # the_dict in the_dict's parent dict. If the_dict's parent is not a dict
+ # (it could be a list or it could be parentless because it is a root dict),
+ # the_dict_key will be None.
+- for key, value in the_dict.get('variables', {}).iteritems():
++ for key, value in the_dict.get('variables', {}).items():
+ if type(value) not in (str, int, list):
+ continue
+
+@@ -1192,7 +1193,7 @@
+ # list before we process them so that you can reference one
+ # variable from another. They will be fully expanded by recursion
+ # in ExpandVariables.
+- for key, value in the_dict['variables'].iteritems():
++ for key, value in the_dict['variables'].items():
+ variables[key] = value
+
+ # Handle the associated variables dict first, so that any variable
+@@ -1205,7 +1206,7 @@
+
+ LoadVariablesFromVariablesDict(variables, the_dict, the_dict_key)
+
+- for key, value in the_dict.iteritems():
++ for key, value in the_dict.items():
+ # Skip "variables", which was already processed if present.
+ if key != 'variables' and type(value) is str:
+ expanded = ExpandVariables(value, phase, variables, build_file)
+@@ -1263,7 +1264,7 @@
+
+ # Recurse into child dicts, or process child lists which may result in
+ # further recursion into descendant dicts.
+- for key, value in the_dict.iteritems():
++ for key, value in the_dict.items():
+ # Skip "variables" and string values, which were already processed if
+ # present.
+ if key == 'variables' or type(value) is str:
+@@ -1360,14 +1361,14 @@
+ for dep in dependency_sections
+ for op in ('', '!', '/')]
+
+- for target, target_dict in targets.iteritems():
++ for target, target_dict in targets.items():
+ target_build_file = gyp.common.BuildFile(target)
+ toolset = target_dict['toolset']
+ for dependency_key in all_dependency_sections:
+ dependencies = target_dict.get(dependency_key, [])
+- for index in xrange(0, len(dependencies)):
++ for index, dep in enumerate(dependencies):
+ dep_file, dep_target, dep_toolset = gyp.common.ResolveTarget(
+- target_build_file, dependencies[index], toolset)
++ target_build_file, dep, toolset)
+ if not multiple_toolsets:
+ # Ignore toolset specification in the dependency if it is specified.
+ dep_toolset = toolset
+@@ -1400,7 +1401,7 @@
+ dependency list, must be qualified when this function is called.
+ """
+
+- for target, target_dict in targets.iteritems():
++ for target, target_dict in targets.items():
+ toolset = target_dict['toolset']
+ target_build_file = gyp.common.BuildFile(target)
+ for dependency_key in dependency_sections:
+@@ -1462,7 +1463,7 @@
+ def RemoveDuplicateDependencies(targets):
+ """Makes sure every dependency appears only once in all targets's dependency
+ lists."""
+- for target_name, target_dict in targets.iteritems():
++ for target_name, target_dict in targets.items():
+ for dependency_key in dependency_sections:
+ dependencies = target_dict.get(dependency_key, [])
+ if dependencies:
+@@ -1478,7 +1479,7 @@
+ def RemoveSelfDependencies(targets):
+ """Remove self dependencies from targets that have the prune_self_dependency
+ variable set."""
+- for target_name, target_dict in targets.iteritems():
++ for target_name, target_dict in targets.items():
+ for dependency_key in dependency_sections:
+ dependencies = target_dict.get(dependency_key, [])
+ if dependencies:
+@@ -1491,7 +1492,7 @@
+ def RemoveLinkDependenciesFromNoneTargets(targets):
+ """Remove dependencies having the 'link_dependency' attribute from the 'none'
+ targets."""
+- for target_name, target_dict in targets.iteritems():
++ for target_name, target_dict in targets.items():
+ for dependency_key in dependency_sections:
+ dependencies = target_dict.get(dependency_key, [])
+ if dependencies:
+@@ -1783,14 +1784,14 @@
+ # Create a DependencyGraphNode for each target. Put it into a dict for easy
+ # access.
+ dependency_nodes = {}
+- for target, spec in targets.iteritems():
++ for target, spec in targets.items():
+ if target not in dependency_nodes:
+ dependency_nodes[target] = DependencyGraphNode(target)
+
+ # Set up the dependency links. Targets that have no dependencies are treated
+ # as dependent on root_node.
+ root_node = DependencyGraphNode(None)
+- for target, spec in targets.iteritems():
++ for target, spec in targets.items():
+ target_node = dependency_nodes[target]
+ target_build_file = gyp.common.BuildFile(target)
+ dependencies = spec.get('dependencies')
+@@ -1814,7 +1815,7 @@
+ if not root_node.dependents:
+ # If all targets have dependencies, add the first target as a dependent
+ # of root_node so that the cycle can be discovered from root_node.
+- target = targets.keys()[0]
++ target = next(iter(targets))
+ target_node = dependency_nodes[target]
+ target_node.dependencies.append(root_node)
+ root_node.dependents.append(target_node)
+@@ -1833,20 +1834,20 @@
+ # Create a DependencyGraphNode for each gyp file containing a target. Put
+ # it into a dict for easy access.
+ dependency_nodes = {}
+- for target in targets.iterkeys():
++ for target in targets.keys():
+ build_file = gyp.common.BuildFile(target)
+ if not build_file in dependency_nodes:
+ dependency_nodes[build_file] = DependencyGraphNode(build_file)
+
+ # Set up the dependency links.
+- for target, spec in targets.iteritems():
++ for target, spec in targets.items():
+ build_file = gyp.common.BuildFile(target)
+ build_file_node = dependency_nodes[build_file]
+ target_dependencies = spec.get('dependencies', [])
+ for dependency in target_dependencies:
+ try:
+ dependency_build_file = gyp.common.BuildFile(dependency)
+- except GypError, e:
++ except GypError as e:
+ gyp.common.ExceptionAppend(
+ e, 'while computing dependencies of .gyp file %s' % build_file)
+ raise
+@@ -1864,7 +1865,7 @@
+
+ # Files that have no dependencies are treated as dependent on root_node.
+ root_node = DependencyGraphNode(None)
+- for build_file_node in dependency_nodes.itervalues():
++ for build_file_node in dependency_nodes.values():
+ if len(build_file_node.dependencies) == 0:
+ build_file_node.dependencies.append(root_node)
+ root_node.dependents.append(build_file_node)
+@@ -1877,7 +1878,7 @@
+ if not root_node.dependents:
+ # If all files have dependencies, add the first file as a dependent
+ # of root_node so that the cycle can be discovered from root_node.
+- file_node = dependency_nodes.values()[0]
++ file_node = next(iter(dependency_nodes.values()))
+ file_node.dependencies.append(root_node)
+ root_node.dependents.append(file_node)
+ cycles = []
+@@ -2104,7 +2105,7 @@
+
+ def MergeDicts(to, fro, to_file, fro_file):
+ # I wanted to name the parameter "from" but it's a Python keyword...
+- for k, v in fro.iteritems():
++ for k, v in fro.items():
+ # It would be nice to do "if not k in to: to[k] = v" but that wouldn't give
+ # copy semantics. Something else may want to merge from the |fro| dict
+ # later, and having the same dict ref pointed to twice in the tree isn't
+@@ -2239,13 +2240,13 @@
+ if not 'configurations' in target_dict:
+ target_dict['configurations'] = {'Default': {}}
+ if not 'default_configuration' in target_dict:
+- concrete = [i for (i, config) in target_dict['configurations'].iteritems()
++ concrete = [i for (i, config) in target_dict['configurations'].items()
+ if not config.get('abstract')]
+ target_dict['default_configuration'] = sorted(concrete)[0]
+
+ merged_configurations = {}
+ configs = target_dict['configurations']
+- for (configuration, old_configuration_dict) in configs.iteritems():
++ for (configuration, old_configuration_dict) in configs.items():
+ # Skip abstract configurations (saves work only).
+ if old_configuration_dict.get('abstract'):
+ continue
+@@ -2253,7 +2254,7 @@
+ # Get the inheritance relationship right by making a copy of the target
+ # dict.
+ new_configuration_dict = {}
+- for (key, target_val) in target_dict.iteritems():
++ for (key, target_val) in target_dict.items():
+ key_ext = key[-1:]
+ if key_ext in key_suffixes:
+ key_base = key[:-1]
+@@ -2274,10 +2275,9 @@
+ merged_configurations[configuration])
+
+ # Now drop all the abstract ones.
+- for configuration in target_dict['configurations'].keys():
+- old_configuration_dict = target_dict['configurations'][configuration]
+- if old_configuration_dict.get('abstract'):
+- del target_dict['configurations'][configuration]
++ configs = target_dict['configurations']
++ target_dict['configurations'] = \
++ {k: v for k, v in configs.items() if not v.get('abstract')}
+
+ # Now that all of the target's configurations have been built, go through
+ # the target dict's keys and remove everything that's been moved into a
+@@ -2337,7 +2337,7 @@
+
+ lists = []
+ del_lists = []
+- for key, value in the_dict.iteritems():
++ for key, value in the_dict.items():
+ operation = key[-1]
+ if operation != '!' and operation != '/':
+ continue
+@@ -2385,8 +2385,8 @@
+ exclude_key = list_key + '!'
+ if exclude_key in the_dict:
+ for exclude_item in the_dict[exclude_key]:
+- for index in xrange(0, len(the_list)):
+- if exclude_item == the_list[index]:
++ for index, list_item in enumerate(the_list):
++ if exclude_item == list_item:
+ # This item matches the exclude_item, so set its action to 0
+ # (exclude).
+ list_actions[index] = 0
+@@ -2411,8 +2411,7 @@
+ raise ValueError('Unrecognized action ' + action + ' in ' + name + \
+ ' key ' + regex_key)
+
+- for index in xrange(0, len(the_list)):
+- list_item = the_list[index]
++ for index, list_item in enumerate(the_list):
+ if list_actions[index] == action_value:
+ # Even if the regex matches, nothing will change so continue (regex
+ # searches are expensive).
+@@ -2442,7 +2441,7 @@
+ # the indices of items that haven't been seen yet don't shift. That means
+ # that things need to be prepended to excluded_list to maintain them in the
+ # same order that they existed in the_list.
+- for index in xrange(len(list_actions) - 1, -1, -1):
++ for index in range(len(list_actions) - 1, -1, -1):
+ if list_actions[index] == 0:
+ # Dump anything with action 0 (exclude). Keep anything with action 1
+ # (include) or -1 (no include or exclude seen for the item).
+@@ -2455,7 +2454,7 @@
+ the_dict[excluded_key] = excluded_list
+
+ # Now recurse into subdicts and lists that may contain dicts.
+- for key, value in the_dict.iteritems():
++ for key, value in the_dict.items():
+ if type(value) is dict:
+ ProcessListFiltersInDict(key, value)
+ elif type(value) is list:
+@@ -2512,7 +2511,7 @@
+ basenames.setdefault(basename, []).append(source)
+
+ error = ''
+- for basename, files in basenames.iteritems():
++ for basename, files in basenames.items():
+ if len(files) > 1:
+ error += ' %s: %s\n' % (basename, ' '.join(files))
+
+@@ -2651,8 +2650,7 @@
+ def TurnIntIntoStrInList(the_list):
+ """Given list the_list, recursively converts all integers into strings.
+ """
+- for index in xrange(0, len(the_list)):
+- item = the_list[index]
++ for index, item in enumerate(the_list):
+ if type(item) is int:
+ the_list[index] = str(item)
+ elif type(item) is dict:
+@@ -2769,7 +2767,7 @@
+ try:
+ LoadTargetBuildFile(build_file, data, aux_data,
+ variables, includes, depth, check, True)
+- except Exception, e:
++ except Exception as e:
+ gyp.common.ExceptionAppend(e, 'while trying to load %s' % build_file)
+ raise
+
+@@ -2791,7 +2789,7 @@
+ RemoveLinkDependenciesFromNoneTargets(targets)
+
+ # Apply exclude (!) and regex (/) list filters only for dependency_sections.
+- for target_name, target_dict in targets.iteritems():
++ for target_name, target_dict in targets.items():
+ tmp_dict = {}
+ for key_base in dependency_sections:
+ for op in ('', '!', '/'):
+diff --git a/tools/gyp/pylib/gyp/input_test.py b/pylib/gyp/input_test.py
+index 4234fbb..6c4b1cc 100755
+--- a/tools/gyp/pylib/gyp/input_test.py
++++ b/tools/gyp/pylib/gyp/input_test.py
+@@ -22,7 +22,7 @@
+ dependency.dependents.append(dependent)
+
+ def test_no_cycle_empty_graph(self):
+- for label, node in self.nodes.iteritems():
++ for label, node in self.nodes.items():
+ self.assertEquals([], node.FindCycles())
+
+ def test_no_cycle_line(self):
+@@ -30,7 +30,7 @@
+ self._create_dependency(self.nodes['b'], self.nodes['c'])
+ self._create_dependency(self.nodes['c'], self.nodes['d'])
+
+- for label, node in self.nodes.iteritems():
++ for label, node in self.nodes.items():
+ self.assertEquals([], node.FindCycles())
+
+ def test_no_cycle_dag(self):
+@@ -38,7 +38,7 @@
+ self._create_dependency(self.nodes['a'], self.nodes['c'])
+ self._create_dependency(self.nodes['b'], self.nodes['c'])
+
+- for label, node in self.nodes.iteritems():
++ for label, node in self.nodes.items():
+ self.assertEquals([], node.FindCycles())
+
+ def test_cycle_self_reference(self):
+diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/pylib/gyp/mac_tool.py
+index 0ad7e7a..7d3a8c2 100755
+--- a/tools/gyp/pylib/gyp/mac_tool.py
++++ b/tools/gyp/pylib/gyp/mac_tool.py
+@@ -8,6 +8,8 @@
+ These functions are executed via gyp-mac-tool when using the Makefile generator.
+ """
+
++from __future__ import print_function
++
+ import fcntl
+ import fnmatch
+ import glob
+@@ -16,7 +18,6 @@
+ import plistlib
+ import re
+ import shutil
+-import string
+ import struct
+ import subprocess
+ import sys
+@@ -155,11 +156,11 @@
+ fp.close()
+ return None
+ fp.close()
+- if header.startswith("\xFE\xFF"):
++ if header.startswith(b"\xFE\xFF"):
+ return "UTF-16"
+- elif header.startswith("\xFF\xFE"):
++ elif header.startswith(b"\xFF\xFE"):
+ return "UTF-16"
+- elif header.startswith("\xEF\xBB\xBF"):
++ elif header.startswith(b"\xEF\xBB\xBF"):
+ return "UTF-8"
+ else:
+ return None
+@@ -174,7 +175,7 @@
+ # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild).
+ plist = plistlib.readPlistFromString(lines)
+ if keys:
+- plist = dict(plist.items() + json.loads(keys[0]).items())
++ plist.update(json.loads(keys[0]))
+ lines = plistlib.writePlistToString(plist)
+
+ # Go through all the environment variables and replace them as variables in
+@@ -185,7 +186,7 @@
+ continue
+ evar = '${%s}' % key
+ evalue = os.environ[key]
+- lines = string.replace(lines, evar, evalue)
++ lines = lines.replace(evar, evalue)
+
+ # Xcode supports various suffices on environment variables, which are
+ # all undocumented. :rfc1034identifier is used in the standard project
+@@ -195,11 +196,11 @@
+ # in a URL either -- oops, hence :rfc1034identifier was born.
+ evar = '${%s:identifier}' % key
+ evalue = IDENT_RE.sub('_', os.environ[key])
+- lines = string.replace(lines, evar, evalue)
++ lines = lines.replace(evar, evalue)
+
+ evar = '${%s:rfc1034identifier}' % key
+ evalue = IDENT_RE.sub('-', os.environ[key])
+- lines = string.replace(lines, evar, evalue)
++ lines = lines.replace(evar, evalue)
+
+ # Remove any keys with values that haven't been replaced.
+ lines = lines.split('\n')
+@@ -270,7 +271,7 @@
+ _, err = libtoolout.communicate()
+ for line in err.splitlines():
+ if not libtool_re.match(line) and not libtool_re5.match(line):
+- print >>sys.stderr, line
++ print(line, file=sys.stderr)
+ # Unconditionally touch the output .a file on the command line if present
+ # and the command succeeded. A bit hacky.
+ if not libtoolout.returncode:
+@@ -385,7 +386,7 @@
+ ])
+ if keys:
+ keys = json.loads(keys)
+- for key, value in keys.iteritems():
++ for key, value in keys.items():
+ arg_name = '--' + key
+ if isinstance(value, bool):
+ if value:
+@@ -480,8 +481,9 @@
+ profiles_dir = os.path.join(
+ os.environ['HOME'], 'Library', 'MobileDevice', 'Provisioning Profiles')
+ if not os.path.isdir(profiles_dir):
+- print >>sys.stderr, (
+- 'cannot find mobile provisioning for %s' % bundle_identifier)
++ print((
++ 'cannot find mobile provisioning for %s' % bundle_identifier),
++ file=sys.stderr)
+ sys.exit(1)
+ provisioning_profiles = None
+ if profile:
+@@ -502,8 +504,9 @@
+ valid_provisioning_profiles[app_id_pattern] = (
+ profile_path, profile_data, team_identifier)
+ if not valid_provisioning_profiles:
+- print >>sys.stderr, (
+- 'cannot find mobile provisioning for %s' % bundle_identifier)
++ print((
++ 'cannot find mobile provisioning for %s' % bundle_identifier),
++ file=sys.stderr)
+ sys.exit(1)
+ # If the user has multiple provisioning profiles installed that can be
+ # used for ${bundle_identifier}, pick the most specific one (ie. the
+@@ -527,7 +530,7 @@
+
+ def _MergePlist(self, merged_plist, plist):
+ """Merge |plist| into |merged_plist|."""
+- for key, value in plist.iteritems():
++ for key, value in plist.items():
+ if isinstance(value, dict):
+ merged_value = merged_plist.get(key, {})
+ if isinstance(merged_value, dict):
+@@ -637,7 +640,7 @@
+ the key was not found.
+ """
+ if isinstance(data, str):
+- for key, value in substitutions.iteritems():
++ for key, value in substitutions.items():
+ data = data.replace('$(%s)' % key, value)
+ return data
+ if isinstance(data, list):
+diff --git a/tools/gyp/pylib/gyp/msvs_emulation.py b/pylib/gyp/msvs_emulation.py
+index 6d5b5bd..63d40e6 100644
+--- a/tools/gyp/pylib/gyp/msvs_emulation.py
++++ b/tools/gyp/pylib/gyp/msvs_emulation.py
+@@ -7,6 +7,7 @@
+ build systems, primarily ninja.
+ """
+
++import collections
+ import os
+ import re
+ import subprocess
+@@ -16,6 +17,12 @@
+ import gyp.MSVSUtil
+ import gyp.MSVSVersion
+
++try:
++ # basestring was removed in python3.
++ basestring
++except NameError:
++ basestring = str
++
+
+ windows_quoter_regex = re.compile(r'(\\*)"')
+
+@@ -84,8 +91,8 @@
+ """Add |prefix| to |element| or each subelement if element is iterable."""
+ if element is None:
+ return element
+- # Note, not Iterable because we don't want to handle strings like that.
+- if isinstance(element, list) or isinstance(element, tuple):
++ if (isinstance(element, collections.Iterable) and
++ not isinstance(element, basestring)):
+ return [prefix + e for e in element]
+ else:
+ return prefix + element
+@@ -97,7 +104,8 @@
+ if map is not None and element is not None:
+ if not callable(map):
+ map = map.get # Assume it's a dict, otherwise a callable to do the remap.
+- if isinstance(element, list) or isinstance(element, tuple):
++ if (isinstance(element, collections.Iterable) and
++ not isinstance(element, basestring)):
+ element = filter(None, [map(elem) for elem in element])
+ else:
+ element = map(element)
+@@ -109,7 +117,8 @@
+ then add |element| to it, adding each item in |element| if it's a list or
+ tuple."""
+ if append is not None and element is not None:
+- if isinstance(element, list) or isinstance(element, tuple):
++ if (isinstance(element, collections.Iterable) and
++ not isinstance(element, basestring)):
+ append.extend(element)
+ else:
+ append.append(element)
+@@ -209,7 +218,7 @@
+ configs = spec['configurations']
+ for field, default in supported_fields:
+ setattr(self, field, {})
+- for configname, config in configs.iteritems():
++ for configname, config in configs.items():
+ getattr(self, field)[configname] = config.get(field, default())
+
+ self.msvs_cygwin_dirs = spec.get('msvs_cygwin_dirs', ['.'])
+@@ -482,7 +491,7 @@
+ # https://msdn.microsoft.com/en-us/library/dn502518.aspx
+ cflags.append('/FS')
+ # ninja handles parallelism by itself, don't have the compiler do it too.
+- cflags = filter(lambda x: not x.startswith('/MP'), cflags)
++ cflags = [x for x in cflags if not x.startswith('/MP')]
+ return cflags
+
+ def _GetPchFlags(self, config, extension):
+@@ -649,19 +658,17 @@
+
+ # If the base address is not specifically controlled, DYNAMICBASE should
+ # be on by default.
+- base_flags = filter(lambda x: 'DYNAMICBASE' in x or x == '/FIXED',
+- ldflags)
+- if not base_flags:
++ if not any('DYNAMICBASE' in flag or flag == '/FIXED' for flag in ldflags):
+ ldflags.append('/DYNAMICBASE')
+
+ # If the NXCOMPAT flag has not been specified, default to on. Despite the
+ # documentation that says this only defaults to on when the subsystem is
+ # Vista or greater (which applies to the linker), the IDE defaults it on
+ # unless it's explicitly off.
+- if not filter(lambda x: 'NXCOMPAT' in x, ldflags):
++ if not any('NXCOMPAT' in flag for flag in ldflags):
+ ldflags.append('/NXCOMPAT')
+
+- have_def_file = filter(lambda x: x.startswith('/DEF:'), ldflags)
++ have_def_file = any(flag.startswith('/DEF:') for flag in ldflags)
+ manifest_flags, intermediate_manifest, manifest_files = \
+ self._GetLdManifestFlags(config, manifest_base_name, gyp_to_build_path,
+ is_executable and not have_def_file, build_dir)
+@@ -953,7 +960,7 @@
+ """Expand $(Variable) per expansions dict. See MsvsSettings.GetVSMacroEnv
+ for the canonical way to retrieve a suitable dict."""
+ if '$' in string:
+- for old, new in expansions.iteritems():
++ for old, new in expansions.items():
+ assert '$(' not in new, new
+ string = string.replace(old, new)
+ return string
+@@ -1001,7 +1008,7 @@
+ CreateProcess documentation for more details."""
+ block = ''
+ nul = '\0'
+- for key, value in envvar_dict.iteritems():
++ for key, value in envvar_dict.items():
+ block += key + '=' + value + nul
+ block += nul
+ return block
+@@ -1056,7 +1063,7 @@
+ env['INCLUDE'] = ';'.join(system_includes)
+
+ env_block = _FormatAsEnvironmentBlock(env)
+- f = open_out(os.path.join(toplevel_build_dir, 'environment.' + arch), 'wb')
++ f = open_out(os.path.join(toplevel_build_dir, 'environment.' + arch), 'w')
+ f.write(env_block)
+ f.close()
+
+@@ -1078,7 +1085,7 @@
+ if int(generator_flags.get('msvs_error_on_missing_sources', 0)):
+ no_specials = filter(lambda x: '$' not in x, sources)
+ relative = [os.path.join(build_dir, gyp_to_ninja(s)) for s in no_specials]
+- missing = filter(lambda x: not os.path.exists(x), relative)
++ missing = [x for x in relative if not os.path.exists(x)]
+ if missing:
+ # They'll look like out\Release\..\..\stuff\things.cc, so normalize the
+ # path for a slightly less crazy looking output.
+diff --git a/tools/gyp/pylib/gyp/ordered_dict.py b/pylib/gyp/ordered_dict.py
+deleted file mode 100644
+index a1e89f9..0000000
+--- a/tools/gyp/pylib/gyp/ordered_dict.py
++++ /dev/null
+@@ -1,289 +0,0 @@
+-# Unmodified from http://code.activestate.com/recipes/576693/
+-# other than to add MIT license header (as specified on page, but not in code).
+-# Linked from Python documentation here:
+-# http://docs.python.org/2/library/collections.html#collections.OrderedDict
+-#
+-# This should be deleted once Py2.7 is available on all bots, see
+-# http://crbug.com/241769.
+-#
+-# Copyright (c) 2009 Raymond Hettinger.
+-#
+-# Permission is hereby granted, free of charge, to any person obtaining a copy
+-# of this software and associated documentation files (the "Software"), to deal
+-# in the Software without restriction, including without limitation the rights
+-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+-# copies of the Software, and to permit persons to whom the Software is
+-# furnished to do so, subject to the following conditions:
+-#
+-# The above copyright notice and this permission notice shall be included in
+-# all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+-# THE SOFTWARE.
+-
+-# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy.
+-# Passes Python2.7's test suite and incorporates all the latest updates.
+-
+-try:
+- from thread import get_ident as _get_ident
+-except ImportError:
+- from dummy_thread import get_ident as _get_ident
+-
+-try:
+- from _abcoll import KeysView, ValuesView, ItemsView
+-except ImportError:
+- pass
+-
+-
+-class OrderedDict(dict):
+- 'Dictionary that remembers insertion order'
+- # An inherited dict maps keys to values.
+- # The inherited dict provides __getitem__, __len__, __contains__, and get.
+- # The remaining methods are order-aware.
+- # Big-O running times for all methods are the same as for regular dictionaries.
+-
+- # The internal self.__map dictionary maps keys to links in a doubly linked list.
+- # The circular doubly linked list starts and ends with a sentinel element.
+- # The sentinel element never gets deleted (this simplifies the algorithm).
+- # Each link is stored as a list of length three: [PREV, NEXT, KEY].
+-
+- def __init__(self, *args, **kwds):
+- '''Initialize an ordered dictionary. Signature is the same as for
+- regular dictionaries, but keyword arguments are not recommended
+- because their insertion order is arbitrary.
+-
+- '''
+- if len(args) > 1:
+- raise TypeError('expected at most 1 arguments, got %d' % len(args))
+- try:
+- self.__root
+- except AttributeError:
+- self.__root = root = [] # sentinel node
+- root[:] = [root, root, None]
+- self.__map = {}
+- self.__update(*args, **kwds)
+-
+- def __setitem__(self, key, value, dict_setitem=dict.__setitem__):
+- 'od.__setitem__(i, y) <==> od[i]=y'
+- # Setting a new item creates a new link which goes at the end of the linked
+- # list, and the inherited dictionary is updated with the new key/value pair.
+- if key not in self:
+- root = self.__root
+- last = root[0]
+- last[1] = root[0] = self.__map[key] = [last, root, key]
+- dict_setitem(self, key, value)
+-
+- def __delitem__(self, key, dict_delitem=dict.__delitem__):
+- 'od.__delitem__(y) <==> del od[y]'
+- # Deleting an existing item uses self.__map to find the link which is
+- # then removed by updating the links in the predecessor and successor nodes.
+- dict_delitem(self, key)
+- link_prev, link_next, key = self.__map.pop(key)
+- link_prev[1] = link_next
+- link_next[0] = link_prev
+-
+- def __iter__(self):
+- 'od.__iter__() <==> iter(od)'
+- root = self.__root
+- curr = root[1]
+- while curr is not root:
+- yield curr[2]
+- curr = curr[1]
+-
+- def __reversed__(self):
+- 'od.__reversed__() <==> reversed(od)'
+- root = self.__root
+- curr = root[0]
+- while curr is not root:
+- yield curr[2]
+- curr = curr[0]
+-
+- def clear(self):
+- 'od.clear() -> None. Remove all items from od.'
+- try:
+- for node in self.__map.itervalues():
+- del node[:]
+- root = self.__root
+- root[:] = [root, root, None]
+- self.__map.clear()
+- except AttributeError:
+- pass
+- dict.clear(self)
+-
+- def popitem(self, last=True):
+- '''od.popitem() -> (k, v), return and remove a (key, value) pair.
+- Pairs are returned in LIFO order if last is true or FIFO order if false.
+-
+- '''
+- if not self:
+- raise KeyError('dictionary is empty')
+- root = self.__root
+- if last:
+- link = root[0]
+- link_prev = link[0]
+- link_prev[1] = root
+- root[0] = link_prev
+- else:
+- link = root[1]
+- link_next = link[1]
+- root[1] = link_next
+- link_next[0] = root
+- key = link[2]
+- del self.__map[key]
+- value = dict.pop(self, key)
+- return key, value
+-
+- # -- the following methods do not depend on the internal structure --
+-
+- def keys(self):
+- 'od.keys() -> list of keys in od'
+- return list(self)
+-
+- def values(self):
+- 'od.values() -> list of values in od'
+- return [self[key] for key in self]
+-
+- def items(self):
+- 'od.items() -> list of (key, value) pairs in od'
+- return [(key, self[key]) for key in self]
+-
+- def iterkeys(self):
+- 'od.iterkeys() -> an iterator over the keys in od'
+- return iter(self)
+-
+- def itervalues(self):
+- 'od.itervalues -> an iterator over the values in od'
+- for k in self:
+- yield self[k]
+-
+- def iteritems(self):
+- 'od.iteritems -> an iterator over the (key, value) items in od'
+- for k in self:
+- yield (k, self[k])
+-
+- # Suppress 'OrderedDict.update: Method has no argument':
+- # pylint: disable=E0211
+- def update(*args, **kwds):
+- '''od.update(E, **F) -> None. Update od from dict/iterable E and F.
+-
+- If E is a dict instance, does: for k in E: od[k] = E[k]
+- If E has a .keys() method, does: for k in E.keys(): od[k] = E[k]
+- Or if E is an iterable of items, does: for k, v in E: od[k] = v
+- In either case, this is followed by: for k, v in F.items(): od[k] = v
+-
+- '''
+- if len(args) > 2:
+- raise TypeError('update() takes at most 2 positional '
+- 'arguments (%d given)' % (len(args),))
+- elif not args:
+- raise TypeError('update() takes at least 1 argument (0 given)')
+- self = args[0]
+- # Make progressively weaker assumptions about "other"
+- other = ()
+- if len(args) == 2:
+- other = args[1]
+- if isinstance(other, dict):
+- for key in other:
+- self[key] = other[key]
+- elif hasattr(other, 'keys'):
+- for key in other.keys():
+- self[key] = other[key]
+- else:
+- for key, value in other:
+- self[key] = value
+- for key, value in kwds.items():
+- self[key] = value
+-
+- __update = update # let subclasses override update without breaking __init__
+-
+- __marker = object()
+-
+- def pop(self, key, default=__marker):
+- '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
+- If key is not found, d is returned if given, otherwise KeyError is raised.
+-
+- '''
+- if key in self:
+- result = self[key]
+- del self[key]
+- return result
+- if default is self.__marker:
+- raise KeyError(key)
+- return default
+-
+- def setdefault(self, key, default=None):
+- 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od'
+- if key in self:
+- return self[key]
+- self[key] = default
+- return default
+-
+- def __repr__(self, _repr_running={}):
+- 'od.__repr__() <==> repr(od)'
+- call_key = id(self), _get_ident()
+- if call_key in _repr_running:
+- return '...'
+- _repr_running[call_key] = 1
+- try:
+- if not self:
+- return '%s()' % (self.__class__.__name__,)
+- return '%s(%r)' % (self.__class__.__name__, self.items())
+- finally:
+- del _repr_running[call_key]
+-
+- def __reduce__(self):
+- 'Return state information for pickling'
+- items = [[k, self[k]] for k in self]
+- inst_dict = vars(self).copy()
+- for k in vars(OrderedDict()):
+- inst_dict.pop(k, None)
+- if inst_dict:
+- return (self.__class__, (items,), inst_dict)
+- return self.__class__, (items,)
+-
+- def copy(self):
+- 'od.copy() -> a shallow copy of od'
+- return self.__class__(self)
+-
+- @classmethod
+- def fromkeys(cls, iterable, value=None):
+- '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
+- and values equal to v (which defaults to None).
+-
+- '''
+- d = cls()
+- for key in iterable:
+- d[key] = value
+- return d
+-
+- def __eq__(self, other):
+- '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive
+- while comparison to a regular mapping is order-insensitive.
+-
+- '''
+- if isinstance(other, OrderedDict):
+- return len(self)==len(other) and self.items() == other.items()
+- return dict.__eq__(self, other)
+-
+- def __ne__(self, other):
+- return not self == other
+-
+- # -- the following methods are only used in Python 2.7 --
+-
+- def viewkeys(self):
+- "od.viewkeys() -> a set-like object providing a view on od's keys"
+- return KeysView(self)
+-
+- def viewvalues(self):
+- "od.viewvalues() -> an object providing a view on od's values"
+- return ValuesView(self)
+-
+- def viewitems(self):
+- "od.viewitems() -> a set-like object providing a view on od's items"
+- return ItemsView(self)
+-
+diff --git a/tools/gyp/pylib/gyp/simple_copy.py b/pylib/gyp/simple_copy.py
+index eaf5f8b..58a61c3 100644
+--- a/tools/gyp/pylib/gyp/simple_copy.py
++++ b/tools/gyp/pylib/gyp/simple_copy.py
+@@ -49,7 +49,7 @@
+
+ def _deepcopy_dict(x):
+ y = {}
+- for key, value in x.iteritems():
++ for key, value in x.items():
+ y[deepcopy(key)] = deepcopy(value)
+ return y
+ d[dict] = _deepcopy_dict
+diff --git a/tools/gyp/pylib/gyp/win_tool.py b/pylib/gyp/win_tool.py
+index 1c843a0..8973484 100755
+--- a/tools/gyp/pylib/gyp/win_tool.py
++++ b/tools/gyp/pylib/gyp/win_tool.py
+@@ -9,6 +9,8 @@
+ These functions are executed via gyp-win-tool when using the ninja generator.
+ """
+
++from __future__ import print_function
++
+ import os
+ import re
+ import shutil
+@@ -134,7 +136,7 @@
+ if (not line.startswith(' Creating library ') and
+ not line.startswith('Generating code') and
+ not line.startswith('Finished generating code')):
+- print line
++ print(line)
+ return link.returncode
+
+ def ExecLinkWithManifests(self, arch, embed_manifest, out, ldcmd, resname,
+@@ -193,16 +195,18 @@
+ our_manifest = '%(out)s.manifest' % variables
+ # Load and normalize the manifests. mt.exe sometimes removes whitespace,
+ # and sometimes doesn't unfortunately.
+- with open(our_manifest, 'rb') as our_f:
+- with open(assert_manifest, 'rb') as assert_f:
++ with open(our_manifest, 'r') as our_f:
++ with open(assert_manifest, 'r') as assert_f:
+ our_data = our_f.read().translate(None, string.whitespace)
+ assert_data = assert_f.read().translate(None, string.whitespace)
+ if our_data != assert_data:
+ os.unlink(out)
+ def dump(filename):
+- sys.stderr.write('%s\n-----\n' % filename)
+- with open(filename, 'rb') as f:
+- sys.stderr.write(f.read() + '\n-----\n')
++ print(filename, file=sys.stderr)
++ print('-----', file=sys.stderr)
++ with open(filename, 'r') as f:
++ print(f.read(), file=sys.stderr)
++ print('-----', file=sys.stderr)
+ dump(intermediate_manifest)
+ dump(our_manifest)
+ dump(assert_manifest)
+@@ -223,7 +227,7 @@
+ out, _ = popen.communicate()
+ for line in out.splitlines():
+ if line and 'manifest authoring warning 81010002' not in line:
+- print line
++ print(line)
+ return popen.returncode
+
+ def ExecManifestToRc(self, arch, *args):
+@@ -231,7 +235,7 @@
+ |args| is tuple containing path to resource file, path to manifest file
+ and resource name which can be "1" (for executables) or "2" (for DLLs)."""
+ manifest_path, resource_path, resource_name = args
+- with open(resource_path, 'wb') as output:
++ with open(resource_path, 'w') as output:
+ output.write('#include <windows.h>\n%s RT_MANIFEST "%s"' % (
+ resource_name,
+ os.path.abspath(manifest_path).replace('\\', '/')))
+@@ -263,7 +267,7 @@
+ for x in lines if x.startswith(prefixes))
+ for line in lines:
+ if not line.startswith(prefixes) and line not in processing:
+- print line
++ print(line)
+ return popen.returncode
+
+ def ExecAsmWrapper(self, arch, *args):
+@@ -277,7 +281,7 @@
+ not line.startswith('Microsoft (R) Macro Assembler') and
+ not line.startswith(' Assembling: ') and
+ line):
+- print line
++ print(line)
+ return popen.returncode
+
+ def ExecRcWrapper(self, arch, *args):
+@@ -291,7 +295,7 @@
+ if (not line.startswith('Microsoft (R) Windows (R) Resource Compiler') and
+ not line.startswith('Copyright (C) Microsoft Corporation') and
+ line):
+- print line
++ print(line)
+ return popen.returncode
+
+ def ExecActionWrapper(self, arch, rspfile, *dir):
+@@ -300,7 +304,7 @@
+ env = self._GetEnv(arch)
+ # TODO(scottmg): This is a temporary hack to get some specific variables
+ # through to actions that are set after gyp-time. http://crbug.com/333738.
+- for k, v in os.environ.iteritems():
++ for k, v in os.environ.items():
+ if k not in env:
+ env[k] = v
+ args = open(rspfile).read()
+diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/pylib/gyp/xcode_emulation.py
+index dba8e76..4c875de 100644
+--- a/tools/gyp/pylib/gyp/xcode_emulation.py
++++ b/tools/gyp/pylib/gyp/xcode_emulation.py
+@@ -7,6 +7,8 @@
+ other build systems, such as make and ninja.
+ """
+
++from __future__ import print_function
++
+ import copy
+ import gyp.common
+ import os
+@@ -73,7 +75,7 @@
+ if arch not in expanded_archs:
+ expanded_archs.append(arch)
+ except KeyError as e:
+- print 'Warning: Ignoring unsupported variable "%s".' % variable
++ print('Warning: Ignoring unsupported variable "%s".' % variable)
+ elif arch not in expanded_archs:
+ expanded_archs.append(arch)
+ return expanded_archs
+@@ -171,7 +173,7 @@
+ # the same for all configs are implicitly per-target settings.
+ self.xcode_settings = {}
+ configs = spec['configurations']
+- for configname, config in configs.iteritems():
++ for configname, config in configs.items():
+ self.xcode_settings[configname] = config.get('xcode_settings', {})
+ self._ConvertConditionalKeys(configname)
+ if self.xcode_settings[configname].get('IPHONEOS_DEPLOYMENT_TARGET',
+@@ -197,8 +199,8 @@
+ new_key = key.split("[")[0]
+ settings[new_key] = settings[key]
+ else:
+- print 'Warning: Conditional keys not implemented, ignoring:', \
+- ' '.join(conditional_keys)
++ print('Warning: Conditional keys not implemented, ignoring:', \
++ ' '.join(conditional_keys))
+ del settings[key]
+
+ def _Settings(self):
+@@ -216,7 +218,7 @@
+
+ def _WarnUnimplemented(self, test_key):
+ if test_key in self._Settings():
+- print 'Warning: Ignoring not yet implemented key "%s".' % test_key
++ print('Warning: Ignoring not yet implemented key "%s".' % test_key)
+
+ def IsBinaryOutputFormat(self, configname):
+ default = "binary" if self.isIOS else "xml"
+@@ -963,7 +965,7 @@
+ result = dict(self.xcode_settings[configname])
+ first_pass = False
+ else:
+- for key, value in self.xcode_settings[configname].iteritems():
++ for key, value in self.xcode_settings[configname].items():
+ if key not in result:
+ continue
+ elif result[key] != value:
+@@ -1084,8 +1086,8 @@
+ unimpl = ['OTHER_CODE_SIGN_FLAGS']
+ unimpl = set(unimpl) & set(self.xcode_settings[configname].keys())
+ if unimpl:
+- print 'Warning: Some codesign keys not implemented, ignoring: %s' % (
+- ', '.join(sorted(unimpl)))
++ print('Warning: Some codesign keys not implemented, ignoring: %s' % (
++ ', '.join(sorted(unimpl))))
+
+ if self._IsXCTest():
+ # For device xctests, Xcode copies two extra frameworks into $TEST_HOST.
+@@ -1737,7 +1739,7 @@
+ order = gyp.common.TopologicallySorted(env.keys(), GetEdges)
+ order.reverse()
+ return order
+- except gyp.common.CycleError, e:
++ except gyp.common.CycleError as e:
+ raise GypError(
+ 'Xcode environment variables are cyclically dependent: ' + str(e.nodes))
+
+@@ -1774,10 +1776,11 @@
+ def _AddIOSDeviceConfigurations(targets):
+ """Clone all targets and append -iphoneos to the name. Configure these targets
+ to build for iOS devices and use correct architectures for those builds."""
+- for target_dict in targets.itervalues():
++ for target_dict in targets.values():
+ toolset = target_dict['toolset']
+ configs = target_dict['configurations']
+- for config_name, simulator_config_dict in dict(configs).iteritems():
++
++ for config_name, simulator_config_dict in dict(configs).items():
+ iphoneos_config_dict = copy.deepcopy(simulator_config_dict)
+ configs[config_name + '-iphoneos'] = iphoneos_config_dict
+ configs[config_name + '-iphonesimulator'] = simulator_config_dict
+diff --git a/tools/gyp/pylib/gyp/xcode_ninja.py b/pylib/gyp/xcode_ninja.py
+index bc76fff..1d71b8c 100644
+--- a/tools/gyp/pylib/gyp/xcode_ninja.py
++++ b/tools/gyp/pylib/gyp/xcode_ninja.py
+@@ -28,7 +28,7 @@
+ workspace_path = os.path.join(options.generator_output, workspace_path)
+ try:
+ os.makedirs(workspace_path)
+- except OSError, e:
++ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
+ output_string = '<?xml version="1.0" encoding="UTF-8"?>\n' + \
+@@ -85,7 +85,7 @@
+ "%s/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)" % ninja_toplevel
+
+ if 'configurations' in old_spec:
+- for config in old_spec['configurations'].iterkeys():
++ for config in old_spec['configurations'].keys():
+ old_xcode_settings = \
+ old_spec['configurations'][config].get('xcode_settings', {})
+ if 'IPHONEOS_DEPLOYMENT_TARGET' in old_xcode_settings:
+@@ -167,7 +167,7 @@
+ params: Dict of global options for gyp.
+ """
+ orig_gyp = params['build_files'][0]
+- for gyp_name, gyp_dict in data.iteritems():
++ for gyp_name, gyp_dict in data.items():
+ if gyp_name == orig_gyp:
+ depth = gyp_dict['_DEPTH']
+
+@@ -238,7 +238,7 @@
+ not generator_flags.get('xcode_ninja_list_excluded_files', True)
+
+ sources = []
+- for target, target_dict in target_dicts.iteritems():
++ for target, target_dict in target_dicts.items():
+ base = os.path.dirname(target)
+ files = target_dict.get('sources', []) + \
+ target_dict.get('mac_bundle_resources', [])
+diff --git a/tools/gyp/pylib/gyp/xcodeproj_file.py b/pylib/gyp/xcodeproj_file.py
+index e69235f..bd238f6 100644
+--- a/tools/gyp/pylib/gyp/xcodeproj_file.py
++++ b/tools/gyp/pylib/gyp/xcodeproj_file.py
+@@ -154,6 +154,11 @@
+ import sha
+ _new_sha1 = sha.new
+
++try:
++ # basestring was removed in python3.
++ basestring
++except NameError:
++ basestring = str
+
+ # See XCObject._EncodeString. This pattern is used to determine when a string
+ # can be printed unquoted. Strings that match this pattern may be printed
+@@ -314,7 +319,7 @@
+ """
+
+ that = self.__class__(id=self.id, parent=self.parent)
+- for key, value in self._properties.iteritems():
++ for key, value in self._properties.items():
+ is_strong = self._schema[key][2]
+
+ if isinstance(value, XCObject):
+@@ -324,8 +329,7 @@
+ that._properties[key] = new_value
+ else:
+ that._properties[key] = value
+- elif isinstance(value, str) or isinstance(value, unicode) or \
+- isinstance(value, int):
++ elif isinstance(value, basestring) or isinstance(value, int):
+ that._properties[key] = value
+ elif isinstance(value, list):
+ if is_strong:
+@@ -449,10 +453,10 @@
+ # is 160 bits. Instead of throwing out 64 bits of the digest, xor them
+ # into the portion that gets used.
+ assert hash.digest_size % 4 == 0
+- digest_int_count = hash.digest_size / 4
++ digest_int_count = hash.digest_size // 4
+ digest_ints = struct.unpack('>' + 'I' * digest_int_count, hash.digest())
+ id_ints = [0, 0, 0]
+- for index in xrange(0, digest_int_count):
++ for index in range(0, digest_int_count):
+ id_ints[index % 3] ^= digest_ints[index]
+ self.id = '%08X%08X%08X' % tuple(id_ints)
+
+@@ -475,7 +479,7 @@
+ """Returns a list of all of this object's owned (strong) children."""
+
+ children = []
+- for property, attributes in self._schema.iteritems():
++ for property, attributes in self._schema.items():
+ (is_list, property_type, is_strong) = attributes[0:3]
+ if is_strong and property in self._properties:
+ if not is_list:
+@@ -603,7 +607,12 @@
+ comment = value.Comment()
+ elif isinstance(value, str):
+ printable += self._EncodeString(value)
+- elif isinstance(value, unicode):
++ # A python3 compatible way of saying isinstance(value, unicode).
++ # basestring is str in python3 so this is equivalent to the above
++ # isinstance. Thus if it failed above it will fail here.
++ # In python2 we test against str and unicode at this point. str has already
++ # failed in the above isinstance so we test against unicode.
++ elif isinstance(value, basestring):
+ printable += self._EncodeString(value.encode('utf-8'))
+ elif isinstance(value, int):
+ printable += str(value)
+@@ -622,7 +631,7 @@
+ printable += end_tabs + ')'
+ elif isinstance(value, dict):
+ printable = '{' + sep
+- for item_key, item_value in sorted(value.iteritems()):
++ for item_key, item_value in sorted(value.items()):
+ printable += element_tabs + \
+ self._XCPrintableValue(tabs + 1, item_key, flatten_list) + ' = ' + \
+ self._XCPrintableValue(tabs + 1, item_value, flatten_list) + ';' + \
+@@ -691,7 +700,7 @@
+ printable_value[0] == '"' and printable_value[-1] == '"':
+ printable_value = printable_value[1:-1]
+ printable += printable_key + ' = ' + printable_value + ';' + after_kv
+- except TypeError, e:
++ except TypeError as e:
+ gyp.common.ExceptionAppend(e,
+ 'while printing key "%s"' % key)
+ raise
+@@ -730,7 +739,7 @@
+ self._XCKVPrint(file, 3, 'isa', self.__class__.__name__)
+
+ # The remaining elements of an object dictionary are sorted alphabetically.
+- for property, value in sorted(self._properties.iteritems()):
++ for property, value in sorted(self._properties.items()):
+ self._XCKVPrint(file, 3, property, value)
+
+ # End the object.
+@@ -752,7 +761,7 @@
+ if properties is None:
+ return
+
+- for property, value in properties.iteritems():
++ for property, value in properties.items():
+ # Make sure the property is in the schema.
+ if not property in self._schema:
+ raise KeyError(property + ' not in ' + self.__class__.__name__)
+@@ -766,7 +775,7 @@
+ ' must be list, not ' + value.__class__.__name__)
+ for item in value:
+ if not isinstance(item, property_type) and \
+- not (item.__class__ == unicode and property_type == str):
++ not (isinstance(item, basestring) and property_type == str):
+ # Accept unicode where str is specified. str is treated as
+ # UTF-8-encoded.
+ raise TypeError(
+@@ -774,7 +783,7 @@
+ ' must be ' + property_type.__name__ + ', not ' + \
+ item.__class__.__name__)
+ elif not isinstance(value, property_type) and \
+- not (value.__class__ == unicode and property_type == str):
++ not (isinstance(value, basestring) and property_type == str):
+ # Accept unicode where str is specified. str is treated as
+ # UTF-8-encoded.
+ raise TypeError(
+@@ -788,8 +797,7 @@
+ self._properties[property] = value.Copy()
+ else:
+ self._properties[property] = value
+- elif isinstance(value, str) or isinstance(value, unicode) or \
+- isinstance(value, int):
++ elif isinstance(value, basestring) or isinstance(value, int):
+ self._properties[property] = value
+ elif isinstance(value, list):
+ if is_strong:
+@@ -865,7 +873,7 @@
+
+ # TODO(mark): A stronger verification mechanism is needed. Some
+ # subclasses need to perform validation beyond what the schema can enforce.
+- for property, attributes in self._schema.iteritems():
++ for property, attributes in self._schema.items():
+ (is_list, property_type, is_strong, is_required) = attributes[0:4]
+ if is_required and not property in self._properties:
+ raise KeyError(self.__class__.__name__ + ' requires ' + property)
+@@ -875,7 +883,7 @@
+ overwrite properties that have already been set."""
+
+ defaults = {}
+- for property, attributes in self._schema.iteritems():
++ for property, attributes in self._schema.items():
+ (is_list, property_type, is_strong, is_required) = attributes[0:4]
+ if is_required and len(attributes) >= 5 and \
+ not property in self._properties:
+@@ -1426,8 +1434,8 @@
+ xche = self
+ while xche != None and isinstance(xche, XCHierarchicalElement):
+ xche_hashables = xche.Hashables()
+- for index in xrange(0, len(xche_hashables)):
+- hashables.insert(index, xche_hashables[index])
++ for index, xche_hashable in enumerate(xche_hashables):
++ hashables.insert(index, xche_hashable)
+ xche = xche.parent
+ return hashables
+
+@@ -2468,8 +2476,7 @@
+ # The headers phase should come before the resources, sources, and
+ # frameworks phases, if any.
+ insert_at = len(self._properties['buildPhases'])
+- for index in xrange(0, len(self._properties['buildPhases'])):
+- phase = self._properties['buildPhases'][index]
++ for index, phase in enumerate(self._properties['buildPhases']):
+ if isinstance(phase, PBXResourcesBuildPhase) or \
+ isinstance(phase, PBXSourcesBuildPhase) or \
+ isinstance(phase, PBXFrameworksBuildPhase):
+@@ -2489,8 +2496,7 @@
+ # The resources phase should come before the sources and frameworks
+ # phases, if any.
+ insert_at = len(self._properties['buildPhases'])
+- for index in xrange(0, len(self._properties['buildPhases'])):
+- phase = self._properties['buildPhases'][index]
++ for index, phase in enumerate(self._properties['buildPhases']):
+ if isinstance(phase, PBXSourcesBuildPhase) or \
+ isinstance(phase, PBXFrameworksBuildPhase):
+ insert_at = index
+@@ -2911,7 +2917,7 @@
+ # determine the sort order.
+ return cmp(x_index, y_index)
+
+- for other_pbxproject, ref_dict in self._other_pbxprojects.iteritems():
++ for other_pbxproject, ref_dict in self._other_pbxprojects.items():
+ # Build up a list of products in the remote project file, ordered the
+ # same as the targets that produce them.
+ remote_products = []
+diff --git a/tools/gyp/pylib/gyp/xml_fix.py b/pylib/gyp/xml_fix.py
+index 5de8481..4308d99 100644
+--- a/tools/gyp/pylib/gyp/xml_fix.py
++++ b/tools/gyp/pylib/gyp/xml_fix.py
+@@ -32,8 +32,7 @@
+ writer.write(indent+"<" + self.tagName)
+
+ attrs = self._get_attributes()
+- a_names = attrs.keys()
+- a_names.sort()
++ a_names = sorted(attrs.keys())
+
+ for a_name in a_names:
+ writer.write(" %s=\"" % a_name)
+diff --git a/tools/gyp/tools/graphviz.py b/tools/graphviz.py
+index 326ae22..538b059 100755
+--- a/tools/gyp/tools/graphviz.py
++++ b/tools/gyp/tools/graphviz.py
+@@ -8,6 +8,8 @@
+ generate input suitable for graphviz to render a dependency graph of
+ targets."""
+
++from __future__ import print_function
++
+ import collections
+ import json
+ import sys
+@@ -50,9 +52,9 @@
+ build_file, target_name, toolset = ParseTarget(src)
+ files[build_file].append(src)
+
+- print 'digraph D {'
+- print ' fontsize=8' # Used by subgraphs.
+- print ' node [fontsize=8]'
++ print('digraph D {')
++ print(' fontsize=8') # Used by subgraphs.
++ print(' node [fontsize=8]')
+
+ # Output nodes by file. We must first write out each node within
+ # its file grouping before writing out any edges that may refer
+@@ -63,31 +65,31 @@
+ # the display by making it a box without an internal node.
+ target = targets[0]
+ build_file, target_name, toolset = ParseTarget(target)
+- print ' "%s" [shape=box, label="%s\\n%s"]' % (target, filename,
+- target_name)
++ print(' "%s" [shape=box, label="%s\\n%s"]' % (target, filename,
++ target_name))
+ else:
+ # Group multiple nodes together in a subgraph.
+- print ' subgraph "cluster_%s" {' % filename
+- print ' label = "%s"' % filename
++ print(' subgraph "cluster_%s" {' % filename)
++ print(' label = "%s"' % filename)
+ for target in targets:
+ build_file, target_name, toolset = ParseTarget(target)
+- print ' "%s" [label="%s"]' % (target, target_name)
+- print ' }'
++ print(' "%s" [label="%s"]' % (target, target_name))
++ print(' }')
+
+ # Now that we've placed all the nodes within subgraphs, output all
+ # the edges between nodes.
+ for src, dsts in edges.items():
+ for dst in dsts:
+- print ' "%s" -> "%s"' % (src, dst)
++ print(' "%s" -> "%s"' % (src, dst))
+
+- print '}'
++ print('}')
+
+
+ def main():
+ if len(sys.argv) < 2:
+- print >>sys.stderr, __doc__
+- print >>sys.stderr
+- print >>sys.stderr, 'usage: %s target1 target2...' % (sys.argv[0])
++ print(__doc__, file=sys.stderr)
++ print(file=sys.stderr)
++ print('usage: %s target1 target2...' % (sys.argv[0]), file=sys.stderr)
+ return 1
+
+ edges = LoadEdges('dump.json', sys.argv[1:])
+diff --git a/tools/gyp/tools/pretty_gyp.py b/tools/pretty_gyp.py
+index d5736bb..5060d1d 100755
+--- a/tools/gyp/tools/pretty_gyp.py
++++ b/tools/gyp/tools/pretty_gyp.py
+@@ -6,6 +6,8 @@
+
+ """Pretty-prints the contents of a GYP file."""
+
++from __future__ import print_function
++
+ import sys
+ import re
+
+@@ -125,15 +127,15 @@
+ (brace_diff, after) = count_braces(line)
+ if brace_diff != 0:
+ if after:
+- print " " * (basic_offset * indent) + line
++ print(" " * (basic_offset * indent) + line)
+ indent += brace_diff
+ else:
+ indent += brace_diff
+- print " " * (basic_offset * indent) + line
++ print(" " * (basic_offset * indent) + line)
+ else:
+- print " " * (basic_offset * indent) + line
++ print(" " * (basic_offset * indent) + line)
+ else:
+- print ""
++ print("")
+ last_line = line
+
+
+diff --git a/tools/gyp/tools/pretty_sln.py b/tools/pretty_sln.py
+index ca8cf4a..12a6dad 100755
+--- a/tools/gyp/tools/pretty_sln.py
++++ b/tools/gyp/tools/pretty_sln.py
+@@ -12,6 +12,8 @@
+ Then it outputs a possible build order.
+ """
+
++from __future__ import print_function
++
+ __author__ = 'nsylvain (Nicolas Sylvain)'
+
+ import os
+@@ -26,7 +28,7 @@
+ for dep in deps[project]:
+ if dep not in built:
+ BuildProject(dep, built, projects, deps)
+- print project
++ print(project)
+ built.append(project)
+
+ def ParseSolution(solution_file):
+@@ -100,44 +102,44 @@
+ return (projects, dependencies)
+
+ def PrintDependencies(projects, deps):
+- print "---------------------------------------"
+- print "Dependencies for all projects"
+- print "---------------------------------------"
+- print "-- --"
++ print("---------------------------------------")
++ print("Dependencies for all projects")
++ print("---------------------------------------")
++ print("-- --")
+
+ for (project, dep_list) in sorted(deps.items()):
+- print "Project : %s" % project
+- print "Path : %s" % projects[project][0]
++ print("Project : %s" % project)
++ print("Path : %s" % projects[project][0])
+ if dep_list:
+ for dep in dep_list:
+- print " - %s" % dep
+- print ""
++ print(" - %s" % dep)
++ print("")
+
+- print "-- --"
++ print("-- --")
+
+ def PrintBuildOrder(projects, deps):
+- print "---------------------------------------"
+- print "Build order "
+- print "---------------------------------------"
+- print "-- --"
++ print("---------------------------------------")
++ print("Build order ")
++ print("---------------------------------------")
++ print("-- --")
+
+ built = []
+ for (project, _) in sorted(deps.items()):
+ if project not in built:
+ BuildProject(project, built, projects, deps)
+
+- print "-- --"
++ print("-- --")
+
+ def PrintVCProj(projects):
+
+ for project in projects:
+- print "-------------------------------------"
+- print "-------------------------------------"
+- print project
+- print project
+- print project
+- print "-------------------------------------"
+- print "-------------------------------------"
++ print("-------------------------------------")
++ print("-------------------------------------")
++ print(project)
++ print(project)
++ print(project)
++ print("-------------------------------------")
++ print("-------------------------------------")
+
+ project_path = os.path.abspath(os.path.join(os.path.dirname(sys.argv[1]),
+ projects[project][2]))
+@@ -153,7 +155,7 @@
+ def main():
+ # check if we have exactly 1 parameter.
+ if len(sys.argv) < 2:
+- print 'Usage: %s "c:\\path\\to\\project.sln"' % sys.argv[0]
++ print('Usage: %s "c:\\path\\to\\project.sln"' % sys.argv[0])
+ return 1
+
+ (projects, deps) = ParseSolution(sys.argv[1])
+diff --git a/tools/gyp/tools/pretty_vcproj.py b/tools/pretty_vcproj.py
+index 6099bd7..f02e59e 100755
+--- a/tools/gyp/tools/pretty_vcproj.py
++++ b/tools/gyp/tools/pretty_vcproj.py
+@@ -12,6 +12,8 @@
+ It outputs the resulting xml to stdout.
+ """
+
++from __future__ import print_function
++
+ __author__ = 'nsylvain (Nicolas Sylvain)'
+
+ import os
+@@ -73,23 +75,23 @@
+
+ # Print the main tag
+ if attr_count == 0:
+- print '%s<%s>' % (' '*indent, node.nodeName)
++ print('%s<%s>' % (' '*indent, node.nodeName))
+ else:
+- print '%s<%s' % (' '*indent, node.nodeName)
++ print('%s<%s' % (' '*indent, node.nodeName))
+
+ all_attributes = []
+ for (name, value) in node.attributes.items():
+ all_attributes.append((name, value))
+- all_attributes.sort(CmpTuple())
++ all_attributes.sort(key=(lambda attr: attr[0]))
+ for (name, value) in all_attributes:
+- print '%s %s="%s"' % (' '*indent, name, value)
+- print '%s>' % (' '*indent)
++ print('%s %s="%s"' % (' '*indent, name, value))
++ print('%s>' % (' '*indent))
+ if node.nodeValue:
+- print '%s %s' % (' '*indent, node.nodeValue)
++ print('%s %s' % (' '*indent, node.nodeValue))
+
+ for sub_node in node.childNodes:
+ PrettyPrintNode(sub_node, indent=indent+2)
+- print '%s</%s>' % (' '*indent, node.nodeName)
++ print('%s</%s>' % (' '*indent, node.nodeName))
+
+
+ def FlattenFilter(node):
+@@ -283,8 +285,8 @@
+
+ # check if we have exactly 1 parameter.
+ if len(argv) < 2:
+- print ('Usage: %s "c:\\path\\to\\vcproj.vcproj" [key1=value1] '
+- '[key2=value2]' % argv[0])
++ print('Usage: %s "c:\\path\\to\\vcproj.vcproj" [key1=value1] '
++ '[key2=value2]' % argv[0])
+ return 1
+
+ # Parse the keys
+diff --git a/tools/gyp/gyptest.py b/gyptest.py
+index 9930e78..1a9ffca 100755
+--- a/tools/gyp/gyptest.py
++++ b/tools/gyp/gyptest.py
+@@ -58,7 +58,7 @@
+ os.chdir(args.chdir)
+
+ if args.path:
+- extra_path = [os.path.abspath(p) for p in opts.path]
++ extra_path = [os.path.abspath(p) for p in args.path]
+ extra_path = os.pathsep.join(extra_path)
+ os.environ['PATH'] = extra_path + os.pathsep + os.environ['PATH']
+
+diff --git a/tools/gyp/pylib/gyp/MSVSNew.py b/pylib/gyp/MSVSNew.py
+index 593f0e5..0445931 100644
+--- a/tools/gyp/pylib/gyp/MSVSNew.py
++++ b/tools/gyp/pylib/gyp/MSVSNew.py
+@@ -21,6 +21,13 @@
+ _new_md5 = md5.new
+
+
++try:
++ # cmp was removed in python3.
++ cmp
++except NameError:
++ def cmp(a, b):
++ return (a > b) - (a < b)
++
+ # Initialize random number generator
+ random.seed()
+
+diff --git a/tools/gyp/pylib/gyp/common.py b/pylib/gyp/common.py
+index 1823de8..b268d22 100644
+--- a/tools/gyp/pylib/gyp/common.py
++++ b/tools/gyp/pylib/gyp/common.py
+@@ -584,7 +584,7 @@
+ graph = {'a': '$(b) $(c)', 'b': 'hi', 'c': '$(b)'}
+ def GetEdges(node):
+ return re.findall(r'\$\(([^))]\)', graph[node])
+- print TopologicallySorted(graph.keys(), GetEdges)
++ print(TopologicallySorted(graph.keys(), GetEdges))
+ ==>
+ ['a', 'c', b']
+ """
+diff --git a/tools/gyp/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py
+index 2057e3a..8c2827e 100644
+--- a/tools/gyp/pylib/gyp/generator/make.py
++++ b/tools/gyp/pylib/gyp/generator/make.py
+@@ -1636,7 +1636,7 @@
+ self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all,
+ postbuilds=postbuilds)
+ else:
+- print("WARNING: no output for", self.type, target)
++ print("WARNING: no output for", self.type, self.target)
+
+ # Add an alias for each target (if there are any outputs).
+ # Installable target aliases are created below.
+diff --git a/tools/gyp/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py
+index e8a2b36..9eac028 100644
+--- a/tools/gyp/pylib/gyp/generator/msvs.py
++++ b/tools/gyp/pylib/gyp/generator/msvs.py
+@@ -308,10 +308,8 @@
+ if names:
+ return names[0]
+ else:
+- print >> sys.stdout, (
+- 'Warning: No include files found for '
+- 'detected Windows SDK version %s' % (version)
+- )
++ print('Warning: No include files found for '
++ 'detected Windows SDK version %s' % (version))
+
+
+ def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path,
+@@ -2065,7 +2063,7 @@
+ if generator_flags.get('msvs_error_on_missing_sources', False):
+ raise GypError(error_message)
+ else:
+- print("Warning: " + error_message, file=sys.stdout)
++ print("Warning: " + error_message)
+
+
+ def _GenerateMSBuildFiltersFile(filters_path, source_files,
+diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/pylib/gyp/mac_tool.py
+index 7d3a8c2..84f8863 100755
+--- a/tools/gyp/pylib/gyp/mac_tool.py
++++ b/tools/gyp/pylib/gyp/mac_tool.py
+@@ -670,7 +670,7 @@
+ count = len(filelist)
+ capacity = NextGreaterPowerOf2(count)
+ strings_offset = 24 + (12 * capacity)
+- max_value_length = len(max(filelist.items(), key=lambda (k,v):len(v))[1])
++ max_value_length = len(max(filelist.items(), key=lambda t: len(t[1]))[1])
+
+ out = open(output_name, "wb")
+ out.write(struct.pack('<LHHLLLL', magic, version, _reserved, strings_offset,
+diff --git a/tools/gyp/pylib/gyp/xcodeproj_file.py b/pylib/gyp/xcodeproj_file.py
+index bd238f6..bc9814d 100644
+--- a/tools/gyp/pylib/gyp/xcodeproj_file.py
++++ b/tools/gyp/pylib/gyp/xcodeproj_file.py
+@@ -160,6 +160,13 @@
+ except NameError:
+ basestring = str
+
++try:
++ # cmp was removed in python3.
++ cmp
++except NameError:
++ def cmp(a, b):
++ return (a > b) - (a < b)
++
+ # See XCObject._EncodeString. This pattern is used to determine when a string
+ # can be printed unquoted. Strings that match this pattern may be printed
+ # unquoted. Strings that do not match must be quoted and may be further
+diff --git a/tools/gyp/samples/samples b/samples/samples
+index 804b618..ff26de3 100755
+--- a/tools/gyp/samples/samples
++++ b/tools/gyp/samples/samples
+@@ -4,6 +4,8 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++from __future__ import print_function
++
+ import os.path
+ import shutil
+ import sys
+@@ -57,7 +59,7 @@
+
+ def Main(argv):
+ if len(argv) != 3 or argv[1] not in ['push', 'pull']:
+- print 'Usage: %s push/pull PATH_TO_CHROME' % argv[0]
++ print('Usage: %s push/pull PATH_TO_CHROME' % argv[0])
+ return 1
+
+ path_to_chrome = argv[2]
+@@ -66,10 +68,10 @@
+ chrome_file = os.path.join(path_to_chrome, g)
+ local_file = os.path.join(os.path.dirname(argv[0]), os.path.split(g)[1])
+ if argv[1] == 'push':
+- print 'Copying %s to %s' % (local_file, chrome_file)
++ print('Copying %s to %s' % (local_file, chrome_file))
+ shutil.copyfile(local_file, chrome_file)
+ elif argv[1] == 'pull':
+- print 'Copying %s to %s' % (chrome_file, local_file)
++ print('Copying %s to %s' % (chrome_file, local_file))
+ shutil.copyfile(chrome_file, local_file)
+ else:
+ assert False
+diff --git a/tools/gyp/tools/pretty_vcproj.py b/tools/pretty_vcproj.py
+index f02e59e..4454d9b 100755
+--- a/tools/gyp/tools/pretty_vcproj.py
++++ b/tools/gyp/tools/pretty_vcproj.py
+@@ -22,6 +22,13 @@
+ from xml.dom.minidom import parse
+ from xml.dom.minidom import Node
+
++try:
++ # cmp was removed in python3.
++ cmp
++except NameError:
++ def cmp(a, b):
++ return (a > b) - (a < b)
++
+ REPLACEMENTS = dict()
+ ARGUMENTS = None
+
+@@ -63,7 +70,7 @@
+ def PrettyPrintNode(node, indent=0):
+ if node.nodeType == Node.TEXT_NODE:
+ if node.data.strip():
+- print '%s%s' % (' '*indent, node.data.strip())
++ print('%s%s' % (' '*indent, node.data.strip()))
+ return
+
+ if node.childNodes:
+@@ -322,7 +329,6 @@
+
+ # Finally, we use the prett xml function to print the vcproj back to the
+ # user.
+- #print dom.toprettyxml(newl="\n")
+ PrettyPrintNode(dom.documentElement)
+ return 0
+
+--- node-v10.15.3/tools/gyp/pylib/gyp/input.py.old 2019-04-02 06:44:13.086310973 +0000
++++ node-v10.15.3/tools/gyp/pylib/gyp/input.py 2019-04-02 06:45:35.987250735 +0000
+@@ -900,6 +900,9 @@
+ (e, contents, build_file))
+
+ p_stdout, p_stderr = p.communicate('')
++ if getattr(p_stdout, 'decode'):
++ p_stdout = p_stdout.decode('utf-8')
++ p_stderr = p_stderr.decode('utf-8')
+
+ if p.wait() != 0 or p_stderr:
+ sys.stderr.write(p_stderr)
diff --git a/user/node/libatomic.patch b/user/node/libatomic.patch
new file mode 100644
index 000000000..fc2e4ffd2
--- /dev/null
+++ b/user/node/libatomic.patch
@@ -0,0 +1,14 @@
+--- node-v10.15.3/node.gyp.old 2019-03-05 15:16:32.000000000 +0000
++++ node-v10.15.3/node.gyp 2019-04-06 13:54:51.204939193 +0000
+@@ -479,6 +479,11 @@
+ 'msvs_disabled_warnings!': [4244],
+
+ 'conditions': [
++ [ 'host_arch=="mips" or host_arch=="mipsel" or host_arch=="ppc"', {
++ 'link_settings': {
++ 'libraries': [ '-latomic' ],
++ },
++ }],
+ [ 'node_code_cache_path!=""', {
+ 'sources': [ '<(node_code_cache_path)' ]
+ }, {
diff --git a/user/node/ppc32.patch b/user/node/ppc32.patch
new file mode 100644
index 000000000..80b97993c
--- /dev/null
+++ b/user/node/ppc32.patch
@@ -0,0 +1,18 @@
+--- node-v10.15.3/deps/v8/src/libsampler/sampler.cc.old 2019-03-05 15:16:28.000000000 +0000
++++ node-v10.15.3/deps/v8/src/libsampler/sampler.cc 2019-04-06 13:44:07.224653262 +0000
+@@ -502,9 +502,15 @@
+ reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
+ #else
+ // Some C libraries, notably Musl, define the regs member as a void pointer
++ #if !V8_TARGET_ARCH_32_BIT
+ state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]);
+ state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]);
+ state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]);
++ #else
++ state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]);
++ state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]);
++ state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]);
++ #endif
+ #endif
+ #elif V8_HOST_ARCH_S390
+ #if V8_TARGET_ARCH_32_BIT
diff --git a/user/node/ppc64.patch b/user/node/ppc64.patch
new file mode 100644
index 000000000..f76618562
--- /dev/null
+++ b/user/node/ppc64.patch
@@ -0,0 +1,40 @@
+--- a/deps/v8/src/ppc/assembler-ppc.h.old 2019-03-05 15:16:29.000000000 +0000
++++ b/deps/v8/src/ppc/assembler-ppc.h 2019-04-02 07:05:25.977213735 +0000
+@@ -48,7 +48,8 @@
+ #include "src/ppc/constants-ppc.h"
+
+ #if V8_HOST_ARCH_PPC && \
+- (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN))
++ (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && \
++ (V8_TARGET_BIG_ENDIAN && (!defined(_CALL_ELF) || _CALL_ELF == 1))))
+ #define ABI_USES_FUNCTION_DESCRIPTORS 1
+ #else
+ #define ABI_USES_FUNCTION_DESCRIPTORS 0
+@@ -60,13 +61,15 @@
+ #define ABI_PASSES_HANDLES_IN_REGS 0
+ #endif
+
+-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN
++#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \
++ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
+ #else
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0
+ #endif
+
+-#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN)
++#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && \
++ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
+ #define ABI_CALL_VIA_IP 1
+ #else
+ #define ABI_CALL_VIA_IP 0
+@@ -220,7 +220,8 @@
+ // The following constants describe the stack frame linkage area as
+ // defined by the ABI. Note that kNumRequiredStackFrameSlots must
+ // satisfy alignment requirements (rounding up if required).
+-#if V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN
++#if V8_TARGET_ARCH_PPC64 && (V8_TARGET_LITTLE_ENDIAN || \
++ defined(_CALL_ELF) && _CALL_ELF == 2)
+ // [0] back chain
+ // [1] condition register save area
+ // [2] link register save area
diff --git a/user/node/python3.patch b/user/node/python3.patch
new file mode 100644
index 000000000..dca32c7e4
--- /dev/null
+++ b/user/node/python3.patch
@@ -0,0 +1,163 @@
+--- node-v10.15.3/tools/configure.d/nodedownload.py (original)
++++ node-v10.15.3/tools/configure.d/nodedownload.py (refactored)
+@@ -1,7 +1,10 @@
+ #!/usr/bin/env python
+ # Moved some utilities here from ../../configure
+
++try:
+-import urllib
++ import urllib
++except ImportError:
++ import urllib.request, urllib.parse, urllib.error
+ import hashlib
+ import sys
+ import zipfile
+@@ -18,10 +18,10 @@
+ spin = ".:|'"
+ return (spin[c % len(spin)])
+
+-class ConfigOpener(urllib.FancyURLopener):
++class ConfigOpener(urllib.request.FancyURLopener):
+ """fancy opener used by retrievefile. Set a UA"""
+ # append to existing version (UA)
+- version = '%s node.js/configure' % urllib.URLopener.version
++ version = '%s node.js/configure' % urllib.request.URLopener.version
+
+ def reporthook(count, size, total):
+ """internal hook used by retrievefile"""
+@@ -36,10 +36,10 @@
+ sys.stdout.write(' <%s>\nConnecting...\r' % url)
+ sys.stdout.flush()
+ ConfigOpener().retrieve(url, targetfile, reporthook=reporthook)
+- print '' # clear the line
++ print('') # clear the line
+ return targetfile
+ except:
+- print ' ** Error occurred while downloading\n <%s>' % url
++ print(' ** Error occurred while downloading\n <%s>' % url)
+ raise
+
+ def md5sum(targetfile):
+@@ -56,12 +56,12 @@
+ """Unpacks packedfile into parent_path. Assumes .zip. Returns parent_path"""
+ if zipfile.is_zipfile(packedfile):
+ with contextlib.closing(zipfile.ZipFile(packedfile, 'r')) as icuzip:
+- print ' Extracting zipfile: %s' % packedfile
++ print(' Extracting zipfile: %s' % packedfile)
+ icuzip.extractall(parent_path)
+ return parent_path
+ elif tarfile.is_tarfile(packedfile):
+ with contextlib.closing(tarfile.TarFile.open(packedfile, 'r')) as icuzip:
+- print ' Extracting tarfile: %s' % packedfile
++ print(' Extracting tarfile: %s' % packedfile)
+ icuzip.extractall(parent_path)
+ return parent_path
+ else:
+@@ -112,16 +112,16 @@
+ theRet[anOpt] = True
+ else:
+ # future proof: ignore unknown types
+- print 'Warning: ignoring unknown --download= type "%s"' % anOpt
++ print('Warning: ignoring unknown --download= type "%s"' % anOpt)
+ # all done
+ return theRet
+
+ def candownload(auto_downloads, package):
+- if not (package in auto_downloads.keys()):
++ if not (package in list(auto_downloads.keys())):
+ raise Exception('Internal error: "%s" is not in the --downloads list. Check nodedownload.py' % package)
+ if auto_downloads[package]:
+ return True
+ else:
+- print """Warning: Not downloading package "%s". You could pass "--download=all"
+- (Windows: "download-all") to try auto-downloading it.""" % package
++ print("""Warning: Not downloading package "%s". You could pass "--download=all"
++ (Windows: "download-all") to try auto-downloading it.""" % package)
+ return False
+--- node-v10.15.3/tools/configure.d/nodedownload.py.old 2019-04-02 00:56:07.533200475 +0000
++++ node-v10.15.3/tools/configure.d/nodedownload.py 2019-04-02 00:58:09.019947842 +0000
+@@ -6,12 +6,11 @@
+ import sys
+ import zipfile
+ import tarfile
+-import fpformat
+ import contextlib
+
+ def formatSize(amt):
+ """Format a size as a string in MB"""
+- return fpformat.fix(amt / 1024000., 1)
++ return "%{size}.1f" % (amt / 1024000.)
+
+ def spin(c):
+ """print out an ASCII 'spinner' based on the value of counter 'c'"""
+--- node-v10.15.3/configure.py.old 2019-03-05 15:16:24.000000000 +0000
++++ node-v10.15.3/configure.py 2019-04-02 01:09:04.948394534 +0000
+@@ -649,8 +649,8 @@
+ except OSError:
+ return (False, False, '', '')
+
+- proc.stdin.write('__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ '
+- '__clang_major__ __clang_minor__ __clang_patchlevel__')
++ proc.stdin.write(b'__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ '
++ b'__clang_major__ __clang_minor__ __clang_patchlevel__')
+
+ values = (proc.communicate()[0].split() + ['0'] * 7)[0:7]
+ is_clang = values[0] == '1'
+@@ -727,7 +727,7 @@
+ consider adjusting the CC environment variable if you installed
+ it in a non-standard prefix.''')
+
+- gas_ret = proc.communicate()[1]
++ gas_ret = proc.communicate()[1].decode('utf-8')
+ match = re.match(r"GNU assembler version ([2-9]\.[0-9]+)", gas_ret)
+
+ if match:
+@@ -794,7 +794,7 @@
+ consider adjusting the CC environment variable if you installed
+ it in a non-standard prefix.''')
+
+- p.stdin.write('\n')
++ p.stdin.write(b'\n')
+ out = p.communicate()[0]
+
+ out = str(out).split('\n')
+@@ -1351,7 +1351,7 @@
+ o['variables']['icu_small'] = b(True)
+ locs = set(options.with_icu_locales.split(','))
+ locs.add('root') # must have root
+- o['variables']['icu_locales'] = string.join(locs,',')
++ o['variables']['icu_locales'] = ','.join(locs)
+ # We will check a bit later if we can use the canned deps/icu-small
+ elif with_intl == 'full-icu':
+ # full ICU
+@@ -1655,7 +1655,7 @@
+ if options.prefix:
+ config['PREFIX'] = options.prefix
+
+-config = '\n'.join(map('='.join, config.iteritems())) + '\n'
++config = '\n'.join(map('='.join, config.items())) + '\n'
+
+ # On Windows there's no reason to search for a different python binary.
+ bin_override = None if sys.platform == 'win32' else make_bin_override()
+--- node-v10.15.3/configure.py.old 2019-04-02 01:12:29.786049396 +0000
++++ node-v10.15.3/configure.py 2019-04-02 01:21:08.499637208 +0000
+@@ -634,7 +634,7 @@
+ proc = subprocess.Popen(
+ shlex.split(pkg_config) + ['--silence-errors', flag, pkg],
+ stdout=subprocess.PIPE)
+- val = proc.communicate()[0].strip()
++ val = proc.communicate()[0].strip().decode('utf-8')
+ except OSError as e:
+ if e.errno != errno.ENOENT: raise e # Unexpected error.
+ return (None, None, None, None) # No pkg-config/pkgconf installed.
+--- node-v10.15.3/configure.py.old 2019-04-02 01:27:36.437454388 +0000
++++ node-v10.15.3/configure.py 2019-04-02 01:28:06.954136125 +0000
+@@ -795,7 +795,7 @@
+ it in a non-standard prefix.''')
+
+ p.stdin.write(b'\n')
+- out = p.communicate()[0]
++ out = p.communicate()[0].decode('utf-8')
+
+ out = str(out).split('\n')
+
diff --git a/user/node/stack-silliness.patch b/user/node/stack-silliness.patch
new file mode 100644
index 000000000..e8d775b73
--- /dev/null
+++ b/user/node/stack-silliness.patch
@@ -0,0 +1,14 @@
+--- node-v10.15.3/src/inspector_agent.cc.old 2019-03-05 15:16:32.000000000 +0000
++++ node-v10.15.3/src/inspector_agent.cc 2019-04-06 02:03:11.082016553 +0000
+@@ -104,9 +104,9 @@
+ // Don't shrink the thread's stack on FreeBSD. Said platform decided to
+ // follow the pthreads specification to the letter rather than in spirit:
+ // https://lists.freebsd.org/pipermail/freebsd-current/2014-March/048885.html
+-#ifndef __FreeBSD__
++#ifdef __GLIBC__
+ CHECK_EQ(0, pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN));
+-#endif // __FreeBSD__
++#endif // __GLIBC__
+ CHECK_EQ(0, pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED));
+ sigset_t sigmask;
+ // Mask all signals.
diff --git a/user/node/v8-python3.patch b/user/node/v8-python3.patch
new file mode 100644
index 000000000..64151be4f
--- /dev/null
+++ b/user/node/v8-python3.patch
@@ -0,0 +1,169 @@
+--- node-v10.15.3/deps/v8/tools/node/fetch_deps.py.old 2019-03-05 15:16:31.000000000 +0000
++++ node-v10.15.3/deps/v8/tools/node/fetch_deps.py 2019-04-02 01:01:00.421250178 +0000
+@@ -9,6 +9,9 @@
+ Usage: fetch_deps.py <v8-path>
+ """
+
++# for py2/py3 compatibility
++from __future__ import print_function
++
+ import os
+ import subprocess
+ import sys
+@@ -51,9 +55,9 @@
+ expected_git_dir = os.path.join(v8_path, ".git")
+ actual_git_dir = git("rev-parse --absolute-git-dir")
+ if expected_git_dir == actual_git_dir:
+- print "V8 is tracked stand-alone by git."
++ print("V8 is tracked stand-alone by git.")
+ return False
+- print "Initializing temporary git repository in v8."
++ print("Initializing temporary git repository in v8.")
+ git("init")
+ git("config user.name \"Ada Lovelace\"")
+ git("config user.email ada@lovela.ce")
+@@ -70,7 +74,7 @@
+
+ temporary_git = EnsureGit(v8_path)
+ try:
+- print "Fetching dependencies."
++ print("Fetching dependencies.")
+ env = os.environ.copy()
+ # gclient needs to have depot_tools in the PATH.
+ env["PATH"] = depot_tools + os.pathsep + env["PATH"]
+--- node-v10.15.3/deps/v8/tools/node/node_common.py.old 2019-03-05 15:16:31.000000000 +0000
++++ node-v10.15.3/deps/v8/tools/node/node_common.py 2019-04-02 01:00:45.522875398 +0000
+@@ -3,11 +3,15 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++# for py2/py3 compatibility
++from __future__ import print_function
++
+ import os
+ import pipes
+ import shutil
+ import stat
+ import subprocess
++import sys
+
+ DEPOT_TOOLS_URL = \
+ "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
+@@ -22,23 +26,27 @@
+ except:
+ pass
+ if fetch_if_not_exist:
+- print "Checking out depot_tools."
++ print("Checking out depot_tools.")
+ # shell=True needed on Windows to resolve git.bat.
+ subprocess.check_call("git clone {} {}".format(
+ pipes.quote(DEPOT_TOOLS_URL),
+ pipes.quote(depot_tools)), shell=True)
++ # Using check_output to hide warning messages.
++ subprocess.check_output(
++ [sys.executable, gclient_path, "metrics", "--opt-out"],
++ cwd=depot_tools)
+ return depot_tools
+ return None
+ depot_tools = _Get(v8_path)
+ assert depot_tools is not None
+- print "Using depot tools in %s" % depot_tools
++ print("Using depot tools in %s" % depot_tools)
+ return depot_tools
+
+ def UninitGit(v8_path):
+- print "Uninitializing temporary git repository"
++ print("Uninitializing temporary git repository")
+ target = os.path.join(v8_path, ".git")
+ if os.path.isdir(target):
+- print ">> Cleaning up %s" % target
++ print(">> Cleaning up %s" % target)
+ def OnRmError(func, path, exec_info):
+ # This might happen on Windows
+ os.chmod(path, stat.S_IWRITE)
+--- node-v10.15.3/deps/v8/tools/node/update_node.py.old 2019-03-05 15:16:31.000000000 +0000
++++ node-v10.15.3/deps/v8/tools/node/update_node.py 2019-04-02 01:00:27.184875836 +0000
+@@ -23,6 +23,9 @@
+ --with-patch Also include currently staged files in the V8 checkout.
+ """
+
++# for py2/py3 compatibility
++from __future__ import print_function
++
+ import argparse
+ import os
+ import shutil
+@@ -61,9 +64,9 @@
+ # Node.js owns deps/v8/gypfiles in their downstream repository.
+ FILES_TO_KEEP = [ "gypfiles" ]
+
+ def RunGclient(path):
+ assert os.path.isdir(path)
+- print ">> Running gclient sync"
++ print(">> Running gclient sync")
+ subprocess.check_call(["gclient", "sync", "--nohooks"], cwd=path)
+
+ def CommitPatch(options):
+@@ -74,7 +77,7 @@
+ the fake git clone fetch it into node.js. We can leave the commit, as
+ bot_update will ensure a clean state on each run.
+ """
+- print ">> Committing patch"
++ print(">> Committing patch")
+ subprocess.check_call(
+ ["git", "-c", "user.name=fake", "-c", "user.email=fake@chromium.org",
+ "commit", "--allow-empty", "-m", "placeholder-commit"],
+@@ -84,8 +87,8 @@
+ def UpdateTarget(repository, options, files_to_keep):
+ source = os.path.join(options.v8_path, *repository)
+ target = os.path.join(options.node_path, TARGET_SUBDIR, *repository)
+- print ">> Updating target directory %s" % target
+- print ">> from active branch at %s" % source
++ print(">> Updating target directory %s" % target)
++ print(">> from active branch at %s" % source)
+ if not os.path.exists(target):
+ os.makedirs(target)
+ # Remove possible remnants of previous incomplete runs.
+@@ -98,10 +101,11 @@
+ git_args.append(["add"] + files_to_keep) # add and commit
+ git_args.append(["commit", "-m", "keep files"]) # files we want to keep
+
++ git_args.append(["clean", "-fxd"]) # nuke everything else
+ git_args.append(["remote", "add", "source", source]) # point to source repo
+ git_args.append(["fetch", "source", "HEAD"]) # sync to current branch
+ git_args.append(["checkout", "-f", "FETCH_HEAD"]) # switch to that branch
+- git_args.append(["clean", "-fd"]) # delete removed files
++ git_args.append(["clean", "-fxd"]) # delete removed files
+
+ if files_to_keep:
+ git_args.append(["cherry-pick", "master"]) # restore kept files
+@@ -117,17 +120,17 @@
+ def UpdateGitIgnore(options):
+ file_name = os.path.join(options.node_path, TARGET_SUBDIR, ".gitignore")
+ assert os.path.isfile(file_name)
+- print ">> Updating .gitignore with lines"
++ print(">> Updating .gitignore with lines")
+ with open(file_name) as gitignore:
+ content = gitignore.readlines()
+ content = [x.strip() for x in content]
+ for x in DELETE_FROM_GITIGNORE:
+ if x in content:
+- print "- %s" % x
++ print("- %s" % x)
+ content.remove(x)
+ for x in ADD_TO_GITIGNORE:
+ if x not in content:
+- print "+ %s" % x
++ print("+ %s" % x)
+ content.append(x)
+ content.sort(key=lambda x: x[1:] if x.startswith("!") else x)
+ with open(file_name, "w") as gitignore:
+@@ -135,7 +138,7 @@
+ gitignore.write("%s\n" % x)
+
+ def CreateCommit(options):
+- print ">> Creating commit."
++ print(">> Creating commit.")
+ # Find git hash from source.
+ githash = subprocess.check_output(["git", "rev-parse", "--short", "HEAD"],
+ cwd=options.v8_path).strip()
diff --git a/user/notmuch/APKBUILD b/user/notmuch/APKBUILD
index 4e8153630..c97dce2cc 100644
--- a/user/notmuch/APKBUILD
+++ b/user/notmuch/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Luis Ressel <aranea@aixah.de>
# Maintainer: Luis Ressel <aranea@aixah.de>
pkgname=notmuch
-pkgver=0.28.3
+pkgver=0.28.4
pkgrel=0
pkgdesc="Thread-based email index, search and tagging"
url="https://notmuchmail.org/"
@@ -92,5 +92,5 @@ zshcomp() {
mv "$pkgdir/usr/share/zsh" "$subpkgdir/usr/share"
}
-sha512sums="dd3931b78cc27540e962f1fca5f4ebb1c04b2637a5761cda023f307fd9be4b5ddc2af26010330868c55200fa96b60b2a11b3b22d4c20d2a4a2d3787421ed85cf notmuch-0.28.3.tar.gz
+sha512sums="77d7ad81e1f7dc93ae6392346da434f6dc74c21d19be728c2a6ca283c429f36e7081387d223af58eb5f63f5d2a8ad8367f0103f0bb9d052890c07fe419abbee7 notmuch-0.28.4.tar.gz
b2991ee5edf927f04d904d99888dbce17a98e9d4d7d809bc2248f45d214025f4a1632b19e4fbca2b08e99721ec8a7eea82384c5c718206884801c7bfa5a8c540 0.28.2-disable-rpath.patch"
diff --git a/user/nsd/APKBUILD b/user/nsd/APKBUILD
index 388c902a1..f99b4514e 100644
--- a/user/nsd/APKBUILD
+++ b/user/nsd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Luis Ressel <aranea@aixah.de>
# Maintainer: Luis Ressel <aranea@aixah.de>
pkgname=nsd
-pkgver=4.1.26
+pkgver=4.1.27
pkgrel=0
pkgdesc="An authoritative only name server"
url="https://www.nlnetlabs.nl/projects/nsd/about/"
@@ -50,6 +50,6 @@ openrc() {
install -Dm644 "$srcdir/nsd.confd" "$subpkgdir/etc/conf.d/nsd"
}
-sha512sums="49c07ad79e4e056bd519dad157a44d5cc55cd9a28723fd910159dc761d4ba56ef86cb7bf289dc5d1b363a49b999232bb7ec1afa737ca5c2659c4c9893e93494b nsd-4.1.26.tar.gz
+sha512sums="9c75041f5a6213cdba7238c2e51fc73031f6f073e06587659f93992fed49418ee789642b25b5522d48642507050ac15021f385927eed81ce5ea649f974e66402 nsd-4.1.27.tar.gz
f0ef1d3427e92650239d9d91402810c045fc9223e3f42ce86986422bf2039a0bcc02dffdfe1153d54de5c76c8f2bdc3e34fe341c65b41f2d333b02c00b5b0eae nsd.confd
139e52dec98792173f06d298574db0d0e6966a06af8a0a3069487beb01fd570c09d22322569b54bacdc43232dbfb99a8c497d4417d2bbfee88bcdd9d1b4d22f7 nsd.initd"
diff --git a/user/okteta/APKBUILD b/user/okteta/APKBUILD
index 9a96a915b..24b9a6e6f 100644
--- a/user/okteta/APKBUILD
+++ b/user/okteta/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=okteta
-pkgver=0.25.4
+pkgver=0.26.1
pkgrel=0
pkgdesc="Graphical hex/binary editor"
url="https://www.kde.org/applications/utilities/okteta/"
@@ -13,11 +13,10 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtscript-dev kio-dev
kcrash-dev kdbusaddons-dev kdoctools-dev kiconthemes-dev kcmutils-dev
knewstuff-dev kparts-dev kservice-dev kwidgetsaddons-dev kxmlgui-dev
qca-dev shared-mime-info qt5-qttools-dev"
-subpackages="$pkgname-doc $pkgname-lang"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/okteta/$pkgver/src/okteta-$pkgver.tar.xz"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -33,14 +32,12 @@ build() {
}
check() {
- cd "$builddir"
local _skip="libkasten-core-testdocumenttest|libkasten-core-documentmanagertest|oktetakasten-document-bytearraydocumenttest|kpart-oktetaparttest"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E "($_skip)"
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="d9887a90efbad3bb2caa0d3bb12af27708b77d54a90cd0da82eace7ea6dfc2efbcea3d7dc720bf4a088a823a8ed9edf75ab1c3680aa6d99c640d5c9e4c385e16 okteta-0.25.4.tar.xz"
+sha512sums="fa4e841c77ae255e9936b29e30fa0bc1f65594898820652ac8ba78497658ec5ef78cadf8b4d33cab09b2ee8da1d75b84377be28680b2d91c5af2dcdfe5da95e3 okteta-0.26.1.tar.xz"
diff --git a/user/okular/APKBUILD b/user/okular/APKBUILD
index ed7175568..a4d7cacc3 100644
--- a/user/okular/APKBUILD
+++ b/user/okular/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=okular
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Universal document reader developed by KDE"
url="https://okular.kde.org/"
@@ -16,7 +16,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev
libjpeg-turbo-dev kpty-dev kirigami2-dev djvulibre-dev libkexiv2-dev
libspectre-dev ebook-tools-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/okular-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/okular-$pkgver.tar.xz
+ es-doc-fix.patch
+ "
build() {
cd "$builddir"
@@ -45,4 +47,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="cbbf20657b6d0c5837d1400fb5be17410672e2489372f62f247b380bd38c0f3ef412d179b683a92d592a906855a648e997c6db5898e29365dcefdf7a8192bf11 okular-18.12.3.tar.xz"
+sha512sums="01be68692d106a4cc830361e9653f477e6ed204905950cf4db366b20c2665abc7914d6fca0504fc5ea2064f2f1e28dc8662deef3a73a52b32f3cdfafffed3007 okular-19.04.1.tar.xz
+d82dd9de666a28ef605d8a81e74851f265be4ccaeaa39a1cdee9eb1db830fcd0d581d01d6e89a1d36b8ea5c9c8113f1016090dc0e9f17070d388166d9e967458 es-doc-fix.patch"
diff --git a/user/okular/es-doc-fix.patch b/user/okular/es-doc-fix.patch
new file mode 100644
index 000000000..05967d736
--- /dev/null
+++ b/user/okular/es-doc-fix.patch
@@ -0,0 +1,11 @@
+--- okular-19.04.1/po/es/docs/okular/index.docbook.old 2019-05-07 00:14:57.000000000 +0000
++++ okular-19.04.1/po/es/docs/okular/index.docbook 2019-05-12 03:14:04.511177243 +0000
+@@ -1090,7 +1090,7 @@
+ <para
+ >Para eliminar una anotación, pulse sobre ella con el &RMB; y seleccione <guimenuitem
+ >Borrar</guimenuitem
+-> o seleccione una anotación usando el &LMB; y pulse la tecla &Del;. </para>
++> o seleccione una anotación usando el &LMB; y pulse la tecla Delete. </para>
+ <para
+ >Al borrar una anotación, su ventana se cerrará si estuviera abierta. </para>
+ <note>
diff --git a/user/opengfx/APKBUILD b/user/opengfx/APKBUILD
index b0ab22c55..e3f0dbaaf 100644
--- a/user/opengfx/APKBUILD
+++ b/user/opengfx/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=opengfx
-pkgver=0.5.4
+pkgver=0.5.5
pkgrel=0
pkgdesc="Graphics files for OpenTTD"
url="https://www.openttd.org/en/"
@@ -11,7 +11,7 @@ license="GPL-2.0-only"
depends=""
makedepends="grfcodec nml"
subpackages=""
-source="http://bundles.openttdcoop.org/opengfx/releases/$pkgver/$pkgname-$pkgver-source.tar.xz
+source="https://binaries.openttd.org/extra/opengfx/$pkgver/$pkgname-$pkgver-source.tar.xz
Makefile.patch
"
builddir="$srcdir/$pkgname-$pkgver-source"
@@ -30,5 +30,5 @@ package() {
done
}
-sha512sums="42f8438c747b42a77cf9d86c5da60ce3ce84ed347d714c345f3871806f9e35f2ed4729b445e0ee319f3e2edd53458dfbaad5ca42e389c3a2e800bce19223cdb1 opengfx-0.5.4-source.tar.xz
-f2cd513b6b244fcdd522e488c3becd27164f622f0bc723bd1f704ce1e76419ac628425cf3fc437beb50f851735923e85eae8a3f70e828f58edff4d632784bbf9 Makefile.patch"
+sha512sums="952fb52e19bd790e335a9df0f11fa29b2fc570b49903419904956cc65883adde93d432160b16682366ab8b973b7852d2d30f574f1840f6fbd082e1addbe5bfe8 opengfx-0.5.5-source.tar.xz
+a337ab4ade493a87d2687a7aa2fb05dcd5718725645950486975a6df309dd1e6631d4b04fa6dcbf590e869b45b037caa32468ea6f677ce458d61950f77c5a006 Makefile.patch"
diff --git a/user/opengfx/Makefile.patch b/user/opengfx/Makefile.patch
index 169df9668..1e4585311 100644
--- a/user/opengfx/Makefile.patch
+++ b/user/opengfx/Makefile.patch
@@ -11,15 +11,6 @@
# Graphics processing
GIMP ?= gimp
-@@ -196,7 +196,7 @@
- endif
-
- # Days of commit since 2000-1-1 00-00
--REPO_DAYS_SINCE_2000 ?= $(shell $(PYTHON) -c "from datetime import date; print (date(`echo "$(REPO_DATE)" | sed s/-/,/g | sed s/,0/,/g`)-date(2000,1,1)).days")
-+REPO_DAYS_SINCE_2000 ?= $(shell $(PYTHON) -c "from datetime import date; print ((date(`echo "$(REPO_DATE)" | sed s/-/,/g | sed s/,0/,/g`)-date(2000,1,1)).days)")
-
- # Filename addition, if we're not building the default branch
- REPO_BRANCH_STRING ?= $(shell if [ "$(REPO_BRANCH)" = "$(DEFAULT_BRANCH_NAME)" ]; then echo ""; else echo "-$(REPO_BRANCH)"; fi)
@@ -719,7 +719,7 @@
$(_E)
endif
diff --git a/user/openjdk7/APKBUILD b/user/openjdk7/APKBUILD
index bf05b670f..597031b43 100644
--- a/user/openjdk7/APKBUILD
+++ b/user/openjdk7/APKBUILD
@@ -1,6 +1,6 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Timo Teras <timo.teras@iki.fi>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=openjdk7
_icedteaver=2.6.16
# pkgver is <JDK version>.<JDK update>
diff --git a/user/openjdk8/APKBUILD b/user/openjdk8/APKBUILD
new file mode 100644
index 000000000..24dd5e28a
--- /dev/null
+++ b/user/openjdk8/APKBUILD
@@ -0,0 +1,309 @@
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=openjdk8
+_icedteaver=3.11.0
+# pkgver is <JDK version>.<JDK update>.<JDK build>
+# Check https://icedtea.classpath.org/wiki/Main_Page when updating
+pkgver=8.201.08
+pkgrel=0
+pkgdesc="Libre Java development kit for Java 8"
+url="https://icedtea.classpath.org/"
+arch="all"
+license="GPL-2.0-only"
+depends="$pkgname-jre java-cacerts"
+options="sover-namecheck"
+makedepends="bash findutils libarchive-tools zip file util-linux libxslt
+ autoconf automake linux-headers sed xz coreutils
+ openjdk7 ca-certificates libjpeg-turbo-dev cmd:which
+ nss-dev nss-static cups-dev giflib-dev libpng-dev libxt-dev
+ lcms2-dev libxp-dev libxtst-dev libxinerama-dev zlib-dev
+ libxrender-dev alsa-lib-dev freetype-dev fontconfig-dev
+ gtk+2.0-dev krb5-dev attr-dev pcsc-lite-dev lksctp-tools-dev
+ libxcomposite-dev"
+
+case $CARCH in
+x86|pmmx) _jarch=i386;;
+x86_64) _jarch=amd64;;
+arm*) _jarch=aarch32;;
+ppc64) _jarch=ppc64
+ export CFLAGS="$CFLAGS -DABI_ELFv2";;
+*) _jarch="$CARCH";;
+esac
+
+_bootstrap_java_home="/usr/lib/jvm/java-1.7-openjdk"
+_java_home="/usr/lib/jvm/java-1.8-openjdk"
+_jrelib="$_java_home/jre/lib/$_jarch"
+
+# Exclude xawt from ldpath to avoid duplicate provides for libmawt.so
+# (also in headless). in future this should be a virtual provides.
+ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli"
+sonameprefix="$pkgname:"
+
+subpackages="$pkgname-dbg $pkgname-jre-lib:jrelib:noarch $pkgname-jre $pkgname-jre-base:jrebase
+ $pkgname-doc $pkgname-demos"
+
+_dropsver=$_icedteaver
+_dropsurl="https://icedtea.classpath.org/download/drops/icedtea8/$_dropsver"
+
+source="https://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.xz
+ openjdk-$_dropsver.tar.xz::$_dropsurl/openjdk.tar.xz
+ corba-$_dropsver.tar.xz::$_dropsurl/corba.tar.xz
+ jaxp-$_dropsver.tar.xz::$_dropsurl/jaxp.tar.xz
+ jaxws-$_dropsver.tar.xz::$_dropsurl/jaxws.tar.xz
+ jdk-$_dropsver.tar.xz::$_dropsurl/jdk.tar.xz
+ langtools-$_dropsver.tar.xz::$_dropsurl/langtools.tar.xz
+ hotspot-$_dropsver.tar.xz::$_dropsurl/hotspot.tar.xz
+ nashorn-$_dropsver.tar.xz::$_dropsurl/nashorn.tar.xz
+
+ icedtea-hotspot-musl.patch
+ icedtea-hotspot-musl-ppc.patch
+ icedtea-hotspot-noagent-musl.patch
+ icedtea-jdk-execinfo.patch
+ icedtea-jdk-fix-ipv6-init.patch
+ icedtea-jdk-fix-libjvm-load.patch
+ icedtea-jdk-musl.patch
+ icedtea-jdk-includes.patch
+ icedtea-jdk-getmntent-buffer.patch
+ icedtea-autoconf-config.patch
+ icedtea-jdk-tls-nist-curves.patch
+ remove-gawk.patch
+ "
+builddir="$srcdir/icedtea-$_icedteaver"
+
+# secfixes:
+# 8.201.08-r0:
+# - CVE-2019-2422
+# - CVE-2019-2426
+# - CVE-2018-11212
+# 8.191.12-r0:
+# - CVE-2018-3136
+# - CVE-2018-3139
+# - CVE-2018-3149
+# - CVE-2018-3169
+# - CVE-2018-3180
+# - CVE-2018-3183
+# - CVE-2018-3214
+# - CVE-2018-13785
+# - CVE-2018-16435
+# 8.181.13-r0:
+# - CVE-2018-2938
+# - CVE-2018-2940
+# - CVE-2018-2952
+# - CVE-2018-2973
+# - CVE-2018-3639
+
+unpack() {
+ if [ -z "$force" ]; then
+ verify
+ initdcheck
+ fi
+ mkdir -p "$srcdir"
+ msg "Unpacking sources..."
+ tar -C "$srcdir" -Jxf icedtea-$_icedteaver.tar.xz
+}
+
+prepare() {
+ cd "$builddir"
+
+ local ver_u=$(sed -En 's/^\s*JDK_UPDATE_VERSION\s*=\s*(\S+).*/\1/p' acinclude.m4)
+ local ver_b=$(sed -En 's/^\s*BUILD_VERSION\s*=\s*b(\S+).*/\1/p' acinclude.m4)
+ [ "${pkgver#*.}" = "$ver_u.$ver_b" ] \
+ || die "Version mismatch, source is 8.$ver_u.$ver_b, but abuild defines $pkgver!"
+
+ # Busybox sha256 does not support longopts.
+ sed -e "s/--check/-c/g" -i Makefile.am
+
+ local patch; for patch in $source; do
+ case $patch in
+ icedtea-*.patch)
+ cp ../$patch patches
+ ;;
+ *.patch)
+ msg "Applying patch $patch"
+ patch -p1 -i "$srcdir"/$patch
+ ;;
+ esac
+ done
+
+ ./autogen.sh
+}
+
+build() {
+ export JAVA_HOME="$_bootstrap_java_home"
+ export PATH="$JAVA_HOME/bin:$PATH"
+
+ if [ -z "$JOBS" ]; then
+ export JOBS=$(printf '%s\n' "$MAKEFLAGS" | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p')
+ fi
+
+ DISTRIBUTION_PATCHES=""
+ local patch; for patch in $source; do
+ case $patch in
+ icedtea-*.patch)
+ DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch"
+ ;;
+ esac
+ done
+ export DISTRIBUTION_PATCHES
+ echo "icedtea patches: $DISTRIBUTION_PATCHES"
+
+ cd "$builddir"
+ bash ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix="$_java_home" \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-dependency-tracking \
+ --disable-downloading \
+ --disable-precompiled-headers \
+ --with-parallel-jobs=${JOBS:-2} \
+ --with-hotspot-build=default \
+ --with-openjdk-src-zip="$srcdir/openjdk-$_dropsver.tar.xz" \
+ --with-hotspot-src-zip="$srcdir/hotspot-$_dropsver.tar.xz" \
+ --with-corba-src-zip="$srcdir/corba-$_dropsver.tar.xz" \
+ --with-jaxp-src-zip="$srcdir/jaxp-$_dropsver.tar.xz" \
+ --with-jaxws-src-zip="$srcdir/jaxws-$_dropsver.tar.xz" \
+ --with-jdk-src-zip="$srcdir/jdk-$_dropsver.tar.xz" \
+ --with-langtools-src-zip="$srcdir/langtools-$_dropsver.tar.xz" \
+ --with-nashorn-src-zip="$srcdir/nashorn-$_dropsver.tar.xz" \
+ --with-pax=paxmark \
+ --with-jdk-home="$_bootstrap_java_home" \
+ --with-pkgversion="Adelie ${pkgver}-r${pkgrel}" \
+ --enable-nss \
+ --enable-non-nss-curves
+ make
+}
+
+# TODO: Run tests or at least try to compile and run hello world.
+check() {
+ cd "$builddir"/openjdk.build/images/j2sdk-image
+
+ ./bin/java -version
+}
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"/$_java_home
+
+ cp -a openjdk.build/images/j2sdk-image/* "$pkgdir"/$_java_home/
+ rm "$pkgdir"/$_java_home/src.zip
+
+ # This archive contains absolute paths from the build environment,
+ # so it does not work on the target system. User can generate it
+ # running `java -Xshare:dump`.
+ rm -f "$pkgdir"/$_jrelib/server/classes.jsa
+
+ # pax mark again (due to fakeroot xattr handling bug)
+ ./pax-mark-vm "$pkgdir"/$_java_home true
+
+ # symlink to shared java cacerts store
+ rm -f "$pkgdir"/$_java_home/jre/lib/security/cacerts
+ ln -sf /etc/ssl/certs/java/cacerts \
+ "$pkgdir"/$_java_home/jre/lib/security/cacerts
+}
+
+jrelib() {
+ pkgdesc="OpenJDK 8 Java Runtime (class libraries)"
+ depends=""
+
+ local file dir
+ for file in jre/lib/images \
+ jre/lib/*.jar \
+ jre/lib/security \
+ jre/lib/ext/*.jar \
+ jre/lib/cmm \
+ jre/ASSEMBLY_EXCEPTION \
+ jre/THIRD_PARTY_README \
+ jre/LICENSE; do
+
+ dir=${file%/*}
+ mkdir -p "$subpkgdir"/$_java_home/$dir
+ mv "$pkgdir"/$_java_home/$file "$subpkgdir"/$_java_home/$dir
+ done
+}
+
+jre() {
+ pkgdesc="OpenJDK 8 Java Runtime"
+ local file dir
+
+ mkdir -p "$subpkgdir"
+ for file in jre/bin/policytool \
+ bin/appletviewer \
+ bin/policytool \
+ jre/lib/$_jarch/libawt_xawt.so \
+ jre/lib/$_jarch/libfontmanager.so \
+ jre/lib/$_jarch/libjawt.so \
+ jre/lib/$_jarch/libjsoundalsa.so \
+ jre/lib/$_jarch/libsplashscreen.so; do
+
+ dir=${file%/*}
+ mkdir -p "$subpkgdir"/$_java_home/$dir
+ mv "$pkgdir"/$_java_home/$file "$subpkgdir"/$_java_home/$dir
+ done
+
+ # Pax mark again (due to fakeroot xattr handling bug).
+ "$builddir"/pax-mark-vm "$subpkgdir"/$_java_home true
+}
+
+jrebase() {
+ pkgdesc="OpenJDK 8 Java Runtime (no GUI support)"
+ depends="$pkgname-jre-lib java-common java-cacerts"
+
+ mkdir -p "$subpkgdir"/$_java_home/bin \
+ "$subpkgdir"/$_java_home/lib/$_jarch
+
+ mv "$pkgdir"/$_java_home/lib/$_jarch/jli \
+ "$subpkgdir"/$_java_home/lib/$_jarch/
+
+ local file; for file in java orbd rmid servertool unpack200 keytool \
+ pack200 rmiregistry tnameserv; do
+ mv "$pkgdir"/$_java_home/bin/$file "$subpkgdir"/$_java_home/bin/
+ done
+
+ # Rest of the jre subdir (which were not taken by -jre subpkg).
+ mv "$pkgdir"/$_java_home/jre "$subpkgdir"/$_java_home/
+
+ # Pax mark again (due to fakeroot xattr handling bug).
+ "$builddir"/pax-mark-vm "$subpkgdir"/$_java_home true
+}
+
+doc() {
+ default_doc
+
+ mkdir -p "$subpkgdir"/$_java_home/
+ mv "$pkgdir"/$_java_home/man "$subpkgdir"/$_java_home/
+}
+
+demos() {
+ pkgdesc="OpenJDK 8 Java Demos and Samples"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir"/$_java_home/
+ mv "$pkgdir"/$_java_home/demo "$pkgdir"/$_java_home/sample \
+ "$subpkgdir"/$_java_home/
+}
+
+sha512sums="a71c9318d49077f8ae27f5c3e0b61df0709eded241f557c886f6b93aa98c13ad78f713d1286da286989bf62866dfff7538ad783eb804a705a160cbc096dea851 icedtea-3.11.0.tar.xz
+fc3faa7d7b9531f10c40241d89c36854043921f6f1a0851f284bcab36fc54fb0bb8cf8365dd4b2fb22b3ee8ddb8ed4a79e0807f79cb95b4b00f164993f1acc0b openjdk-3.11.0.tar.xz
+9b8a44dda0bbfba8dc0d659e0fabf22e84b9931518e4b199a238faa103cbc4ed814c97f0f38f0aed263846b46fc7eab4500ba9759503373083e12cb8b5b364b5 corba-3.11.0.tar.xz
+9eba0f6ada2ae8adc1791a91ceb4fba9bd06aee0626cd1b4310ff16c7c8006045fed5fb7f109e490395b70695be4e6bfd6f1f5cbcdb095fb17abf123012a03de jaxp-3.11.0.tar.xz
+ce5f0c2aced1af59f002dc9dc6cba4b9332167e9e019a3040267901ef7f325e05b8c99ed1f276b88ddb4e43cdd1b0c456e0c4dc2222ae6b3800c0502ffa840de jaxws-3.11.0.tar.xz
+411508ed91f14ae1c51ea54de72a943db222ff572f3991631fe1a1fa97f9bb42da1e01ca98893f7236b4b44bae2917fc3f8622d7f94a085be30d437451acd272 jdk-3.11.0.tar.xz
+363c376848870c6c28415967561c4b151f1256c38a315fabc69c90425f5255224182045349a00c9433db52c416b7ebffedaa4825c980460541a3f9338adbaa5e langtools-3.11.0.tar.xz
+13fa35f4a4fe01b3da4efb8476c0cb3482a36596eb422f2ad958a4c51efc286962ac3123a75853e84c4db477ac064a0fd3ee5e03f1ea0ec4f7e2c8ac07aa2d0e hotspot-3.11.0.tar.xz
+2b46a8599d530a351522420cae8ac780cd2e64a6d7adbff87397a178f12f0a992bccd0f56435582dbd10be2157d4a4540c41b3dca488566162eed680102e58a9 nashorn-3.11.0.tar.xz
+c0776ff52e11a353fee29419319cd9e1fc4e5bb922832547616e8499fd52852a935a6a6fb93b49a67ab7b3fd2f7a63320f917e354cc7123220139e80694a7b5a icedtea-hotspot-musl.patch
+e5cf4d70f96fc1e72ae8b97a887adb96092ff36584711cbb8de9d9fa9e859cb8731d638838de0d9591239fc44ffe5c74422d1842bd9f10a0c00dff1627bdeeef icedtea-hotspot-musl-ppc.patch
+19459dbb922f5a71cd15b53199481498626a783c24f91d2544d55b7dddd2cdb34a64bbf0226b99548612dd1743af01b3f9ff32c30abbbc90ce727ca2dbbbd1f9 icedtea-hotspot-noagent-musl.patch
+f6365cfafafa008bd6c1bf0ccec01a63f8a39bd1a8bc87baa492a27234d47793ba02d455e5667a873ef50148df3baaf6a8421e2da0b15faac675867da714dd5f icedtea-jdk-execinfo.patch
+48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774 icedtea-jdk-fix-ipv6-init.patch
+b135991c76b0db8fa7c363e0903624668e11eda7b54a943035c214aa4d7fc8c3e8110ed200edcec82792f3c9393150a9bd628625ddf7f3e55720ff163fbbb471 icedtea-jdk-fix-libjvm-load.patch
+1fbc32ddc528c7c0099dbc1e48f88d29dccf55e7b8997793aa1d3d8408003a1223d898cca4248e1a12d343d3feec5144f875e6cdac8460d763c73ab3ad7e49f9 icedtea-jdk-musl.patch
+e8d9f1b867bf4fc84aa00d1237b264bcf503b1ed5f34735e14b0b747a728953fe0051a5af69ed058d377fbf65d8be1ed9e38fe5fc6edb2d50b31f34bf3ba91dc icedtea-jdk-includes.patch
+7e6fa46b10c630517bfa46943858aea1d032c12d32ba3fcb7a2143ae1e896c34fa4cb8f925af80cb19f8e29149b835aa054adfd30ebb00539f6c78588d6f5211 icedtea-jdk-getmntent-buffer.patch
+662d662d0a7a84be2978e921317589f212f3ba3b7629527ba0f1140b5ac4c1024893e0ed176211688ed1a4505968c4befc841ed57ffcdbb9d355c2cb0571b167 icedtea-autoconf-config.patch
+9ea7ac942baf29cc619bc2e1acd59201b9f6d38f39a517b495d7613aec746459200c81afb57c5fcdcb856f6bc8b33f7566c8593fed07e5c73f43e08f1072d458 icedtea-jdk-tls-nist-curves.patch
+b0f6d07c6a949acdc8b4a25bf924f134f468e162f01dd440fd4ca80769fb84a0a54210f93efbe88012404fe3db6701aad31cdbc772bc054ad69021c37db5538c remove-gawk.patch"
diff --git a/user/openjdk8/icedtea-autoconf-config.patch b/user/openjdk8/icedtea-autoconf-config.patch
new file mode 100644
index 000000000..9b75def87
--- /dev/null
+++ b/user/openjdk8/icedtea-autoconf-config.patch
@@ -0,0 +1,114 @@
+OpenJDK contains very outdated autoconf-config.guess and autoconf-config.sub
+that don't handle triplet with -musl. It also contains wrapper scripts
+config.guess and config.sub that we don't need at all.
+
+This patch modifies these wrapper scripts to just include up-to-date
+config.guess and config.sub from the icedtea tarball.
+
+--- openjdk.orig/common/autoconf/build-aux/config.guess
++++ openjdk/common/autoconf/build-aux/config.guess
+@@ -28,62 +28,4 @@
+ # and fix the broken property, if needed.
+
+ DIR=`dirname $0`
+-OUT=`. $DIR/autoconf-config.guess`
+-
+-# Test and fix solaris on x86_64
+-echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null
+-if test $? = 0; then
+- # isainfo -n returns either i386 or amd64
+- REAL_CPU=`isainfo -n`
+- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
+-fi
+-
+-# Test and fix solaris on sparcv9
+-echo $OUT | grep sparc-sun-solaris > /dev/null 2> /dev/null
+-if test $? = 0; then
+- # isainfo -n returns either sparc or sparcv9
+- REAL_CPU=`isainfo -n`
+- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
+-fi
+-
+-# Test and fix cygwin on x86_64
+-echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
+-if test $? != 0; then
+- echo $OUT | grep 86-pc-mingw > /dev/null 2> /dev/null
+-fi
+-if test $? = 0; then
+- case `echo $PROCESSOR_IDENTIFIER | cut -f1 -d' '` in
+- intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64)
+- REAL_CPU=x86_64
+- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
+- ;;
+- esac
+-fi
+-
+-# Test and fix architecture string on AIX
+-# On AIX 'config.guess' returns 'powerpc' as architecture but 'powerpc' is
+-# implicitely handled as 32-bit architecture in 'platform.m4' so we check
+-# for the kernel mode rewrite it to 'powerpc64' if we'Re running in 64-bit mode.
+-# The check could also be done with `/usr/sbin/prtconf | grep "Kernel Type" | grep "64-bit"`
+-echo $OUT | grep powerpc-ibm-aix > /dev/null 2> /dev/null
+-if test $? = 0; then
+- if [ -x /bin/getconf ] ; then
+- KERNEL_BITMODE=`getconf KERNEL_BITMODE`
+- if [ "$KERNEL_BITMODE" = "32" ]; then
+- KERNEL_BITMODE=""
+- fi
+- fi
+- OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
+-fi
+-
+-# Test and fix little endian PowerPC64.
+-# TODO: should be handled by autoconf-config.guess.
+-if [ "x$OUT" = x ]; then
+- if [ `uname -m` = ppc64le ]; then
+- if [ `uname -s` = Linux ]; then
+- OUT=powerpc64le-unknown-linux-gnu
+- fi
+- fi
+-fi
+-
+-echo $OUT
++. $DIR/../../../../config.guess
+--- openjdk.orig/common/autoconf/build-aux/config.sub
++++ openjdk/common/autoconf/build-aux/config.sub
+@@ -28,37 +28,4 @@
+ # wrap it and fix the broken property, if needed.
+
+ DIR=`dirname $0`
+-
+-# First, filter out everything that doesn't begin with "aarch64-"
+-if ! echo $* | grep '^aarch64-' >/dev/null ; then
+- . $DIR/autoconf-config.sub "$@"
+- # autoconf-config.sub exits, so we never reach here, but just in
+- # case we do:
+- exit
+-fi
+-
+-while test $# -gt 0 ; do
+- case $1 in
+- -- ) # Stop option processing
+- shift; break ;;
+- aarch64-* )
+- config=`echo $1 | sed 's/^aarch64-/arm-/'`
+- sub_args="$sub_args $config"
+- shift; ;;
+- - ) # Use stdin as input.
+- sub_args="$sub_args $1"
+- shift; break ;;
+- * )
+- sub_args="$sub_args $1"
+- shift; ;;
+- esac
+-done
+-
+-result=`. $DIR/autoconf-config.sub $sub_args "$@"`
+-exitcode=$?
+-
+-result=`echo $result | sed "s/^arm-/aarch64-/"`
+-
+-echo $result
+-exit $exitcode
+-
++. $DIR/../../../../config.sub "$@"
diff --git a/user/openjdk8/icedtea-hotspot-musl-ppc.patch b/user/openjdk8/icedtea-hotspot-musl-ppc.patch
new file mode 100644
index 000000000..eca684884
--- /dev/null
+++ b/user/openjdk8/icedtea-hotspot-musl-ppc.patch
@@ -0,0 +1,169 @@
+--- openjdk.orig/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
++++ openjdk/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
+@@ -110,11 +110,19 @@
+ // it because the volatile registers are not needed to make setcontext() work.
+ // Hopefully it was zero'd out beforehand.
+ guarantee(uc->uc_mcontext.regs != NULL, "only use ucontext_get_pc in sigaction context");
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ return (address)uc->uc_mcontext.regs->nip;
++#else // Musl
++ return (address)uc->uc_mcontext.gp_regs[32];
++#endif
+ }
+
+ intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) {
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ return (intptr_t*)uc->uc_mcontext.regs->gpr[1/*REG_SP*/];
++#else // Musl
++ return (intptr_t*)uc->uc_mcontext.gp_regs[1/*REG_SP*/];
++#endif
+ }
+
+ intptr_t* os::Linux::ucontext_get_fp(ucontext_t * uc) {
+@@ -213,7 +221,11 @@
+ if (uc) {
+ address const pc = os::Linux::ucontext_get_pc(uc);
+ if (pc && StubRoutines::is_safefetch_fault(pc)) {
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ uc->uc_mcontext.regs->nip = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc);
++#else // Musl
++ uc->uc_mcontext.gp_regs[32] = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc);
++#endif
+ return true;
+ }
+ }
+@@ -364,7 +376,11 @@
+ // continue at the next instruction after the faulting read. Returning
+ // garbage from this read is ok.
+ thread->set_pending_unsafe_access_error();
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ uc->uc_mcontext.regs->nip = ((unsigned long)pc) + 4;
++#else // Musl
++ uc->uc_mcontext.gp_regs[32] = ((unsigned long)pc) + 4;
++#endif
+ return true;
+ }
+ }
+@@ -383,7 +399,11 @@
+ // continue at the next instruction after the faulting read. Returning
+ // garbage from this read is ok.
+ thread->set_pending_unsafe_access_error();
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ uc->uc_mcontext.regs->nip = ((unsigned long)pc) + 4;
++#else // Musl
++ uc->uc_mcontext.gp_regs[32] = ((unsigned long)pc) + 4;
++#endif
+ return true;
+ }
+ }
+@@ -406,7 +426,11 @@
+ if (stub != NULL) {
+ // Save all thread context in case we need to restore it.
+ if (thread != NULL) thread->set_saved_exception_pc(pc);
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ uc->uc_mcontext.regs->nip = (unsigned long)stub;
++#else
++ uc->uc_mcontext.gp_regs[32] = (unsigned long)stub;
++#endif
+ return true;
+ }
+
+@@ -564,6 +588,7 @@
+ ucontext_t* uc = (ucontext_t*)context;
+
+ st->print_cr("Registers:");
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->nip);
+ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->link);
+ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.regs->ctr);
+@@ -572,8 +597,18 @@
+ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.regs->gpr[i]);
+ if (i % 3 == 2) st->cr();
+ }
++#else // Musl
++ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[32]);
++ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[36]);
++ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[35]);
+ st->cr();
++ for (int i = 0; i < 32; i++) {
++ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.gp_regs[i]);
++ if (i % 3 == 2) st->cr();
++ }
++#endif
+ st->cr();
++ st->cr();
+
+ intptr_t *sp = (intptr_t *)os::Linux::ucontext_get_sp(uc);
+ st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", p2i(sp));
+@@ -600,7 +635,11 @@
+ // this is only for the "general purpose" registers
+ for (int i = 0; i < 32; i++) {
+ st->print("r%-2d=", i);
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ print_location(st, uc->uc_mcontext.regs->gpr[i]);
++#else // Musl
++ print_location(st, uc->uc_mcontext.gp_regs[i]);
++#endif
+ }
+ st->cr();
+ }
+--- openjdk.orig/hotspot.orig/src/cpu/ppc/vm/macroAssembler_ppc.cpp
++++ openjdk/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp
+@@ -1242,7 +1242,11 @@
+ // the safepoing polling page.
+ ucontext_t* uc = (ucontext_t*) ucontext;
+ // Set polling address.
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ address addr = (address)uc->uc_mcontext.regs->gpr[ra] + (ssize_t)ds;
++#else // Musl
++ address addr = (address)uc->uc_mcontext.gp_regs[ra] + (ssize_t)ds;
++#endif
+ if (polling_address_ptr != NULL) {
+ *polling_address_ptr = addr;
+ }
+@@ -1263,15 +1267,24 @@
+ int rb = inv_rb_field(instruction);
+
+ // look up content of ra and rb in ucontext
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ address ra_val=(address)uc->uc_mcontext.regs->gpr[ra];
+ long rb_val=(long)uc->uc_mcontext.regs->gpr[rb];
++#else // Musl
++ address ra_val=(address)uc->uc_mcontext.gp_regs[ra];
++ long rb_val=(long)uc->uc_mcontext.gp_regs[rb];
++#endif
+ return os::is_memory_serialize_page(thread, ra_val+rb_val);
+ } else if (is_stw(instruction) || is_stwu(instruction)) {
+ int ra = inv_ra_field(instruction);
+ int d1 = inv_d1_field(instruction);
+
+ // look up content of ra in ucontext
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ address ra_val=(address)uc->uc_mcontext.regs->gpr[ra];
++#else // Musl
++ address ra_val=(address)uc->uc_mcontext.gp_regs[ra];
++#endif
+ return os::is_memory_serialize_page(thread, ra_val+d1);
+ } else {
+ return false;
+@@ -1334,11 +1347,20 @@
+ || (is_stdu(instruction) && rs == 1)) {
+ int ds = inv_ds_field(instruction);
+ // return banged address
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ return ds+(address)uc->uc_mcontext.regs->gpr[ra];
++#else // Musl
++ return ds+(address)uc->uc_mcontext.gp_regs[ra];
++#endif
+ } else if (is_stdux(instruction) && rs == 1) {
+ int rb = inv_rb_field(instruction);
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ address sp = (address)uc->uc_mcontext.regs->gpr[1];
+ long rb_val = (long)uc->uc_mcontext.regs->gpr[rb];
++#else // Musl
++ address sp = (address)uc->uc_mcontext.gp_regs[1];
++ long rb_val = (long)uc->uc_mcontext.gp_regs[rb];
++#endif
+ return ra != 1 || rb_val >= 0 ? NULL // not a stack bang
+ : sp + rb_val; // banged address
+ }
diff --git a/user/openjdk8/icedtea-hotspot-musl.patch b/user/openjdk8/icedtea-hotspot-musl.patch
new file mode 100644
index 000000000..6cfb3e606
--- /dev/null
+++ b/user/openjdk8/icedtea-hotspot-musl.patch
@@ -0,0 +1,135 @@
+diff --git icedtea/hotspot/src/os/linux/vm/jvm_linux.cpp icedtea/hotspot/src/os/linux/vm/jvm_linux.cpp
+index ba84788..c22281f 100644
+--- openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp
+@@ -154,7 +154,9 @@ struct siglabel siglabels[] = {
+ #ifdef SIGSTKFLT
+ "STKFLT", SIGSTKFLT, /* Stack fault. */
+ #endif
++#ifdef SIGCLD
+ "CLD", SIGCLD, /* Same as SIGCHLD (System V). */
++#endif
+ "CHLD", SIGCHLD, /* Child status has changed (POSIX). */
+ "CONT", SIGCONT, /* Continue (POSIX). */
+ "STOP", SIGSTOP, /* Stop, unblockable (POSIX). */
+diff --git icedtea/hotspot/src/os/linux/vm/os_linux.cpp icedtea/hotspot/src/os/linux/vm/os_linux.cpp
+index 89ba0ff..e84837a 100644
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -94,7 +94,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -530,6 +529,13 @@ void os::Linux::hotspot_sigmask(Thread* thread) {
+ // detecting pthread library
+
+ void os::Linux::libpthread_init() {
++#if 1
++ // Hard code musl compatible settings
++ os::Linux::set_glibc_version("glibc 2.9");
++ os::Linux::set_libpthread_version("NPTL");
++ os::Linux::set_is_NPTL();
++ os::Linux::set_is_floating_stack();
++#else
+ // Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION
+ // and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a
+ // generic name for earlier versions.
+@@ -588,6 +594,7 @@ void os::Linux::libpthread_init() {
+ if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) {
+ os::Linux::set_is_floating_stack();
+ }
++#endif
+ }
+
+ /////////////////////////////////////////////////////////////////////////////
+@@ -2834,6 +2841,11 @@ extern "C" JNIEXPORT void numa_warn(int number, char *where, ...) { }
+ extern "C" JNIEXPORT void numa_error(char *where) { }
+ extern "C" JNIEXPORT int fork1() { return fork(); }
+
++static void *dlvsym(void *handle, const char *name, const char *ver)
++{
++ return dlsym(handle, name);
++}
++
+ // Handle request to load libnuma symbol version 1.1 (API v1). If it fails
+ // load symbol from base version instead.
+ void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
+diff --git openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp
+index 10d56d8..b9b2b77 100644
+--- openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp
+@@ -33,7 +33,7 @@
+
+ #include <unistd.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <netdb.h>
+
+ inline void* os::thread_local_storage_at(int index) {
+diff --git openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
+index d2c10e0..20f657f 100644
+--- openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
++++ openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
+@@ -75,7 +75,7 @@
+ # include <pwd.h>
+ # include <poll.h>
+ # include <ucontext.h>
+-# include <fpu_control.h>
++# include <linux/types.h> /* provides __u64 */
+
+ #ifdef BUILTIN_SIM
+ #define REG_SP REG_RSP
+diff --git openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+index 38388cb..2505ba8 100644
+--- openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+@@ -72,7 +72,6 @@
+ # include <pwd.h>
+ # include <poll.h>
+ # include <ucontext.h>
+-# include <fpu_control.h>
+
+ #ifdef AMD64
+ #define REG_SP REG_RSP
+@@ -544,6 +543,9 @@ JVM_handle_linux_signal(int sig,
+ return true; // Mute compiler
+ }
+
++#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
++#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
++
+ void os::Linux::init_thread_fpu_state(void) {
+ #ifndef AMD64
+ // set fpu to 53 bit precision
+diff --git openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
+index f3f2f26..6b50cfa 100644
+--- openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
+@@ -32,7 +32,9 @@
+ // map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp
+ #define SP_BITLENGTH 32
+ #define PAGE_SHIFT 12
++ #ifndef PAGE_SIZE
+ #define PAGE_SIZE (1UL << PAGE_SHIFT)
++ #endif
+ static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)];
+
+ public:
+diff --git openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+index efa0b4e..6df2302 100644
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+@@ -235,7 +235,7 @@ inline int g_isnan(double f) { return isnand(f); }
+ #elif defined(__APPLE__)
+ inline int g_isnan(double f) { return isnan(f); }
+ #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return isnan(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
diff --git a/user/openjdk8/icedtea-hotspot-noagent-musl.patch b/user/openjdk8/icedtea-hotspot-noagent-musl.patch
new file mode 100644
index 000000000..25bdb1c5a
--- /dev/null
+++ b/user/openjdk8/icedtea-hotspot-noagent-musl.patch
@@ -0,0 +1,79 @@
+--- openjdk.orig/common/autoconf/configure
++++ openjdk/common/autoconf/configure
+@@ -103,7 +103,7 @@
+ }
+
+ # Check for local changes
+-check_hg_updates
++run_autogen_or_fail
+
+ if test -e $conf_custom_script_dir/generated-configure.sh; then
+ # Test if open configure is newer than custom configure, if so, custom needs to
+--- openjdk.orig/common/autoconf/jdk-options.m4
++++ openjdk/common/autoconf/jdk-options.m4
+@@ -159,7 +159,7 @@
+ AC_SUBST(JVM_VARIANT_ZEROSHARK)
+ AC_SUBST(JVM_VARIANT_CORE)
+
+- INCLUDE_SA=true
++ AC_CHECK_HEADER(thread_db.h,INCLUDE_SA=true,INCLUDE_SA=false)
+ if test "x$JVM_VARIANT_ZERO" = xtrue ; then
+ INCLUDE_SA=false
+ fi
+--- openjdk.orig/hotspot/make/linux/makefiles/defs.make
++++ openjdk/hotspot/make/linux/makefiles/defs.make
+@@ -305,6 +305,9 @@
+
+ # Serviceability Binaries
+ # No SA Support for PPC, IA64, ARM or zero
++# or if thread_db.h missing (musl)
++
++ifneq ($(wildcard /usr/include/thread_db.h),)
+ ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
+ $(EXPORT_LIB_DIR)/sa-jdi.jar
+ ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
+@@ -322,6 +322,11 @@
+ endif
+ endif
+ endif
++else
++ADD_SA_BINARIES/x86 =
++ADD_SA_BINARIES/sparc =
++ADD_SA_BINARIES/aarch64 =
++endif
+ ADD_SA_BINARIES/ppc =
+ ADD_SA_BINARIES/ia64 =
+ ADD_SA_BINARIES/arm =
+--- openjdk.orig/hotspot/make/linux/makefiles/sa.make
++++ openjdk/hotspot/make/linux/makefiles/sa.make
+@@ -59,9 +59,11 @@
+
+ # if $(AGENT_DIR) does not exist, we don't build SA
+ # also, we don't build SA on Itanium or zero.
++# check for thread_db.h too (musl does not have it).
+
+ all:
+- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
++ if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \
++ -a "$(SRCARCH)" != "ia64" \
+ -a "$(SRCARCH)" != "zero" ] ; then \
+ $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
+ fi
+--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
++++ openjdk/hotspot/make/linux/makefiles/saproc.make
+@@ -61,12 +61,15 @@
+
+ # if $(AGENT_DIR) does not exist, we don't build SA
+ # also, we don't build SA on Itanium or zero.
++# check for thread_db.h too (musl does not have it).
+
++ifneq ($(wildcard /usr/include/thread_db.h),)
+ ifneq ($(wildcard $(AGENT_DIR)),)
+ ifneq ($(filter-out ia64 zero,$(SRCARCH)),)
+ BUILDLIBSAPROC = $(LIBSAPROC)
+ endif
+ endif
++endif
+
+ ifneq ($(ALT_SASRCDIR),)
+ ALT_SAINCDIR=-I$(ALT_SASRCDIR) -DALT_SASRCDIR
diff --git a/user/openjdk8/icedtea-jdk-execinfo.patch b/user/openjdk8/icedtea-jdk-execinfo.patch
new file mode 100644
index 000000000..e4ae562c5
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-execinfo.patch
@@ -0,0 +1,20 @@
+--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+@@ -27,7 +27,7 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
+ #include <execinfo.h>
+ #endif
+
+@@ -689,7 +689,7 @@
+ return ret;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
+ void print_stack(void)
+ {
+ void *array[10];
diff --git a/user/openjdk8/icedtea-jdk-fix-ipv6-init.patch b/user/openjdk8/icedtea-jdk-fix-ipv6-init.patch
new file mode 100644
index 000000000..11f3bf6dd
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-fix-ipv6-init.patch
@@ -0,0 +1,42 @@
+--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig
++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c
+@@ -561,7 +561,7 @@
+
+ static struct localinterface *localifs = 0;
+ static int localifsSize = 0; /* size of array */
+-static int nifs = 0; /* number of entries used in array */
++static int nifs = -1; /* number of entries used in array */
+
+ /* not thread safe: make sure called once from one thread */
+
+@@ -573,6 +573,10 @@
+ int index, x1, x2, x3;
+ unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf;
+
++ if (nifs >= 0)
++ return ;
++ nifs = 0;
++
+ if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) {
+ return ;
+ }
+@@ -601,7 +605,7 @@
+ localifs = (struct localinterface *) realloc (
+ localifs, sizeof (struct localinterface)* (localifsSize+5));
+ if (localifs == 0) {
+- nifs = 0;
++ nifs = -1;
+ fclose (f);
+ return;
+ }
+@@ -624,9 +628,7 @@
+ static int getLocalScopeID (char *addr) {
+ struct localinterface *lif;
+ int i;
+- if (localifs == 0) {
+- initLocalIfs();
+- }
++ initLocalIfs();
+ for (i=0, lif=localifs; i<nifs; i++, lif++) {
+ if (memcmp (addr, lif->localaddr, 16) == 0) {
+ return lif->index;
diff --git a/user/openjdk8/icedtea-jdk-fix-libjvm-load.patch b/user/openjdk8/icedtea-jdk-fix-libjvm-load.patch
new file mode 100644
index 000000000..d0a090ea5
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-fix-libjvm-load.patch
@@ -0,0 +1,14 @@
+musl needs LD_LIBRARY_PATH set because when .so is opened with dlopen(/abs/path)
+it does not qualify for providing symbols for NEEDED dependency.
+
+--- openjdk.orig/jdk/src/solaris/bin/java_md_solinux.c
++++ openjdk/jdk/src/solaris/bin/java_md_solinux.c
+@@ -291,6 +291,8 @@
+ char *dmllp = NULL;
+ char *p; /* a utility pointer */
+
++ return JNI_TRUE;
++
+ #ifdef AIX
+ /* We always have to set the LIBPATH on AIX because ld doesn't support $ORIGIN. */
+ return JNI_TRUE;
diff --git a/user/openjdk8/icedtea-jdk-getmntent-buffer.patch b/user/openjdk8/icedtea-jdk-getmntent-buffer.patch
new file mode 100644
index 000000000..075a9d423
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-getmntent-buffer.patch
@@ -0,0 +1,88 @@
+Give a much bigger buffer to getmntent_r.
+
+https://bugs.alpinelinux.org/issues/7093
+
+diff --git a/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c b/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c
+index c8500db..d0b85d6 100644
+--- openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c
++++ openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c
+@@ -33,6 +33,7 @@
+ #include <dlfcn.h>
+ #include <errno.h>
+ #include <mntent.h>
++#include <limits.h>
+
+ #include "sun_nio_fs_LinuxNativeDispatcher.h"
+
+@@ -173,8 +174,8 @@ Java_sun_nio_fs_LinuxNativeDispatcher_getmntent(JNIEnv* env, jclass this,
+ jlong value, jobject entry)
+ {
+ struct mntent ent;
+- char buf[1024];
+- int buflen = sizeof(buf);
++ char *buf = NULL;
++ const size_t buflen = PATH_MAX * 4;
+ struct mntent* m;
+ FILE* fp = jlong_to_ptr(value);
+ jsize len;
+@@ -183,10 +184,17 @@ Java_sun_nio_fs_LinuxNativeDispatcher_getmntent(JNIEnv* env, jclass this,
+ char* dir;
+ char* fstype;
+ char* options;
++ jint res = -1;
+
+- m = getmntent_r(fp, &ent, (char*)&buf, buflen);
+- if (m == NULL)
++ buf = malloc(buflen);
++ if (buf == NULL) {
++ JNU_ThrowOutOfMemoryError(env, "native heap");
+ return -1;
++ }
++ m = getmntent_r(fp, &ent, buf, buflen);
++ if (m == NULL)
++ goto out;
++
+ name = m->mnt_fsname;
+ dir = m->mnt_dir;
+ fstype = m->mnt_type;
+@@ -195,32 +203,35 @@ Java_sun_nio_fs_LinuxNativeDispatcher_getmntent(JNIEnv* env, jclass this,
+ len = strlen(name);
+ bytes = (*env)->NewByteArray(env, len);
+ if (bytes == NULL)
+- return -1;
++ goto out;
+ (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)name);
+ (*env)->SetObjectField(env, entry, entry_name, bytes);
+
+ len = strlen(dir);
+ bytes = (*env)->NewByteArray(env, len);
+ if (bytes == NULL)
+- return -1;
++ goto out;
+ (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)dir);
+ (*env)->SetObjectField(env, entry, entry_dir, bytes);
+
+ len = strlen(fstype);
+ bytes = (*env)->NewByteArray(env, len);
+ if (bytes == NULL)
+- return -1;
++ goto out;
+ (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)fstype);
+ (*env)->SetObjectField(env, entry, entry_fstype, bytes);
+
+ len = strlen(options);
+ bytes = (*env)->NewByteArray(env, len);
+ if (bytes == NULL)
+- return -1;
++ goto out;
+ (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)options);
+ (*env)->SetObjectField(env, entry, entry_options, bytes);
+
+- return 0;
++ res = 0;
++out:
++ free(buf);
++ return res;
+ }
+
+ JNIEXPORT void JNICALL
diff --git a/user/openjdk8/icedtea-jdk-includes.patch b/user/openjdk8/icedtea-jdk-includes.patch
new file mode 100644
index 000000000..6443a1973
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-includes.patch
@@ -0,0 +1,154 @@
+--- openjdk.orig/jdk/src/aix/native/java/net/aix_close.c
++++ openjdk/jdk/src/aix/native/java/net/aix_close.c
+@@ -62,7 +62,7 @@
+ #include <unistd.h>
+ #include <errno.h>
+
+-#include <sys/poll.h>
++#include <poll.h>
+
+ /*
+ * Stack allocated by thread when doing blocking operation
+--- openjdk.orig/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c
++++ openjdk/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c
+@@ -32,7 +32,7 @@
+ #include "sun_nio_ch_NativeThread.h"
+
+ #include <pthread.h>
+-#include <sys/signal.h>
++#include <signal.h>
+
+ /* Also defined in src/aix/native/java/net/aix_close.c */
+ #define INTERRUPT_SIGNAL (SIGRTMAX - 1)
+--- openjdk.orig/jdk/src/aix/native/sun/nio/ch/AixPollPort.c
++++ openjdk/jdk/src/aix/native/sun/nio/ch/AixPollPort.c
+@@ -34,7 +34,7 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/pollset.h>
+ #include <fcntl.h>
+ #include <stddef.h>
+--- openjdk.orig/jdk/src/macosx/javavm/export/jvm_md.h
++++ openjdk/jdk/src/macosx/javavm/export/jvm_md.h
+@@ -60,7 +60,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <sys/signal.h>
++#include <signal.h>
+
+ /* O Flags */
+
+--- openjdk.orig/jdk/src/solaris/javavm/export/jvm_md.h
++++ openjdk/jdk/src/solaris/javavm/export/jvm_md.h
+@@ -65,7 +65,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <sys/signal.h>
++#include <signal.h>
+
+ /* O Flags */
+
+--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c
++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
+@@ -28,7 +28,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #if defined(__linux__) && !defined(USE_SELECT)
+-#include <sys/poll.h>
++#include <poll.h>
+ #endif
+ #include <netinet/tcp.h> /* Defines TCP_NODELAY, needed for 2.6 */
+ #include <netinet/in.h>
+--- openjdk.orig/jdk/src/solaris/native/java/net/bsd_close.c
++++ openjdk/jdk/src/solaris/native/java/net/bsd_close.c
+@@ -36,7 +36,7 @@
+ #include <sys/uio.h>
+ #include <unistd.h>
+ #include <errno.h>
+-#include <sys/poll.h>
++#include <poll.h>
+
+ /*
+ * Stack allocated by thread when doing blocking operation
+--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c
++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c
+@@ -34,7 +34,7 @@
+ #include <sys/uio.h>
+ #include <unistd.h>
+ #include <errno.h>
+-#include <sys/poll.h>
++#include <poll.h>
+
+ /*
+ * Stack allocated by thread when doing blocking operation
+--- openjdk.orig/jdk/src/solaris/native/java/net/net_util_md.h
++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.h
+@@ -33,7 +33,7 @@
+ #include <unistd.h>
+
+ #ifndef USE_SELECT
+-#include <sys/poll.h>
++#include <poll.h>
+ #endif
+
+ int NET_Timeout(int s, long timeout);
+--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c
+@@ -28,7 +28,7 @@
+ #include "jvm.h"
+ #include "jlong.h"
+ #include "sun_nio_ch_DevPollArrayWrapper.h"
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <unistd.h>
+ #include <sys/time.h>
+
+--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
+@@ -34,7 +34,7 @@
+
+ #ifdef __linux__
+ #include <pthread.h>
+- #include <sys/signal.h>
++ #include <signal.h>
+ /* Also defined in net/linux_close.c */
+ #define INTERRUPT_SIGNAL (SIGRTMAX - 2)
+ #elif __solaris__
+--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/Net.c
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c
+@@ -23,7 +23,7 @@
+ * questions.
+ */
+
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <string.h>
+--- openjdk.orig/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c
++++ openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c
+@@ -32,7 +32,7 @@
+ #include <dlfcn.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/inotify.h>
+
+ #include "sun_nio_fs_LinuxWatchService.h"
+--- openjdk.orig/jdk/src/solaris/transport/socket/socket_md.c
++++ openjdk/jdk/src/solaris/transport/socket/socket_md.c
+@@ -37,7 +37,7 @@
+ #include <thread.h>
+ #else
+ #include <pthread.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #endif
+
+ #include "socket_md.h"
diff --git a/user/openjdk8/icedtea-jdk-musl.patch b/user/openjdk8/icedtea-jdk-musl.patch
new file mode 100644
index 000000000..97946ba42
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-musl.patch
@@ -0,0 +1,105 @@
+diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
+--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2017-02-06 11:23:47.041165210 +0000
+@@ -46,6 +46,8 @@
+
+ #include "zip.h"
+
++#define uchar unsigned char
++
+ #ifdef NO_ZLIB
+
+ inline bool jar::deflate_bytes(bytes& head, bytes& tail) {
+diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
+--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2017-02-06 11:23:47.047832009 +0000
+@@ -23,9 +23,7 @@
+ * questions.
+ */
+
+-#define ushort unsigned short
+-#define uint unsigned int
+-#define uchar unsigned char
++#include <sys/types.h>
+
+ struct unpacker;
+
+diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h
+--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2017-02-06 11:23:47.047832009 +0000
+@@ -27,6 +27,7 @@
+ #ifndef MLIB_TYPES_H
+ #define MLIB_TYPES_H
+
++#include <stddef.h> /* for NULL */
+ #include <limits.h>
+ #if defined(_MSC_VER)
+ #include <float.h> /* for FLT_MAX and DBL_MAX */
+diff -ru openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2017-02-06 11:23:47.047832009 +0000
+@@ -47,7 +47,7 @@
+
+ #include "java_net_Inet4AddressImpl.h"
+
+-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
++#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
+ #define HAS_GLIBC_GETHOSTBY_R 1
+ #endif
+
+diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
+--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2017-02-06 11:23:47.047832009 +0000
+@@ -41,7 +41,6 @@
+ #endif
+ #ifdef __linux__
+ #include <unistd.h>
+-#include <sys/sysctl.h>
+ #include <sys/utsname.h>
+ #include <netinet/ip.h>
+
+diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
+--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2017-02-06 11:23:47.047832009 +0000
+@@ -43,7 +43,6 @@
+ #endif
+ #ifdef __linux__
+ #include <unistd.h>
+-#include <sys/sysctl.h>
+ #endif
+
+ #include "jvm.h"
+diff -ru openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c
+--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c 2017-02-06 11:23:47.047832009 +0000
+@@ -56,7 +56,7 @@
+ /*
+ * Signal to unblock thread
+ */
+-static int sigWakeup = (__SIGRTMAX - 2);
++static int sigWakeup;
+
+ /*
+ * The fd table and the number of file descriptors
+@@ -95,6 +95,9 @@
+ /*
+ * Setup the signal handler
+ */
++#ifndef __AIX
++ sigWakeup = SIGRTMAX - 2;
++#endif
+ sa.sa_handler = sig_wakeup;
+ sa.sa_flags = 0;
+ sigemptyset(&sa.sa_mask);
+diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
+--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2017-01-25 04:22:03.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2017-02-06 11:23:47.051165409 +0000
+@@ -36,7 +36,7 @@
+ #include <pthread.h>
+ #include <sys/signal.h>
+ /* Also defined in net/linux_close.c */
+- #define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
++ #define INTERRUPT_SIGNAL (SIGRTMAX - 2)
+ #elif __solaris__
+ #include <thread.h>
+ #include <signal.h>
diff --git a/user/openjdk8/icedtea-jdk-tls-nist-curves.patch b/user/openjdk8/icedtea-jdk-tls-nist-curves.patch
new file mode 100644
index 000000000..75fb3af8c
--- /dev/null
+++ b/user/openjdk8/icedtea-jdk-tls-nist-curves.patch
@@ -0,0 +1,47 @@
+Bug #7404 TLS negotiation error in OpenJDK 8 u131
+
+Fixes an OpenJDK 8 regression discovered in docker-library/openjdk#115
+on Alpine Linux 3.5 (u121) and 3.6 (u131) that causes TLS negotiation
+errors for some clients.
+
+Root cause appears to be OpenJDK announcing support for NIST curves the
+underlying NSS library does doesn't. This patch limits OpenJDK's
+announcement to elliptic curves 23 (secp256r1), 24 (secp384r1), and 25
+(secp521r1).
+
+Related issues:
+
+* https://github.com/docker-library/openjdk/issues/115
+* https://bugs.alpinelinux.org/issues/7404
+* https://access.redhat.com/discussions/2339811
+* https://bugzilla.redhat.com/show_bug.cgi?id=1022017
+* https://bugzilla.redhat.com/show_bug.cgi?id=1348525
+
+--- openjdk.orig/jdk/src/share/classes/sun/security/ssl/EllipticCurvesExtension.java 2017-05-08 20:03:50.000000000 -0700
++++ openjdk/jdk/src/share/classes/sun/security/ssl/EllipticCurvesExtension.java 2017-06-14 13:37:00.000000000 -0700
+@@ -168,21 +168,10 @@
+ "contains no supported elliptic curves");
+ }
+ } else { // default curves
+- int[] ids;
+- if (requireFips) {
+- ids = new int[] {
+- // only NIST curves in FIPS mode
+- 23, 24, 25, 9, 10, 11, 12, 13, 14,
+- };
+- } else {
+- ids = new int[] {
+- // NIST curves first
+- 23, 24, 25, 9, 10, 11, 12, 13, 14,
+- // non-NIST curves
+- 22,
+- };
+- }
+-
++ int[] ids = new int[] {
++ // NSS currently only supports these three NIST curves
++ 23, 24, 25
++ };
+ idList = new ArrayList<>(ids.length);
+ for (int curveId : ids) {
+ if (isAvailableCurve(curveId)) {
diff --git a/user/openjdk8/remove-gawk.patch b/user/openjdk8/remove-gawk.patch
new file mode 100644
index 000000000..f0731bab4
--- /dev/null
+++ b/user/openjdk8/remove-gawk.patch
@@ -0,0 +1,125 @@
+--- icedtea-2.6.16/configure.old 2019-01-01 20:11:07.846602426 +0000
++++ icedtea-2.6.16/configure 2019-02-27 00:23:41.230000000 +0000
+@@ -6881,108 +6881,7 @@
+ LDD="$ac_cv_prog_LDD"
+ fi
+
+-if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}gawk", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}gawk; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_path_GAWK+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- case $GAWK in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_GAWK="$GAWK" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_GAWK="$as_dir/$ac_word$ac_exec_ext"
+- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+- done
+-IFS=$as_save_IFS
+-
+- ;;
+-esac
+-fi
+-GAWK=$ac_cv_path_GAWK
+-if test -n "$GAWK"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAWK" >&5
+-$as_echo "$GAWK" >&6; }
+-else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-
+-
+-fi
+-if test -z "$ac_cv_path_GAWK"; then
+- ac_pt_GAWK=$GAWK
+- # Extract the first word of "gawk", so it can be a program name with args.
+-set dummy gawk; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_path_ac_pt_GAWK+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- case $ac_pt_GAWK in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_ac_pt_GAWK="$ac_pt_GAWK" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_ac_pt_GAWK="$as_dir/$ac_word$ac_exec_ext"
+- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+- done
+-IFS=$as_save_IFS
+-
+- ;;
+-esac
+-fi
+-ac_pt_GAWK=$ac_cv_path_ac_pt_GAWK
+-if test -n "$ac_pt_GAWK"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_GAWK" >&5
+-$as_echo "$ac_pt_GAWK" >&6; }
+-else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-
+- if test "x$ac_pt_GAWK" = x; then
+- GAWK=""
+- else
+- case $cross_compiling:$ac_tool_warned in
+-yes:)
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+-ac_tool_warned=yes ;;
+-esac
+- GAWK=$ac_pt_GAWK
+- fi
+-else
+- GAWK="$ac_cv_path_GAWK"
+-fi
+-
+- if test x"$GAWK" = x ; then
+- as_fn_error $? "The following program was not found on the PATH: gawk" "$LINENO" 5
+- fi
+-
++GAWK="$AWK"
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}perl", so it can be a program name with args.
+--- icedtea-2.6.16/configure.ac.old 2019-01-01 20:09:39.139994680 +0000
++++ icedtea-2.6.16/configure.ac 2019-02-27 00:25:01.960000000 +0000
+@@ -39,9 +39,7 @@
+ IT_FIND_TOOLS([FASTJAR], [fastjar jar])
+ IT_FIND_TOOLS([SED],[gsed sed])
+ AC_CHECK_TOOL([LDD], [ldd])
+-dnl OpenJDK's README-builds.html lists gawk as a build dependency so we
+-dnl check for it explicitly rather than using AC_PROG_AWK.
+-IT_FIND_TOOL([GAWK], [gawk])
++IT_FIND_TOOL([GAWK], [awk])
+ IT_FIND_TOOL([WHICH], [which])
+ IT_FIND_TOOL([PERL], [perl])
+
diff --git a/user/openjpeg/APKBUILD b/user/openjpeg/APKBUILD
index 3b4c6dc49..6e2993bd6 100644
--- a/user/openjpeg/APKBUILD
+++ b/user/openjpeg/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=openjpeg
-pkgver=2.3.0
-pkgrel=1
+pkgver=2.3.1
+pkgrel=0
pkgdesc="Open-source implementation of JPEG 2000 image codec"
url="http://www.openjpeg.org/"
arch="all"
@@ -11,12 +11,9 @@ license="BSD-2-Clause-NetBSD"
depends_dev="$pkgname-tools"
makedepends="libpng-dev tiff-dev lcms2-dev doxygen cmake"
subpackages="$pkgname-dev $pkgname-tools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/uclouvain/openjpeg/archive/v$pkgver.tar.gz
- fix-include-path.patch
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/uclouvain/openjpeg/archive/v$pkgver.tar.gz"
build() {
- cd "$builddir"
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
@@ -41,7 +38,6 @@ build() {
# - CVE-2016-9581
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -51,5 +47,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="0a9d427be4a820b1d759fca4b50e293721b45fe4885aa61ca1ae09e099f75ed93520448090c780d62f51076d575cc03618cd6d5181bdb6b34e4fc07b4cfdd568 openjpeg-2.3.0.tar.gz
-354fb181a25eeabe231d28216bcb8e401648cf8e71ba476cabd25e297f46bbc1ea5b091b4d2d4450501422b8b20649bf109ff5b3f3b49f1492650dbb46ed6e22 fix-include-path.patch"
+sha512sums="339fbc899bddf2393d214df71ed5d6070a3a76b933b1e75576c8a0ae9dfcc4adec40bdc544f599e4b8d0bc173e4e9e7352408497b5b3c9356985605830c26c03 openjpeg-2.3.1.tar.gz"
diff --git a/user/openjpeg/fix-include-path.patch b/user/openjpeg/fix-include-path.patch
deleted file mode 100644
index f5ff1e60d..000000000
--- a/user/openjpeg/fix-include-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- openjpeg-2.3.0/cmake/OpenJPEGConfig.cmake.in.old 2017-10-04 22:23:14.000000000 +0000
-+++ openjpeg-2.3.0/cmake/OpenJPEGConfig.cmake.in 2018-09-06 00:53:22.860000000 +0000
-@@ -26,7 +26,7 @@
- if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
- # This is an install tree
- include(${SELF_DIR}/OpenJPEGTargets.cmake)
-- get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
-+ get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
- set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_ROOT})
-
- else()
diff --git a/user/openldap/APKBUILD b/user/openldap/APKBUILD
index f1d84ba54..552c760c6 100644
--- a/user/openldap/APKBUILD
+++ b/user/openldap/APKBUILD
@@ -9,7 +9,7 @@
# - CVE-2017-9287
#
pkgname=openldap
-pkgver=2.4.46
+pkgver=2.4.47
pkgrel=0
pkgdesc="LDAP Server"
url="http://www.openldap.org/"
@@ -36,7 +36,6 @@ source="ftp://ftp.$pkgname.org/pub/OpenLDAP/$pkgname-release/$pkgname-$pkgver.tg
slapd.initd
slapd.confd
"
-builddir="$srcdir/$pkgname-$pkgver"
# SLAPD backends
_backends=""
@@ -203,7 +202,7 @@ _submv() {
done
}
-sha512sums="eef39d43f04aa09c657a1422cefef060fe00368559ae40d0d97536c08ebeaaa1ab06207b3f121ba6afcde54abdc550027c3505e5217e5fd47ae6f8c001260186 openldap-2.4.46.tgz
+sha512sums="d424079e34207e3d24383a2bea70a07ded40714982a6767174d2b2cb208cd94feab5ef12157accae915b8e404e5773a7547aaef65f06b44dc3cc09c6a64d5a11 openldap-2.4.47.tgz
5d34d49eabe7cb66cf8284cc3bd9730fa23df4932df68549e242d250ee50d40c434ae074ebc720d5fbcd9d16587c9333c5598d30a5f1177caa61461ab7771f38 openldap-2.4-ppolicy.patch
44d97efb25d4f39ab10cd5571db43f3bfa7c617a5bb087085ae16c0298aca899b55c8742a502121ba743a73e6d77cd2056bc96cee63d6d0862dabc8fb5574357 openldap-2.4.11-libldap_r.patch
8c4244d316a05870dd1147b2ab7ddbcfd7626b5dce2f5a0e72f066dc635c2edb4f1ea3be88c6fec2d5ab016001be16bedef70f2ce0695c3cd96f69e1614ff177 fix-manpages.patch
diff --git a/user/openttd/APKBUILD b/user/openttd/APKBUILD
index 63df0988e..2c185d8cb 100644
--- a/user/openttd/APKBUILD
+++ b/user/openttd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=openttd
-pkgver=1.8.0
+pkgver=1.9.1
pkgrel=0
pkgdesc="Simulation game based on Transport Tycoon Deluxe"
url="https://www.openttd.org/en/"
@@ -12,9 +12,7 @@ depends="opengfx openmsx opensfx"
makedepends="fontconfig-dev freetype-dev icu-dev libpng-dev libxdg-basedir-dev
lzo-dev sdl-dev xz-dev zlib-dev"
subpackages="$pkgname-doc"
-source="https://binaries.openttd.org/releases/1.8.0/openttd-$pkgver-source.tar.xz
- icu61.patch
- "
+source="https://proxy.binaries.openttd.org/openttd-releases/$pkgver/openttd-$pkgver-source.tar.xz"
build() {
cd "$builddir"
@@ -32,5 +30,4 @@ package() {
make install
}
-sha512sums="a2d61b3c94a550c8f3a581127df8c3459b1ddff5ba924942c468cbc70e88e0bf4405cecb68a91243b544ead64f215aa8d489a07b38dce507ae7d59e8ec155d7a openttd-1.8.0-source.tar.xz
-db470433bcc68688b1a4cf71a514879c139300a778feb3f832bff0400b578d4b7720df6e259a86013334a661fce56c66d74aaf709d0027cf9638f006bebca10e icu61.patch"
+sha512sums="44d907299a14fd09ebff980f7c212bbdbd5def880bc56bfe106c3efa8cb32472bbcafdbb145d3f4340a3bc96179418f78fe2ddc62dd067b464eca73313b477c1 openttd-1.9.1-source.tar.xz"
diff --git a/user/openttd/icu61.patch b/user/openttd/icu61.patch
deleted file mode 100644
index e4143d82f..000000000
--- a/user/openttd/icu61.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 19076c24c1f3baf2a22d1fa832d5688216cf54a3 Mon Sep 17 00:00:00 2001
-From: Charles Pigott <charlespigott@googlemail.com>
-Date: Sun, 8 Apr 2018 01:06:18 +0100
-Subject: [PATCH] Fix #6690: Compilation with ICU 61
-
----
- src/language.h | 2 +-
- src/strings.cpp | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/language.h b/src/language.h
-index d33ba81892..ec241dbd8c 100644
---- a/src/language.h
-+++ b/src/language.h
-@@ -105,7 +105,7 @@ extern LanguageList _languages;
- extern const LanguageMetadata *_current_language;
-
- #ifdef WITH_ICU_SORT
--extern Collator *_current_collator;
-+extern icu::Collator *_current_collator;
- #endif /* WITH_ICU_SORT */
-
- bool ReadLanguagePack(const LanguageMetadata *lang);
-diff --git a/src/strings.cpp b/src/strings.cpp
-index 1c539d9343..fd7420259a 100644
---- a/src/strings.cpp
-+++ b/src/strings.cpp
-@@ -52,7 +52,7 @@ const LanguageMetadata *_current_language = NULL; ///< The currently loaded lang
- TextDirection _current_text_dir; ///< Text direction of the currently selected language.
-
- #ifdef WITH_ICU_SORT
--Collator *_current_collator = NULL; ///< Collator for the language currently in use.
-+icu::Collator *_current_collator = NULL; ///< Collator for the language currently in use.
- #endif /* WITH_ICU_SORT */
-
- static uint64 _global_string_params_data[20]; ///< Global array of string parameters. To access, use #SetDParam.
-@@ -1795,7 +1795,7 @@ bool ReadLanguagePack(const LanguageMetadata *lang)
-
- /* Create a collator instance for our current locale. */
- UErrorCode status = U_ZERO_ERROR;
-- _current_collator = Collator::createInstance(Locale(_current_language->isocode), status);
-+ _current_collator = icu::Collator::createInstance(icu::Locale(_current_language->isocode), status);
- /* Sort number substrings by their numerical value. */
- if (_current_collator != NULL) _current_collator->setAttribute(UCOL_NUMERIC_COLLATION, UCOL_ON, status);
- /* Avoid using the collator if it is not correctly set. */
diff --git a/user/opus/APKBUILD b/user/opus/APKBUILD
index 7b76e2a0a..2b2a2d887 100644
--- a/user/opus/APKBUILD
+++ b/user/opus/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=opus
-pkgver=1.3
+pkgver=1.3.1
pkgrel=0
pkgdesc="Codec designed for speech and audio transmission"
url="http://www.opus-codec.org/"
@@ -39,4 +39,4 @@ package() {
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-sha512sums="438635667e72c326d6d06a30e0b3a5564ba6cf5d484066456e1118e1c2fe3a61b959d0afa77a1084b177b72f9230618b6b55c78bc4e24e9127a09fd345b42518 opus-1.3.tar.gz"
+sha512sums="6cd5e4d8a0551ed5fb59488c07a5cc18a241d1fde5f9eb9f16cd4e77abcdb4134dd51ad1d737be1e6039bfa56912510b8648152f2478a1f21c7c1d9ce32933cd opus-1.3.1.tar.gz"
diff --git a/user/orc/APKBUILD b/user/orc/APKBUILD
index 9726ef4f4..de40d3f31 100644
--- a/user/orc/APKBUILD
+++ b/user/orc/APKBUILD
@@ -2,16 +2,15 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=orc
-pkgver=0.4.28
-pkgrel=1
+pkgver=0.4.29
+pkgrel=0
pkgdesc="The Oil Run-time Compiler"
url="https://gstreamer.freedesktop.org/modules/orc.html"
arch="all"
license="BSD-2-Clause AND BSD-3-Clause"
makedepends="linux-headers"
subpackages="$pkgname-dev $pkgname-doc $pkgname-compiler"
-source="https://gstreamer.freedesktop.org/src/orc/${pkgname}-${pkgver}.tar.xz
- orc-0.4.28-ppc64-elfv2.patch"
+source="https://gstreamer.freedesktop.org/src/orc/${pkgname}-${pkgver}.tar.xz"
build() {
cd "$builddir"
@@ -48,5 +47,4 @@ compiler() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="2ae3100e7d0c03eba9a8a10a8924da4d729e1967b63e5dfdf88c4aee907d7ece82c782d74f4cb7e28a366dd74ce5e1ddc6e2b971e5a2f879b0501cc313b93410 orc-0.4.28.tar.xz
-c7067aff0295a68048cc0c2dbe9d7ce5b0eff6a19fce553fcccb6a358d35fb2f14f1a201f96e995d920f44995483f2eccc779f9d81817b0661794354555b5532 orc-0.4.28-ppc64-elfv2.patch"
+sha512sums="57aa75bbefa9ba9ffcce97affd504c13c57612e2409863c011555bed6ff6ba224d38ed66b715bf103679a8ee28ddae427db3d78c7b4a2ddfa7dbd72a4fa81726 orc-0.4.29.tar.xz"
diff --git a/user/orc/orc-0.4.28-ppc64-elfv2.patch b/user/orc/orc-0.4.28-ppc64-elfv2.patch
deleted file mode 100644
index 7f4f8b0d3..000000000
--- a/user/orc/orc-0.4.28-ppc64-elfv2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- orc-0.4.28/orc/orcprogram-altivec.c.old 2014-04-11 03:36:22.000000000 -0500
-+++ orc-0.4.28/orc/orcprogram-altivec.c 2018-01-07 23:32:55.065198004 -0600
-@@ -27,12 +27,14 @@
- ORC_ASM_CODE (compiler, "%s:\n", compiler->program->name);
-
- if (compiler->is_64bit) {
-+#if !defined(_CALL_ELF) || _CALL_ELF == 1
- ORC_ASM_CODE (compiler, " .quad .%s,.TOC.@tocbase,0\n",
- compiler->program->name);
- ORC_ASM_CODE (compiler, ".%s:\n", compiler->program->name);
- powerpc_emit (compiler, 0); powerpc_emit (compiler, 0);
- powerpc_emit (compiler, 0); powerpc_emit (compiler, 0);
- powerpc_emit (compiler, 0); powerpc_emit (compiler, 0);
-+#endif
- powerpc_emit_stdu (compiler, POWERPC_R1, POWERPC_R1, -16);
- } else {
- powerpc_emit_stwu (compiler, POWERPC_R1, POWERPC_R1, -16);
---- orc-0.4.28/orc/orcpowerpc.c.old 2014-04-11 03:36:22.000000000 -0500
-+++ orc-0.4.28/orc/orcpowerpc.c 2018-01-07 23:31:53.285259170 -0600
-@@ -423,7 +423,7 @@
- int size = code->code_size;
-
- ptr = code->code;
--#ifdef __powerpc64__
-+#if defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1)
- *(unsigned char **) ptr = (unsigned char *) code->exec + 24;
- #endif
- for (i=0;i<size;i+=cache_line_size) {
diff --git a/user/otf-culmus/APKBUILD b/user/otf-culmus/APKBUILD
index d70ab7169..b67bd4347 100644
--- a/user/otf-culmus/APKBUILD
+++ b/user/otf-culmus/APKBUILD
@@ -4,7 +4,7 @@ pkgname=otf-culmus
pkgver=0.133
pkgrel=0
pkgdesc="Culmus collections of Hebrew font families"
-url="https://culmus.sourceforge.net"
+url="http://culmus.sourceforge.net/"
arch="noarch"
options="!check" # No tests
license="MIT AND GPL-2.0-only WITH font-exception"
@@ -13,7 +13,6 @@ source="https://downloads.sourceforge.net/culmus/culmus-$pkgver.tar.gz"
builddir="$srcdir"/${pkgname#*-}-$pkgver
package() {
- cd "$builddir"
mkdir -p "$pkgdir"/usr/share/fonts/X11/OTF/${pkgname#*-}
for i in *.otf; do
install -Dm644 "$i" "$pkgdir"/usr/share/fonts/X11/OTF/${pkgname#*-}
diff --git a/user/oxygen-fonts/APKBUILD b/user/oxygen-fonts/APKBUILD
index 2def092ef..152a0aae4 100644
--- a/user/oxygen-fonts/APKBUILD
+++ b/user/oxygen-fonts/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=oxygen-fonts
-pkgver=5.3.95
+pkgver=5.4.3
pkgrel=0
pkgdesc="Fonts for the KDE Oxygen style"
url="https://www.KDE.org/"
@@ -10,7 +10,7 @@ license="OFL-1.1"
depends=""
makedepends="cmake extra-cmake-modules qt5-qtbase-dev fontforge-dev"
subpackages=""
-source="https://download.kde.org/unstable/plasma/$pkgver/oxygen-fonts-$pkgver.tar.xz"
+source="http://download.kde.org/stable/plasma/$pkgver/oxygen-fonts-$pkgver.tar.xz"
build() {
cd "$builddir"
@@ -38,4 +38,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="97e7cd7900f9628fdce1b41bb3a74373c4fa27a1f7f6269b47cd4ebda3aec0f40bb5540cbd7c50b94f91aae2d7963be1e942fb8b5d01c1ba445eaf1f143e149d oxygen-fonts-5.3.95.tar.xz"
+sha512sums="6dab7b2ef3f7540cd28e91435662f6c43ef9e972fe4ccd1e58ba8904d1b4e8f1ca562384d02df1fc7c5dd5366e9be1ed0a1590a9b9a182621e4bab26ffc3497f oxygen-fonts-5.4.3.tar.xz"
diff --git a/user/p11-kit/APKBUILD b/user/p11-kit/APKBUILD
index ee6c68cb9..fff4a60c6 100644
--- a/user/p11-kit/APKBUILD
+++ b/user/p11-kit/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer:
pkgname=p11-kit
-pkgver=0.23.15
+pkgver=0.23.16.1
pkgrel=0
pkgdesc="Library for loading and sharing PKCS#11 modules"
url="https://p11-glue.github.io/p11-glue/p11-kit.html"
@@ -46,4 +46,4 @@ trust() {
"$subpkgdir"/usr/lib/pkcs11/
}
-sha512sums="d703eec12626b79551ce337521f7ea7b1a0b64c211d7a93d831dd28ec1de77c7b58358c1588bf82d70f047c01ad9433fa8a286d1a25ae3f6b0ee6016b8c42950 p11-kit-0.23.15.tar.gz"
+sha512sums="7d0bbd793b43dba081054b4d022a8dbd1d477a3bd6aced72a641087023cf020f1d898899a08e737880e6c810f924814c62497c5ecb19f8322cde42667426a9a7 p11-kit-0.23.16.1.tar.gz"
diff --git a/user/palapeli/APKBUILD b/user/palapeli/APKBUILD
index 5a4ec3dc4..8038b6717 100644
--- a/user/palapeli/APKBUILD
+++ b/user/palapeli/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=palapeli
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Jigsaw puzzle game by KDE"
url="https://www.kde.org/applications/games/palapeli/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="69c7e16ca54e39ec1f32f04db54161dcdd88f85089759ef6871707b10aa3f52edfa59d99ab98e3e115ab0c3471af54148d64b9cc2b3939e5c12fd33c3dcd8678 palapeli-18.12.3.tar.xz"
+sha512sums="a560646ce1577b3ea24cefdd2ffc7053c407469ed1d76e0c4af9c74f45222daebf56d8e409cf8f832da73baaa6402dccacd06cf72c71cfc34e9b25c542b4a8a0 palapeli-19.04.1.tar.xz"
diff --git a/user/parole/APKBUILD b/user/parole/APKBUILD
index ad29a1cfb..496594ae1 100644
--- a/user/parole/APKBUILD
+++ b/user/parole/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=parole
-pkgver=1.0.1
+pkgver=1.0.2
pkgrel=0
pkgdesc="GStreamer-based media player for the XFCE desktop environment"
url="https://xfce.org"
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="026ece62e6a8175976e7ce218edbd6955a0cdb5074996adad5bed3e536f90108e4d1106f22edcb06d213fb09dd47b04f81bff94f4534710b61f0f53cb0395f72 parole-1.0.1.tar.bz2"
+sha512sums="d7e989af7f9dab14080e62bd656a2858d8536a056ba82b5d5ac7d26a7d898f478b74c1ba4371779624691b7f42b695580ad53cfb15da0a4dc209d7570c12a66d parole-1.0.2.tar.bz2"
diff --git a/user/pcsc-lite/APKBUILD b/user/pcsc-lite/APKBUILD
index 3066ad3bc..9746a2d46 100644
--- a/user/pcsc-lite/APKBUILD
+++ b/user/pcsc-lite/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer:
pkgname=pcsc-lite
-pkgver=1.8.24
+pkgver=1.8.25
pkgrel=0
pkgdesc="Middleware to access a smart card using SCard API (PC/SC)"
url="https://pcsclite.apdu.fr/"
@@ -64,5 +64,5 @@ dev() {
mv "$subpkgdir"/usr/lib/libpcsclite.so "$pkgdir"/usr/lib/libpcsclite.so
}
-sha512sums="df2e6a7a8179563a6dbf654ab75cf78a4b297b0562214a081d7d2b5d00fd4adf92fd892bd16aacf9d5e2867f3ad46c88a88e5834e311011f37556dd7e8936a0c pcsc-lite-1.8.24.tar.bz2
+sha512sums="0da63cefd70d9524b2afabd62c5f404758c805b84bbe9ef64fb801ef91a8934c38495513022565ea31bd8550b23bc95b9e9b098ddc76930e3d0643c1fbfb5deb pcsc-lite-1.8.25.tar.bz2
6810ab357b5bcf07bf1ad76ed17ebb8e92be4599303a4e697b87a05d43b8d2bec5d3c29d44d8ddb5d031910ea62ca52a9868e6de9a255227eaeb29d1a7ee0041 pcscd.initd"
diff --git a/user/perl-app-licensecheck/APKBUILD b/user/perl-app-licensecheck/APKBUILD
new file mode 100644
index 000000000..58f4dd9e9
--- /dev/null
+++ b/user/perl-app-licensecheck/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-app-licensecheck
+_pkgname=App-Licensecheck
+pkgver=3.0.36
+pkgrel=0
+pkgdesc="Perl library and utility for checking source-file licensing"
+url="https://metacpan.org/pod/distribution/App-Licensecheck"
+arch="noarch"
+license="GPL-3.0+"
+depends="perl perl-getopt-long-descriptive perl-moo perl-namespace-clean
+ perl-path-iterator-rule perl-path-tiny perl-pod-constants
+ perl-regexp-pattern perl-regexp-pattern-license perl-software-license
+ perl-sort-key perl-strictures perl-string-copyright perl-string-escape
+ perl-test-requires perl-test-script perl-try-tiny
+ perl-universal-require"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JO/JONASS/$_pkgname-v$pkgver.tar.gz"
+builddir="$srcdir"/$_pkgname-v$pkgver
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="1afa30822028205742edadfdd9c393189a46d781a3b2988b4ff8c39e269762258b75e10b3002df4859607b6336f82aa13c740125f715e98bb0ce89318e78d5ca App-Licensecheck-v3.0.36.tar.gz"
diff --git a/user/perl-b-hooks-op-check/APKBUILD b/user/perl-b-hooks-op-check/APKBUILD
new file mode 100644
index 000000000..93b27f9dd
--- /dev/null
+++ b/user/perl-b-hooks-op-check/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-b-hooks-op-check
+pkgver=0.22
+pkgrel=0
+pkgdesc="Perl module for wrapping OP check callbacks in XS"
+url="https://metacpan.org/pod/B::Hooks::OP::Check"
+arch="all"
+license="Artistic-1.0-Perl"
+depends=""
+makedepends="perl-dev perl-extutils-depends"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/B-Hooks-OP-Check-$pkgver.tar.gz"
+builddir="$srcdir/B-Hooks-OP-Check-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="e68b08a34244afc73d7d3b2b0acdf8fe791b0b1f087b6b0496da0a1e655a9e51552ec8fb0f743c8626a0414fb469a2133d113ff5b4ba9f96217cc87bef877542 B-Hooks-OP-Check-0.22.tar.gz"
diff --git a/user/perl-bareword-filehandles/APKBUILD b/user/perl-bareword-filehandles/APKBUILD
new file mode 100644
index 000000000..1e75b8f9f
--- /dev/null
+++ b/user/perl-bareword-filehandles/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-bareword-filehandles
+pkgver=0.006
+pkgrel=0
+pkgdesc="Perl module for disabling support for bareword filehandles"
+url="https://metacpan.org/pod/bareword::filehandles"
+arch="all"
+license="Artistic-1.0-Perl"
+depends=""
+makedepends="perl-dev perl-b-hooks-op-check perl-extutils-depends"
+install=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/I/IL/ILMARI/bareword-filehandles-$pkgver.tar.gz"
+builddir="$srcdir/bareword-filehandles-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="73cf85f35d10d13d4ad3be471e30cce0a19a899a7c4d033d2202d815dae8e30aa54b2ad7923dba6d798db1c49d2dcbc7c4f72b2d3f1f08e6e009700682d4e65e bareword-filehandles-0.006.tar.gz"
diff --git a/user/perl-cgi/APKBUILD b/user/perl-cgi/APKBUILD
index 09fca609f..4135379d6 100644
--- a/user/perl-cgi/APKBUILD
+++ b/user/perl-cgi/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-cgi
-pkgver=4.40
+pkgver=4.42
pkgrel=0
pkgdesc="Handle CGI requests and responses in Perl"
url="https://metacpan.org/release/CGI"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="317cc410d8cc630067759cc05b8643e0c3fe4e55307c437176892a625b88d46443c3e0ff4361e066c54f95c3573e5fa8c21e23069071fa0dc74fc2d93dca13c1 CGI-4.40.tar.gz"
+sha512sums="caa5402ffe683b38609aab56fdd1388ddecf97fde449e889cecb9ac6ecbb490a08624ea8b9430d59b46c99133608a79fde6cba584d13ca435a201c741a0b472b CGI-4.42.tar.gz"
diff --git a/user/perl-class-inspector/APKBUILD b/user/perl-class-inspector/APKBUILD
index 64423c44a..e2255d2ad 100644
--- a/user/perl-class-inspector/APKBUILD
+++ b/user/perl-class-inspector/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-class-inspector
_pkgname=Class-Inspector
-pkgver=1.32
+pkgver=1.34
pkgrel=0
pkgdesc="Inspect Perl classes and structures"
url="https://metacpan.org/release/Class-Inspector"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="980654614d968e2fb61df864322f5c5248e352f0697a425539600c3549505f47b857d7856bc9d406ebc8757f8fc379a669f1f5085412f6fa48672c9db8a82df4 Class-Inspector-1.32.tar.gz"
+sha512sums="c9f3f3dbc10c45811d0dffca3f31b9579200cd3b5288bb878bf97f38c4c153bb665632e5238ecce55bd3c515200c8d9500d5b1e461a9ea47e5ad011783323a80 Class-Inspector-1.34.tar.gz"
diff --git a/user/perl-data-section/APKBUILD b/user/perl-data-section/APKBUILD
new file mode 100644
index 000000000..1e874f9ba
--- /dev/null
+++ b/user/perl-data-section/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-data-section
+pkgver=0.200007
+pkgrel=0
+pkgdesc="Perl module for reading inline data in chunks"
+url="https://metacpan.org/pod/Data::Section"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-mro-compat perl-sub-exporter perl-test-failwarnings"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Data-Section-$pkgver.tar.gz"
+builddir="$srcdir/Data-Section-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="0c23141ccc2041e8c1c222c95d6eab4b56e2d77a94c68507f67acbb62fa5132e9229e9680c9fff6ebbc6a47a42cf1943d6e5b50a5f0168c66193fb52aaa241f0 Data-Section-0.200007.tar.gz"
diff --git a/user/perl-datetime-locale/APKBUILD b/user/perl-datetime-locale/APKBUILD
index a70b6872b..829b21dcf 100644
--- a/user/perl-datetime-locale/APKBUILD
+++ b/user/perl-datetime-locale/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-datetime-locale
_pkgname=DateTime-Locale
-pkgver=1.23
+pkgver=1.24
pkgrel=0
pkgdesc="Locale support for Perl DateTime"
url="https://metacpan.org/release/DateTime-Locale"
@@ -35,4 +35,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="4404f6e5301b7623253e788b127fd59fffb1a4b24d97878168d8d9244bafb383424b9664ab78dbafe83bbd6cfa3d4686d4a4375a729c8fad157f36905868c884 DateTime-Locale-1.23.tar.gz"
+sha512sums="0510df7e69bc7e50cb301510224cb084bf9d75f072ceb631d7c94ab07a6f7c11b64247c492054c0be3840bf5b13b6981f09426fd0b8e20a48901308cc0b5ffdb DateTime-Locale-1.24.tar.gz"
diff --git a/user/perl-datetime-timezone/APKBUILD b/user/perl-datetime-timezone/APKBUILD
index 9a1b35e06..cccb8ee11 100644
--- a/user/perl-datetime-timezone/APKBUILD
+++ b/user/perl-datetime-timezone/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-datetime-timezone
_pkgname=DateTime-TimeZone
-pkgver=2.23
+pkgver=2.34
pkgrel=0
pkgdesc="Time zone object class and factory for Perl"
url="https://metacpan.org/release/DateTime-TimeZone"
@@ -33,4 +33,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="e2edfde606bea8595df6f6cec9239fe6fe637d2c3ca2eb319da835c71061dab52ae8da0eb67da3d572b371f2e0820a35d681d9876e0c4dc8003e7504bdd41d06 DateTime-TimeZone-2.23.tar.gz"
+sha512sums="8525542dfee39f8b889889db310d455b03dd0f270d391a06c337c46d9d457969e365ebf9b8fa42eef71b1dbf2bbd3e25c1ef710f19701a300729bc1816bcaa0c DateTime-TimeZone-2.34.tar.gz"
diff --git a/user/perl-devel-hide/APKBUILD b/user/perl-devel-hide/APKBUILD
new file mode 100644
index 000000000..6eea34be8
--- /dev/null
+++ b/user/perl-devel-hide/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-devel-hide
+pkgver=0.0010
+pkgrel=0
+pkgdesc="Perl module for forcing the unavailability of modules for testing"
+url="https://metacpan.org/pod/Devel::Hide"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/F/FE/FERREIRA/Devel-Hide-$pkgver.tar.gz"
+builddir="$srcdir/Devel-Hide-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="50bd9daf86239963e501936f09c0ee4b19be65deef22774910813a2502a2f60a6efcf7fbd586f2ea09c60ca1b77aa418a08043151f5a0d9915b7d881d66013c9 Devel-Hide-0.0010.tar.gz"
diff --git a/user/perl-extutils-depends/APKBUILD b/user/perl-extutils-depends/APKBUILD
index 2d62635f2..84a2a30be 100644
--- a/user/perl-extutils-depends/APKBUILD
+++ b/user/perl-extutils-depends/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-extutils-depends
-pkgver=0.405
+pkgver=0.8000
pkgrel=0
pkgdesc="Easily build XS extensions that depend on XS extensions"
url="https://metacpan.org/release/ExtUtils-Depends"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="b9983ad763ff0cb81c899bc24f3152f13c69e608304b6e4446bd07b9b13d039650f3f87544c0bdd29c67246ea2973f04a1ce0fccbffb566fe89fdbe0bb03f11b ExtUtils-Depends-0.405.tar.gz"
+sha512sums="c2823e48fc6ae42677da958d8cbeb561a29839cc387224ecd545e1d81979cd963377210f9c5a9bf314e2fc6e0907190f0b867ed59e91f8eab6df91f8d0c91e5d ExtUtils-Depends-0.8000.tar.gz"
diff --git a/user/perl-file-find-object-rule/APKBUILD b/user/perl-file-find-object-rule/APKBUILD
index f8938a59c..498f0358e 100644
--- a/user/perl-file-find-object-rule/APKBUILD
+++ b/user/perl-file-find-object-rule/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-file-find-object-rule
-pkgver=0.0309
+pkgver=0.0310
pkgrel=0
pkgdesc="Alternative Perl interface to File::Find::Object"
url="https://metacpan.org/release/File-Find-Object-Rule"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d4fe0bc369faa4870bb4f66b4e1212f0597ab0eb723dfb0ab6473428657067c0a72f9b9d6354a549117e553be1ddde222ede822555f94846ba110a2f82cc4b68 File-Find-Object-Rule-0.0309.tar.gz"
+sha512sums="d77f600a43a45fddf84fd9689666fb90d3dc87fb444e575a111bcebec482d570201e591764513f345941983935f1761bf4e2704d1a70babd6b3ba12ba3d8a74d File-Find-Object-Rule-0.0310.tar.gz"
diff --git a/user/perl-file-slurp/APKBUILD b/user/perl-file-slurp/APKBUILD
index 5a0a67246..cec87b5ac 100644
--- a/user/perl-file-slurp/APKBUILD
+++ b/user/perl-file-slurp/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-file-slurp
-pkgver=9999.26
+pkgver=9999.27
pkgrel=0
pkgdesc="Simple and efficient file manipulation in Perl"
url="https://metacpan.org/release/File-Slurp"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="dbe49038400df7dc32ee97cd8bcd037b1f11dc6d1230a7db1e33651971716c0c5ab65dbcdf93399b42b5a1e61ffd5ade45b8e4abc7000bad619249231cb79e08 File-Slurp-9999.26.tar.gz"
+sha512sums="24a5e2b93f7fda65cbdf0e54687de3af511cfd3909dcf4c79610882bf4f119afdf2bd60de28fcb8d9155b94a29ca4f901e28930a810949e490ba1c584d7a6ee0 File-Slurp-9999.27.tar.gz"
diff --git a/user/perl-games-solitaire-verify/APKBUILD b/user/perl-games-solitaire-verify/APKBUILD
index 8854921a3..627484d38 100644
--- a/user/perl-games-solitaire-verify/APKBUILD
+++ b/user/perl-games-solitaire-verify/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-games-solitaire-verify
-pkgver=0.1900
+pkgver=0.2000
pkgrel=0
pkgdesc="Verify solutions to solitaire games"
url="https://metacpan.org/release/Games-Solitaire-Verify"
@@ -9,7 +9,7 @@ arch="noarch"
license="MIT"
depends="perl-class-xsaccessor perl-exception-class perl-list-moreutils"
makedepends="perl-dev perl-module-build"
-checkdepends="perl-test-differences"
+checkdepends="perl-test-differences perl-path-tiny"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-$pkgver.tar.gz"
builddir="$srcdir/Games-Solitaire-Verify-$pkgver"
@@ -32,4 +32,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d161bc395f85f2aa404fe7aac893c840b302c7659e529b62bda9ad6c274508c4294c03c9037b9ab6a667e8a90292ef83445c88be26e42dde89625224f85027f0 Games-Solitaire-Verify-0.1900.tar.gz"
+sha512sums="4abc5cd68bc57f96115a2f273aa16076b2f2ff50a597a8e1f4bf5b6f6dcb26771346d7cff3cadfc10eb1f8584c79141b06ecd6b07b6b19610405dc80977d9382 Games-Solitaire-Verify-0.2000.tar.gz"
diff --git a/user/perl-http-headers-fast/APKBUILD b/user/perl-http-headers-fast/APKBUILD
index b7496496b..ec547543e 100644
--- a/user/perl-http-headers-fast/APKBUILD
+++ b/user/perl-http-headers-fast/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-http-headers-fast
_pkgname=HTTP-Headers-Fast
-pkgver=0.21
+pkgver=0.22
pkgrel=0
pkgdesc="Fast HTTP header parsing for Perl"
url="https://metacpan.org/release/HTTP-Headers-Fast"
@@ -32,4 +32,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ce04b70f0748ee2d5911c772149b71c8c130d172267c11716151c1ca21b26e8c793af22227098d73a9253c9bfae57d618b6d67454c41862e2ba3a9798c067cf6 HTTP-Headers-Fast-0.21.tar.gz"
+sha512sums="60435c11b5846c1a6256227c7edb00fd444c76346797424f186f971c5bebec93b1c84be805e0a4589c92b8c571d0c3e0332436b21ad099677a31544305d819b2 HTTP-Headers-Fast-0.22.tar.gz"
diff --git a/user/perl-importer/APKBUILD b/user/perl-importer/APKBUILD
new file mode 100644
index 000000000..d4d202cda
--- /dev/null
+++ b/user/perl-importer/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-importer
+pkgver=0.025
+pkgrel=0
+pkgdesc="Alternative interface to Perl's Exporter module"
+url="https://metacpan.org/pod/Importer"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Importer-$pkgver.tar.gz"
+builddir="$srcdir/Importer-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="99632c7a425fe7d965e052b2fc1fa8c34c4fe44c39899d280adaed8490b980f1fd7cc70dc974b45f97ce67c88163177bc2a11be44f04324241cc8d097e0afed8 Importer-0.025.tar.gz"
diff --git a/user/perl-indirect/APKBUILD b/user/perl-indirect/APKBUILD
new file mode 100644
index 000000000..54e814d1e
--- /dev/null
+++ b/user/perl-indirect/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-indirect
+pkgver=0.38
+pkgrel=0
+pkgdesc="Perl module for lexically warning about indirect method calls"
+url="https://metacpan.org/pod/indirect"
+arch="all"
+license="Artistic-1.0-Perl"
+depends=""
+makedepends="perl-dev perl-extutils-depends"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/V/VP/VPIT/indirect-$pkgver.tar.gz"
+builddir="$srcdir/indirect-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="1ae363d2b2961be8495168a870bf941953a7845b0f3e9c7e9b267affc0b0392e1747ca4edd484ac98ddeef70b1a1cf28672bf1b9289847cb193409914e2f4673 indirect-0.38.tar.gz"
diff --git a/user/perl-inline-c/APKBUILD b/user/perl-inline-c/APKBUILD
index 50d298bb0..f5065e0c5 100644
--- a/user/perl-inline-c/APKBUILD
+++ b/user/perl-inline-c/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-inline-c
-pkgver=0.78
+pkgver=0.80
pkgrel=0
pkgdesc="C Language Support for Inline"
url="https://metacpan.org/pod/Inline::C"
@@ -32,4 +32,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="368e68dfb9f1700534d9b391090e340172e3adde5fe15576f883e9341047fec35cea8660751883b27e128ad91dda363d513547368097a989457d669bbbdc8ce4 Inline-C-0.78.tar.gz"
+sha512sums="f68eb9478374ef13a6eb0be6c5adc12ba9c052834ef45db6acc0c794ac295d5b47ffda57dd4d0b15345be96aa21ccaab8bf7e2be0ac0bc4cef73be782a346cf0 Inline-C-0.80.tar.gz"
diff --git a/user/perl-inline/APKBUILD b/user/perl-inline/APKBUILD
index 0c2dcd8d7..c3343d150 100644
--- a/user/perl-inline/APKBUILD
+++ b/user/perl-inline/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-inline
-pkgver=0.81
+pkgver=0.82
pkgrel=0
pkgdesc="Write Perl Subroutines in Other Programming Languages"
url="https://metacpan.org/pod/Inline"
@@ -32,4 +32,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ea52647af6a51e6902d78c448e53814f1f3de225d3cf5530764d880f604ddea6dc6e6272619a918c213ce611bf3643f602e779d56e503245987b86363cb0501a Inline-0.81.tar.gz"
+sha512sums="c53d8ae250e8463bd8973be96cf9bc70cc46fc937fb99990f4c1872c30411356f63ce785a10b55234e0d032a123a88c8192516ad9ad19ed50c0966b77669806a Inline-0.82.tar.gz"
diff --git a/user/perl-json-xs/APKBUILD b/user/perl-json-xs/APKBUILD
index 758211fa0..cd09f8f87 100644
--- a/user/perl-json-xs/APKBUILD
+++ b/user/perl-json-xs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-json-xs
-pkgver=4.01
+pkgver=4.02
pkgrel=0
pkgdesc="JSON serialising/deserialising, done correctly and fast"
url="https://metacpan.org/pod/JSON::XS"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="283adfa5b5b0c8e8c0b8d86c92d521695bdc306249be30555cf8f2833b8da7196429c9e1269106a687ef9170051ddd3cbad4f671e97b0fc1e2aa4d73a1a2960f JSON-XS-4.01.tar.gz"
+sha512sums="4a8fdf8d81cdd6e38c3c5672621d38ef6f63a09ca3a74e98fbb21e679273c347d2a3b8c2233c8e813987d2728081fb535223ea3f705d33a7016b76d0e76ffd61 JSON-XS-4.02.tar.gz"
diff --git a/user/perl-lib-relative/APKBUILD b/user/perl-lib-relative/APKBUILD
index daeb17687..b717ab88f 100644
--- a/user/perl-lib-relative/APKBUILD
+++ b/user/perl-lib-relative/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-lib-relative
-pkgver=0.002
+pkgver=1.000
pkgrel=0
pkgdesc="Add paths relative to the current file to Perl @INC"
url="https://metacpan.org/release/lib-relative"
@@ -30,4 +30,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ebe552fbc4967dd8615e2a1ecde69000358b3909095c66b557a6dd68c1a4744ca586dc91d2cf1b679a57ef981ec79a4689ba9c3f846393f4f48e528e85c326b0 lib-relative-0.002.tar.gz"
+sha512sums="1b4de00abe4ba5190259414123d8cbdde9bf43a525a32d7ef07f7faa3a88ed9d40babbec6f3c49a0a3550c63ffb8cbf79b0c7a6204568549d30145bbd02f8a55 lib-relative-1.000.tar.gz"
diff --git a/user/perl-multidimensional/APKBUILD b/user/perl-multidimensional/APKBUILD
new file mode 100644
index 000000000..ef431756c
--- /dev/null
+++ b/user/perl-multidimensional/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-multidimensional
+pkgver=0.014
+pkgrel=0
+pkgdesc="Perl module for disabling multidimensional array emulation"
+url="https://metacpan.org/pod/multidimensional"
+arch="all"
+license="Artistic-1.0-Perl"
+depends=""
+makedepends="perl-b-hooks-op-check perl-dev perl-extutils-depends"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/I/IL/ILMARI/multidimensional-$pkgver.tar.gz"
+builddir="$srcdir/multidimensional-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="94c9dabb3023165a8dd140ef791e4aab980e3b604eae06ed0e29290aab67a9302f2cde4c8b394de0b4c55c5f78ce4510db902d615d665bf60b12ec409f341043 multidimensional-0.014.tar.gz"
diff --git a/user/perl-number-range/APKBUILD b/user/perl-number-range/APKBUILD
new file mode 100644
index 000000000..e5aececf7
--- /dev/null
+++ b/user/perl-number-range/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-number-range
+pkgver=0.12
+pkgrel=0
+pkgdesc="Perl module for working with number ranges"
+url="https://metacpan.org/pod/Number::Range"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/L/LA/LARRYSH/Number-Range-$pkgver.tar.gz"
+builddir="$srcdir/Number-Range-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="d5c2ed41f2eb6caa013d10f4cad295b73157323fcb0496c4e10f4673507965f65f18433d5f4b03e8180fa2108b7e87cf0e23255c493431b5ddeb49562ed997d8 Number-Range-0.12.tar.gz"
diff --git a/user/perl-path-iterator-rule/APKBUILD b/user/perl-path-iterator-rule/APKBUILD
new file mode 100644
index 000000000..5fbd3f7be
--- /dev/null
+++ b/user/perl-path-iterator-rule/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-path-iterator-rule
+pkgver=1.014
+pkgrel=0
+pkgdesc="Perl module for terative, recursive file-finding"
+url="https://metacpan.org/pod/Path::Iterator::Rule"
+arch="noarch"
+license="Apache-2.0"
+depends="perl perl-file-pushd perl-number-compare perl-path-tiny perl-test-deep
+ perl-test-filename perl-text-glob perl-try-tiny"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-$pkgver.tar.gz"
+builddir="$srcdir/Path-Iterator-Rule-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="d401d3b0f59ffd15d088dc3859a118fb689d6126e5dbc7602db123ae01c461a12831768e4485732781e05d33c69c2f7be90475048633df029ba870346459c591 Path-Iterator-Rule-1.014.tar.gz"
diff --git a/user/perl-pod-constants/APKBUILD b/user/perl-pod-constants/APKBUILD
new file mode 100644
index 000000000..bfb2802d7
--- /dev/null
+++ b/user/perl-pod-constants/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-pod-constants
+pkgver=0.19
+pkgrel=0
+pkgdesc="Perl module for pulling constants from POD text"
+url="https://metacpan.org/pod/Pod::Constants"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl"
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/MG/MGV/Pod-Constants-$pkgver.tar.gz"
+builddir="$srcdir/Pod-Constants-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="4c7b7ccdede87f0069bf100406de5b2320b5f9cb0363d413e90b419e512d4322114851d78fdd7a1bce63347ee5986ecd397b11579b91eee6e46d9b0a82b0b64a Pod-Constants-0.19.tar.gz"
diff --git a/user/perl-probe-perl/APKBUILD b/user/perl-probe-perl/APKBUILD
new file mode 100644
index 000000000..6cc331ddd
--- /dev/null
+++ b/user/perl-probe-perl/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=perl-probe-perl
+pkgver=0.03
+pkgrel=0
+pkgdesc="Perl module for acquiring information about the active Perl interpreter"
+url="https://metacpan.org/pod/Probe::Perl"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KW/KWILLIAMS/Probe-Perl-$pkgver.tar.gz"
+builddir="$srcdir/Probe-Perl-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="739bdb9d1a74eb77ab885a5aca861a1915cadbb1002bb4cb0d21fc6940ae6b3aa64ee52951ac8b2dca41c9e8fe188e17ae5f3c848c4a1caaf66fec5d25bef49c Probe-Perl-0.03.tar.gz"
diff --git a/user/perl-regexp-pattern-license/APKBUILD b/user/perl-regexp-pattern-license/APKBUILD
new file mode 100644
index 000000000..7dd444b1f
--- /dev/null
+++ b/user/perl-regexp-pattern-license/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-regexp-pattern-license
+pkgver=3.1.92
+pkgrel=0
+pkgdesc="Perl module for regex-matching legal licenses"
+url="https://metacpan.org/pod/Regexp::Pattern::License"
+arch="noarch"
+license="GPL-3.0+"
+depends="perl perl-regexp-pattern perl-strictures perl-try-tiny"
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JO/JONASS/Regexp-Pattern-License-v$pkgver.tar.gz"
+builddir="$srcdir/Regexp-Pattern-License-v$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="f574479fb7c36de30fe9cf396920c239ced39ca208fb4ab64bafba5addb120043e66b30938b3d2ed1343f6e67bd5200025973a268af87138609ccb46c4ee4bc6 Regexp-Pattern-License-v3.1.92.tar.gz"
diff --git a/user/perl-regexp-pattern/APKBUILD b/user/perl-regexp-pattern/APKBUILD
new file mode 100644
index 000000000..0990e8cba
--- /dev/null
+++ b/user/perl-regexp-pattern/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-regexp-pattern
+pkgver=0.2.8
+pkgrel=0
+pkgdesc="Perl framework for regex collection standardization"
+url="https://metacpan.org/pod/Regexp::Pattern"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-test-exception"
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PERLANCAR/Regexp-Pattern-$pkgver.tar.gz"
+builddir="$srcdir/Regexp-Pattern-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="f2e1f1387b8ea563ad8066c8cdc1b94b2e5ba742b3833ab7764c9541974b8758998090840f74962250a8f5f3a7fd1cd03afbcf41ed942fc2cc1054ee15b4950e Regexp-Pattern-0.2.8.tar.gz"
diff --git a/user/perl-software-license/APKBUILD b/user/perl-software-license/APKBUILD
new file mode 100644
index 000000000..8e65bc360
--- /dev/null
+++ b/user/perl-software-license/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-software-license
+pkgver=0.103014
+pkgrel=0
+pkgdesc="Perl module for generating prefilled license text"
+url="https://metacpan.org/pod/Software::License"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-data-section perl-text-template perl-try-tiny"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/L/LE/LEONT/Software-License-$pkgver.tar.gz"
+builddir="$srcdir/Software-License-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="8012f9d3e8671bdcbaf52f6790f6cd2f6a0510883bb40115c222c8c685aed6697ba33b3f9df8d853841cd2eef0806d919c9038b6ba7b1057f475b3b63457069d Software-License-0.103014.tar.gz"
diff --git a/user/perl-sort-key/APKBUILD b/user/perl-sort-key/APKBUILD
new file mode 100644
index 000000000..3fd065c65
--- /dev/null
+++ b/user/perl-sort-key/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-sort-key
+pkgver=1.33
+pkgrel=0
+pkgdesc="Perl module for fast sorting"
+url="https://metacpan.org/pod/Sort::Key"
+arch="all"
+license="Artistic-1.0-Perl"
+depends=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SA/SALVA/Sort-Key-$pkgver.tar.gz"
+builddir="$srcdir/Sort-Key-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="cf87cd2f5c0eea662dbdaf7faed5646ebd63925c71a093a79a9980d6de290b1128443954675893f263961e68d1db0e9e4ca1412a2734ce8dcdd271bcf4f1be17 Sort-Key-1.33.tar.gz"
diff --git a/user/perl-strictures/APKBUILD b/user/perl-strictures/APKBUILD
new file mode 100644
index 000000000..a4c21c402
--- /dev/null
+++ b/user/perl-strictures/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-strictures
+pkgver=2.000006
+pkgrel=0
+pkgdesc="Perl module for using strict and fatal warnings"
+url="https://metacpan.org/pod/strictures"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl-bareword-filehandles perl-indirect perl-multidimensional"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/strictures-$pkgver.tar.gz"
+builddir="$srcdir/strictures-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="670857a491fa58b85b10ee3bb5c6b7be845798926327ff3a32a9b78cb86bbbb95bfcc358983ece766dc8ef19a1eae12091ec9d9a7fef6d3f5d44ee4f8c04b7d2 strictures-2.000006.tar.gz"
diff --git a/user/perl-string-copyright/APKBUILD b/user/perl-string-copyright/APKBUILD
new file mode 100644
index 000000000..518c486b2
--- /dev/null
+++ b/user/perl-string-copyright/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-string-copyright
+pkgver=0.003006
+pkgrel=0
+pkgdesc="Perl module for normalizing copyright text"
+url="https://metacpan.org/pod/String::Copyright"
+arch="noarch"
+license="GPL-3.0+"
+depends="perl perl-exporter-tiny perl-number-range"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JO/JONASS/String-Copyright-$pkgver.tar.gz"
+builddir="$srcdir/String-Copyright-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="7852d96cbe465dde14b4c093f77374b530967412ef95a98703fe838511e405ea9744e4dbfa314bc5a33fc23b160d8a4866654ad60da1bfb07853263f1c11cd3f String-Copyright-0.003006.tar.gz"
diff --git a/user/perl-string-escape/APKBUILD b/user/perl-string-escape/APKBUILD
new file mode 100644
index 000000000..33d612291
--- /dev/null
+++ b/user/perl-string-escape/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=perl-string-escape
+pkgver=2010.002
+pkgrel=0
+pkgdesc="Perl module for escaping strings"
+url="https://metacpan.org/pod/String::Escape"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/EV/EVO/String-Escape-$pkgver.tar.gz"
+builddir="$srcdir/String-Escape-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="668e196bbd95b4e9e5fc9ae3aebe0e7f1990362973bd027f2f3728f212786bc2104141ced3e024006b3ed22fa6345b968440029c98b87cbc299ac192221724c7 String-Escape-2010.002.tar.gz"
diff --git a/user/perl-sub-info/APKBUILD b/user/perl-sub-info/APKBUILD
new file mode 100644
index 000000000..fc9f606f0
--- /dev/null
+++ b/user/perl-sub-info/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-sub-info
+pkgver=0.002
+pkgrel=0
+pkgdesc="Perl module for introspecting subroutines"
+url="https://metacpan.org/pod/Sub::Info"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-importer"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Sub-Info-$pkgver.tar.gz"
+builddir="$srcdir/Sub-Info-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="e3ad2c8b270a44f9de2d5b71845a4a21f363a234edf2ddb9942c2fb2e4d765eedff3653a047f025b9d1dfaeff32ddd58aeff7f81fa42e6f4b57f5ca6311519b3 Sub-Info-0.002.tar.gz"
diff --git a/user/perl-sub-quote/APKBUILD b/user/perl-sub-quote/APKBUILD
index 778b7f793..d8f15cd71 100644
--- a/user/perl-sub-quote/APKBUILD
+++ b/user/perl-sub-quote/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-sub-quote
-pkgver=2.005001
+pkgver=2.006003
pkgrel=0
pkgdesc="Efficient generation of subroutines via string eval"
url="https://metacpan.org/release/Sub-Quote"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="3c32348c8ac6a8831faf75b084a6108657a3cfc0841fda8d8a182c4ca38c88f800bc60a01df07a2010b9a877e120fc46720f17f11092de5e97f40c36854ba24c Sub-Quote-2.005001.tar.gz"
+sha512sums="d486556750fa8cf8152f86204ed2156ff33dd4ba467955c3f9621b67b68acb543f953eb1476297a85d3ee2bc9755072491ad9d34c33a496d5ba5828c687f6d83 Sub-Quote-2.006003.tar.gz"
diff --git a/user/perl-term-size-any/APKBUILD b/user/perl-term-size-any/APKBUILD
new file mode 100644
index 000000000..32d132fb1
--- /dev/null
+++ b/user/perl-term-size-any/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-term-size-any
+pkgver=0.002
+pkgrel=0
+pkgdesc="Perl module for retrieving terminal sizing"
+url="https://metacpan.org/pod/Term::Size::Any"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-devel-hide perl-term-size-perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/F/FE/FERREIRA/Term-Size-Any-$pkgver.tar.gz"
+builddir="$srcdir/Term-Size-Any-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="e34d7e8d03e71e9f1758551e702711550804560a3165e0e9cea6756a7d87043e0408123b8c7997c79d6d77e7d48f167ed5aa12e4d572b1d787ef638ff71a3a1d Term-Size-Any-0.002.tar.gz"
diff --git a/user/perl-term-size-perl/APKBUILD b/user/perl-term-size-perl/APKBUILD
new file mode 100644
index 000000000..e00a4aeeb
--- /dev/null
+++ b/user/perl-term-size-perl/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-term-size-perl
+pkgver=0.031
+pkgrel=0
+pkgdesc="Pure Perl module for retrieving terminal sizing"
+url="https://metacpan.org/pod/Term::Size::Perl"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/F/FE/FERREIRA/Term-Size-Perl-$pkgver.tar.gz"
+builddir="$srcdir/Term-Size-Perl-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="7babfb7637e795f1826a964a64cdca48bc7d92dc2cdff0fbdf62f2462fcd2be81475703f577baa18ce3df24f6ae8c103ca19ea53aa3b78733391ed456fcb66bc Term-Size-Perl-0.031.tar.gz"
diff --git a/user/perl-term-table/APKBUILD b/user/perl-term-table/APKBUILD
new file mode 100644
index 000000000..8b38da8b2
--- /dev/null
+++ b/user/perl-term-table/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-term-table
+pkgver=0.013
+pkgrel=0
+pkgdesc="Perl module for producing pretty tables for terminal applications"
+url="https://metacpan.org/pod/Term::Table"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-importer perl-test-simple"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Term-Table-$pkgver.tar.gz"
+builddir="$srcdir/Term-Table-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="e327b0856b1f3d97056f3bd057fa3b22b7dd3b1263313f2a3f81cf0986c2dc5692c7e40e7eb1de321cb718fce0dcfd9cc4ba57ad159a0b38ee3f0af982ce8d46 Term-Table-0.013.tar.gz"
diff --git a/user/perl-test-differences/APKBUILD b/user/perl-test-differences/APKBUILD
index 56d34bce8..25948de34 100644
--- a/user/perl-test-differences/APKBUILD
+++ b/user/perl-test-differences/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-test-differences
-pkgver=0.65
+pkgver=0.67
pkgrel=0
pkgdesc="Test strings and data structures and show differences if not ok"
url="https://metacpan.org/pod/Test::Differences"
@@ -31,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="298058b0ca94b865ac84bbed86275e1d2c3f9eadafc70c017d471d39a78a1370112aa63c09ff072621b12b1e6a84e9b456fe05e17d0d2893e2f5fc9946f81b87 Test-Differences-0.65.tar.gz"
+sha512sums="72f5e70d5ed953f50e7fff36645612b8e531354a217de5e7780ee76d72c95e1aed1f1f23a1aaf447b2893246d0c8d0452f2946afa820966d85b2c99dcf9b5ed9 Test-Differences-0.67.tar.gz"
diff --git a/user/perl-test-failwarnings/APKBUILD b/user/perl-test-failwarnings/APKBUILD
new file mode 100644
index 000000000..a31710567
--- /dev/null
+++ b/user/perl-test-failwarnings/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-test-failwarnings
+pkgver=0.008
+pkgrel=0
+pkgdesc="Perl module for failing tests on caught warnings"
+url="https://metacpan.org/pod/Test::FailWarnings"
+arch="noarch"
+license="Apache-2.0"
+depends="perl perl-capture-tiny"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-$pkgver.tar.gz"
+builddir="$srcdir/Test-FailWarnings-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="7bffcc18191326095d99ad01be6426f4d9d927f769a156318f9abfea67da6adfecb657bad89390740c9f531fe69c717afa1d250258eed63d127bf10cbbf2bd51 Test-FailWarnings-0.008.tar.gz"
diff --git a/user/perl-test-filename/APKBUILD b/user/perl-test-filename/APKBUILD
new file mode 100644
index 000000000..5110fe5b5
--- /dev/null
+++ b/user/perl-test-filename/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-test-filename
+pkgver=0.03
+pkgrel=0
+pkgdesc="Perl module for portable filename comparison"
+url="https://metacpan.org/pod/Test::Filename"
+arch="noarch"
+license="Apache-2.0"
+depends="perl perl-path-tiny perl-try-tiny"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Test-Filename-$pkgver.tar.gz"
+builddir="$srcdir/Test-Filename-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="7ceb0d06937b9701e45629008946fd125fa7a97386f0cbacd8571119ba68699db3acb999d973ed4e401a32ccacbd3ba1f51de7a8c93a95dff6b64605326be235 Test-Filename-0.03.tar.gz"
diff --git a/user/perl-test-more-utf8/APKBUILD b/user/perl-test-more-utf8/APKBUILD
new file mode 100644
index 000000000..54d63ff40
--- /dev/null
+++ b/user/perl-test-more-utf8/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-test-more-utf8
+pkgver=0.05
+pkgrel=0
+pkgdesc="UTF-8 extensions for Perl Test::More module"
+url="https://metacpan.org/pod/Test::More::UTF8"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/MO/MONS/Test-More-UTF8-$pkgver.tar.gz"
+builddir="$srcdir/Test-More-UTF8-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="9a1ba4216037aa1517ef57b2e5a40bd78f2f3aaaff3683a4e45f10d4b574b5e2752509a5620d8a76156135b4fa7182320a182a5a6900bf450979d805d7dc05a3 Test-More-UTF8-0.05.tar.gz"
diff --git a/user/perl-test-perltidy/APKBUILD b/user/perl-test-perltidy/APKBUILD
index 392257c83..428c833cf 100644
--- a/user/perl-test-perltidy/APKBUILD
+++ b/user/perl-test-perltidy/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-test-perltidy
-pkgver=20130104
+pkgver=20190402
pkgrel=0
pkgdesc="Check all your Perl files for tidiness"
url="https://metacpan.org/release/Test-PerlTidy"
arch="noarch"
license="Artistic-1.0-Perl"
depends="perl-file-finder perl-file-slurp perl-perl-tidy perl-text-diff"
+checkdepends="perl-path-tiny"
makedepends="perl-dev"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/L/LA/LARRYL/Test-PerlTidy-$pkgver.tar.gz"
+source="https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Test-PerlTidy-$pkgver.tar.gz"
builddir="$srcdir/Test-PerlTidy-$pkgver"
build() {
@@ -30,4 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="47d77083ec6f4808ac60bdb19431b3013b996f83506b0af490a6fa52f4f71a8c1812cf21b447568661495c845d524f9c2be6842380bd41c9ccfe22ec6acd802f Test-PerlTidy-20130104.tar.gz"
+sha512sums="0fcdb45fff1f6d29ccd4a88b88e6c81a3e12d32ec618b33cb5751582c5c0580a628f7cddbc7c657e17c6626ac6a4d7c3b259d4d1bede8617a48adadb8985cd1a Test-PerlTidy-20190402.tar.gz"
diff --git a/user/perl-test-script/APKBUILD b/user/perl-test-script/APKBUILD
new file mode 100644
index 000000000..11eb89603
--- /dev/null
+++ b/user/perl-test-script/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-test-script
+pkgver=1.25
+pkgrel=0
+pkgdesc="Perl module for cross-platform script testing"
+url="https://metacpan.org/pod/Test::Script"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-capture-tiny perl-probe-perl perl-test2-suite"
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Test-Script-$pkgver.tar.gz"
+builddir="$srcdir/Test-Script-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="307aeb0692ff4f116bbdadced22526ee583df184742ffde7922e18e2949889b309f57d12dfdc4fef65d55489634dedd77d57fa76ba7b12fc3e58c3bb71b6d81b Test-Script-1.25.tar.gz"
diff --git a/user/perl-test2-suite/APKBUILD b/user/perl-test2-suite/APKBUILD
new file mode 100644
index 000000000..6382858fc
--- /dev/null
+++ b/user/perl-test2-suite/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-test2-suite
+pkgver=0.000120
+pkgrel=0
+pkgdesc="Collection of Perl modules in the Test2 namespace"
+url="https://metacpan.org/pod/Test2::Suite"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-importer perl-module-pluggable perl-scope-guard
+ perl-sub-info perl-term-table perl-test-simple
+
+ perl-sub-name perl-term-readkey perl-term-size-any
+ perl-unicode-linebreak"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite-$pkgver.tar.gz"
+builddir="$srcdir/Test2-Suite-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="bdaa2ee8eb6e4444b40598f42a87b29b7b049b8f8cd1629d3bd0c4a56de0579b610898312e0a6cb039f4107d4e8ca00510b31485e96a1e01db87a28102ea2c92 Test2-Suite-0.000120.tar.gz"
diff --git a/user/perl-text-template/APKBUILD b/user/perl-text-template/APKBUILD
new file mode 100644
index 000000000..5dc3d3ad6
--- /dev/null
+++ b/user/perl-text-template/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
+pkgname=perl-text-template
+pkgver=1.55
+pkgrel=0
+pkgdesc="Perl module for expanding embedded Perl in templates"
+url="https://metacpan.org/pod/Text::Template"
+arch="noarch"
+license="Artistic-1.0-Perl"
+depends="perl perl-test-more-utf8 perl-test-warnings"
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT/Text-Template-$pkgver.tar.gz"
+builddir="$srcdir/Text-Template-$pkgver"
+
+build() {
+ cd "$builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$builddir"
+ make test
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="19a281cdfc56483bc717be5ae2367ae0edd27e2d31a693f9e54a660ec21cb6b51a8e5eae2e659d0053f59cdb6b9266cf1e175fd55e1abf9f9362c973c44d8173 Text-Template-1.55.tar.gz"
diff --git a/user/perl-yaml-libyaml/APKBUILD b/user/perl-yaml-libyaml/APKBUILD
index 42578f61e..87a8c5a80 100644
--- a/user/perl-yaml-libyaml/APKBUILD
+++ b/user/perl-yaml-libyaml/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dan Theisen <djt@hxx.in>
# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org>
pkgname=perl-yaml-libyaml
-pkgver=0.76
+pkgver=0.77
pkgrel=0
pkgdesc="Perl YAML Serialization using XS and libyaml"
url="https://metacpan.org/pod/YAML::LibYAML"
@@ -33,4 +33,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="1a5058cc957bc891aaf1468bd03b7a169372f2711ce027ec701126f8c3d2c15d2029946ca2db77438cf8d43a3a1964238c50fc1a3da20addb3a525733b4499c8 YAML-LibYAML-0.76.tar.gz"
+sha512sums="20d35718ebd318c2e7cfd618274dafb9c4489596e6ee77ca957f58d4971b7c712cbbf71517c9b29f316d0059b1b9f375aab57facc895c61c200cc0e40589de33 YAML-LibYAML-0.77.tar.gz"
diff --git a/user/phonon-vlc/APKBUILD b/user/phonon-vlc/APKBUILD
index 4d1d8a3c2..19a7ec59e 100644
--- a/user/phonon-vlc/APKBUILD
+++ b/user/phonon-vlc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=phonon-vlc
-pkgver=0.10.1
+pkgver=0.10.2
pkgrel=0
pkgdesc="Phonon backend utilising VLC for media playback"
url="https://www.kde.org/"
@@ -10,9 +10,9 @@ license="LGPL-2.1+"
depends="vlc"
makedepends="cmake extra-cmake-modules qt5-qtbase-dev phonon-dev vlc-dev"
source="https://download.kde.org/stable/phonon/phonon-backend-vlc/$pkgver/phonon-backend-vlc-$pkgver.tar.xz"
+builddir="$srcdir/phonon-backend-vlc-$pkgver"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -29,13 +29,11 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="fa94298a8236c29f792285d3f288140d244e0eacba02511a32ee56b5bace50f92a93a714b5c44dc5bafb15b2a9d5ae792231e78dce8ca1a45ab3a328492911df phonon-backend-vlc-0.10.1.tar.xz"
+sha512sums="3c4e7c60582d7871b209f4b38b139f43ab5f97618399164ecc649cd0e077a1d4c7848bc5c5c213d747cf7e5f1252ff53ded745880dfd36247494479840789ba5 phonon-backend-vlc-0.10.2.tar.xz"
diff --git a/user/phonon/APKBUILD b/user/phonon/APKBUILD
index af4ac50f5..c89f68a37 100644
--- a/user/phonon/APKBUILD
+++ b/user/phonon/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=phonon
-pkgver=4.10.1
+pkgver=4.10.2
pkgrel=0
pkgdesc="Qt library for playing multimedia files"
url="https://phonon.kde.org/"
@@ -14,7 +14,6 @@ subpackages="$pkgname-dev $pkgname-designer"
source="https://download.kde.org/stable/phonon/$pkgver/phonon-$pkgver.tar.xz"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -34,12 +33,10 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -52,4 +49,4 @@ designer() {
rmdir "$pkgdir"/usr/lib/qt5/plugins || true # Never mind
}
-sha512sums="a1cc0960c587d09a2fb0f43ae82147df133c34cba7bf01f5720b4b27aca4dda1d83444e89e40fb2f25828d152f89ccfff56d2d4649007c57b7df9eca8c64c007 phonon-4.10.1.tar.xz"
+sha512sums="205c2f41691ed37a2b24aa5e900f7720ba024d2046ea4bf0a9b9c46235ffd72dfb4010287ccf753b13e395f84c2a202cbb76454806de3519faf52c3ac7001c4e phonon-4.10.2.tar.xz"
diff --git a/user/php7/APKBUILD b/user/php7/APKBUILD
index 187646dd3..c220704c6 100644
--- a/user/php7/APKBUILD
+++ b/user/php7/APKBUILD
@@ -36,7 +36,7 @@
pkgname=php7
_pkgname=php
-pkgver=7.2.16
+pkgver=7.2.17
pkgrel=0
_apiver=20170718
pkgdesc="The PHP7 language runtime engine"
@@ -82,7 +82,7 @@ makedepends="autoconf
subpackages="$pkgname-dev $pkgname-doc $pkgname-apache $pkgname-phpdbg
$pkgname-embed $pkgname-litespeed $pkgname-cgi $pkgname-fpm
$pkgname-pear::noarch $pkgname-dbg"
-source="http://php.net/distributions/$_pkgname-$pkgver.tar.bz2
+source="https://www.php.net/distributions/$_pkgname-$pkgver.tar.bz2
$_pkgname-fpm.initd
$_pkgname-fpm.logrotate
$_pkgname-module.conf
@@ -92,7 +92,8 @@ source="http://php.net/distributions/$_pkgname-$pkgver.tar.bz2
allow-build-recode-and-imap-together.patch
fix-tests-devserver.patch
pwbuflen.patch
- enchant-2.patch"
+ enchant-2.patch
+ fix-32bit-int-min.patch"
builddir="$srcdir/$_pkgname-$pkgver"
_libdir="/usr/lib/$_pkgname"
_extension_dir="$_libdir/modules"
@@ -526,7 +527,7 @@ _mv() {
mv $@
}
-sha512sums="f97545905a3ec4bc1ce431e306bffb2d7b6357164ea035a6899ea1589d8df4e6617af3924fa1abcb5da428ad691967504c3f94187d4cae6f2ef285e963d07e3d php-7.2.16.tar.bz2
+sha512sums="6d14311cb3699eec7a8eacfb82e0a00e8f5dcfb31474dd32071c1c3261ddf52157a43a1ead4762da01283b0f5ccbbae8dfbbad2fb59e0900a1769e9f318e5830 php-7.2.17.tar.bz2
23df4e779c809db3e3b8e5b0353b1aafaad2f3dc56f2d1cd45f9b0e3ad71b32e40700d6ebfe914b3c87e8e0b670d0dc862ded1e5c898adf160e33dea372e044f php-fpm.initd
01d4ba3ef104ea378eb0e8cbb7bdee3fdf65e4bd6865eb3bc6c0dc4af31c2d52887abdf0150b5ef984b877860285a3b1af84b11ffebb5b8b722ea9faf83edfeb php-fpm.logrotate
a7f9ba5e11652fd1cb9e756c3269269a95de083ecb5be936a85c7a09c1396db9088e0251c6a643c40235c0e776fce2a471e5c7f5a033b85c7d3b3110c2b39e48 php-module.conf
@@ -536,4 +537,5 @@ a77dd3bdf9dc7a0f2c06ff3e7c425d062bbaa29902c17402ce98701dc99499be863ad543aa5e6a7d
f8ecae241a90cbc3e98aa4deb3d5d35ef555f51380e29f4e182a8060dffeb84be74f030a14c6b452668471030d78964f52795ca74275db05543ccad20ef1f2cc allow-build-recode-and-imap-together.patch
f8bb322e56df79dd9f391737fb8737945cc730b14c7dc2ae8688979c565a9b97f5f2a12c9fcd0d8124624a9d09bd10228147d9e999bb94909bbe249f0a50646c fix-tests-devserver.patch
8e538063d872f6770a57cdb844226a771ccda3d387dd1f199bb08c274b94fbe12ec0ef6df75c32071f308cb8f4ab51b91b520c7c2ed687adf96d0d322788e463 pwbuflen.patch
-03de56676449ddc1ba1fc9c4fee2b2ed620cd1a8ce52d288c91b42e081182871ade55c8dbbe1c8286bc4eadcd92d497a62ac7b689ea8d6b1bcb5eb25225595c4 enchant-2.patch"
+03de56676449ddc1ba1fc9c4fee2b2ed620cd1a8ce52d288c91b42e081182871ade55c8dbbe1c8286bc4eadcd92d497a62ac7b689ea8d6b1bcb5eb25225595c4 enchant-2.patch
+90c29989b88fcec1b5700b525c7e9f39dee67ca32cf66109908ac750eb2930270de5e13bc2ba3f5720a57c5613e39bc04475fa2bc001ca47c9505bff7e14a9d9 fix-32bit-int-min.patch"
diff --git a/user/php7/fix-32bit-int-min.patch b/user/php7/fix-32bit-int-min.patch
new file mode 100644
index 000000000..d121d26bc
--- /dev/null
+++ b/user/php7/fix-32bit-int-min.patch
@@ -0,0 +1,1351 @@
+From a467a89f167e9e03b4acc4bd9b1430e0d52133fa Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@php.net>
+Date: Wed, 20 Mar 2019 14:07:26 +0100
+Subject: [PATCH] Fix tests after fix for #76717
+
+---
+ .../general_functions/var_export-locale.phpt | 3 +
+ .../var_export-locale_32.phpt | 1148 +++++++++++++++++
+ .../general_functions/var_export_basic1.phpt | 6 +
+ .../var_export_basic1_32.phpt | 147 +++
+ 4 files changed, 1304 insertions(+)
+ create mode 100644 ext/standard/tests/general_functions/var_export-locale_32.phpt
+ create mode 100644 ext/standard/tests/general_functions/var_export_basic1_32.phpt
+
+diff --git a/ext/standard/tests/general_functions/var_export-locale.phpt b/ext/standard/tests/general_functions/var_export-locale.phpt
+index 7503e789b093..37625f4201ad 100644
+--- a/ext/standard/tests/general_functions/var_export-locale.phpt
++++ b/ext/standard/tests/general_functions/var_export-locale.phpt
+@@ -7,6 +7,9 @@ serialize_precision=17
+ if (!setlocale(LC_ALL, "german", "de","de_DE","de_DE.ISO8859-1","de_DE.ISO_8859-1","de_DE.UTF-8")) {
+ die("skip locale needed for this test is not supported on this platform");
+ }
++if (PHP_INT_SIZE < 8) {
++ die("skip 64-bit only");
++}
+ ?>
+ --FILE--
+ <?php
+diff --git a/ext/standard/tests/general_functions/var_export-locale_32.phpt b/ext/standard/tests/general_functions/var_export-locale_32.phpt
+new file mode 100644
+index 000000000000..39efdec7dfcb
+--- /dev/null
++++ b/ext/standard/tests/general_functions/var_export-locale_32.phpt
+@@ -0,0 +1,1148 @@
++--TEST--
++Test var_export() function with locale
++--INI--
++serialize_precision=17
++--SKIPIF--
++<?php
++if (!setlocale(LC_ALL, "german", "de","de_DE","de_DE.ISO8859-1","de_DE.ISO_8859-1","de_DE.UTF-8")) {
++ die("skip locale needed for this test is not supported on this platform");
++}
++if (PHP_INT_SIZE > 4) {
++ die("skip 32-bit only");
++}
++?>
++--FILE--
++<?php
++setlocale(LC_ALL, "german", "de","de_DE","de_DE.ISO8859-1","de_DE.ISO_8859-1","de_DE.UTF-8");
++/* Prototype: mixed var_export( mixed expression [, bool return]);
++ * Description: Returns the variable representation when the return parameter is used and evaluates to TRUE. Otherwise, this function will return NULL.
++
++*/
++
++echo "*** Testing var_export() with integer values ***\n";
++// different integer vlaues
++$valid_ints = array(
++ '0',
++ '1',
++ '-1',
++ '-2147483648', // max negative integer value
++ '-2147483647',
++ 2147483647, // max positive integer value
++ 2147483640,
++ 0x123B, // integer as hexadecimal
++ '0x12ab',
++ '0Xfff',
++ '0XFA',
++ -0x7fffffff - 1, // max negative integer as hexadecimal
++ '0x7fffffff', // max positive integer as hexadecimal
++ 0x7FFFFFFF, // max positive integer as hexadecimal
++ '0123', // integer as octal
++ 01, // should be quivalent to octal 1
++ -017777777777 - 1, // max negative integer as octal
++ 017777777777, // max positive integer as octal
++ );
++$counter = 1;
++/* Loop to check for above integer values with var_export() */
++echo "\n*** Output for integer values ***\n";
++foreach($valid_ints as $int_value) {
++echo "\nIteration ".$counter."\n";
++var_export( $int_value );
++echo "\n";
++var_export( $int_value, FALSE);
++echo "\n";
++var_dump( var_export( $int_value, TRUE) );
++echo "\n";
++$counter++;
++}
++
++echo "*** Testing var_export() with valid boolean values ***\n";
++// different valid boolean vlaues
++$valid_bool = array(
++ 1,
++ TRUE,
++ true,
++ 0,
++ FALSE,
++ false
++ );
++$counter = 1;
++/* Loop to check for above boolean values with var_export() */
++echo "\n*** Output for boolean values ***\n";
++foreach($valid_bool as $bool_value) {
++echo "\nIteration ".$counter."\n";
++var_export( $bool_value );
++echo "\n";
++var_export( $bool_value, FALSE);
++echo "\n";
++var_dump( var_export( $bool_value, TRUE) );
++echo "\n";
++$counter++;
++}
++
++echo "*** Testing var_export() with valid float values ***\n";
++// different valid float vlaues
++$valid_floats = array(
++ (float)-2147483649, // float value
++ (float)2147483648, // float value
++ (float)-0x80000001, // float value, beyond max negative int
++ (float)0x800000001, // float value, beyond max positive int
++ (float)020000000001, // float value, beyond max positive int
++ (float)-020000000001, // float value, beyond max negative int
++ 0.0,
++ -0.1,
++ 10.0000000000000000005,
++ 10.5e+5,
++ 1e5,
++ 1e-5,
++ 1e+5,
++ 1E5,
++ 1E+5,
++ 1E-5,
++ .5e+7,
++ .6e-19,
++ .05E+44,
++ .0034E-30
++);
++$counter = 1;
++/* Loop to check for above float values with var_export() */
++echo "\n*** Output for float values ***\n";
++foreach($valid_floats as $float_value) {
++echo "\nIteration ".$counter."\n";
++var_export( $float_value );
++echo "\n";
++var_export( $float_value, FALSE);
++echo "\n";
++var_dump( var_export( $float_value, TRUE) );
++echo "\n";
++$counter++;
++}
++
++echo "*** Testing var_export() with valid strings ***\n";
++// different valid string
++$valid_strings = array(
++ "",
++ " ",
++ '',
++ ' ',
++ "string",
++ 'string',
++ "NULL",
++ 'null',
++ "FALSE",
++ 'false',
++ "\x0b",
++ "\0",
++ '\0',
++ '\060',
++ "\070"
++ );
++$counter = 1;
++/* Loop to check for above strings with var_export() */
++echo "\n*** Output for strings ***\n";
++foreach($valid_strings as $str) {
++echo "\nIteration ".$counter."\n";
++var_export( $str );
++echo "\n";
++var_export( $str, FALSE);
++echo "\n";
++var_dump( var_export( $str, TRUE) );
++echo "\n";
++$counter++;
++}
++
++echo "*** Testing var_export() with valid arrays ***\n";
++// different valid arrays
++$valid_arrays = array(
++ array(),
++ array(NULL),
++ array(null),
++ array(true),
++ array(""),
++ array(''),
++ array(array(), array()),
++ array(array(1, 2), array('a', 'b')),
++ array(1 => 'One'),
++ array("test" => "is_array"),
++ array(0),
++ array(-1),
++ array(10.5, 5.6),
++ array("string", "test"),
++ array('string', 'test')
++ );
++$counter = 1;
++/* Loop to check for above arrays with var_export() */
++echo "\n*** Output for arrays ***\n";
++foreach($valid_arrays as $arr) {
++echo "\nIteration ".$counter."\n";
++var_export( $arr );
++echo "\n";
++var_export( $arr, FALSE);
++echo "\n";
++var_dump( var_export( $arr, TRUE) );
++echo "\n";
++$counter++;
++}
++
++echo "*** Testing var_export() with valid objects ***\n";
++
++// class with no members
++class foo
++{
++// no members
++}
++
++// abstract class
++abstract class abstractClass
++{
++ abstract protected function getClassName();
++ public function printClassName () {
++ echo $this->getClassName() . "\n";
++ }
++}
++// implement abstract class
++class concreteClass extends abstractClass
++{
++ protected function getClassName() {
++ return "concreteClass";
++ }
++}
++
++// interface class
++interface iValue
++{
++ public function setVal ($name, $val);
++ public function dumpVal ();
++}
++// implement the interface
++class Value implements iValue
++{
++ private $vars = array ();
++
++ public function setVal ( $name, $val ) {
++ $this->vars[$name] = $val;
++ }
++
++ public function dumpVal () {
++ var_export ( $vars );
++ }
++}
++
++// a gereral class
++class myClass
++{
++ var $foo_object;
++ public $public_var;
++ public $public_var1;
++ private $private_var;
++ protected $protected_var;
++
++ function __construct ( ) {
++ $this->foo_object = new foo();
++ $this->public_var = 10;
++ $this->public_var1 = new foo();
++ $this->private_var = new foo();
++ $this->proected_var = new foo();
++ }
++}
++
++// create a object of each class defined above
++$myClass_object = new myClass();
++$foo_object = new foo();
++$Value_object = new Value();
++$concreteClass_object = new concreteClass();
++
++$valid_objects = array(
++ new stdclass,
++ new foo,
++ new concreteClass,
++ new Value,
++ new myClass,
++ $myClass_object,
++ $myClass_object->foo_object,
++ $myClass_object->public_var1,
++ $foo_object,
++ $Value_object,
++ $concreteClass_object
++ );
++ $counter = 1;
++/* Loop to check for above objects with var_export() */
++echo "\n*** Output for objects ***\n";
++foreach($valid_objects as $obj) {
++echo "\nIteration ".$counter."\n";
++var_export( $obj );
++echo "\n";
++var_export( $obj, FALSE);
++echo "\n";
++var_dump( var_export( $obj, TRUE) );
++echo "\n";
++$counter++;
++}
++
++echo "*** Testing var_export() with valid null values ***\n";
++// different valid null vlaues
++$unset_var = array();
++unset ($unset_var); // now a null
++$null_var = NULL;
++
++$valid_nulls = array(
++ NULL,
++ null,
++ $null_var,
++ );
++ $counter = 1;
++/* Loop to check for above null values with var_export() */
++echo "\n*** Output for null values ***\n";
++foreach($valid_nulls as $null_value) {
++echo "\nIteration ".$counter."\n";
++var_export( $null_value );
++echo "\n";
++var_export( $null_value, FALSE);
++echo "\n";
++var_dump( var_export( $null_value, true) );
++echo "\n";
++$counter++;
++}
++
++echo "\n*** Testing error conditions ***\n";
++//Zero argument
++var_export( var_export() );
++
++//arguments more than expected
++var_export( var_export(TRUE, FALSE, TRUE) );
++
++echo "\n\nDone";
++
++
++?>
++--EXPECTF--
++*** Testing var_export() with integer values ***
++
++*** Output for integer values ***
++
++Iteration 1
++'0'
++'0'
++string(3) "'0'"
++
++
++Iteration 2
++'1'
++'1'
++string(3) "'1'"
++
++
++Iteration 3
++'-1'
++'-1'
++string(4) "'-1'"
++
++
++Iteration 4
++'-2147483648'
++'-2147483648'
++string(13) "'-2147483648'"
++
++
++Iteration 5
++'-2147483647'
++'-2147483647'
++string(13) "'-2147483647'"
++
++
++Iteration 6
++2147483647
++2147483647
++string(10) "2147483647"
++
++
++Iteration 7
++2147483640
++2147483640
++string(10) "2147483640"
++
++
++Iteration 8
++4667
++4667
++string(4) "4667"
++
++
++Iteration 9
++'0x12ab'
++'0x12ab'
++string(8) "'0x12ab'"
++
++
++Iteration 10
++'0Xfff'
++'0Xfff'
++string(7) "'0Xfff'"
++
++
++Iteration 11
++'0XFA'
++'0XFA'
++string(6) "'0XFA'"
++
++
++Iteration 12
++-2147483647-1
++-2147483647-1
++string(13) "-2147483647-1"
++
++
++Iteration 13
++'0x7fffffff'
++'0x7fffffff'
++string(12) "'0x7fffffff'"
++
++
++Iteration 14
++2147483647
++2147483647
++string(10) "2147483647"
++
++
++Iteration 15
++'0123'
++'0123'
++string(6) "'0123'"
++
++
++Iteration 16
++1
++1
++string(1) "1"
++
++
++Iteration 17
++-2147483647-1
++-2147483647-1
++string(13) "-2147483647-1"
++
++
++Iteration 18
++2147483647
++2147483647
++string(10) "2147483647"
++
++*** Testing var_export() with valid boolean values ***
++
++*** Output for boolean values ***
++
++Iteration 1
++1
++1
++string(1) "1"
++
++
++Iteration 2
++true
++true
++string(4) "true"
++
++
++Iteration 3
++true
++true
++string(4) "true"
++
++
++Iteration 4
++0
++0
++string(1) "0"
++
++
++Iteration 5
++false
++false
++string(5) "false"
++
++
++Iteration 6
++false
++false
++string(5) "false"
++
++*** Testing var_export() with valid float values ***
++
++*** Output for float values ***
++
++Iteration 1
++-2147483649.0
++-2147483649.0
++string(13) "-2147483649.0"
++
++
++Iteration 2
++2147483648.0
++2147483648.0
++string(12) "2147483648.0"
++
++
++Iteration 3
++-2147483649.0
++-2147483649.0
++string(13) "-2147483649.0"
++
++
++Iteration 4
++34359738369.0
++34359738369.0
++string(13) "34359738369.0"
++
++
++Iteration 5
++2147483649.0
++2147483649.0
++string(12) "2147483649.0"
++
++
++Iteration 6
++-2147483649.0
++-2147483649.0
++string(13) "-2147483649.0"
++
++
++Iteration 7
++0.0
++0.0
++string(3) "0.0"
++
++
++Iteration 8
++-0.10000000000000001
++-0.10000000000000001
++string(20) "-0.10000000000000001"
++
++
++Iteration 9
++10.0
++10.0
++string(4) "10.0"
++
++
++Iteration 10
++1050000.0
++1050000.0
++string(9) "1050000.0"
++
++
++Iteration 11
++100000.0
++100000.0
++string(8) "100000.0"
++
++
++Iteration 12
++1.0000000000000001E-5
++1.0000000000000001E-5
++string(21) "1.0000000000000001E-5"
++
++
++Iteration 13
++100000.0
++100000.0
++string(8) "100000.0"
++
++
++Iteration 14
++100000.0
++100000.0
++string(8) "100000.0"
++
++
++Iteration 15
++100000.0
++100000.0
++string(8) "100000.0"
++
++
++Iteration 16
++1.0000000000000001E-5
++1.0000000000000001E-5
++string(21) "1.0000000000000001E-5"
++
++
++Iteration 17
++5000000.0
++5000000.0
++string(9) "5000000.0"
++
++
++Iteration 18
++6.0000000000000006E-20
++6.0000000000000006E-20
++string(22) "6.0000000000000006E-20"
++
++
++Iteration 19
++5.0000000000000001E+42
++5.0000000000000001E+42
++string(22) "5.0000000000000001E+42"
++
++
++Iteration 20
++3.4000000000000001E-33
++3.4000000000000001E-33
++string(22) "3.4000000000000001E-33"
++
++*** Testing var_export() with valid strings ***
++
++*** Output for strings ***
++
++Iteration 1
++''
++''
++string(2) "''"
++
++
++Iteration 2
++' '
++' '
++string(3) "' '"
++
++
++Iteration 3
++''
++''
++string(2) "''"
++
++
++Iteration 4
++' '
++' '
++string(3) "' '"
++
++
++Iteration 5
++'string'
++'string'
++string(8) "'string'"
++
++
++Iteration 6
++'string'
++'string'
++string(8) "'string'"
++
++
++Iteration 7
++'NULL'
++'NULL'
++string(6) "'NULL'"
++
++
++Iteration 8
++'null'
++'null'
++string(6) "'null'"
++
++
++Iteration 9
++'FALSE'
++'FALSE'
++string(7) "'FALSE'"
++
++
++Iteration 10
++'false'
++'false'
++string(7) "'false'"
++
++
++Iteration 11
++' '
++' '
++string(3) "' '"
++
++
++Iteration 12
++'' . "\0" . ''
++'' . "\0" . ''
++string(14) "'' . "\0" . ''"
++
++
++Iteration 13
++'\\0'
++'\\0'
++string(5) "'\\0'"
++
++
++Iteration 14
++'\\060'
++'\\060'
++string(7) "'\\060'"
++
++
++Iteration 15
++'8'
++'8'
++string(3) "'8'"
++
++*** Testing var_export() with valid arrays ***
++
++*** Output for arrays ***
++
++Iteration 1
++array (
++)
++array (
++)
++string(9) "array (
++)"
++
++
++Iteration 2
++array (
++ 0 => NULL,
++)
++array (
++ 0 => NULL,
++)
++string(22) "array (
++ 0 => NULL,
++)"
++
++
++Iteration 3
++array (
++ 0 => NULL,
++)
++array (
++ 0 => NULL,
++)
++string(22) "array (
++ 0 => NULL,
++)"
++
++
++Iteration 4
++array (
++ 0 => true,
++)
++array (
++ 0 => true,
++)
++string(22) "array (
++ 0 => true,
++)"
++
++
++Iteration 5
++array (
++ 0 => '',
++)
++array (
++ 0 => '',
++)
++string(20) "array (
++ 0 => '',
++)"
++
++
++Iteration 6
++array (
++ 0 => '',
++)
++array (
++ 0 => '',
++)
++string(20) "array (
++ 0 => '',
++)"
++
++
++Iteration 7
++array (
++ 0 =>
++ array (
++ ),
++ 1 =>
++ array (
++ ),
++)
++array (
++ 0 =>
++ array (
++ ),
++ 1 =>
++ array (
++ ),
++)
++string(55) "array (
++ 0 =>
++ array (
++ ),
++ 1 =>
++ array (
++ ),
++)"
++
++
++Iteration 8
++array (
++ 0 =>
++ array (
++ 0 => 1,
++ 1 => 2,
++ ),
++ 1 =>
++ array (
++ 0 => 'a',
++ 1 => 'b',
++ ),
++)
++array (
++ 0 =>
++ array (
++ 0 => 1,
++ 1 => 2,
++ ),
++ 1 =>
++ array (
++ 0 => 'a',
++ 1 => 'b',
++ ),
++)
++string(107) "array (
++ 0 =>
++ array (
++ 0 => 1,
++ 1 => 2,
++ ),
++ 1 =>
++ array (
++ 0 => 'a',
++ 1 => 'b',
++ ),
++)"
++
++
++Iteration 9
++array (
++ 1 => 'One',
++)
++array (
++ 1 => 'One',
++)
++string(23) "array (
++ 1 => 'One',
++)"
++
++
++Iteration 10
++array (
++ 'test' => 'is_array',
++)
++array (
++ 'test' => 'is_array',
++)
++string(33) "array (
++ 'test' => 'is_array',
++)"
++
++
++Iteration 11
++array (
++ 0 => 0,
++)
++array (
++ 0 => 0,
++)
++string(19) "array (
++ 0 => 0,
++)"
++
++
++Iteration 12
++array (
++ 0 => -1,
++)
++array (
++ 0 => -1,
++)
++string(20) "array (
++ 0 => -1,
++)"
++
++
++Iteration 13
++array (
++ 0 => 10.5,
++ 1 => 5.5999999999999996,
++)
++array (
++ 0 => 10.5,
++ 1 => 5.5999999999999996,
++)
++string(49) "array (
++ 0 => 10.5,
++ 1 => 5.5999999999999996,
++)"
++
++
++Iteration 14
++array (
++ 0 => 'string',
++ 1 => 'test',
++)
++array (
++ 0 => 'string',
++ 1 => 'test',
++)
++string(41) "array (
++ 0 => 'string',
++ 1 => 'test',
++)"
++
++
++Iteration 15
++array (
++ 0 => 'string',
++ 1 => 'test',
++)
++array (
++ 0 => 'string',
++ 1 => 'test',
++)
++string(41) "array (
++ 0 => 'string',
++ 1 => 'test',
++)"
++
++*** Testing var_export() with valid objects ***
++
++*** Output for objects ***
++
++Iteration 1
++stdClass::__set_state(array(
++))
++stdClass::__set_state(array(
++))
++string(31) "stdClass::__set_state(array(
++))"
++
++
++Iteration 2
++foo::__set_state(array(
++))
++foo::__set_state(array(
++))
++string(26) "foo::__set_state(array(
++))"
++
++
++Iteration 3
++concreteClass::__set_state(array(
++))
++concreteClass::__set_state(array(
++))
++string(36) "concreteClass::__set_state(array(
++))"
++
++
++Iteration 4
++Value::__set_state(array(
++ 'vars' =>
++ array (
++ ),
++))
++Value::__set_state(array(
++ 'vars' =>
++ array (
++ ),
++))
++string(57) "Value::__set_state(array(
++ 'vars' =>
++ array (
++ ),
++))"
++
++
++Iteration 5
++myClass::__set_state(array(
++ 'foo_object' =>
++ foo::__set_state(array(
++ )),
++ 'public_var' => 10,
++ 'public_var1' =>
++ foo::__set_state(array(
++ )),
++ 'private_var' =>
++ foo::__set_state(array(
++ )),
++ 'protected_var' => NULL,
++ 'proected_var' =>
++ foo::__set_state(array(
++ )),
++))
++myClass::__set_state(array(
++ 'foo_object' =>
++ foo::__set_state(array(
++ )),
++ 'public_var' => 10,
++ 'public_var1' =>
++ foo::__set_state(array(
++ )),
++ 'private_var' =>
++ foo::__set_state(array(
++ )),
++ 'protected_var' => NULL,
++ 'proected_var' =>
++ foo::__set_state(array(
++ )),
++))
++string(293) "myClass::__set_state(array(
++ 'foo_object' =>
++ foo::__set_state(array(
++ )),
++ 'public_var' => 10,
++ 'public_var1' =>
++ foo::__set_state(array(
++ )),
++ 'private_var' =>
++ foo::__set_state(array(
++ )),
++ 'protected_var' => NULL,
++ 'proected_var' =>
++ foo::__set_state(array(
++ )),
++))"
++
++
++Iteration 6
++myClass::__set_state(array(
++ 'foo_object' =>
++ foo::__set_state(array(
++ )),
++ 'public_var' => 10,
++ 'public_var1' =>
++ foo::__set_state(array(
++ )),
++ 'private_var' =>
++ foo::__set_state(array(
++ )),
++ 'protected_var' => NULL,
++ 'proected_var' =>
++ foo::__set_state(array(
++ )),
++))
++myClass::__set_state(array(
++ 'foo_object' =>
++ foo::__set_state(array(
++ )),
++ 'public_var' => 10,
++ 'public_var1' =>
++ foo::__set_state(array(
++ )),
++ 'private_var' =>
++ foo::__set_state(array(
++ )),
++ 'protected_var' => NULL,
++ 'proected_var' =>
++ foo::__set_state(array(
++ )),
++))
++string(293) "myClass::__set_state(array(
++ 'foo_object' =>
++ foo::__set_state(array(
++ )),
++ 'public_var' => 10,
++ 'public_var1' =>
++ foo::__set_state(array(
++ )),
++ 'private_var' =>
++ foo::__set_state(array(
++ )),
++ 'protected_var' => NULL,
++ 'proected_var' =>
++ foo::__set_state(array(
++ )),
++))"
++
++
++Iteration 7
++foo::__set_state(array(
++))
++foo::__set_state(array(
++))
++string(26) "foo::__set_state(array(
++))"
++
++
++Iteration 8
++foo::__set_state(array(
++))
++foo::__set_state(array(
++))
++string(26) "foo::__set_state(array(
++))"
++
++
++Iteration 9
++foo::__set_state(array(
++))
++foo::__set_state(array(
++))
++string(26) "foo::__set_state(array(
++))"
++
++
++Iteration 10
++Value::__set_state(array(
++ 'vars' =>
++ array (
++ ),
++))
++Value::__set_state(array(
++ 'vars' =>
++ array (
++ ),
++))
++string(57) "Value::__set_state(array(
++ 'vars' =>
++ array (
++ ),
++))"
++
++
++Iteration 11
++concreteClass::__set_state(array(
++))
++concreteClass::__set_state(array(
++))
++string(36) "concreteClass::__set_state(array(
++))"
++
++*** Testing var_export() with valid null values ***
++
++*** Output for null values ***
++
++Iteration 1
++NULL
++NULL
++string(4) "NULL"
++
++
++Iteration 2
++NULL
++NULL
++string(4) "NULL"
++
++
++Iteration 3
++NULL
++NULL
++string(4) "NULL"
++
++
++*** Testing error conditions ***
++
++Warning: var_export() expects at least 1 parameter, 0 given in %s on line %d
++NULL
++Warning: var_export() expects at most 2 parameters, 3 given in %s on line %d
++NULL
++
++Done
+diff --git a/ext/standard/tests/general_functions/var_export_basic1.phpt b/ext/standard/tests/general_functions/var_export_basic1.phpt
+index 2dfd28785bc8..a7d3142ddc29 100644
+--- a/ext/standard/tests/general_functions/var_export_basic1.phpt
++++ b/ext/standard/tests/general_functions/var_export_basic1.phpt
+@@ -1,5 +1,11 @@
+ --TEST--
+ Test var_export() function with integer values
++--SKIPIF--
++<?php
++if (PHP_INT_SIZE < 8) {
++ die("skip 64-bit only");
++}
++?>
+ --FILE--
+ <?php
+ /* Prototype : mixed var_export(mixed var [, bool return])
+diff --git a/ext/standard/tests/general_functions/var_export_basic1_32.phpt b/ext/standard/tests/general_functions/var_export_basic1_32.phpt
+new file mode 100644
+index 000000000000..95596800d690
+--- /dev/null
++++ b/ext/standard/tests/general_functions/var_export_basic1_32.phpt
+@@ -0,0 +1,147 @@
++--TEST--
++Test var_export() function with integer values
++--SKIPIF--
++<?php
++if (PHP_INT_SIZE > 4) {
++ die("skip 32-bit only");
++}
++?>
++--FILE--
++<?php
++/* Prototype : mixed var_export(mixed var [, bool return])
++ * Description: Outputs or returns a string representation of a variable
++ * Source code: ext/standard/var.c
++ * Alias to functions:
++ */
++
++echo "*** Testing var_export() with integer values ***\n";
++// different integer vlaues
++$valid_ints = array(
++ '0' => '0',
++ '1' => '1',
++ '-1' => '-1',
++ '-2147483648' => '-2147483648', // max negative integer value
++ '-2147483647' => '-2147483647',
++ '2147483647' => 2147483647, // max positive integer value
++ '2147483640' => 2147483640,
++ '0x123B' => 0x123B, // integer as hexadecimal
++ "'0x12ab'" => '0x12ab',
++ "'0Xfff'" => '0Xfff',
++ "'0XFA'" => '0XFA',
++ "-0x80000000" => -0x7FFFFFFF - 1, // max negative integer as hexadecimal
++ "'0x7fffffff'" => '0x7fffffff', // max positive integer as hexadecimal
++ "0x7FFFFFFF" => 0x7FFFFFFF, // max positive integer as hexadecimal
++ "'0123'" => '0123', // integer as octal
++ "01912" => 01, // should be quivalent to octal 1
++ "-020000000000" => -017777777777 - 1, // max negative integer as octal
++ "017777777777" => 017777777777, // max positive integer as octal
++);
++
++/* Loop to check for above integer values with var_export() */
++echo "\n*** Output for integer values ***\n";
++foreach($valid_ints as $key => $int_value) {
++ echo "\n-- Iteration: $key --\n";
++ var_export( $int_value );
++ echo "\n";
++ var_export( $int_value, FALSE);
++ echo "\n";
++ var_dump( var_export( $int_value, TRUE) );
++}
++
++?>
++===DONE===
++--EXPECT--
++*** Testing var_export() with integer values ***
++
++*** Output for integer values ***
++
++-- Iteration: 0 --
++'0'
++'0'
++string(3) "'0'"
++
++-- Iteration: 1 --
++'1'
++'1'
++string(3) "'1'"
++
++-- Iteration: -1 --
++'-1'
++'-1'
++string(4) "'-1'"
++
++-- Iteration: -2147483648 --
++'-2147483648'
++'-2147483648'
++string(13) "'-2147483648'"
++
++-- Iteration: -2147483647 --
++'-2147483647'
++'-2147483647'
++string(13) "'-2147483647'"
++
++-- Iteration: 2147483647 --
++2147483647
++2147483647
++string(10) "2147483647"
++
++-- Iteration: 2147483640 --
++2147483640
++2147483640
++string(10) "2147483640"
++
++-- Iteration: 0x123B --
++4667
++4667
++string(4) "4667"
++
++-- Iteration: '0x12ab' --
++'0x12ab'
++'0x12ab'
++string(8) "'0x12ab'"
++
++-- Iteration: '0Xfff' --
++'0Xfff'
++'0Xfff'
++string(7) "'0Xfff'"
++
++-- Iteration: '0XFA' --
++'0XFA'
++'0XFA'
++string(6) "'0XFA'"
++
++-- Iteration: -0x80000000 --
++-2147483647-1
++-2147483647-1
++string(13) "-2147483647-1"
++
++-- Iteration: '0x7fffffff' --
++'0x7fffffff'
++'0x7fffffff'
++string(12) "'0x7fffffff'"
++
++-- Iteration: 0x7FFFFFFF --
++2147483647
++2147483647
++string(10) "2147483647"
++
++-- Iteration: '0123' --
++'0123'
++'0123'
++string(6) "'0123'"
++
++-- Iteration: 01912 --
++1
++1
++string(1) "1"
++
++-- Iteration: -020000000000 --
++-2147483647-1
++-2147483647-1
++string(13) "-2147483647-1"
++
++-- Iteration: 017777777777 --
++2147483647
++2147483647
++string(10) "2147483647"
++===DONE===
diff --git a/user/physfs/APKBUILD b/user/physfs/APKBUILD
index 4c9fde504..86f57e0cc 100644
--- a/user/physfs/APKBUILD
+++ b/user/physfs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=physfs
-pkgver=3.0.1
+pkgver=3.0.2
pkgrel=0
pkgdesc="Library to access various archives for game engines"
url="https://www.icculus.org/physfs"
@@ -13,7 +13,6 @@ subpackages="$pkgname-dev $pkgname-tools"
source="https://icculus.org/physfs/downloads/physfs-$pkgver.tar.bz2"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -29,12 +28,10 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -44,4 +41,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-sha512sums="ddf3b075ccb506da5e9a1ce96001be402752b9b777c2e816a85d48aff3626ff0886ea43eb07bd300fe3a9f59b9a002f54d822c51d483a4ee94b38378534c1879 physfs-3.0.1.tar.bz2"
+sha512sums="4024b6c3348e0b6fc1036aac330192112dfe17de3e3d14773be9f06e9a062df5a1006869f21162b4e0b584989f463788a35e64186b1913225c073fea62754472 physfs-3.0.2.tar.bz2"
diff --git a/user/physlock/APKBUILD b/user/physlock/APKBUILD
index a2c4e471f..f9a5f9574 100644
--- a/user/physlock/APKBUILD
+++ b/user/physlock/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Max Rees <maxcrees@me.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=physlock
-pkgver=11
+pkgver=13
pkgrel=0
pkgdesc="Lightweight Linux console-locking tool"
url="https://github.com/muennich/physlock"
@@ -12,17 +12,17 @@ depends=""
makedepends="linux-headers linux-pam-dev utmps-dev"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/muennich/physlock/archive/v$pkgver.tar.gz
- utmps.patch"
+ utmps.patch
+ makefile.patch"
build() {
- cd "$builddir"
make
}
package() {
- cd "$builddir"
make PREFIX="/usr" DESTDIR="$pkgdir" install
}
-sha512sums="d3badf5c99e4e3e16f4e7ec5c59ee8320c845f1b180463900d816206362ce1aa8652f2489453ad5e190cceee2ed61a90acc52e25bb6b4c4a9dc8c4ebd3054938 physlock-11.tar.gz
-d461b462dedfb7505f506ce1050d5140b8729f50a383157157e4f65465f63174cc11dc0a46cc1eed57cec0293006c5ec6cc6e96af9acab009ab3c9fe5e2381d5 utmps.patch"
+sha512sums="85c291fb7b146fbd81aacbf94d8af07e727dd9b37b458988eaee5f7a51f9923871f9b19fd9438428635963864de67d3f2a72f938d99ffe6dc3015c3a1b99ea1c physlock-13.tar.gz
+69367872c48985db31f2d84b038089da71e48ca79db0b0089f4a94f0cd853409bf9253fd5ee0b0729c01d9252072be1998141fad675baee97e93af1100ce71e6 utmps.patch
+54119c1059231f15ab5ea5543583e12f7e3f9907e9c71b3ec76b10ee5df64a0303d6caf88be9c768d7b679cfcaf0a374c924a3232f221329bc54d22b31c771ce makefile.patch"
diff --git a/user/physlock/makefile.patch b/user/physlock/makefile.patch
new file mode 100644
index 000000000..9cae82168
--- /dev/null
+++ b/user/physlock/makefile.patch
@@ -0,0 +1,14 @@
+--- physlock-13/Makefile 2019-01-28 18:46:20.000000000 +0000
++++ physlock-13/Makefile 2019-04-18 07:17:28.779909174 +0000
+@@ -7,9 +7,9 @@
+ MANPREFIX = $(PREFIX)/share/man
+
+ # enable user detection using libsystemd
+-HAVE_SYSTEMD = 1
++HAVE_SYSTEMD = 0
+
+-cflags = -Wall -pedantic $(CFLAGS)
++cflags = -D_GNU_SOURCE -Wall -pedantic $(CFLAGS)
+ cppflags = -I. $(CPPFLAGS) -D_XOPEN_SOURCE=500
+
+ lib_systemd_0 =
diff --git a/user/physlock/utmps.patch b/user/physlock/utmps.patch
index efae166a9..f3ba5e575 100644
--- a/user/physlock/utmps.patch
+++ b/user/physlock/utmps.patch
@@ -1,31 +1,23 @@
---- physlock-11/auth.c 2017-07-13 07:23:52.000000000 +0000
-+++ physlock-11/auth.c 2018-09-21 21:21:36.240024566 +0000
-@@ -16,13 +16,14 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-+#define _GNU_SOURCE
- #include <paths.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
+--- physlock-13/session.c 2019-01-28 18:46:20.000000000 +0000
++++ physlock-13/session.c 2019-04-18 07:11:54.749911535 +0000
+@@ -6,7 +7,7 @@
#include <pwd.h>
#include <unistd.h>
+ #include <errno.h>
-#include <utmp.h>
+#include <utmpx.h>
- #include <errno.h>
- #include <security/pam_misc.h>
-
-@@ -41,12 +42,12 @@ static void get_pam(userinfo_t *uinfo) {
- void get_user(userinfo_t *uinfo, int vt, uid_t owner) {
+ #if HAVE_SYSTEMD
+ #include <systemd/sd-login.h>
+@@ -50,11 +51,11 @@
+ int get_user_utmp(userinfo_t *uinfo, int vt) {
+ int ret = -1;
FILE *uf;
- struct utmp r;
+ struct utmpx r;
- struct passwd *pw;
- char tty[16], name[UT_NAMESIZE+1];
+ char tty[UT_LINESIZE+1], name[UT_NAMESIZE+1];
- uinfo->name = NULL;
+ name[0] = '\0';
- while ((uf = fopen(_PATH_UTMP, "r")) == NULL && errno == EINTR);
+ while ((uf = fopen(UTMPX_FILE, "r")) == NULL && errno == EINTR);
diff --git a/user/pixman/APKBUILD b/user/pixman/APKBUILD
index 332cc576d..0e545f547 100644
--- a/user/pixman/APKBUILD
+++ b/user/pixman/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=pixman
-pkgver=0.38.0
+pkgver=0.38.4
pkgrel=0
pkgdesc="Low-level pixel manipulation library"
url="https://www.X.Org/"
@@ -31,5 +31,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f2279a30947df0c75064fdc36c3e0b735d9392d516191d99a9a66c9bae86778c538a552f1bf9eb75cdbd141891e3addb4836b37ef1553bc6d55285f214311b78 pixman-0.38.0.tar.bz2
+sha512sums="0683b7f67caa0881b23188b7e6f8487c7e0a1257a912686616b7d862efd5a9efdb51641c81ec54905a6f6b1029d796ca4e25c0909db28fc29fa3617bf09f9cf9 pixman-0.38.4.tar.bz2
3d75e7328e6eaaa6e8f4defa4402db815764369f94b81be38fba07933267fe24b03b591dd4c3f3544cb090650153728bfbdd81a91acaf19524c3d08f61427f63 stacksize-reduction.patch"
diff --git a/user/pluma/APKBUILD b/user/pluma/APKBUILD
new file mode 100644
index 000000000..85fc97b63
--- /dev/null
+++ b/user/pluma/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=pluma
+pkgver=1.22.1
+pkgrel=0
+pkgdesc="Text editor for the MATE desktop environment"
+url="https://mate-desktop.org"
+arch="all"
+options="!check" # tests fail due to schema being requested but not available
+license="GPL-2.0+ AND GPL-2.0-only AND LGPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev gtksourceview-3.0-dev enchant-dev intltool
+ itstool iso-codes-dev libpeas-dev libsm-dev libxml2-dev libxml2-utils"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pub.mate-desktop.org/releases/${pkgver%.*}/pluma-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="0d3f07b2e8c736c9e1ad64ed5cb749db6088868e9bc27aa786cbb0c3fe72715f0fd4dd53999502a4333ec82110148b772c0dde81433d0936d2d3c2d04804026a pluma-1.22.1.tar.xz"
diff --git a/user/polkit/0001-make-netgroup-support-optional.patch b/user/polkit/0001-make-netgroup-support-optional.patch
index 1a7716c45..6387974be 100644
--- a/user/polkit/0001-make-netgroup-support-optional.patch
+++ b/user/polkit/0001-make-netgroup-support-optional.patch
@@ -1,4 +1,4 @@
-From aafb9fd0e79775146186ee1d7ffef1f76cdbc1bb Mon Sep 17 00:00:00 2001
+From 778bb45e0e0cbabe2b04adf67a500af1dab09768 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Wed, 11 Jul 2018 04:54:26 -0500
Subject: [PATCH] make netgroup support optional
@@ -12,253 +12,23 @@ that function is not available on the system, an error will be returned
to the administrator if unix-netgroup: is specified in configuration.
Fixes bug 50145.
+
+Closes polkit/polkit#14.
+
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
---
- 0001-make-netgroup-support-optional.patch | 226 ++++++++++++++++++
- configure.ac | 2 +-
- src/polkit/polkitidentity.c | 16 ++
- src/polkit/polkitunixnetgroup.c | 3 +
- .../polkitbackendinteractiveauthority.c | 14 +-
- .../polkitbackendjsauthority.cpp | 2 +
- test/polkit/polkitidentitytest.c | 9 +-
- test/polkit/polkitunixnetgrouptest.c | 3 +
- .../test-polkitbackendjsauthority.c | 2 +
- 9 files changed, 269 insertions(+), 8 deletions(-)
- create mode 100644 0001-make-netgroup-support-optional.patch
+ configure.ac | 2 +-
+ src/polkit/polkitidentity.c | 16 ++++++++++++++++
+ src/polkit/polkitunixnetgroup.c | 3 +++
+ .../polkitbackendinteractiveauthority.c | 14 ++++++++------
+ src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
+ test/polkit/polkitidentitytest.c | 9 ++++++++-
+ test/polkit/polkitunixnetgrouptest.c | 3 +++
+ .../test-polkitbackendjsauthority.c | 2 ++
+ 8 files changed, 43 insertions(+), 8 deletions(-)
-diff --git a/0001-make-netgroup-support-optional.patch b/0001-make-netgroup-support-optional.patch
-new file mode 100644
-index 0000000..dedc5f7
---- /dev/null
-+++ b/0001-make-netgroup-support-optional.patch
-@@ -0,0 +1,226 @@
-+From 73eada88dd344333cc1d1f9c5c35413fcee1dd67 Mon Sep 17 00:00:00 2001
-+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-+Date: Wed, 11 Jul 2018 04:54:26 -0500
-+Subject: [PATCH] make netgroup support optional
-+
-+On at least Linux/musl and Linux/uclibc, netgroup support is not
-+available. PolKit fails to compile on these systems for that reason.
-+
-+This change makes netgroup support conditional on the presence of the
-+setnetgrent(3) function which is required for the support to work. If
-+that function is not available on the system, an error will be returned
-+to the administrator if unix-netgroup: is specified in configuration.
-+
-+Fixes bug 50145.
-+---
-+ configure.ac | 2 +-
-+ src/polkit/polkitidentity.c | 16 ++++++++++++++++
-+ src/polkit/polkitunixnetgroup.c | 3 +++
-+ .../polkitbackendinteractiveauthority.c | 14 ++++++++------
-+ src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
-+ test/polkit/polkitidentitytest.c | 9 ++++++++-
-+ test/polkit/polkitunixnetgrouptest.c | 3 +++
-+ 7 files changed, 41 insertions(+), 8 deletions(-)
-+
-+diff --git a/configure.ac b/configure.ac
-+index bfa87dd..cb86ac7 100644
-+--- a/configure.ac
-++++ b/configure.ac
-+@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
-+ [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
-+ AC_SUBST(EXPAT_LIBS)
-+
-+-AC_CHECK_FUNCS(clearenv fdatasync)
-++AC_CHECK_FUNCS(clearenv fdatasync setnetgrent)
-+
-+ if test "x$GCC" = "xyes"; then
-+ LDFLAGS="-Wl,--as-needed $LDFLAGS"
-+diff --git a/src/polkit/polkitidentity.c b/src/polkit/polkitidentity.c
-+index 3aa1f7f..10e9c17 100644
-+--- a/src/polkit/polkitidentity.c
-++++ b/src/polkit/polkitidentity.c
-+@@ -182,7 +182,15 @@ polkit_identity_from_string (const gchar *str,
-+ }
-+ else if (g_str_has_prefix (str, "unix-netgroup:"))
-+ {
-++#ifndef HAVE_SETNETGRENT
-++ g_set_error (error,
-++ POLKIT_ERROR,
-++ POLKIT_ERROR_FAILED,
-++ "Netgroups are not available on this machine ('%s')",
-++ str);
-++#else
-+ identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1);
-++#endif
-+ }
-+
-+ if (identity == NULL && (error != NULL && *error == NULL))
-+@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVariant *variant,
-+ GVariant *v;
-+ const char *name;
-+
-++#ifndef HAVE_SETNETGRENT
-++ g_set_error (error,
-++ POLKIT_ERROR,
-++ POLKIT_ERROR_FAILED,
-++ "Netgroups are not available on this machine");
-++ goto out;
-++#else
-+ v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
-+ if (v == NULL)
-+ {
-+@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVariant *variant,
-+ name = g_variant_get_string (v, NULL);
-+ ret = polkit_unix_netgroup_new (name);
-+ g_variant_unref (v);
-++#endif
-+ }
-+ else
-+ {
-+diff --git a/src/polkit/polkitunixnetgroup.c b/src/polkit/polkitunixnetgroup.c
-+index 8a2b369..83f8d4a 100644
-+--- a/src/polkit/polkitunixnetgroup.c
-++++ b/src/polkit/polkitunixnetgroup.c
-+@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUnixNetgroup *group,
-+ PolkitIdentity *
-+ polkit_unix_netgroup_new (const gchar *name)
-+ {
-++#ifndef HAVE_SETNETGRENT
-++ g_assert_not_reached();
-++#endif
-+ g_return_val_if_fail (name != NULL, NULL);
-+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
-+ "name", name,
-+diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
-+index cb6fdab..ab47a98 100644
-+--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
-++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
-+@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity *group,
-+ GList *ret;
-+
-+ ret = NULL;
-++#ifdef HAVE_SETNETGRENT
-+ name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group));
-+
-+-#ifdef HAVE_SETNETGRENT_RETURN
-++# ifdef HAVE_SETNETGRENT_RETURN
-+ if (setnetgrent (name) == 0)
-+ {
-+ g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno));
-+ goto out;
-+ }
-+-#else
-++# else
-+ setnetgrent (name);
-+-#endif
-++# endif /* HAVE_SETNETGRENT_RETURN */
-+
-+ for (;;)
-+ {
-+-#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
-++# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
-+ const char *hostname, *username, *domainname;
-+-#else
-++# else
-+ char *hostname, *username, *domainname;
-+-#endif
-++# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */
-+ PolkitIdentity *user;
-+ GError *error = NULL;
-+
-+@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity *group,
-+
-+ out:
-+ endnetgrent ();
-++#endif /* HAVE_SETNETGRENT */
-+ return ret;
-+ }
-+
-+diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-+index 517f3c6..45b0378 100644
-+--- a/src/polkitbackend/polkitbackendjsauthority.cpp
-++++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-+@@ -1499,6 +1499,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
-+
-+ JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
-+
-++#ifdef HAVE_SETNETGRENT
-+ user = JS_EncodeString (cx, args[0].toString());
-+ netgroup = JS_EncodeString (cx, args[1].toString());
-+
-+@@ -1512,6 +1513,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
-+
-+ JS_free (cx, netgroup);
-+ JS_free (cx, user);
-++#endif
-+
-+ ret = true;
-+
-+diff --git a/test/polkit/polkitidentitytest.c b/test/polkit/polkitidentitytest.c
-+index e91967b..e829aaa 100644
-+--- a/test/polkit/polkitidentitytest.c
-++++ b/test/polkit/polkitidentitytest.c
-+@@ -19,6 +19,7 @@
-+ * Author: Nikki VonHollen <vonhollen@google.com>
-+ */
-+
-++#include "config.h"
-+ #include "glib.h"
-+ #include <polkit/polkit.h>
-+ #include <polkit/polkitprivate.h>
-+@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_test_data [] = {
-+ {"unix-group:root", "unix-group:jane", FALSE},
-+ {"unix-group:jane", "unix-group:jane", TRUE},
-+
-++#ifdef HAVE_SETNETGRENT
-+ {"unix-netgroup:foo", "unix-netgroup:foo", TRUE},
-+ {"unix-netgroup:foo", "unix-netgroup:bar", FALSE},
-++#endif
-+
-+ {"unix-user:root", "unix-group:root", FALSE},
-++#ifdef HAVE_SETNETGRENT
-+ {"unix-user:jane", "unix-netgroup:foo", FALSE},
-++#endif
-+
-+ {NULL},
-+ };
-+@@ -181,11 +186,13 @@ main (int argc, char *argv[])
-+ g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
-+ g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
-+
-++#ifdef HAVE_SETNETGRENT
-+ g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string);
-++ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
-++#endif
-+
-+ g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant);
-+ g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant);
-+- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
-+
-+ add_comparison_tests ();
-+
-+diff --git a/test/polkit/polkitunixnetgrouptest.c b/test/polkit/polkitunixnetgrouptest.c
-+index 3701ba1..e3352eb 100644
-+--- a/test/polkit/polkitunixnetgrouptest.c
-++++ b/test/polkit/polkitunixnetgrouptest.c
-+@@ -19,6 +19,7 @@
-+ * Author: Nikki VonHollen <vonhollen@google.com>
-+ */
-+
-++#include "config.h"
-+ #include "glib.h"
-+ #include <polkit/polkit.h>
-+ #include <string.h>
-+@@ -69,7 +70,9 @@ int
-+ main (int argc, char *argv[])
-+ {
-+ g_test_init (&argc, &argv, NULL);
-++#ifdef HAVE_SETNETGRENT
-+ g_test_add_func ("/PolkitUnixNetgroup/new", test_new);
-+ g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name);
-++#endif
-+ return g_test_run ();
-+ }
-+--
-+2.17.1
-+
diff --git a/configure.ac b/configure.ac
-index bfa87dd..cb86ac7 100644
+index 5cedb4e..87aa0ad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
@@ -327,7 +97,7 @@ index 8a2b369..83f8d4a 100644
return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
"name", name,
diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
-index cb6fdab..ab47a98 100644
+index 056d9a8..36c2f3d 100644
--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity *group,
@@ -372,18 +142,18 @@ index cb6fdab..ab47a98 100644
}
diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index 517f3c6..45b0378 100644
+index 9b752d1..09b2878 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -1499,6 +1499,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
+@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
+#ifdef HAVE_SETNETGRENT
- user = JS_EncodeString (cx, args[0].toString());
- netgroup = JS_EncodeString (cx, args[1].toString());
-
-@@ -1512,6 +1513,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
+ JS::RootedString usrstr (authority->priv->cx);
+ usrstr = args[0].toString();
+ user = JS_EncodeStringToUTF8 (cx, usrstr);
+@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
JS_free (cx, netgroup);
JS_free (cx, user);
@@ -457,7 +227,7 @@ index 3701ba1..e3352eb 100644
return g_test_run ();
}
diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c
-index b484a26..01e4907 100644
+index 71aad23..fdd28f3 100644
--- a/test/polkitbackend/test-polkitbackendjsauthority.c
+++ b/test/polkitbackend/test-polkitbackendjsauthority.c
@@ -137,12 +137,14 @@ test_get_admin_identities (void)
@@ -476,5 +246,5 @@ index b484a26..01e4907 100644
guint n;
--
-2.17.1
+2.21.0
diff --git a/user/polkit/APKBUILD b/user/polkit/APKBUILD
index 5b5dfdacd..54ecc7f98 100644
--- a/user/polkit/APKBUILD
+++ b/user/polkit/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=polkit
-pkgver=0.115
-pkgrel=3
+pkgver=0.116
+pkgrel=0
pkgdesc="Toolkit for controlling system-wide privileges"
url="https://www.freedesktop.org/wiki/Software/polkit/"
arch="all"
@@ -17,7 +17,6 @@ pkggroups="polkitd"
install="$pkgname.pre-install $pkgname.pre-upgrade"
source="https://www.freedesktop.org/software/polkit/releases/polkit-$pkgver.tar.gz
0001-make-netgroup-support-optional.patch
- CVE-2018-19788.patch
fix-consolekit-db-stat.patch
fix-test-fgetpwent.patch
"
@@ -66,8 +65,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1153011fa93145b2c184e6b3446d3ca21b38918641aeccd8fac3985ac3e30ec6bc75be6973985fde90f2a24236592f1595be259155061c2d33358dd17c4ee4fc polkit-0.115.tar.gz
-6d68d90e6dc9594175631c99699d4d949fba6d2d1ad66680897f9a17e9dc3c17b44f2bc06ed4f6149931e17a96baaf481981fb0698aace7c81a67c06c2806c29 0001-make-netgroup-support-optional.patch
-4a2a11c1de8ef11def9c32b4b595fd45066aeaeb0cb42665846e3c7b8c6f5b7d3a782d722a25889afdb6a4414abed0837a359692342baaeb770d0e9712818ce1 CVE-2018-19788.patch
+sha512sums="b66b01cc2bb4349de70147f41f161f0f6f41e7230b581dfb054058b48969ec57041ab05b51787c749ccfc36aa5f317952d7e7ba337b4f6f6c0a923ed5866c2d5 polkit-0.116.tar.gz
+f13a350a040a80b705d28e2ce3fac183409f593dc360879ce1bc9ec85faa7796cf0f4e054098b737fb816369de6c9d598449f6908316484aac99a44a68102ae6 0001-make-netgroup-support-optional.patch
95493ef842b46ce9e724933a5d86083589075fb452435057b8f629643cac7c7eff67a24fd188087987e98057f0130757fad546d0c090767da3d71ebaf8485a24 fix-consolekit-db-stat.patch
966825aded565432f4fda9e54113a773b514ebf7ee7faa83bcb8b97d218ae84a8707d6747bbc3cb8a828638d692fdef34c05038f150ad38e02a29f2c782aba5b fix-test-fgetpwent.patch"
diff --git a/user/polkit/CVE-2018-19788.patch b/user/polkit/CVE-2018-19788.patch
deleted file mode 100644
index 6a2845aca..000000000
--- a/user/polkit/CVE-2018-19788.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From 35af308b530f36c1a0a912387106a59b3ab92027 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Mon, 3 Dec 2018 10:28:58 +0100
-Subject: [PATCH 1/2] Use default of -1 for uid/gid in class initialization
-
-This doesn't seem to change anything in polkitd behaviour, but it
-seems cleaner to default to -1 which here means "unset".
----
- src/polkit/polkitunixgroup.c | 4 ++--
- src/polkit/polkitunixuser.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c
-index c57a1aa..095cca0 100644
---- a/src/polkit/polkitunixgroup.c
-+++ b/src/polkit/polkitunixgroup.c
-@@ -131,9 +131,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass)
- g_param_spec_int ("gid",
- "Group ID",
- "The UNIX group ID",
-- 0,
-+ -1,
- G_MAXINT,
-- 0,
-+ -1,
- G_PARAM_CONSTRUCT |
- G_PARAM_READWRITE |
- G_PARAM_STATIC_NAME |
-diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c
-index 8bfd3a1..a5285f4 100644
---- a/src/polkit/polkitunixuser.c
-+++ b/src/polkit/polkitunixuser.c
-@@ -144,9 +144,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass)
- g_param_spec_int ("uid",
- "User ID",
- "The UNIX user ID",
-- 0,
-+ -1,
- G_MAXINT,
-- 0,
-+ -1,
- G_PARAM_CONSTRUCT |
- G_PARAM_READWRITE |
- G_PARAM_STATIC_NAME |
---
-2.18.1
-
-
-From fbaab32cb4ed9ed5f1e3eea6cd317d443aa427dc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Mon, 3 Dec 2018 12:51:26 +0100
-Subject: [PATCH 2/2] Check gid and uid initalization in PolkitUnixUser and
- Group objects
-
-When a user or group above INT32_MAX is created, the numeric uid or
-gid wraps around to negative when the value is assigned to gint, and
-polkit gets confused. Let's refuse such uids and gids.
-
-This patch just refuses to initialize uid and gid values to negative.
-A nicer fix is to change the underlying type to e.g. gint64 to allow
-the full range of values in uid_t and gid_t to be represented. But
-this cannot be done without breaking the API, so likely new functions
-will have to be added (a polkit_unix_user_new variant that takes a
-gint64, and the same for _group_new, _set_uid, _get_uid, _set_gid,
-_get_gid, etc.). This will require a bigger patch.
-
-Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74.
-
-Example sessions from uid=4000000000:
-
-Dec 03 14:35:08 krowka polkitd[21432]: system-bus-name::1.41869 is inquiring whether system-bus-name::1.79432 is authorized for org.freedesktop.systemd1.manage-units
-Dec 03 14:35:08 krowka polkitd[21432]: user of caller is unix-user:root
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_unix_user_new: assertion 'uid >= 0' failed
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_identity_to_string: assertion 'POLKIT_IS_IDENTITY (identity)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: user of subject is (null)
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_identity_equal: assertion 'POLKIT_IS_IDENTITY (b)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: checking whether system-bus-name::1.79432 is authorized for org.freedesktop.systemd1.manage-units
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_unix_user_new: assertion 'uid >= 0' failed
-Dec 03 14:35:08 krowka polkitd[21432]:
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_authorization_result_get_is_challenge: assertion 'POLKIT_IS_AUTHORIZATION_RESULT (result)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_authorization_result_get_details: assertion 'POLKIT_IS_AUTHORIZATION_RESULT (result)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_authorization_result_get_is_challenge: assertion 'POLKIT_IS_AUTHORIZATION_RESULT (result)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: polkit_authorization_result_get_is_authorized: assertion 'POLKIT_IS_AUTHORIZATION_RESULT (result)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
-Dec 03 14:35:08 krowka polkitd[21432]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
----
- src/polkit/polkitunixgroup.c | 9 ++++++++-
- src/polkit/polkitunixuser.c | 7 +++++++
- 2 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c
-index 095cca0..53db862 100644
---- a/src/polkit/polkitunixgroup.c
-+++ b/src/polkit/polkitunixgroup.c
-@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT,
- static void
- polkit_unix_group_init (PolkitUnixGroup *unix_group)
- {
-+ unix_group->gid = -1;
- }
-
- static void
-@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object,
- GParamSpec *pspec)
- {
- PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object);
-+ gint val;
-
- switch (prop_id)
- {
- case PROP_GID:
-- unix_group->gid = g_value_get_int (value);
-+ val = g_value_get_int (value);
-+ g_return_if_fail (val >= 0);
-+ unix_group->gid = val;
- break;
-
- default:
-@@ -169,6 +173,7 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group,
- gint gid)
- {
- g_return_if_fail (POLKIT_IS_UNIX_GROUP (group));
-+ g_return_if_fail (gid >= 0);
- group->gid = gid;
- }
-
-@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group,
- PolkitIdentity *
- polkit_unix_group_new (gint gid)
- {
-+ g_return_val_if_fail (gid >= 0, NULL);
-+
- return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP,
- "gid", gid,
- NULL));
-diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c
-index a5285f4..ef6403e 100644
---- a/src/polkit/polkitunixuser.c
-+++ b/src/polkit/polkitunixuser.c
-@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT,
- static void
- polkit_unix_user_init (PolkitUnixUser *unix_user)
- {
-+ unix_user->uid = -1;
- unix_user->name = NULL;
- }
-
-@@ -112,10 +113,13 @@ polkit_unix_user_set_property (GObject *object,
- GParamSpec *pspec)
- {
- PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object);
-+ gint val;
-
- switch (prop_id)
- {
- case PROP_UID:
-+ val = g_value_get_int (value);
-+ g_return_if_fail (val >= 0);
- unix_user->uid = g_value_get_int (value);
- break;
-
-@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
- gint uid)
- {
- g_return_if_fail (POLKIT_IS_UNIX_USER (user));
-+ g_return_if_fail (uid >= 0);
- user->uid = uid;
- }
-
-@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
- PolkitIdentity *
- polkit_unix_user_new (gint uid)
- {
-+ g_return_val_if_fail (uid >= 0, NULL);
-+
- return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER,
- "uid", uid,
- NULL));
---
-2.18.1
-
diff --git a/user/postfix/APKBUILD b/user/postfix/APKBUILD
index a0c2d1533..312916128 100644
--- a/user/postfix/APKBUILD
+++ b/user/postfix/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=postfix
-pkgver=3.3.2
-pkgrel=2
+pkgver=3.4.5
+pkgrel=0
pkgdesc="Mail server (MTA) that is Sendmail outside and Qmail inside"
url="http://www.postfix.org/"
arch="all"
@@ -91,6 +91,6 @@ sqlite() {
_database "sqlite" "SQLite 3"
}
-sha512sums="df67eb978751900d357597def16f744dae990f5cc4e48af8dca57f84b0140e05416712727c1760b8f557ed3564cd593620756561b0a6f31db4b54d928e15293f postfix-3.3.2.tar.gz
+sha512sums="af59d960b40799f7667935bef8fafb93ae6dcb70abaa77a15cf498571f37fa0429f411f9f08b1b6bfa588d3f572260d14d6d5409f0cd1e82b1c59928b2124c94 postfix-3.4.5.tar.gz
63ea7fe461fca1306088e9984acfab6ab3e919dafa2b606d43fbca472969e6ec232800071f939f5a4482c01c6d7b53a86de9e7e893ab94f4cb135d16ff5763cc honour-config-directory.patch
2ad1b053bbb51d4f480dbf5a01252e8e99a82ec14a75ff49336b2b190ea55bc02400542b109fa0cc4ebfe6b42eaabbc45f70f2ea581f1eb9c4189c439b825592 postfix.initd"
diff --git a/user/powerpc-utils/APKBUILD b/user/powerpc-utils/APKBUILD
index 878466c74..c16fd2d05 100644
--- a/user/powerpc-utils/APKBUILD
+++ b/user/powerpc-utils/APKBUILD
@@ -1,20 +1,18 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=powerpc-utils
-pkgver=1.3.5
+pkgver=1.3.6
pkgrel=0
pkgdesc="Maintenance utilities for PowerPC computers"
-url="https://github.com/nfont/powerpc-utils"
+url="https://github.com/ibm-power-utilities/powerpc-utils"
arch="ppc ppc64 ppc64le"
options="!check" # No test suite.
license="GPL-2.0+"
depends="bash bc"
makedepends="autoconf automake zlib-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/nfont/$pkgname/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ibm-power-utilities/$pkgname/archive/v$pkgver.tar.gz"
build() {
- cd "$builddir"
-
./autogen.sh
./configure \
--build=$CBUILD \
@@ -26,8 +24,7 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="a01f8fc45abd91d0629f8f48e3c2877a863aa1f244907bb65fcc457c2c933e7043181666c237956723f956b7c3d7ce7a0cedc36eaf26ce3cf777aa8f0525244d powerpc-utils-1.3.5.tar.gz"
+sha512sums="a30516ccdfe19a198cd5c1a7ad3646d15b599fb40f772cbc7ac95c6d3b364575a3ebb16708022886ba3bcd3184070a3f4d72b649427879fcdd2655406470e977 powerpc-utils-1.3.6.tar.gz"
diff --git a/user/ppp/02_all_make-vars.patch b/user/ppp/02_all_make-vars.patch
new file mode 100644
index 000000000..7937d666e
--- /dev/null
+++ b/user/ppp/02_all_make-vars.patch
@@ -0,0 +1,185 @@
+--- ppp-2.4.5/chat/Makefile.linux
++++ ppp-2.4.5/chat/Makefile.linux
+@@ -10,7 +10,6 @@
+ CDEF4= -DFNDELAY=O_NDELAY # Old name value
+ CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
+
+-COPTS= -O2 -g -pipe
+ CFLAGS= $(COPTS) $(CDEFS)
+
+ INSTALL= install
+@@ -18,7 +17,7 @@
+ all: chat
+
+ chat: chat.o
+- $(CC) -o chat chat.o
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
+
+ chat.o: chat.c
+ $(CC) -c $(CFLAGS) -o chat.o chat.c
+--- ppp-2.4.5/pppd/Makefile.linux
++++ ppp-2.4.5/pppd/Makefile.linux
+@@ -32,7 +32,7 @@
+
+ # CC = gcc
+ #
+-COPTS = -O2 -pipe -Wall -g
++COPTS+= -Wall
+ LIBS =
+
+ # Uncomment the next 2 lines to include support for Microsoft's
+--- ppp-2.4.5/pppd/plugins/Makefile.linux
++++ ppp-2.4.5/pppd/plugins/Makefile.linux
+@@ -1,7 +1,11 @@
+ #CC = gcc
+-COPTS = -O2 -g
+ CFLAGS = $(COPTS) -I.. -I../../include -fPIC
+-LDFLAGS = -shared
++LDFLAGS_PROG := $(LDFLAGS)
++export LDFLAGS LDFLAGS_PROG
++LDFLAGS += -shared
++# need the following option, otherwise linking plugins might fail with undef errors (Gentoo bug 210837)
++LDFLAGS += -Wl,--allow-shlib-undefined
++LIBS =
+ INSTALL = install
+
+ DESTDIR = $(INSTROOT)@DESTDIR@
+@@ -23,7 +27,7 @@
+ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done
+
+ %.so: %.c
+- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS)
+
+ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h)
+
+--- ppp-2.4.5/pppd/plugins/pppoatm/Makefile.linux
++++ ppp-2.4.5/pppd/plugins/pppoatm/Makefile.linux
+@@ -1,7 +1,5 @@
+ #CC = gcc
+-COPTS = -O2 -g
+ CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC
+-LDFLAGS = -shared
+ INSTALL = install
+
+ #***********************************************************************
+@@ -33,7 +31,7 @@
+ all: $(PLUGIN)
+
+ $(PLUGIN): $(PLUGIN_OBJS)
+- $(CC) $(CFLAGS) -o $@ -shared $^ $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS)
+
+ install: all
+ $(INSTALL) -d -m 755 $(LIBDIR)
+--- ppp-2.4.5/pppd/plugins/pppol2tp/Makefile.linux
++++ ppp-2.4.5/pppd/plugins/pppol2tp/Makefile.linux
+@@ -1,7 +1,5 @@
+ #CC = gcc
+-COPTS = -O2 -g
+ CFLAGS = $(COPTS) -I. -I../.. -I../../../include -fPIC
+-LDFLAGS = -shared
+ INSTALL = install
+
+ #***********************************************************************
+@@ -16,7 +14,7 @@
+ all: $(PLUGINS)
+
+ %.so: %.o
+- $(CC) $(CFLAGS) -o $@ -shared $^ $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBS)
+
+ install: all
+ $(INSTALL) -d -m 755 $(LIBDIR)
+--- ppp-2.4.5/pppd/plugins/radius/Makefile.linux
++++ ppp-2.4.5/pppd/plugins/radius/Makefile.linux
+@@ -12,7 +12,7 @@
+ INSTALL = install
+
+ PLUGIN=radius.so radattr.so radrealms.so
+-CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
++CFLAGS=$(COPTS) -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
+
+ # Uncomment the next line to include support for Microsoft's
+ # MS-CHAP authentication protocol.
+@@ -43,13 +43,13 @@
+ $(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
+
+ radius.so: radius.o libradiusclient.a
+- $(CC) -o radius.so -shared radius.o libradiusclient.a
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
+
+ radattr.so: radattr.o
+- $(CC) -o radattr.so -shared radattr.o
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
+
+ radrealms.so: radrealms.o
+- $(CC) -o radrealms.so -shared radrealms.o
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
+
+ CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \
+ clientid.o sendserver.o lock.o util.o md5.o
+--- ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux
++++ ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux
+@@ -25,12 +25,11 @@
+ # Version is set ONLY IN THE MAKEFILE! Don't delete this!
+ RP_VERSION=3.8p
+
+-COPTS=-O2 -g
+ CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
+ all: rp-pppoe.so pppoe-discovery
+
+ pppoe-discovery: pppoe-discovery.o debug.o
+- $(CC) -o pppoe-discovery pppoe-discovery.o debug.o
++ $(CC) $(LDFLAGS_PROG) $(CFLAGS) -o pppoe-discovery pppoe-discovery.o debug.o
+
+ pppoe-discovery.o: pppoe-discovery.c
+ $(CC) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c
+@@ -39,7 +38,7 @@
+ $(CC) $(CFLAGS) -c -o debug.o debug.c
+
+ rp-pppoe.so: plugin.o discovery.o if.o common.o
+- $(CC) -o rp-pppoe.so -shared plugin.o discovery.o if.o common.o
++ $(CC) $(LDFLAGS) $(CFLAGS) -o rp-pppoe.so plugin.o discovery.o if.o common.o
+
+ install: all
+ $(INSTALL) -d -m 755 $(LIBDIR)
+--- ppp-2.4.5/pppdump/Makefile.linux
++++ ppp-2.4.5/pppdump/Makefile.linux
+@@ -2,7 +2,7 @@
+ BINDIR = $(DESTDIR)/sbin
+ MANDIR = $(DESTDIR)/share/man/man8
+
+-CFLAGS= -O -I../include/net
++CFLAGS=$(COPTS) -I../include/net
+ OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+
+ INSTALL= install
+@@ -10,7 +10,7 @@
+ all: pppdump
+
+ pppdump: $(OBJS)
+- $(CC) -o pppdump $(OBJS)
++ $(CC) $(LDFLAGS) -o pppdump $(OBJS)
+
+ clean:
+ rm -f pppdump $(OBJS) *~
+--- ppp-2.4.5/pppstats/Makefile.linux
++++ ppp-2.4.5/pppstats/Makefile.linux
+@@ -10,7 +10,6 @@
+ PPPSTATOBJS = pppstats.o
+
+ #CC = gcc
+-COPTS = -O
+ COMPILE_FLAGS = -I../include
+ LIBS =
+
+@@ -26,7 +25,7 @@
+ $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
+
+ pppstats: $(PPPSTATSRCS)
+- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o pppstats pppstats.c $(LIBS)
+
+ clean:
+ rm -f pppstats *~ #* core
diff --git a/user/ppp/03_all_use_internal_logwtmp.patch b/user/ppp/03_all_use_internal_logwtmp.patch
new file mode 100644
index 000000000..d9ecddf25
--- /dev/null
+++ b/user/ppp/03_all_use_internal_logwtmp.patch
@@ -0,0 +1,22 @@
+Use internal implementation of logwtmp function to prevent
+utilities from sys-apps/coreutils to not detect authorized users
+
+Patch by: Sergey Popov <pinkbyte@gentoo.org>
+
+--- a/pppd/sys-linux.c
++++ b/pppd/sys-linux.c
+@@ -2196,7 +2197,6 @@
+ return ok;
+ }
+
+-#ifndef HAVE_LOGWTMP
+ /********************************************************************
+ *
+ * Update the wtmp file with the appropriate user name and tty device.
+@@ -2270,7 +2270,7 @@
+ }
+ #endif
+ }
+-#endif /* HAVE_LOGWTMP */
++
+
diff --git a/user/ppp/04_all_mpls.patch b/user/ppp/04_all_mpls.patch
new file mode 100644
index 000000000..54b79f7bd
--- /dev/null
+++ b/user/ppp/04_all_mpls.patch
@@ -0,0 +1,427 @@
+--- ppp-2.4.5/pppd/main.c
++++ ppp-2.4.5/pppd/main.c
+@@ -96,6 +96,9 @@
+ #include "fsm.h"
+ #include "lcp.h"
+ #include "ipcp.h"
++
++#include "mplscp.h"
++
+ #ifdef INET6
+ #include "ipv6cp.h"
+ #endif
+@@ -283,6 +286,7 @@
+ &cbcp_protent,
+ #endif
+ &ipcp_protent,
++ &mplscp_protent,
+ #ifdef INET6
+ &ipv6cp_protent,
+ #endif
+--- ppp-2.4.5/pppd/Makefile.linux
++++ ppp-2.4.5/pppd/Makefile.linux
+@@ -13,16 +13,16 @@
+
+ PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap-new.c md5.c ccp.c \
+ ecp.c ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c \
+- demand.c utils.c tty.c eap.c chap-md5.c session.c
++ demand.c utils.c tty.c eap.c chap-md5.c session.c mplscp.c
+
+ HEADERS = ccp.h session.h chap-new.h ecp.h fsm.h ipcp.h \
+ ipxcp.h lcp.h magic.h md5.h patchlevel.h pathnames.h pppd.h \
+- upap.h eap.h
++ upap.h eap.h mplscp.h
+
+ MANPAGES = pppd.8
+ PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o md5.o ccp.o \
+ ecp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o \
+- eap.o chap-md5.o session.o
++ eap.o chap-md5.o session.o mplscp.o
+
+ #
+ # include dependencies if present
+--- ppp-2.4.5/pppd/mplscp.c
++++ ppp-2.4.5/pppd/mplscp.c
+@@ -0,0 +1,371 @@
++
++/* MPLSCP - Serge.Krier@advalvas.be (C) 2001 */
++
++#include <stdio.h>
++#include <string.h>
++#include <netdb.h>
++#include <sys/param.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <arpa/inet.h>
++
++#include "pppd.h"
++#include "fsm.h"
++#include "mplscp.h"
++
++
++/* local vars */
++/* static int mplscp_is_up; */ /* have called np_up() */
++
++/*
++ * Callbacks for fsm code. (CI = Configuration Information)
++ */
++static void mplscp_resetci __P((fsm *)); /* Reset our CI */
++static int mplscp_cilen __P((fsm *)); /* Return length of our CI */
++static void mplscp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
++static int mplscp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
++static int mplscp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
++static int mplscp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
++static int mplscp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
++static void mplscp_up __P((fsm *)); /* We're UP */
++static void mplscp_down __P((fsm *)); /* We're DOWN */
++static void mplscp_finished __P((fsm *)); /* Don't need lower layer */
++
++fsm mplscp_fsm[NUM_PPP]; /* MPLSCP fsm structure */
++
++static fsm_callbacks mplscp_callbacks = { /* MPLSCP callback routines */
++ mplscp_resetci, /* Reset our Configuration Information */
++ mplscp_cilen, /* Length of our Configuration Information */
++ mplscp_addci, /* Add our Configuration Information */
++ mplscp_ackci, /* ACK our Configuration Information */
++ mplscp_nakci, /* NAK our Configuration Information */
++ mplscp_rejci, /* Reject our Configuration Information */
++ mplscp_reqci, /* Request peer's Configuration Information */
++ mplscp_up, /* Called when fsm reaches OPENED state */
++ mplscp_down, /* Called when fsm leaves OPENED state */
++ NULL, /* Called when we want the lower layer up */
++ mplscp_finished, /* Called when we want the lower layer down */
++ NULL, /* Called when Protocol-Reject received */
++ NULL, /* Retransmission is necessary */
++ NULL, /* Called to handle protocol-specific codes */
++ "MPLSCP" /* String name of protocol */
++};
++
++static option_t mplscp_option_list[] = {
++ { "mpls", o_bool, &mplscp_protent.enabled_flag,
++ "Enable MPLSCP (and MPLS)", 1 },
++ { NULL } };
++
++/*
++ * Protocol entry points from main code.
++ */
++
++static void mplscp_init __P((int));
++static void mplscp_open __P((int));
++static void mplscp_close __P((int, char *));
++static void mplscp_lowerup __P((int));
++static void mplscp_lowerdown __P((int));
++static void mplscp_input __P((int, u_char *, int));
++static void mplscp_protrej __P((int));
++static int mplscp_printpkt __P((u_char *, int,
++ void (*) __P((void *, char *, ...)), void *));
++
++struct protent mplscp_protent = {
++ PPP_MPLSCP,
++ mplscp_init,
++ mplscp_input,
++ mplscp_protrej,
++ mplscp_lowerup,
++ mplscp_lowerdown,
++ mplscp_open,
++ mplscp_close,
++ mplscp_printpkt,
++ NULL,
++ 0, /* MPLS not enabled by default */
++ "MPLSCP",
++ "MPLS",
++ mplscp_option_list,
++ NULL,
++ NULL,
++ NULL
++};
++
++/*
++ * mplscp_init - Initialize MPLSCP.
++ */
++static void
++mplscp_init(int unit) {
++
++ fsm *f = &mplscp_fsm[unit];
++
++ f->unit = unit;
++ f->protocol = PPP_MPLSCP;
++ f->callbacks = &mplscp_callbacks;
++ fsm_init(&mplscp_fsm[unit]);
++
++}
++
++/*
++ * mplscp_open - MPLSCP is allowed to come up.
++ */
++static void
++mplscp_open(int unit) {
++
++ fsm_open(&mplscp_fsm[unit]);
++
++}
++
++/*
++ * mplscp_close - Take MPLSCP down.
++ */
++static void
++mplscp_close(int unit, char *reason) {
++
++ fsm_close(&mplscp_fsm[unit], reason);
++
++}
++
++/*
++ * mplscp_lowerup - The lower layer is up.
++ */
++static void
++mplscp_lowerup(int unit) {
++
++ fsm_lowerup(&mplscp_fsm[unit]);
++}
++
++/*
++ * mplscp_lowerdown - The lower layer is down.
++ */
++static void
++mplscp_lowerdown(int unit) {
++
++ fsm_lowerdown(&mplscp_fsm[unit]);
++}
++
++/*
++ * mplscp_input - Input MPLSCP packet.
++ */
++static void
++mplscp_input(int unit, u_char *p, int len) {
++
++ fsm_input(&mplscp_fsm[unit], p, len);
++}
++
++/*
++ * mplscp_protrej - A Protocol-Reject was received for MPLSCP.
++ * Pretend the lower layer went down, so we shut up.
++ */
++static void
++mplscp_protrej(int unit) {
++
++ fsm_lowerdown(&mplscp_fsm[unit]);
++}
++
++/*
++ * mplscp_resetci - Reset our CI.
++ * Called by fsm_sconfreq, Send Configure Request.
++ */
++static void
++mplscp_resetci(fsm *f) {
++
++ return;
++}
++
++/*
++ * mplscp_cilen - Return length of our CI.
++ * Called by fsm_sconfreq, Send Configure Request.
++ */
++static int
++mplscp_cilen(fsm *f) {
++
++ return 0;
++}
++
++/*
++ * mplscp_addci - Add our desired CIs to a packet.
++ * Called by fsm_sconfreq, Send Configure Request.
++ */
++static void
++mplscp_addci(fsm *f, u_char *ucp, int *lenp) {
++
++}
++
++/*
++ * ipcp_ackci - Ack our CIs.
++ * Called by fsm_rconfack, Receive Configure ACK.
++ *
++ * Returns:
++ * 0 - Ack was bad.
++ * 1 - Ack was good.
++ */
++static int
++mplscp_ackci(fsm *f, u_char *p, int len) {
++
++ return 1;
++
++}
++
++/*
++ * mplscp_nakci - Peer has sent a NAK for some of our CIs.
++ * This should not modify any state if the Nak is bad
++ * or if MPLSCP is in the OPENED state.
++ * Calback from fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
++ *
++ * Returns:
++ * 0 - Nak was bad.
++ * 1 - Nak was good.
++ */
++static int
++mplscp_nakci(fsm *f, u_char *p, int len) {
++
++ return 1;
++}
++
++/*
++ * MPLSVP_rejci - Reject some of our CIs.
++ * Callback from fsm_rconfnakrej.
++ */
++static int
++mplscp_rejci(fsm *f, u_char *p, int len) {
++
++ return 1;
++
++}
++
++/*
++ * mplscp_reqci - Check the peer's requested CIs and send appropriate response.
++ * Callback from fsm_rconfreq, Receive Configure Request
++ *
++ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
++ * appropriately. If reject_if_disagree is non-zero, doesn't return
++ * CONFNAK; returns CONFREJ if it can't return CONFACK.
++ */
++static int
++mplscp_reqci(fsm *f, u_char *inp, int *len, int reject_if_disagree) {
++
++
++ int rc = CONFACK; /* Final packet return code */
++
++ PUTCHAR(CONFACK,inp);
++
++ return rc;
++
++}
++
++static void
++mplscp_up(fsm *f) {
++
++ sifnpmode(f->unit, PPP_MPLS_UC, NPMODE_PASS);
++ /* sifnpmode(f->unit, PPP_MPLS_MC, NPMODE_PASS);*/
++
++ np_up(f->unit, PPP_MPLS_UC);
++ /* np_up(f->unit, PPP_MPLS_MC);*/
++ /* ipcp_is_up = 1;*/
++
++
++#if 1
++ printf("MPLSCP is OPENED\n");
++#endif
++
++}
++
++static void
++mplscp_down(fsm *f) {
++
++ sifnpmode(f->unit, PPP_MPLS_UC, NPMODE_DROP);
++ /* sifnpmode(f->unit, PPP_MPLS_MC, NPMODE_DROP);*/
++
++ sifdown(f->unit);
++
++#if 1
++ printf("MPLSCP is CLOSED\n");
++#endif
++
++
++}
++
++static void
++mplscp_finished(fsm *f) {
++
++ np_finished(f->unit, PPP_MPLS_UC);
++ /* np_finished(f->unit, PPP_MPLS_MC);*/
++
++}
++
++/*
++ * mpls_printpkt - print the contents of an MPLSCP packet.
++ */
++static char *mplscp_codenames[] = {
++ "ConfReq", "ConfAck", "ConfNak", "ConfRej",
++ "TermReq", "TermAck", "CodeRej"
++};
++
++static int
++mplscp_printpkt(u_char *p, int plen,
++ void (*printer) __P((void *, char *, ...)),
++ void *arg) {
++
++ int code, id, len, olen;
++ u_char *pstart, *optend;
++
++ if (plen < HEADERLEN)
++ return 0;
++ pstart = p;
++ GETCHAR(code, p);
++ GETCHAR(id, p);
++ GETSHORT(len, p);
++ if (len < HEADERLEN || len > plen)
++ return 0;
++
++ if (code >= 1 && code <= sizeof(mplscp_codenames) / sizeof(char *))
++ printer(arg, " %s", mplscp_codenames[code-1]);
++ else
++ printer(arg, " code=0x%x", code);
++ printer(arg, " id=0x%x", id);
++ len -= HEADERLEN;
++ switch (code) {
++ case CONFREQ:
++ case CONFACK:
++ case CONFNAK:
++ case CONFREJ:
++ /* print option list */
++ while (len >= 2) {
++ GETCHAR(code, p);
++ GETCHAR(olen, p);
++ p -= 2;
++ if (olen < 2 || olen > len) {
++ break;
++ }
++ printer(arg, " <");
++ len -= olen;
++ optend = p + olen;
++ while (p < optend) {
++ GETCHAR(code, p);
++ printer(arg, " %.2x", code);
++ }
++ printer(arg, ">");
++ }
++ break;
++
++ case TERMACK:
++ case TERMREQ:
++ if (len > 0 && *p >= ' ' && *p < 0x7f) {
++ printer(arg, " ");
++ print_string((char *)p, len, printer, arg);
++ p += len;
++ len = 0;
++ }
++ break;
++ }
++
++ /* print the rest of the bytes in the packet */
++ for (; len > 0; --len) {
++ GETCHAR(code, p);
++ printer(arg, " %.2x", code);
++ }
++
++ return p - pstart;
++
++}
+--- ppp-2.4.5/pppd/mplscp.h
++++ ppp-2.4.5/pppd/mplscp.h
+@@ -0,0 +1,8 @@
++
++/* MPLSCP - Serge.Krier@advalvas.be (C) 2001 */
++
++#define PPP_MPLSCP 0x8281
++#define PPP_MPLS_UC 0x0281
++#define PPP_MPLS_MC 0x0283
++
++extern struct protent mplscp_protent;
diff --git a/user/ppp/06_all_killaddr-smarter.patch b/user/ppp/06_all_killaddr-smarter.patch
new file mode 100644
index 000000000..d86534843
--- /dev/null
+++ b/user/ppp/06_all_killaddr-smarter.patch
@@ -0,0 +1,131 @@
+--- ppp-2.4.5/pppd/options.c
++++ ppp-2.4.5/pppd/options.c
+@@ -100,6 +100,9 @@
+ char user[MAXNAMELEN]; /* Username for PAP */
+ char passwd[MAXSECRETLEN]; /* Password for PAP */
+ bool persist = 0; /* Reopen link after it goes down */
++bool killoldaddr = 0; /* If our IP is reassigned on
++ reconnect, kill active TCP
++ connections using the old IP. */
+ char our_name[MAXNAMELEN]; /* Our name for authentication purposes */
+ bool demand = 0; /* do dial-on-demand */
+ char *ipparam = NULL; /* Extra parameter for ip up/down scripts */
+@@ -231,6 +234,11 @@
+ { "demand", o_bool, &demand,
+ "Dial on demand", OPT_INITONLY | 1, &persist },
+
++ { "killoldaddr", o_bool, &killoldaddr,
++ "Kill connections from an old source address", 1},
++ { "nokilloldaddr", o_bool,&killoldaddr,
++ "Don't kill connections from an old source address" },
++
+ { "--version", o_special_noarg, (void *)showversion,
+ "Show version number" },
+ { "--help", o_special_noarg, (void *)showhelp,
+--- ppp-2.4.5/pppd/pppd.h
++++ ppp-2.4.5/pppd/pppd.h
+@@ -298,6 +298,9 @@
+ extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
+ extern bool explicit_remote;/* remote_name specified with remotename opt */
+ extern bool demand; /* Do dial-on-demand */
++extern bool killoldaddr; /* If our IP is reassigned on
++ reconnect, kill active TCP
++ connections using the old IP. */
+ extern char *ipparam; /* Extra parameter for ip up/down scripts */
+ extern bool cryptpap; /* Others' PAP passwords are encrypted */
+ extern int idle_time_limit;/* Shut down link if idle for this long */
+--- ppp-2.4.5/pppd/sys-linux.c
++++ ppp-2.4.5/pppd/sys-linux.c
+@@ -165,6 +165,10 @@
+
+ #endif /* INET6 */
+
++#ifndef SIOCKILLADDR
++#define SIOCKILLADDR 0x8939
++#endif
++
+ /* We can get an EIO error on an ioctl if the modem has hung up */
+ #define ok_error(num) ((num)==EIO)
+
+@@ -209,6 +213,7 @@
+ static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+ static char proxy_arp_dev[16]; /* Device for proxy arp entry */
+ static u_int32_t our_old_addr; /* for detecting address changes */
++static u_int32_t our_current_addr;
+ static int dynaddr_set; /* 1 if ip_dynaddr set */
+ static int looped; /* 1 if using loop */
+ static int link_mtu; /* mtu for the link (not bundle) */
+@@ -537,6 +542,27 @@
+ return -1;
+ }
+
++static void do_killaddr(u_int32_t oldaddr)
++{
++ struct ifreq ifr;
++
++ memset(&ifr,0,sizeof ifr);
++
++ SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
++ SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
++ SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
++
++ SIN_ADDR(ifr.ifr_addr) = oldaddr;
++
++ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
++
++ if(ioctl(sock_fd,SIOCKILLADDR,&ifr) < 0) {
++ if (!ok_error (errno))
++ error("ioctl(SIOCKILLADDR): %m(%d)", errno);
++ return;
++ }
++}
++
+ /********************************************************************
+ *
+ * tty_disestablish_ppp - Restore the serial port to normal operation.
+@@ -2385,21 +2411,29 @@
+ }
+ }
+
+- /* set ip_dynaddr in demand mode if address changes */
+- if (demand && tune_kernel && !dynaddr_set
+- && our_old_addr && our_old_addr != our_adr) {
++ if(persist && our_old_addr && our_old_addr != our_adr) {
++
++ if(killoldaddr)
++ do_killaddr(our_old_addr);
++
++
++ /* set ip_dynaddr in persist mode if address changes */
++ if (tune_kernel && !dynaddr_set) {
+ /* set ip_dynaddr if possible */
+ char *path;
+ int fd;
+
+ path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
+ if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
+- if (write(fd, "1", 1) != 1)
+- error("Couldn't enable dynamic IP addressing: %m");
+- close(fd);
++ if (write(fd, "1", 1) != 1)
++ error("Couldn't enable dynamic IP addressing: %m");
++ close(fd);
+ }
+ dynaddr_set = 1; /* only 1 attempt */
++ }
+ }
++
++ our_current_addr = our_adr;
+ our_old_addr = 0;
+
+ return 1;
+@@ -2455,7 +2489,8 @@
+ }
+
+ our_old_addr = our_adr;
+-
++ our_current_addr = 0;
++
+ return 1;
+ }
+
diff --git a/user/ppp/08_all_wait-children.patch b/user/ppp/08_all_wait-children.patch
new file mode 100644
index 000000000..708cf04d6
--- /dev/null
+++ b/user/ppp/08_all_wait-children.patch
@@ -0,0 +1,76 @@
+--- ppp-2.4.5/pppd/main.c
++++ ppp-2.4.5/pppd/main.c
+@@ -249,6 +249,7 @@
+ static void forget_child __P((int pid, int status));
+ static int reap_kids __P((void));
+ static void childwait_end __P((void *));
++static void wait_children __P((void));
+
+ #ifdef USE_TDB
+ static void update_db_entry __P((void));
+@@ -580,25 +581,11 @@
+ if (!persist)
+ break;
+ }
++
++ wait_children();
+ }
+
+- /* Wait for scripts to finish */
+- reap_kids();
+- if (n_children > 0) {
+- if (child_wait > 0)
+- TIMEOUT(childwait_end, NULL, child_wait);
+- if (debug) {
+- struct subprocess *chp;
+- dbglog("Waiting for %d child processes...", n_children);
+- for (chp = children; chp != NULL; chp = chp->next)
+- dbglog(" script %s, pid %d", chp->prog, chp->pid);
+- }
+- while (n_children > 0 && !childwait_done) {
+- handle_events();
+- if (kill_link && !childwait_done)
+- childwait_end(NULL);
+- }
+- }
++ wait_children();
+
+ die(status);
+ return 0;
+@@ -1794,6 +1781,36 @@
+ }
+
+ /*
++ * wait_children - wait for scripts to finish.
++ * if child_wait is 0, wait indefinitely.
++ * else, kill'em all at the end of timeout
++ */
++static void
++wait_children()
++{
++ /* Wait for scripts to finish */
++ reap_kids();
++ if (n_children > 0) {
++ childwait_done = 0;
++ if (child_wait > 0)
++ TIMEOUT(childwait_end, NULL, child_wait);
++ if (debug) {
++ struct subprocess *chp;
++ dbglog("Waiting for %d child processes...", n_children);
++ for (chp = children; chp != NULL; chp = chp->next)
++ dbglog(" script %s, pid %d", chp->prog, chp->pid);
++ }
++ while (n_children > 0 && !childwait_done) {
++ handle_events();
++ if (asked_to_quit && !childwait_done)
++ childwait_end(NULL);
++ }
++ if (child_wait > 0)
++ UNTIMEOUT(childwait_end, NULL);
++ }
++}
++
++/*
+ * childwait_end - we got fed up waiting for the child processes to
+ * exit, send them all a SIGTERM.
+ */
diff --git a/user/ppp/10_all_defaultgateway.patch b/user/ppp/10_all_defaultgateway.patch
new file mode 100644
index 000000000..1b7ae6396
--- /dev/null
+++ b/user/ppp/10_all_defaultgateway.patch
@@ -0,0 +1,90 @@
+This patch reverses revision 1.114 of the pppd/sys-linux.c file.
+The default gateway is needed by the openswan's %defaultroute.
+
+--- ppp-2.4.7/pppd/sys-linux.c
++++ ppp-2.4.7/pppd/sys-linux.c
+@@ -206,7 +206,7 @@
+
+ static int if_is_up; /* Interface has been marked up */
+ static int if6_is_up; /* Interface has been marked up for IPv6, to help differentiate */
+-static int have_default_route; /* Gateway for default route added */
++static u_int32_t default_route_gateway; /* Gateway for default route added */
+ static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+ static char proxy_arp_dev[16]; /* Device for proxy arp entry */
+ static u_int32_t our_old_addr; /* for detecting address changes */
+@@ -346,8 +346,8 @@
+ /*
+ * Delete any routes through the device.
+ */
+- if (have_default_route)
+- cifdefaultroute(0, 0, 0);
++ if (default_route_gateway != 0)
++ cifdefaultroute(0, 0, default_route_gateway);
+
+ if (has_proxy_arp)
+ cifproxyarp(0, proxy_arp_addr);
+@@ -1621,17 +1621,17 @@
+ struct rtentry rt;
+
+ if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
+- if (rt.rt_flags & RTF_GATEWAY)
+- error("not replacing existing default route via %I",
+- SIN_ADDR(rt.rt_gateway));
+- else
+- error("not replacing existing default route through %s",
+- rt.rt_dev);
++ u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
++
++ if (old_gateway != gateway)
++ error("not replacing existing default route to %s [%I]",
++ rt.rt_dev, old_gateway);
+ return 0;
+ }
+
+- memset (&rt, 0, sizeof (rt));
+- SET_SA_FAMILY (rt.rt_dst, AF_INET);
++ memset (&rt, '\0', sizeof (rt));
++ SET_SA_FAMILY (rt.rt_dst, AF_INET);
++ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+
+ rt.rt_dev = ifname;
+
+@@ -1640,14 +1640,16 @@
+ SIN_ADDR(rt.rt_genmask) = 0L;
+ }
+
+- rt.rt_flags = RTF_UP;
++ SIN_ADDR(rt.rt_gateway) = gateway;
++
++ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+ if ( ! ok_error ( errno ))
+ error("default route ioctl(SIOCADDRT): %m");
+ return 0;
+ }
+
+- have_default_route = 1;
++ default_route_gateway = gateway;
+ return 1;
+ }
+
+@@ -1660,7 +1662,7 @@
+ {
+ struct rtentry rt;
+
+- have_default_route = 0;
++ default_route_gateway = 0;
+
+ memset (&rt, '\0', sizeof (rt));
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+@@ -1673,7 +1675,9 @@
+ SIN_ADDR(rt.rt_genmask) = 0L;
+ }
+
+- rt.rt_flags = RTF_UP;
++ SIN_ADDR(rt.rt_gateway) = gateway;
++
++ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
+ if (still_ppp()) {
+ if ( ! ok_error ( errno ))
diff --git a/user/ppp/12_all_linkpidfile.patch b/user/ppp/12_all_linkpidfile.patch
new file mode 100644
index 000000000..9c5769c8f
--- /dev/null
+++ b/user/ppp/12_all_linkpidfile.patch
@@ -0,0 +1,93 @@
+--- ppp-2.4.5/pppd/auth.c
++++ ppp-2.4.5/pppd/auth.c
+@@ -637,7 +637,7 @@
+ * we delete its pid file.
+ */
+ if (!doing_multilink && !demand)
+- remove_pidfiles();
++ remove_pidfile(pidfilename);
+
+ /*
+ * If we may want to bring the link up again, transfer
+--- ppp-2.4.5/pppd/main.c
++++ ppp-2.4.5/pppd/main.c
+@@ -134,7 +134,7 @@
+
+ char *progname; /* Name of this program */
+ char hostname[MAXNAMELEN]; /* Our hostname */
+-static char pidfilename[MAXPATHLEN]; /* name of pid file */
++char pidfilename[MAXPATHLEN]; /* name of pid file */
+ static char linkpidfile[MAXPATHLEN]; /* name of linkname pid file */
+ char ppp_devnam[MAXPATHLEN]; /* name of PPP tty (maybe ttypx) */
+ uid_t uid; /* Our real user-id */
+@@ -245,6 +245,7 @@
+ static void toggle_debug __P((int));
+ static void open_ccp __P((int));
+ static void bad_signal __P((int));
++static void remove_pidfilenames __P((void));
+ static void holdoff_end __P((void *));
+ static void forget_child __P((int pid, int status));
+ static int reap_kids __P((void));
+@@ -835,16 +836,24 @@
+ }
+
+ /*
+- * remove_pidfile - remove our pid files
++ * remove_pidfile - remove one of the 2 pidfiles (pidfilename or linkpidfile)
+ */
+-void remove_pidfiles()
++void
++remove_pidfile(filename)
++ char* filename;
+ {
+- if (pidfilename[0] != 0 && unlink(pidfilename) < 0 && errno != ENOENT)
+- warn("unable to delete pid file %s: %m", pidfilename);
+- pidfilename[0] = 0;
+- if (linkpidfile[0] != 0 && unlink(linkpidfile) < 0 && errno != ENOENT)
+- warn("unable to delete pid file %s: %m", linkpidfile);
+- linkpidfile[0] = 0;
++ if (filename[0] != 0 && unlink(filename) < 0 && errno != ENOENT)
++ warn("unable to delete pid file %s: %m", filename);
++ filename[0] = 0;
++}
++
++/*
++ * remove_pidfiles - remove our pid files
++ */
++static void remove_pidfiles()
++{
++ remove_pidfile(pidfilename);
++ remove_pidfile(linkpidfile);
+ }
+
+ /*
+--- ppp-2.4.5/pppd/multilink.c
++++ ppp-2.4.5/pppd/multilink.c
+@@ -267,7 +267,7 @@
+ notice("Connection terminated.");
+ print_link_stats();
+ if (!demand) {
+- remove_pidfiles();
++ remove_pidfile(pidfilename);
+ script_unsetenv("IFNAME");
+ }
+
+--- ppp-2.4.5/pppd/pppd.h
++++ ppp-2.4.5/pppd/pppd.h
+@@ -214,6 +214,7 @@
+ extern int ifunit; /* Interface unit number */
+ extern char ifname[]; /* Interface name */
+ extern char hostname[]; /* Our hostname */
++extern char pidfilename[]; /* name of pid file */
+ extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
+ extern int devfd; /* fd of underlying device */
+ extern int fd_ppp; /* fd for talking PPP */
+@@ -497,7 +498,7 @@
+ int ppp_send_config __P((int, int, u_int32_t, int, int));
+ int ppp_recv_config __P((int, int, u_int32_t, int, int));
+ const char *protocol_name __P((int));
+-void remove_pidfiles __P((void));
++void remove_pidfile __P((char *));
+ void lock_db __P((void));
+ void unlock_db __P((void));
+
diff --git a/user/ppp/16_all_auth-fail.patch b/user/ppp/16_all_auth-fail.patch
new file mode 100644
index 000000000..8ae238035
--- /dev/null
+++ b/user/ppp/16_all_auth-fail.patch
@@ -0,0 +1,138 @@
+--- ppp-2.4.5/pppd/auth.c
++++ ppp-2.4.5/pppd/auth.c
+@@ -259,7 +259,7 @@
+ struct wordlist **, struct wordlist **,
+ char *, int));
+ static void free_wordlist __P((struct wordlist *));
+-static void auth_script __P((char *));
++static void auth_script __P((char *, int));
+ static void auth_script_done __P((void *));
+ static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *));
+ static int some_ip_ok __P((struct wordlist *));
+@@ -690,7 +690,7 @@
+ if (auth_script_state == s_up && auth_script_pid == 0) {
+ update_link_stats(unit);
+ auth_script_state = s_down;
+- auth_script(_PATH_AUTHDOWN);
++ auth_script(_PATH_AUTHDOWN, 0);
+ }
+ }
+ if (!doing_multilink) {
+@@ -822,7 +822,7 @@
+ auth_state = s_up;
+ if (auth_script_state == s_down && auth_script_pid == 0) {
+ auth_script_state = s_up;
+- auth_script(_PATH_AUTHUP);
++ auth_script(_PATH_AUTHUP, 0);
+ }
+ }
+
+@@ -923,6 +923,7 @@
+ * Authentication failure: take the link down
+ */
+ status = EXIT_PEER_AUTH_FAILED;
++ auth_script(_PATH_AUTHFAIL, 1);
+ lcp_close(unit, "Authentication failed");
+ }
+
+@@ -1001,6 +1002,7 @@
+ * authentication secrets.
+ */
+ status = EXIT_AUTH_TOPEER_FAILED;
++ auth_script(_PATH_AUTHFAIL, 1);
+ lcp_close(unit, "Failed to authenticate ourselves to peer");
+ }
+
+@@ -1233,6 +1235,8 @@
+ if (user[0] == 0 && !explicit_user)
+ strlcpy(user, our_name, sizeof(user));
+
++ script_setenv("LOCALNAME", user, 0);
++
+ /*
+ * If we have a default route, require the peer to authenticate
+ * unless the noauth option was given or the real user is root.
+@@ -2314,13 +2318,13 @@
+ case s_up:
+ if (auth_state == s_down) {
+ auth_script_state = s_down;
+- auth_script(_PATH_AUTHDOWN);
++ auth_script(_PATH_AUTHDOWN, 0);
+ }
+ break;
+ case s_down:
+ if (auth_state == s_up) {
+ auth_script_state = s_up;
+- auth_script(_PATH_AUTHUP);
++ auth_script(_PATH_AUTHUP, 0);
+ }
+ break;
+ }
+@@ -2331,8 +2335,9 @@
+ * interface-name peer-name real-user tty speed
+ */
+ static void
+-auth_script(script)
++auth_script(script, wait)
+ char *script;
++ int wait;
+ {
+ char strspeed[32];
+ struct passwd *pw;
+@@ -2356,5 +2361,8 @@
+ argv[5] = strspeed;
+ argv[6] = NULL;
+
+- auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0);
++ if (wait)
++ run_program(script, argv, 0, NULL, NULL, 1);
++ else
++ auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0);
+ }
+--- ppp-2.4.5/pppd/pathnames.h
++++ ppp-2.4.5/pppd/pathnames.h
+@@ -27,6 +27,7 @@
+ #define _PATH_IPPREUP _ROOT_PATH "/etc/ppp/ip-pre-up"
+ #define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up"
+ #define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down"
++#define _PATH_AUTHFAIL _ROOT_PATH "/etc/ppp/auth-fail"
+ #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
+ #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
+ #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
+--- ppp-2.4.5/pppd/pppd.8
++++ ppp-2.4.5/pppd/pppd.8
+@@ -1553,8 +1553,8 @@
+ Pppd invokes scripts at various stages in its processing which can be
+ used to perform site-specific ancillary processing. These scripts are
+ usually shell scripts, but could be executable code files instead.
+-Pppd does not wait for the scripts to finish (except for the ip-pre-up
+-script). The scripts are
++Pppd does not wait for the scripts to finish (except for the ip-pre-up,
++and auth-fail scripts). The scripts are
+ executed as root (with the real and effective user-id set to 0), so
+ that they can do things such as update routing tables or run
+ privileged daemons. Be careful that the contents of these scripts do
+@@ -1582,6 +1582,11 @@
+ The authenticated name of the peer. This is only set if the peer
+ authenticates itself.
+ .TP
++.B LOCALNAME
++The username passed to the user option of the pppd daemon. This is
++handy to identify which account was used for authentication purposes
++when multiple accounts are available.
++.TP
+ .B SPEED
+ The baud rate of the tty device.
+ .TP
+@@ -1634,6 +1639,11 @@
+ /etc/ppp/auth\-up was previously executed. It is executed in the same
+ manner with the same parameters as /etc/ppp/auth\-up.
+ .TP
++.B /etc/ppp/auth\-fail
++A program or script which is executed should authentication fail. pppd
++waits for this script to finish. It is executed in the same manner, with
++the same parameters as /etc/ppp/auth\-up.
++.TP
+ .B /etc/ppp/ip\-pre\-up
+ A program or script which is executed just before the ppp network
+ interface is brought up. It is executed with the same parameters as
diff --git a/user/ppp/18_all_defaultmetric.patch b/user/ppp/18_all_defaultmetric.patch
new file mode 100644
index 000000000..fba787005
--- /dev/null
+++ b/user/ppp/18_all_defaultmetric.patch
@@ -0,0 +1,104 @@
+--- ppp-2.4.5/pppd/options.c
++++ ppp-2.4.5/pppd/options.c
+@@ -94,6 +94,7 @@
+ int kdebugflag = 0; /* Tell kernel to print debug messages */
+ int default_device = 1; /* Using /dev/tty or equivalent */
+ char devnam[MAXPATHLEN]; /* Device name */
++int defaultmetric = 0; /* Metric of the default route */
+ bool nodetach = 0; /* Don't detach from controlling tty */
+ bool updetach = 0; /* Detach once link is up */
+ int maxconnect = 0; /* Maximum connect time */
+@@ -289,6 +290,10 @@
+ "Number of seconds to wait for child processes at exit",
+ OPT_PRIO },
+
++ { "defaultmetric", o_int, &defaultmetric,
++ "The metric of the default route",
++ OPT_LIMITS, 0, 32766 },
++
+ #ifdef HAVE_MULTILINK
+ { "multilink", o_bool, &multilink,
+ "Enable multilink operation", OPT_PRIO | 1 },
+--- ppp-2.4.5/pppd/pppd.8
++++ ppp-2.4.5/pppd/pppd.8
+@@ -121,6 +121,9 @@
+ This entry is removed when the PPP connection is broken. This option
+ is privileged if the \fInodefaultroute\fR option has been specified.
+ .TP
++.B defaultmetric \fIn
++The metric of the default route configured by pppd; default is 0.
++.TP
+ .B disconnect \fIscript
+ Execute the command specified by \fIscript\fR, by passing it to a
+ shell, after
+--- ppp-2.4.5/pppd/pppd.h
++++ ppp-2.4.5/pppd/pppd.h
+@@ -276,6 +276,7 @@
+ extern int kdebugflag; /* Tell kernel to print debug messages */
+ extern int default_device; /* Using /dev/tty or equivalent */
+ extern char devnam[MAXPATHLEN]; /* Device name */
++extern int defaultmetric; /* Metric of the default route */
+ extern int crtscts; /* Use hardware flow control */
+ extern bool modem; /* Use modem control lines */
+ extern int inspeed; /* Input/Output speed requested */
+--- ppp-2.4.5/pppd/sys-linux.c
++++ ppp-2.4.5/pppd/sys-linux.c
+@@ -1465,7 +1465,7 @@
+ FILE *route_fd = (FILE *) 0;
+ static char route_buffer[512];
+ static int route_dev_col, route_dest_col, route_gw_col;
+-static int route_flags_col, route_mask_col;
++static int route_flags_col, route_mask_col, route_metric_col;
+ static int route_num_cols;
+
+ static int open_route_table (void);
+@@ -1508,6 +1508,7 @@
+ route_dest_col = 1;
+ route_gw_col = 2;
+ route_flags_col = 3;
++ route_metric_col = 6;
+ route_mask_col = 7;
+ route_num_cols = 8;
+
+@@ -1527,6 +1528,8 @@
+ route_gw_col = col;
+ else if (strcasecmp(q, "flags") == 0)
+ route_flags_col = col;
++ else if (strcasecmp(q, "metric") == 0)
++ route_metric_col = col;
+ else if (strcasecmp(q, "mask") == 0)
+ route_mask_col = col;
+ else
+@@ -1569,6 +1572,7 @@
+
+ rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
+ rt->rt_dev = cols[route_dev_col];
++ rt->rt_metric = (short) strtoul(cols[route_metric_col], NULL, 16);
+
+ return 1;
+ }
+@@ -1591,6 +1595,8 @@
+
+ if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
+ continue;
++ if (rt->rt_metric != defaultmetric) /* consider only routes with the same metric */
++ continue;
+ if (SIN_ADDR(rt->rt_dst) == 0L) {
+ result = 1;
+ break;
+@@ -1661,6 +1667,7 @@
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
++ rt.rt_metric = defaultmetric + 1; /* +1 for binary compatibility */
+ if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+ if ( ! ok_error ( errno ))
+ error("default route ioctl(SIOCADDRT): %m");
+@@ -1696,6 +1703,7 @@
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
++ rt.rt_metric = defaultmetric + 1; /* +1 for binary compatibility */
+ if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
+ if (still_ppp()) {
+ if ( ! ok_error ( errno ))
diff --git a/user/ppp/19_all_radius_pid_overflow.patch b/user/ppp/19_all_radius_pid_overflow.patch
new file mode 100644
index 000000000..b5078bdb9
--- /dev/null
+++ b/user/ppp/19_all_radius_pid_overflow.patch
@@ -0,0 +1,14 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782450
+https://bugs.gentoo.org/546554
+
+--- ppp-2.4.7/pppd/plugins/radius/util.c
++++ ppp-2.4.7/pppd/plugins/radius/util.c
+@@ -77,7 +77,7 @@
+ static unsigned short int cnt = 0;
+ sprintf (buf, "%08lX%04X%02hX",
+ (unsigned long int) time (NULL),
+- (unsigned int) getpid (),
++ (unsigned int) getpid () % 65535,
+ cnt & 0xFF);
+ cnt++;
+ return buf;
diff --git a/user/ppp/20_all_dev-ppp.patch b/user/ppp/20_all_dev-ppp.patch
new file mode 100644
index 000000000..eff3e37f0
--- /dev/null
+++ b/user/ppp/20_all_dev-ppp.patch
@@ -0,0 +1,20 @@
+--- ppp-2.4.6/pppd/sys-linux.c
++++ ppp-2.4.6/pppd/sys-linux.c
+@@ -2031,6 +2031,17 @@
+ kernel_version = KVERSION(osmaj, osmin, ospatch);
+
+ fd = open("/dev/ppp", O_RDWR);
++ if (fd < 0) {
++ /* try making it and see if that helps. */
++ if (errno == ENOENT && mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP,
++ makedev(108, 0)) >= 0) {
++ fd = open("/dev/ppp", O_RDWR);
++ if (fd >= 0)
++ info("Created /dev/ppp device node");
++ else
++ unlink("/dev/ppp"); /* didn't work, undo the mknod */
++ }
++ }
+ if (fd >= 0) {
+ new_style_driver = 1;
+
diff --git a/user/ppp/21_all_custom_iface_names.patch b/user/ppp/21_all_custom_iface_names.patch
new file mode 100644
index 000000000..5d3f7b94b
--- /dev/null
+++ b/user/ppp/21_all_custom_iface_names.patch
@@ -0,0 +1,144 @@
+pppd: Support arbitrary interface names
+
+This patch implements a new string option "ifname" which allows to specify
+fully custom PPP interface names on Linux. It does so by renaming the
+allocated pppX device immediately after it has been created to the requested
+interface name.
+
+Originally written by Suse. Used by openwrt, debian, ubuntu.
+
+Reference:
+
+https://dev.openwrt.org/browser/trunk/package/network/services/ppp/patches/320-custom_iface_names.patch
+
+diff -purN ppp-2.4.7.orig/pppd/main.c ppp-2.4.7/pppd/main.c
+--- ppp-2.4.7.orig/pppd/main.c 2016-08-25 15:52:52.032202044 +0200
++++ ppp-2.4.7/pppd/main.c 2016-08-25 16:22:25.740299940 +0200
+@@ -729,8 +729,11 @@ void
+ set_ifunit(iskey)
+ int iskey;
+ {
+- info("Using interface %s%d", PPP_DRV_NAME, ifunit);
+- slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
++ if (use_ifname[0] == 0)
++ slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
++ else
++ slprintf(ifname, sizeof(ifname), "%s", use_ifname);
++ info("Using interface %s", ifname);
+ script_setenv("IFNAME", ifname, iskey);
+ if (iskey) {
+ create_pidfile(getpid()); /* write pid to file */
+diff -purN ppp-2.4.7.orig/pppd/options.c ppp-2.4.7/pppd/options.c
+--- ppp-2.4.7.orig/pppd/options.c 2016-08-25 15:52:52.191194523 +0200
++++ ppp-2.4.7/pppd/options.c 2016-08-25 16:04:23.335501924 +0200
+@@ -115,6 +115,7 @@ int log_to_fd = 1; /* send log messages
+ bool log_default = 1; /* log_to_fd is default (stdout) */
+ int maxfail = 10; /* max # of unsuccessful connection attempts */
+ char linkname[MAXPATHLEN]; /* logical name for link */
++char use_ifname[IFNAMSIZ]; /* physical name for PPP link */
+ bool tune_kernel; /* may alter kernel settings */
+ int connect_delay = 1000; /* wait this many ms after connect script */
+ int req_unit = -1; /* requested interface unit */
+@@ -274,6 +275,9 @@ option_t general_options[] = {
+ { "linkname", o_string, linkname,
+ "Set logical name for link",
+ OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXPATHLEN },
++ { "ifname", o_string, use_ifname,
++ "Set physical name for PPP interface",
++ OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, IFNAMSIZ },
+
+ { "maxfail", o_int, &maxfail,
+ "Maximum number of unsuccessful connection attempts to allow",
+diff -purN ppp-2.4.7.orig/pppd/pppd.h ppp-2.4.7/pppd/pppd.h
+--- ppp-2.4.7.orig/pppd/pppd.h 2016-08-25 15:52:52.829164346 +0200
++++ ppp-2.4.7/pppd/pppd.h 2016-08-25 16:07:12.024522417 +0200
+@@ -71,6 +71,10 @@
+ #include "eui64.h"
+ #endif
+
++#ifndef IFNAMSIZ
++#define IFNAMSIZ 16
++#endif
++
+ /*
+ * Limits.
+ */
+@@ -319,6 +323,7 @@ extern char *record_file; /* File to rec
+ extern bool sync_serial; /* Device is synchronous serial device */
+ extern int maxfail; /* Max # of unsuccessful connection attempts */
+ extern char linkname[MAXPATHLEN]; /* logical name for link */
++extern char use_ifname[IFNAMSIZ]; /* physical name for PPP interface */
+ extern bool tune_kernel; /* May alter kernel settings as necessary */
+ extern int connect_delay; /* Time to delay after connect script */
+ extern int max_data_rate; /* max bytes/sec through charshunt */
+diff -purN ppp-2.4.7.orig/pppd/sys-linux.c ppp-2.4.7/pppd/sys-linux.c
+--- ppp-2.4.7.orig/pppd/sys-linux.c 2016-08-25 15:52:52.268190881 +0200
++++ ppp-2.4.7/pppd/sys-linux.c 2016-08-25 16:12:13.905242396 +0200
+@@ -172,6 +172,10 @@ struct in6_ifreq {
+ /* We can get an EIO error on an ioctl if the modem has hung up */
+ #define ok_error(num) ((num)==EIO)
+
++#if !defined(PPP_DRV_NAME)
++#define PPP_DRV_NAME "ppp"
++#endif /* !defined(PPP_DRV_NAME) */
++
+ static int tty_disc = N_TTY; /* The TTY discipline */
+ static int ppp_disc = N_PPP; /* The PPP discpline */
+ static int initfdflags = -1; /* Initial file descriptor flags for fd */
+@@ -644,7 +648,8 @@ void generic_disestablish_ppp(int dev_fd
+ */
+ static int make_ppp_unit()
+ {
+- int x, flags;
++ struct ifreq ifr;
++ int x, flags, s;
+
+ if (ppp_dev_fd >= 0) {
+ dbglog("in make_ppp_unit, already had /dev/ppp open?");
+@@ -667,6 +672,30 @@ static int make_ppp_unit()
+ }
+ if (x < 0)
+ error("Couldn't create new ppp unit: %m");
++
++ if (use_ifname[0] != 0) {
++ s = socket(PF_INET, SOCK_DGRAM, 0);
++ if (s < 0)
++ s = socket(PF_PACKET, SOCK_DGRAM, 0);
++ if (s < 0)
++ s = socket(PF_INET6, SOCK_DGRAM, 0);
++ if (s < 0)
++ s = socket(PF_UNIX, SOCK_DGRAM, 0);
++ if (s >= 0) {
++ slprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s%d", PPP_DRV_NAME, ifunit);
++ slprintf(ifr.ifr_newname, sizeof(ifr.ifr_newname), "%s", use_ifname);
++ x = ioctl(s, SIOCSIFNAME, &ifr);
++ close(s);
++ } else {
++ x = s;
++ }
++ if (x < 0) {
++ error("Couldn't rename %s to %s", ifr.ifr_name, ifr.ifr_newname);
++ close(ppp_dev_fd);
++ ppp_dev_fd = -1;
++ }
++ }
++
+ return x;
+ }
+
+diff -purN ppp-2.4.7.orig/pppstats/pppstats.c ppp-2.4.7/pppstats/pppstats.c
+--- ppp-2.4.7.orig/pppstats/pppstats.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7/pppstats/pppstats.c 2016-08-25 16:13:52.623572634 +0200
+@@ -506,10 +506,12 @@ main(argc, argv)
+ if (argc > 0)
+ interface = argv[0];
+
++#if 0
+ if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
+ fprintf(stderr, "%s: invalid interface '%s' specified\n",
+ progname, interface);
+ }
++#endif
+
+ #ifndef STREAMS
+ {
diff --git a/user/ppp/24_all_passwordfd-read-early.patch b/user/ppp/24_all_passwordfd-read-early.patch
new file mode 100644
index 000000000..f549540dc
--- /dev/null
+++ b/user/ppp/24_all_passwordfd-read-early.patch
@@ -0,0 +1,84 @@
+--- ppp-2.4.5/pppd/plugins/passwordfd.c
++++ ppp-2.4.5/pppd/plugins/passwordfd.c
+@@ -16,11 +16,11 @@
+
+ char pppd_version[] = VERSION;
+
+-static int passwdfd = -1;
+ static char save_passwd[MAXSECRETLEN];
+
++static int readpassword __P((char **));
+ static option_t options[] = {
+- { "passwordfd", o_int, &passwdfd,
++ { "passwordfd", o_special, (void *)readpassword,
+ "Receive password on this file descriptor" },
+ { NULL }
+ };
+@@ -30,43 +30,39 @@
+ return 1;
+ }
+
+-static int pwfd_passwd (char *user, char *passwd)
++static int readpassword(char **argv)
+ {
+- int readgood, red;
+-
+- if (passwdfd == -1)
+- return -1;
+-
+- if (passwd == NULL)
+- return 1;
+-
+- if (passwdfd == -2) {
+- strcpy (passwd, save_passwd);
+- return 1;
++ char *arg = *argv;
++ int passwdfd = -1;
++ int chunk, len;
++
++ if (sscanf(arg, "%d", &passwdfd) != 1 || passwdfd < 0)
++ {
++ error ("\"%s\" is not a valid file descriptor number", arg);
++ return 0;
+ }
+
+- readgood = 0;
++ len = 0;
+ do {
+- red = read (passwdfd, passwd + readgood, MAXSECRETLEN - 1 - readgood);
+- if (red == 0)
+- break;
+- if (red < 0) {
+- error ("Can't read secret from fd\n");
+- readgood = -1;
++ chunk = read (passwdfd, save_passwd + len, MAXSECRETLEN - 1 - len);
++ if (chunk == 0)
+ break;
++ if (chunk < 0) {
++ error ("Can't read secret from fd %d", passwdfd);
++ return 0;
+ }
+- readgood += red;
+- } while (readgood < MAXSECRETLEN - 1);
+-
++ len += chunk;
++ } while (len < MAXSECRETLEN - 1);
++ save_passwd[len] = 0;
+ close (passwdfd);
+
+- if (readgood < 0)
+- return 0;
+-
+- passwd[readgood] = 0;
+- strcpy (save_passwd, passwd);
+- passwdfd = -2;
++ return 1;
++}
+
++static int pwfd_passwd (char *user, char *passwd)
++{
++ if (passwd != NULL)
++ strcpy (passwd, save_passwd);
+ return 1;
+ }
+
diff --git a/user/ppp/26_all_pppd-usepeerwins.patch b/user/ppp/26_all_pppd-usepeerwins.patch
new file mode 100644
index 000000000..d66fbe0b1
--- /dev/null
+++ b/user/ppp/26_all_pppd-usepeerwins.patch
@@ -0,0 +1,256 @@
+--- ppp-2.4.6/pppd/ipcp.c
++++ ppp-2.4.6/pppd/ipcp.c
+@@ -91,6 +91,7 @@
+ static int default_route_set[NUM_PPP]; /* Have set up a default route */
+ static int proxy_arp_set[NUM_PPP]; /* Have created proxy arp entry */
+ static bool usepeerdns; /* Ask peer for DNS addrs */
++static bool usepeerwins; /* Ask peer for WINS addrs */
+ static int ipcp_is_up; /* have called np_up() */
+ static int ipcp_is_open; /* haven't called np_finished() */
+ static bool ask_for_local; /* request our address from peer */
+@@ -210,6 +211,9 @@
+ { "usepeerdns", o_bool, &usepeerdns,
+ "Ask peer for DNS address(es)", 1 },
+
++ { "usepeerwins", o_bool, &usepeerwins,
++ "Ask peer for WINS address(es)", 1 },
++
+ { "netmask", o_special, (void *)setnetmask,
+ "set netmask", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, netmask_str },
+
+@@ -703,6 +707,8 @@
+ wo->accept_remote = 1;
+ wo->req_dns1 = usepeerdns; /* Request DNS addresses from the peer */
+ wo->req_dns2 = usepeerdns;
++ wo->req_wins1 = usepeerwins; /* Request WINS addresses from the peer */
++ wo->req_wins2 = usepeerwins;
+ *go = *wo;
+ if (!ask_for_local)
+ go->ouraddr = 0;
+@@ -755,8 +761,8 @@
+ LENCIADDR(go->neg_addr) +
+ LENCIDNS(go->req_dns1) +
+ LENCIDNS(go->req_dns2) +
+- LENCIWINS(go->winsaddr[0]) +
+- LENCIWINS(go->winsaddr[1])) ;
++ LENCIWINS(go->req_wins1) +
++ LENCIWINS(go->req_wins2)) ;
+ }
+
+
+@@ -830,8 +836,8 @@
+ neg = 0; \
+ }
+
+-#define ADDCIWINS(opt, addr) \
+- if (addr) { \
++#define ADDCIWINS(opt, neg, addr) \
++ if (neg) { \
+ if (len >= CILEN_ADDR) { \
+ u_int32_t l; \
+ PUTCHAR(opt, ucp); \
+@@ -840,7 +846,7 @@
+ PUTLONG(l, ucp); \
+ len -= CILEN_ADDR; \
+ } else \
+- addr = 0; \
++ neg = 0; \
+ }
+
+ ADDCIADDRS(CI_ADDRS, !go->neg_addr && go->old_addrs, go->ouraddr,
+@@ -855,9 +861,9 @@
+
+ ADDCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
+
+- ADDCIWINS(CI_MS_WINS1, go->winsaddr[0]);
++ ADDCIWINS(CI_MS_WINS1, go->req_wins1, go->winsaddr[0]);
+
+- ADDCIWINS(CI_MS_WINS2, go->winsaddr[1]);
++ ADDCIWINS(CI_MS_WINS2, go->req_wins2, go->winsaddr[1]);
+
+ *lenp -= len;
+ }
+@@ -962,8 +968,8 @@
+ goto bad; \
+ }
+
+-#define ACKCIWINS(opt, addr) \
+- if (addr) { \
++#define ACKCIWINS(opt, neg, addr) \
++ if (neg) { \
+ u_int32_t l; \
+ if ((len -= CILEN_ADDR) < 0) \
+ goto bad; \
+@@ -989,9 +995,9 @@
+
+ ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
+
+- ACKCIWINS(CI_MS_WINS1, go->winsaddr[0]);
++ ACKCIWINS(CI_MS_WINS1, go->req_wins1, go->winsaddr[0]);
+
+- ACKCIWINS(CI_MS_WINS2, go->winsaddr[1]);
++ ACKCIWINS(CI_MS_WINS2, go->req_wins2, go->winsaddr[1]);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+@@ -1026,7 +1032,7 @@
+ u_char cimaxslotindex, cicflag;
+ u_char citype, cilen, *next;
+ u_short cishort;
+- u_int32_t ciaddr1, ciaddr2, l, cidnsaddr;
++ u_int32_t ciaddr1, ciaddr2, l, cidnsaddr, ciwinsaddr;
+ ipcp_options no; /* options we've seen Naks for */
+ ipcp_options try; /* options to request next time */
+
+@@ -1091,6 +1097,19 @@
+ code \
+ }
+
++#define NAKCIWINS(opt, neg, code) \
++ if (go->neg && \
++ ((cilen = p[1]) == CILEN_ADDR) && \
++ len >= cilen && \
++ p[0] == opt) { \
++ len -= cilen; \
++ INCPTR(2, p); \
++ GETLONG(l, p); \
++ ciwinsaddr = htonl(l); \
++ no.neg = 1; \
++ code \
++ }
++
+ /*
+ * Accept the peer's idea of {our,his} address, if different
+ * from our idea, only if the accept_{local,remote} flag is set.
+@@ -1167,6 +1186,22 @@
+ }
+ );
+
++ NAKCIWINS(CI_MS_WINS1, req_wins1,
++ if (treat_as_reject) {
++ try.req_wins1 = 0;
++ } else {
++ try.winsaddr[0] = ciwinsaddr;
++ }
++ );
++
++ NAKCIWINS(CI_MS_WINS2, req_wins2,
++ if (treat_as_reject) {
++ try.req_wins2 = 0;
++ } else {
++ try.winsaddr[1] = ciwinsaddr;
++ }
++ );
++
+ /*
+ * There may be remaining CIs, if the peer is requesting negotiation
+ * on an option that we didn't include in our request packet.
+@@ -1259,7 +1294,6 @@
+ return 0;
+ }
+
+-
+ /*
+ * ipcp_rejci - Reject some of our CIs.
+ * Callback from fsm_rconfnakrej.
+@@ -1357,8 +1391,8 @@
+ try.neg = 0; \
+ }
+
+-#define REJCIWINS(opt, addr) \
+- if (addr && \
++#define REJCIWINS(opt, neg, addr) \
++ if (go->neg && \
+ ((cilen = p[1]) == CILEN_ADDR) && \
+ len >= cilen && \
+ p[0] == opt) { \
+@@ -1370,7 +1404,7 @@
+ /* Check rejected value. */ \
+ if (cilong != addr) \
+ goto bad; \
+- try.winsaddr[opt == CI_MS_WINS2] = 0; \
++ try.neg = 0; \
+ }
+
+ REJCIADDRS(CI_ADDRS, !go->neg_addr && go->old_addrs,
+@@ -1385,9 +1419,9 @@
+
+ REJCIDNS(CI_MS_DNS2, req_dns2, go->dnsaddr[1]);
+
+- REJCIWINS(CI_MS_WINS1, go->winsaddr[0]);
++ REJCIWINS(CI_MS_WINS1, req_wins1, go->winsaddr[0]);
+
+- REJCIWINS(CI_MS_WINS2, go->winsaddr[1]);
++ REJCIWINS(CI_MS_WINS2, req_wins2, go->winsaddr[1]);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+@@ -1581,7 +1615,7 @@
+ /* Microsoft primary or secondary WINS request */
+ d = citype == CI_MS_WINS2;
+
+- /* If we do not have a DNS address then we cannot send it */
++ /* If we do not have a WINS address then we cannot send it */
+ if (ao->winsaddr[d] == 0 ||
+ cilen != CILEN_ADDR) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+@@ -1830,6 +1864,13 @@
+ create_resolv(go->dnsaddr[0], go->dnsaddr[1]);
+ }
+
++ if (go->winsaddr[0])
++ script_setenv("WINS1", ip_ntoa(go->winsaddr[0]), 0);
++ if (go->winsaddr[1])
++ script_setenv("WINS2", ip_ntoa(go->winsaddr[1]), 0);
++ if (usepeerwins && (go->winsaddr[0] || go->winsaddr[1]))
++ script_setenv("USEPEERWINS", "1", 0);
++
+ /*
+ * Check that the peer is allowed to use the IP address it wants.
+ */
+--- ppp-2.4.6/pppd/ipcp.h
++++ ppp-2.4.6/pppd/ipcp.h
+@@ -77,6 +77,8 @@
+ bool accept_remote; /* accept peer's value for hisaddr */
+ bool req_dns1; /* Ask peer to send primary DNS address? */
+ bool req_dns2; /* Ask peer to send secondary DNS address? */
++ bool req_wins1; /* Ask peer to send primary WINS address? */
++ bool req_wins2; /* Ask peer to send secondary WINS address? */
+ int vj_protocol; /* protocol value to use in VJ option */
+ int maxslotindex; /* values for RFC1332 VJ compression neg. */
+ bool cflag;
+--- ppp-2.4.6/pppd/pppd.8
++++ ppp-2.4.6/pppd/pppd.8
+@@ -1102,6 +1102,16 @@
+ /etc/ppp/resolv.conf file containing one or two nameserver lines with
+ the address(es) supplied by the peer.
+ .TP
++.B usepeerwins
++Ask the peer for up to 2 WINS server addresses. The addresses supplied
++by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
++environment variables WINS1 and WINS2, and the environment variable
++USEPEERWINS will be set to 1.
++.LP
++Please note that some modems (like the Huawei E220) requires this option in
++order to avoid a race condition that results in the incorrect DNS servers
++being assigned.
++.TP
+ .B user \fIname
+ Sets the name used for authenticating the local system to the peer to
+ \fIname\fR.
+@@ -1650,6 +1660,15 @@
+ If the peer supplies DNS server addresses, this variable is set to the
+ second DNS server address supplied (whether or not the usepeerdns
+ option was given).
++.TP
++.B WINS1
++If the peer supplies WINS server addresses, this variable is set to the
++first WINS server address supplied.
++.TP
++.B WINS2
++If the peer supplies WINS server addresses, this variable is set to the
++second WINS server address supplied.
++.P
+ .P
+ Pppd invokes the following scripts, if they exist. It is not an error
+ if they don't exist.
diff --git a/user/ppp/28_all_connect-errors.patch b/user/ppp/28_all_connect-errors.patch
new file mode 100644
index 000000000..b87acef5d
--- /dev/null
+++ b/user/ppp/28_all_connect-errors.patch
@@ -0,0 +1,11 @@
+--- ppp-2.4.5/pppd/pathnames.h
++++ ppp-2.4.5/pppd/pathnames.h
+@@ -29,7 +29,7 @@
+ #define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down"
+ #define _PATH_AUTHFAIL _ROOT_PATH "/etc/ppp/auth-fail"
+ #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
+-#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
++#define _PATH_CONNERRS _ROOT_PATH "/var/log/ppp-connect-errors"
+ #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
+ #define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf"
+
diff --git a/user/ppp/30_all_Makefile.patch b/user/ppp/30_all_Makefile.patch
new file mode 100644
index 000000000..165fc7b22
--- /dev/null
+++ b/user/ppp/30_all_Makefile.patch
@@ -0,0 +1,37 @@
+Ensure that the build process aborts if there is an error in one of
+the plugin subdirectories.
+
+2010-09-01 Martin von Gagern
+
+References:
+http://bugs.gentoo.org/334727
+
+Index: ppp-2.4.5/pppd/plugins/Makefile.linux
+===================================================================
+--- ppp-2.4.5/pppd/plugins/Makefile.linux
++++ ppp-2.4.5/pppd/plugins/Makefile.linux
+@@ -20,7 +20,7 @@ include .depend
+ endif
+
+ all: $(PLUGINS)
+- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done
++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all || exit $?; done
+
+ %.so: %.c
+ $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^
+@@ -30,12 +30,12 @@ VERSION = $(shell awk -F '"' '/VERSION/
+ install: $(PLUGINS)
+ $(INSTALL) -d $(LIBDIR)
+ $(INSTALL) $? $(LIBDIR)
+- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d install; done
++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d install || exit $?; done
+
+ clean:
+ rm -f *.o *.so *.a
+- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d clean; done
++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d clean || exit $?; done
+
+ depend:
+ $(CPP) -M $(CFLAGS) *.c >.depend
+- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend; done
++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend || exit $?; done
diff --git a/user/ppp/32_all_pado-timeout.patch b/user/ppp/32_all_pado-timeout.patch
new file mode 100644
index 000000000..72f1adbb1
--- /dev/null
+++ b/user/ppp/32_all_pado-timeout.patch
@@ -0,0 +1,254 @@
+--- ppp-2.4.6/pppd/plugins/rp-pppoe/discovery.c
++++ ppp-2.4.6/pppd/plugins/rp-pppoe/discovery.c
+@@ -39,6 +39,7 @@
+ #endif
+
+ #include <signal.h>
++#include <time.h>
+
+ /* Calculate time remaining until *exp, return 0 if now >= *exp */
+ static int time_left(struct timeval *diff, struct timeval *exp)
+@@ -251,6 +252,80 @@
+ }
+
+ /***********************************************************************
++*%FUNCTION: recvPacketForMe
++*%ARGUMENTS:
++* packet -- output parameter
++* len -- output parameter length
++* conn -- connection
++* start -- operation startup timestamp
++* timeout -- how long to wait (in seconds)
++*%RETURNS:
++* -1: error
++* 0: timed out
++* 1: packet received
++*%DESCRIPTION:
++* receive and filter junk packets
++***********************************************************************/
++
++static int
++recvPacketForMe(PPPoEPacket *packet, int *len, PPPoEConnection *conn, time_t start, int timeout)
++{
++ fd_set readable;
++ int r;
++ struct timeval tv;
++ time_t now;
++ int time_remain;
++
++ do {
++ time(&now);
++ time_remain = timeout - (int)difftime(now, start);
++ if (time_remain <= 0) return 0; /* Timed out */
++
++ if (BPF_BUFFER_IS_EMPTY) {
++ tv.tv_sec = time_remain;
++ tv.tv_usec = 0;
++
++ FD_ZERO(&readable);
++ FD_SET(conn->discoverySocket, &readable);
++
++ r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
++ if (r < 0)
++ {
++ if (errno == EINTR)
++ {
++ continue; /* interrupted, so retry */
++ }else
++ {
++ error("pppoe: recvPacketForMe: select: %m");
++ return -1;
++ }
++ }
++
++ if (r == 0) return 0; /* Timed out */
++ }
++
++ /* Get the packet */
++ receivePacket(conn->discoverySocket, packet, len);
++
++ /* Check length */
++ if (ntohs(packet->length) + HDR_SIZE > *len) {
++ error("Bogus PPPoE length field (%u)",
++ (unsigned int) ntohs(packet->length));
++ continue;
++ }
++
++#ifdef USE_BPF
++ /* If it's not a Discovery packet, loop again */
++ if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
++#endif
++ /* If it's not for us, loop again */
++ }while ( ! packetIsForMe(conn, packet));
++
++ return 1;
++}
++
++
++/***********************************************************************
+ *%FUNCTION: sendPADI
+ *%ARGUMENTS:
+ * conn -- PPPoEConnection structure
+@@ -344,13 +419,12 @@
+ void
+ waitForPADO(PPPoEConnection *conn, int timeout)
+ {
+- fd_set readable;
+ int r;
+- struct timeval tv;
+ struct timeval expire_at;
+
+ PPPoEPacket packet;
+ int len;
++ time_t start;
+
+ struct PacketCriteria pc;
+ pc.conn = conn;
+@@ -367,43 +441,10 @@
+ }
+ expire_at.tv_sec += timeout;
+
++ time(&start);
+ do {
+- if (BPF_BUFFER_IS_EMPTY) {
+- if (!time_left(&tv, &expire_at))
+- return; /* Timed out */
+-
+- FD_ZERO(&readable);
+- FD_SET(conn->discoverySocket, &readable);
+-
+- while(1) {
+- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
+- if (r >= 0 || errno != EINTR) break;
+- }
+- if (r < 0) {
+- error("select (waitForPADO): %m");
+- return;
+- }
+- if (r == 0)
+- return; /* Timed out */
+- }
+-
+- /* Get the packet */
+- receivePacket(conn->discoverySocket, &packet, &len);
+-
+- /* Check length */
+- if (ntohs(packet.length) + HDR_SIZE > len) {
+- error("Bogus PPPoE length field (%u)",
+- (unsigned int) ntohs(packet.length));
+- continue;
+- }
+-
+-#ifdef USE_BPF
+- /* If it's not a Discovery packet, loop again */
+- if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
+-#endif
+-
+- /* If it's not for us, loop again */
+- if (!packetIsForMe(conn, &packet)) continue;
++ r = recvPacketForMe(&packet, &len, conn, start, timeout);
++ if (r<=0) return; /* Timed out or error */
+
+ if (packet.code == CODE_PADO) {
+ if (NOT_UNICAST(packet.ethHdr.h_source)) {
+@@ -537,13 +578,12 @@
+ static void
+ waitForPADS(PPPoEConnection *conn, int timeout)
+ {
+- fd_set readable;
+ int r;
+- struct timeval tv;
+ struct timeval expire_at;
+
+ PPPoEPacket packet;
+ int len;
++ time_t start;
+
+ if (gettimeofday(&expire_at, NULL) < 0) {
+ error("gettimeofday (waitForPADS): %m");
+@@ -551,48 +591,15 @@
+ }
+ expire_at.tv_sec += timeout;
+
++ time(&start);
+ conn->error = 0;
+ do {
+- if (BPF_BUFFER_IS_EMPTY) {
+- if (!time_left(&tv, &expire_at))
+- return; /* Timed out */
+-
+- FD_ZERO(&readable);
+- FD_SET(conn->discoverySocket, &readable);
+-
+- while(1) {
+- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
+- if (r >= 0 || errno != EINTR) break;
+- }
+- if (r < 0) {
+- error("select (waitForPADS): %m");
+- return;
+- }
+- if (r == 0)
+- return; /* Timed out */
+- }
+-
+- /* Get the packet */
+- receivePacket(conn->discoverySocket, &packet, &len);
+-
+- /* Check length */
+- if (ntohs(packet.length) + HDR_SIZE > len) {
+- error("Bogus PPPoE length field (%u)",
+- (unsigned int) ntohs(packet.length));
+- continue;
+- }
+-
+-#ifdef USE_BPF
+- /* If it's not a Discovery packet, loop again */
+- if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
+-#endif
++ r = recvPacketForMe(&packet, &len, conn, start, timeout);
++ if (r<=0) return; /* Timed out or error */
+
+ /* If it's not from the AC, it's not for me */
+ if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) continue;
+
+- /* If it's not for us, loop again */
+- if (!packetIsForMe(conn, &packet)) continue;
+-
+ /* Is it PADS? */
+ if (packet.code == CODE_PADS) {
+ /* Parse for goodies */
+--- ppp-2.4.6/pppd/plugins/rp-pppoe/pppoe-discovery.c
++++ ppp-2.4.6/pppd/plugins/rp-pppoe/pppoe-discovery.c
+@@ -14,6 +14,7 @@
+ #include <unistd.h>
+ #include <errno.h>
+ #include <string.h>
++#include <time.h>
+
+ #include "pppoe.h"
+
+@@ -513,6 +514,8 @@
+ struct timeval tv;
+ PPPoEPacket packet;
+ int len;
++ time_t start, now;
++ int time_remain;
+
+ struct PacketCriteria pc;
+ pc.conn = conn;
+@@ -522,9 +525,13 @@
+ pc.seenServiceName = 0;
+ conn->error = 0;
+
++ time(&start);
+ do {
++ time(&now);
++ time_remain = timeout - (int)difftime(now, start);
++ if (time_remain <= 0) return; /* Timed out */
+ if (BPF_BUFFER_IS_EMPTY) {
+- tv.tv_sec = timeout;
++ tv.tv_sec = time_remain;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&readable);
diff --git a/user/ppp/34_all_lcp-echo-adaptive.patch b/user/ppp/34_all_lcp-echo-adaptive.patch
new file mode 100644
index 000000000..6faf19a27
--- /dev/null
+++ b/user/ppp/34_all_lcp-echo-adaptive.patch
@@ -0,0 +1,56 @@
+--- ppp-2.4.5/pppd/lcp.c
++++ ppp-2.4.5/pppd/lcp.c
+@@ -73,6 +73,7 @@
+ */
+ int lcp_echo_interval = 0; /* Interval between LCP echo-requests */
+ int lcp_echo_fails = 0; /* Tolerance to unanswered echo-requests */
++bool lcp_echo_adaptive = 0; /* request echo only if the link was idle */
+ bool lax_recv = 0; /* accept control chars in asyncmap */
+ bool noendpoint = 0; /* don't send/accept endpoint discriminator */
+
+@@ -151,6 +152,8 @@
+ OPT_PRIO },
+ { "lcp-echo-interval", o_int, &lcp_echo_interval,
+ "Set time in seconds between LCP echo requests", OPT_PRIO },
++ { "lcp-echo-adaptive", o_bool, &lcp_echo_adaptive,
++ "Suppress LCP echo requests if traffic was received", 1 },
+ { "lcp-restart", o_int, &lcp_fsm[0].timeouttime,
+ "Set time in seconds between LCP retransmissions", OPT_PRIO },
+ { "lcp-max-terminate", o_int, &lcp_fsm[0].maxtermtransmits,
+@@ -2322,6 +2325,22 @@
+ }
+
+ /*
++ * If adaptive echos have been enabled, only send the echo request if
++ * no traffic was received since the last one.
++ */
++ if (lcp_echo_adaptive) {
++ static unsigned int last_pkts_in = 0;
++
++ update_link_stats(f->unit);
++ link_stats_valid = 0;
++
++ if (link_stats.pkts_in != last_pkts_in) {
++ last_pkts_in = link_stats.pkts_in;
++ return;
++ }
++ }
++
++ /*
+ * Make and send the echo request frame.
+ */
+ if (f->state == OPENED) {
+--- ppp-2.4.5/pppd/pppd.8
++++ ppp-2.4.5/pppd/pppd.8
+@@ -549,6 +549,11 @@
+ dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to
+ 1) in demand mode if the local address changes.
+ .TP
++.B lcp\-echo\-adaptive
++If this option is used with the \fIlcp\-echo\-failure\fR option then
++pppd will send LCP echo\-request frames only if no traffic was received
++from the peer since the last echo\-request was sent.
++.TP
+ .B lcp\-echo\-failure \fIn
+ If this option is given, pppd will presume the peer to be dead
+ if \fIn\fR LCP echo\-requests are sent without receiving a valid LCP
diff --git a/user/ppp/50_all_linux-headers.patch b/user/ppp/50_all_linux-headers.patch
new file mode 100644
index 000000000..cd2adbead
--- /dev/null
+++ b/user/ppp/50_all_linux-headers.patch
@@ -0,0 +1,28 @@
+the linux headers have started adding shims to not define types or structs
+when C lib headers are active, but in order to work, the C lib headers have
+to be included before the linux headers.
+
+move the netinet/in.h include up above the linux/ includes.
+
+Mike Frysinger <vapier@gentoo.org>
+
+--- a/pppd/plugins/rp-pppoe/pppoe.h
++++ b/pppd/plugins/rp-pppoe/pppoe.h
+@@ -47,6 +47,8 @@
+ #include <sys/socket.h>
+ #endif
+
++#include <netinet/in.h>
++
+ /* Ugly header files on some Linux boxes... */
+ #if defined(HAVE_LINUX_IF_H)
+ #include <linux/if.h>
+@@ -84,8 +86,6 @@ typedef unsigned long UINT32_t;
+ #include <linux/if_ether.h>
+ #endif
+
+-#include <netinet/in.h>
+-
+ #ifdef HAVE_NETINET_IF_ETHER_H
+ #include <sys/types.h>
+
diff --git a/user/ppp/51_all_glibc-2.28.patch b/user/ppp/51_all_glibc-2.28.patch
new file mode 100644
index 000000000..cbb5857a7
--- /dev/null
+++ b/user/ppp/51_all_glibc-2.28.patch
@@ -0,0 +1,110 @@
+From 3c7b86229f7bd2600d74db14b1fe5b3896be3875 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
+Date: Fri, 6 Apr 2018 14:27:18 +0200
+Subject: [PATCH] pppd: Use openssl for the DES instead of the libcrypt / glibc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems the latest glibc (in Fedora glibc-2.27.9000-12.fc29) dropped
+libcrypt. The libxcrypt standalone package can be used instead, but
+it dropped the old setkey/encrypt API which ppp uses for DES. There
+is support for using openssl in pppcrypt.c, but it contains typos
+preventing it from compiling and seems to be written for an ancient
+openssl version.
+
+This updates the code to use current openssl.
+
+[paulus@ozlabs.org - wrote the commit description, fixed comment in
+ Makefile.linux.]
+
+Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
+Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
+---
+ pppd/Makefile.linux | 7 ++++---
+ pppd/pppcrypt.c | 18 +++++++++---------
+ 2 files changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
+index 36d2b036..8d5ce99d 100644
+--- a/pppd/Makefile.linux
++++ b/pppd/Makefile.linux
+@@ -35,10 +35,10 @@ endif
+ COPTS = -O2 -pipe -Wall -g
+ LIBS =
+
+-# Uncomment the next 2 lines to include support for Microsoft's
++# Uncomment the next line to include support for Microsoft's
+ # MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux.
+ CHAPMS=y
+-USE_CRYPT=y
++#USE_CRYPT=y
+ # Don't use MSLANMAN unless you really know what you're doing.
+ #MSLANMAN=y
+ # Uncomment the next line to include support for MPPE. CHAPMS (above) must
+@@ -137,7 +137,8 @@ endif
+
+ ifdef NEEDDES
+ ifndef USE_CRYPT
+-LIBS += -ldes $(LIBS)
++CFLAGS += -I/usr/include/openssl
++LIBS += -lcrypto
+ else
+ CFLAGS += -DUSE_CRYPT=1
+ endif
+diff --git a/pppd/pppcrypt.c b/pppd/pppcrypt.c
+index 8b85b132..6b35375e 100644
+--- a/pppd/pppcrypt.c
++++ b/pppd/pppcrypt.c
+@@ -64,7 +64,7 @@ u_char *des_key; /* OUT 64 bit DES key with parity bits added */
+ des_key[7] = Get7Bits(key, 49);
+
+ #ifndef USE_CRYPT
+- des_set_odd_parity((des_cblock *)des_key);
++ DES_set_odd_parity((DES_cblock *)des_key);
+ #endif
+ }
+
+@@ -158,25 +158,25 @@ u_char *clear; /* OUT 8 octets */
+ }
+
+ #else /* USE_CRYPT */
+-static des_key_schedule key_schedule;
++static DES_key_schedule key_schedule;
+
+ bool
+ DesSetkey(key)
+ u_char *key;
+ {
+- des_cblock des_key;
++ DES_cblock des_key;
+ MakeKey(key, des_key);
+- des_set_key(&des_key, key_schedule);
++ DES_set_key(&des_key, &key_schedule);
+ return (1);
+ }
+
+ bool
+-DesEncrypt(clear, key, cipher)
++DesEncrypt(clear, cipher)
+ u_char *clear; /* IN 8 octets */
+ u_char *cipher; /* OUT 8 octets */
+ {
+- des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher,
+- key_schedule, 1);
++ DES_ecb_encrypt((DES_cblock *)clear, (DES_cblock *)cipher,
++ &key_schedule, 1);
+ return (1);
+ }
+
+@@ -185,8 +185,8 @@ DesDecrypt(cipher, clear)
+ u_char *cipher; /* IN 8 octets */
+ u_char *clear; /* OUT 8 octets */
+ {
+- des_ecb_encrypt((des_cblock *)cipher, (des_cblock *)clear,
+- key_schedule, 0);
++ DES_ecb_encrypt((DES_cblock *)cipher, (DES_cblock *)clear,
++ &key_schedule, 0);
+ return (1);
+ }
+
diff --git a/user/ppp/80_all_eaptls-mppe-1.101a.patch b/user/ppp/80_all_eaptls-mppe-1.101a.patch
new file mode 100644
index 000000000..f22b63a86
--- /dev/null
+++ b/user/ppp/80_all_eaptls-mppe-1.101a.patch
@@ -0,0 +1,3233 @@
+diff -Naur ppp-2.4.7/README.eap-tls ppp-2.4.7-eaptls-mppe-1.101b/README.eap-tls
+--- ppp-2.4.7/README.eap-tls 1970-01-01 01:00:00.000000000 +0100
++++ ppp-2.4.7-eaptls-mppe-1.101b/README.eap-tls 2018-06-02 01:42:04.021165440 +0200
+@@ -0,0 +1,286 @@
++EAP-TLS authentication support for PPP
++======================================
++
++1. Intro
++
++ The Extensible Authentication Protocol (EAP; RFC 3748) is a
++ security protocol that can be used with PPP. It provides a means
++ to plug in multiple optional authentication methods.
++
++ Transport Level Security (TLS; RFC 2246) provides for mutual
++ authentication, integrity-protected ciphersuite negotiation and
++ key exchange between two endpoints. It also provides for optional
++ MPPE encryption.
++
++ EAP-TLS (RFC 2716) incapsulates the TLS messages in EAP packets,
++ allowing TLS mutual authentication to be used as a generic EAP
++ mechanism. It also provides optional encryption using the MPPE
++ protocol.
++
++ This patch provide EAP-TLS support to pppd.
++ This authentication method can be used in both client or server
++ mode.
++
++2. Building
++
++ To build pppd with EAP-TLS support, OpenSSL (http://www.openssl.org)
++ is required. Any version from 0.9.7 should work.
++
++ Configure, compile, and install as usual.
++
++3. Configuration
++
++ On the client side there are two ways to configure EAP-TLS:
++
++ 1. supply the appropriate 'ca', 'cert' and 'key' command-line parameters
++
++ 2. edit the /etc/ppp/eaptls-client file.
++ Insert a line for each system with which you use EAP-TLS.
++ The line is composed of this fields separated by tab:
++
++ - Client name
++ The name used by the client for authentication, can be *
++ - Server name
++ The name of the server, can be *
++ - Client certificate file
++ The file containing the certificate chain for the
++ client in PEM format
++ - Server certificate file
++ If you want to specify the certificate that the
++ server is allowed to use, put the certificate file name.
++ Else put a dash '-'.
++ - CA certificate file
++ The file containing the trusted CA certificates in PEM
++ format.
++ - Client private key file
++ The file containing the client private key in PEM format.
++
++
++ On the server side edit the /etc/ppp/eaptls-server file.
++ Insert a line for each system with which you use EAP-TLS.
++ The line is composed of this fields separated by tab:
++
++ - Client name
++ The name used by the client for authentication, can be *
++ - Server name
++ The name of the server, can be *
++ - Client certificate file
++ If you want to specify the certificate that the
++ client is allowed to use, put the certificate file name.
++ Else put a dash '-'.
++ - Server certificate file
++ The file containing the certificate chain for the
++ server in PEM format
++ - CA certificate file
++ The file containing the trusted CA certificates in PEM format.
++ - Client private key file
++ The file containing the server private key in PEM format.
++ - addresses
++ A list of IP addresses the client is allowed to use.
++
++
++ OpenSSL engine support is included starting with v0.95 of this patch.
++ Currently the only engine tested is the 'pkcs11' engine (hardware token
++ support). To use the 'pksc11' engine:
++ - Use a special private key fileiname in the /etc/ppp/eaptls-client file:
++ <engine>:<identifier>
++ e.g.
++ pkcs11:123456
++
++ - The certificate can also be loaded from the 'pkcs11' engine using
++ a special client certificate filename in the /etc/ppp/eaptls-client file:
++ <engine>:<identifier>
++ e.g.
++ pkcs11:123456
++
++ - Create an /etc/ppp/openssl.cnf file to load the right OpenSSL engine prior
++ to starting 'pppd'. A sample openssl.cnf file is
++
++ openssl_conf = openssl_def
++
++ [ openssl_def ]
++ engines = engine_section
++
++ [ engine_section ]
++ pkcs11 = pkcs11_section
++
++ [ pkcs11_section ]
++ engine_id = pkcs11
++ dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so
++ MODULE_PATH = /usr/lib64/libeTPkcs11.so
++ init = 0
++
++ - There are two ways to specify a password/PIN for the PKCS11 engine:
++ - inside the openssl.cnf file using
++ PIN = your-secret-pin
++ Note The keyword 'PIN' is case sensitive!
++ - Using the 'password' in the ppp options file.
++ From v0.97 of the eap-tls patch the password can also be supplied
++ using the appropriate 'eaptls_passwd_hook' (see plugins/passprompt.c
++ for an example).
++
++
++4. Options
++
++ These pppd options are available:
++
++ ca <ca-file>
++ Use the CA public certificate found in <ca-file> in PEM format
++ cert <cert-file>
++ Use the client public certificate found in <cert-file> in PEM format
++ or in engine:engine_id format
++ key <key-file>
++ Use the client private key found in <key-file> in PEM format
++ or in engine:engine_id format
++ crl <crl-file>
++ Use the Certificate Revocation List (CRL) file <crl-file> in PEM format.
++ crl-dir <dir>
++ Use CRL files from directory <dir>. It contains CRL files in PEM
++ format and each file contains a CRL. The files are looked up
++ by the issuer name hash value. Use the c_rehash utility
++ to create necessary links.
++ need-peer-eap
++ If the peer doesn't ask us to authenticate or doesn't use eap
++ to authenticate us, disconnect.
++
++ Note:
++ password-encrypted certificates can be used as of v0.94 of this
++ patch. The password for the eap-tls.key file is specified using
++ the regular
++ password ....
++ statement in the ppp options file, or by using the appropriate
++ plugin which supplies a 'eaptls_passwd_hook' routine.
++
++5. Connecting
++
++ If you're setting up a pppd server, edit the EAP-TLS configuration file
++ as written above and then run pppd with the 'auth' option to authenticate
++ the client. The EAP-TLS method will be used if the other eap methods can't
++ be used (no secrets).
++
++ If you're setting up a client, edit the configuration file and then run
++ pppd with 'remotename' option to specify the server name. Add the
++ 'need-peer-eap' option if you want to be sure the peer ask you to
++ authenticate (and to use eap) and to disconnect if it doesn't.
++
++6. Example
++
++ The following example can be used to connect a Linux client with the 'pptp'
++ package to a Linux server running the 'pptpd' (PoPToP) package. The server
++ was configured with a certificate with name (CN) 'pptp-server', the client
++ was configured with a certificate with name (CN) 'pptp-client', both
++ signed by the same Certificate Authority (CA).
++
++ Server side:
++ - /etc/pptpd.conf file:
++ option /etc/ppp/options-pptpd-eaptls
++ localip 172.16.1.1
++ remoteip 172.16.1.10-20
++ - /etc/ppp/options-pptpd-eaptls file:
++ name pptp-server
++ lock
++ mtu 1500
++ mru 1450
++ auth
++ lcp-echo-failure 3
++ lcp-echo-interval 5
++ nodeflate
++ nobsdcomp
++ nopredictor1
++ nopcomp
++ noaccomp
++
++ require-eap
++ require-mppe-128
++
++ crl /home/janjust/ppp/keys/crl.pem
++
++ debug
++ logfile /tmp/pppd.log
++
++ - /etc/ppp/eaptls-server file:
++ * pptp-server - /etc/ppp/pptp-server.crt /etc/ppp/ca.crt /etc/ppp/pptp-server.key *
++
++ - On the server, run
++ pptdp --conf /etc/pptpd.conf
++
++ Client side:
++ - Run
++ pppd noauth require-eap require-mppe-128 \
++ ipcp-accept-local ipcp-accept-remote noipdefault \
++ cert /etc/ppp/keys/pptp-client.crt \
++ key /etc/ppp/keys/pptp-client.key \
++ ca /etc/ppp/keys/ca.crt \
++ name pptp-client remotename pptp-server \
++ debug logfile /tmp/pppd.log
++ pty "pptp pptp-server.example.com --nolaunchpppd"
++
++ Check /var/log/messages and the files /tmp/pppd.log on both sides for debugging info.
++
++7. Notes
++
++ This is experimental code.
++ Send suggestions and comments to Jan Just Keijser <janjust@nikhef.nl>
++
++8. Changelog of ppp-<>-eaptls-mppe-* patches
++
++v0.7 (22-Nov-2005)
++ - First version of the patch to include MPPE support
++ - ppp-2.4.3 only
++v0.9 (25-Jul-2006)
++ - Bug fixes
++ - First version for ppp-2.4.4
++v0.91 (03-Sep-2006)
++ - Added missing #include for md5.h
++ - Last version for ppp-2.4.3
++v0.92 (22-Apr-2008)
++ - Fix for openssl 0.9.8 issue with md5 function overload.
++v0.93 (14-Aug-2008)
++ - Make sure 'noauth' option can be used to bypass server certificate verification.
++v0.94 (15-Oct-2008)
++ - Added support for password-protected private keys by (ab)using the 'password' field.
++v0.95 (23-Dec-2009)
++ - First version with OpenSSL engine support.
++v0.96 (27-Jan-2010)
++ - Added fully functional support for OpenSSL engines (PKCS#11)
++ - First version for ppp-2.4.5
++v0.97 (20-Apr-2010)
++ - Some bug fixes for v0.96
++ - Added support for entering the password via a plugin. The sample plugin
++ .../pppd/plugins/passprompt.c has been extended with EAP-TLS support.
++ The "old" methods using the password option or the /etc/ppp/openssl.cnf file still work.
++ - Added support for specifying the client CA, certificate and private key on the command-line
++ or via the ppp config file.
++v0.98 (20-Apr-2010)
++ - Fix initialisation bug when using ca/cert/key command-line options.
++ - Last version for ppp-2.4.4
++v0.99 (05-Oct-2010)
++ - Fix coredump when using multilink option.
++v0.991 (08-Aug-2011)
++ - Fix compilation issue with openssl 1.0.
++v0.992 (01-Dec-2011)
++ - Fix compilation issue with eaptls_check_hook and passwordfd plugin.
++v0.993 (24-Apr-2012)
++ - Fix compilation issue when EAP_TLS=n in pppd/Makefile.
++v0.994 (11-Jun-2012)
++ - Fix compilation issue on Ubuntu 11.10.
++v0.995 (27-May-2014)
++ - Add support for a CRL file using the command-line option 'crl'
++ (prior only 'crl-dir' was supported).
++ - Fix segfault when pkcs11 enginename was not specified correctly.
++ - Fix segfault when client was misconfigured.
++ - Disable SSL Session Ticket support as Windows 8 does not support this.
++v0.996 (28-May-2014)
++ - Fix minor bug where SessionTicket message was printed as 'Unknown SSL3 code 4'
++ - Add EAP-TLS-specific options to pppd.8 manual page.
++ - Updated README.eap-tls file with new options and provide an example.
++v0.997 (19-Jun-2014)
++ - Change SSL_OP_NO_TICKETS to SSL_OP_NO_TICKET
++ - Fix bug in initialisation code with fragmented packets.
++v0.998 (13-Mar-2015)
++ - Added fix for https://bugzilla.redhat.com/show_bug.cgi?id=1023620
++v0.999 (11-May-2017)
++ - Added support for OpenSSL 1.1: the code will now compile against OpenSSL 1.0.x or 1.1.x.
++v1.101 (1-Jun-2018)
++ - Fix vulnerabilities CVE-2018-11574.
++
+diff -Naur ppp-2.4.7/etc.ppp/eaptls-client ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-client
+--- ppp-2.4.7/etc.ppp/eaptls-client 1970-01-01 01:00:00.000000000 +0100
++++ ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-client 2018-06-02 01:42:04.021165440 +0200
+@@ -0,0 +1,10 @@
++# Parameters for authentication using EAP-TLS (client)
++
++# client name (can be *)
++# server name (can be *)
++# client certificate file (required)
++# server certificate file (optional, if unused put '-')
++# CA certificate file (required)
++# client private key file (required)
++
++#client server /root/cert/client.crt - /root/cert/ca.crt /root/cert/client.key
+diff -Naur ppp-2.4.7/etc.ppp/eaptls-server ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-server
+--- ppp-2.4.7/etc.ppp/eaptls-server 1970-01-01 01:00:00.000000000 +0100
++++ ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/eaptls-server 2018-06-02 01:42:04.021165440 +0200
+@@ -0,0 +1,11 @@
++# Parameters for authentication using EAP-TLS (server)
++
++# client name (can be *)
++# server name (can be *)
++# client certificate file (optional, if unused put '-')
++# server certificate file (required)
++# CA certificate file (required)
++# server private key file (required)
++# allowed addresses (required, can be *)
++
++#client server - /root/cert/server.crt /root/cert/ca.crt /root/cert/server.key 192.168.1.0/24
+diff -Naur ppp-2.4.7/etc.ppp/openssl.cnf ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/openssl.cnf
+--- ppp-2.4.7/etc.ppp/openssl.cnf 1970-01-01 01:00:00.000000000 +0100
++++ ppp-2.4.7-eaptls-mppe-1.101b/etc.ppp/openssl.cnf 2018-06-02 01:42:04.021165440 +0200
+@@ -0,0 +1,14 @@
++openssl_conf = openssl_def
++
++[ openssl_def ]
++engines = engine_section
++
++[ engine_section ]
++pkcs11 = pkcs11_section
++
++[ pkcs11_section ]
++engine_id = pkcs11
++dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so
++MODULE_PATH = /usr/lib64/libeTPkcs11.so
++init = 0
++
+diff -Naur ppp-2.4.7/linux/Makefile.top ppp-2.4.7-eaptls-mppe-1.101b/linux/Makefile.top
+--- ppp-2.4.7/linux/Makefile.top 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/linux/Makefile.top 2018-06-02 01:42:04.021165440 +0200
+@@ -26,7 +26,7 @@
+ cd pppdump; $(MAKE) $(MFLAGS) install
+
+ install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
+- $(ETCDIR)/chap-secrets
++ $(ETCDIR)/chap-secrets $(ETCDIR)/eaptls-server $(ETCDIR)/eaptls-client
+
+ install-devel:
+ cd pppd; $(MAKE) $(MFLAGS) install-devel
+@@ -37,6 +37,10 @@
+ $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
+ $(ETCDIR)/chap-secrets:
+ $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
++$(ETCDIR)/eaptls-server:
++ $(INSTALL) -c -m 600 etc.ppp/eaptls-server $@
++$(ETCDIR)/eaptls-client:
++ $(INSTALL) -c -m 600 etc.ppp/eaptls-client $@
+
+ $(BINDIR):
+ $(INSTALL) -d -m 755 $@
+diff -Naur ppp-2.4.7/pppd/Makefile.linux ppp-2.4.7-eaptls-mppe-1.101b/pppd/Makefile.linux
+--- ppp-2.4.7/pppd/Makefile.linux 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/Makefile.linux 2018-06-02 01:42:04.021165440 +0200
+@@ -76,6 +76,9 @@
+ # Use libutil
+ USE_LIBUTIL=y
+
++# Enable EAP-TLS authentication (requires libssl and libcrypto)
++USE_EAPTLS=y
++
+ MAXOCTETS=y
+
+ INCLUDE_DIRS= -I../include
+@@ -115,6 +118,15 @@
+ PPPDOBJS += sha1.o
+ endif
+
++# EAP-TLS
++ifdef USE_EAPTLS
++CFLAGS += -DUSE_EAPTLS=1 -I/usr/kerberos/include
++LIBS += -lssl -lcrypto
++PPPDSRC += eap-tls.c
++HEADERS += eap-tls.h
++PPPDOBJS += eap-tls.o
++endif
++
+ ifdef HAS_SHADOW
+ CFLAGS += -DHAS_SHADOW
+ #LIBS += -lshadow $(LIBS)
+diff -Naur ppp-2.4.7/pppd/auth.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/auth.c
+--- ppp-2.4.7/pppd/auth.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/auth.c 2018-06-02 01:42:04.022165436 +0200
+@@ -109,6 +109,9 @@
+ #include "upap.h"
+ #include "chap-new.h"
+ #include "eap.h"
++#ifdef USE_EAPTLS
++#include "eap-tls.h"
++#endif
+ #ifdef CBCP_SUPPORT
+ #include "cbcp.h"
+ #endif
+@@ -183,6 +186,11 @@
+ /* Hook for a plugin to get the CHAP password for authenticating us */
+ int (*chap_passwd_hook) __P((char *user, char *passwd)) = NULL;
+
++#ifdef USE_EAPTLS
++/* Hook for a plugin to get the EAP-TLS password for authenticating us */
++int (*eaptls_passwd_hook) __P((char *user, char *passwd)) = NULL;
++#endif
++
+ /* Hook for a plugin to say whether it is OK if the peer
+ refuses to authenticate. */
+ int (*null_auth_hook) __P((struct wordlist **paddrs,
+@@ -238,6 +246,14 @@
+ bool explicit_user = 0; /* Set if "user" option supplied */
+ bool explicit_passwd = 0; /* Set if "password" option supplied */
+ char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
++#ifdef USE_EAPTLS
++char *cacert_file = NULL; /* CA certificate file (pem format) */
++char *cert_file = NULL; /* client certificate file (pem format) */
++char *privkey_file = NULL; /* client private key file (pem format) */
++char *crl_dir = NULL; /* directory containing CRL files */
++char *crl_file = NULL; /* Certificate Revocation List (CRL) file (pem format) */
++bool need_peer_eap = 0; /* Require peer to authenticate us */
++#endif
+
+ static char *uafname; /* name of most recent +ua file */
+
+@@ -254,6 +270,19 @@
+ static int have_chap_secret __P((char *, char *, int, int *));
+ static int have_srp_secret __P((char *client, char *server, int need_ip,
+ int *lacks_ipp));
++
++#ifdef USE_EAPTLS
++static int have_eaptls_secret_server
++__P((char *client, char *server, int need_ip, int *lacks_ipp));
++static int have_eaptls_secret_client __P((char *client, char *server));
++static int scan_authfile_eaptls __P((FILE * f, char *client, char *server,
++ char *cli_cert, char *serv_cert,
++ char *ca_cert, char *pk,
++ struct wordlist ** addrs,
++ struct wordlist ** opts,
++ char *filename, int flags));
++#endif
++
+ static int ip_addr_check __P((u_int32_t, struct permitted_ip *));
+ static int scan_authfile __P((FILE *, char *, char *, char *,
+ struct wordlist **, struct wordlist **,
+@@ -401,6 +430,15 @@
+ "Set telephone number(s) which are allowed to connect",
+ OPT_PRIV | OPT_A2LIST },
+
++#ifdef USE_EAPTLS
++ { "ca", o_string, &cacert_file, "EAP-TLS CA certificate in PEM format" },
++ { "cert", o_string, &cert_file, "EAP-TLS client certificate in PEM format" },
++ { "key", o_string, &privkey_file, "EAP-TLS client private key in PEM format" },
++ { "crl-dir", o_string, &crl_dir, "Use CRLs in directory" },
++ { "crl", o_string, &crl_file, "Use specific CRL file" },
++ { "need-peer-eap", o_bool, &need_peer_eap,
++ "Require the peer to authenticate us", 1 },
++#endif /* USE_EAPTLS */
+ { NULL }
+ };
+
+@@ -730,6 +768,9 @@
+ lcp_options *wo = &lcp_wantoptions[unit];
+ lcp_options *go = &lcp_gotoptions[unit];
+ lcp_options *ho = &lcp_hisoptions[unit];
++#ifdef USE_EAPTLS
++ lcp_options *ao = &lcp_allowoptions[unit];
++#endif
+ int i;
+ struct protent *protp;
+
+@@ -764,6 +805,22 @@
+ }
+ }
+
++#ifdef USE_EAPTLS
++ if (need_peer_eap && !ao->neg_eap) {
++ warn("eap required to authenticate us but no suitable secrets");
++ lcp_close(unit, "couldn't negotiate eap");
++ status = EXIT_AUTH_TOPEER_FAILED;
++ return;
++ }
++
++ if (need_peer_eap && !ho->neg_eap) {
++ warn("peer doesn't want to authenticate us with eap");
++ lcp_close(unit, "couldn't negotiate eap");
++ status = EXIT_PEER_AUTH_FAILED;
++ return;
++ }
++#endif
++
+ new_phase(PHASE_AUTHENTICATE);
+ auth = 0;
+ if (go->neg_eap) {
+@@ -1277,6 +1334,15 @@
+ our_name, 1, &lacks_ip);
+ }
+
++#ifdef USE_EAPTLS
++ if (!can_auth && wo->neg_eap) {
++ can_auth =
++ have_eaptls_secret_server((explicit_remote ? remote_name :
++ NULL), our_name, 1, &lacks_ip);
++
++ }
++#endif
++
+ if (auth_required && !can_auth && noauth_addrs == NULL) {
+ if (default_auth) {
+ option_error(
+@@ -1331,7 +1397,11 @@
+ passwd[0] != 0 ||
+ (hadchap == 1 || (hadchap == -1 && have_chap_secret(user,
+ (explicit_remote? remote_name: NULL), 0, NULL))) ||
+- have_srp_secret(user, (explicit_remote? remote_name: NULL), 0, NULL));
++ have_srp_secret(user, (explicit_remote? remote_name: NULL), 0, NULL)
++#ifdef USE_EAPTLS
++ || have_eaptls_secret_client(user, (explicit_remote? remote_name: NULL))
++#endif
++ );
+
+ hadchap = -1;
+ if (go->neg_upap && !uselogin && !have_pap_secret(NULL))
+@@ -1346,8 +1416,14 @@
+ !have_chap_secret((explicit_remote? remote_name: NULL), our_name,
+ 1, NULL))) &&
+ !have_srp_secret((explicit_remote? remote_name: NULL), our_name, 1,
+- NULL))
++ NULL)
++#ifdef USE_EAPTLS
++ && !have_eaptls_secret_server((explicit_remote? remote_name: NULL),
++ our_name, 1, NULL)
++#endif
++ )
+ go->neg_eap = 0;
++
+ }
+
+
+@@ -1707,6 +1783,7 @@
+ }
+
+
++
+ /*
+ * get_secret - open the CHAP secret file and return the secret
+ * for authenticating the given client on the given server.
+@@ -2359,3 +2436,335 @@
+
+ auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0);
+ }
++
++
++#ifdef USE_EAPTLS
++static int
++have_eaptls_secret_server(client, server, need_ip, lacks_ipp)
++ char *client;
++ char *server;
++ int need_ip;
++ int *lacks_ipp;
++{
++ FILE *f;
++ int ret;
++ char *filename;
++ struct wordlist *addrs;
++ char servcertfile[MAXWORDLEN];
++ char clicertfile[MAXWORDLEN];
++ char cacertfile[MAXWORDLEN];
++ char pkfile[MAXWORDLEN];
++
++ filename = _PATH_EAPTLSSERVFILE;
++ f = fopen(filename, "r");
++ if (f == NULL)
++ return 0;
++
++ if (client != NULL && client[0] == 0)
++ client = NULL;
++ else if (server != NULL && server[0] == 0)
++ server = NULL;
++
++ ret =
++ scan_authfile_eaptls(f, client, server, clicertfile, servcertfile,
++ cacertfile, pkfile, &addrs, NULL, filename,
++ 0);
++
++ fclose(f);
++
++/*
++ if (ret >= 0 && !eaptls_init_ssl(1, cacertfile, servcertfile,
++ clicertfile, pkfile))
++ ret = -1;
++*/
++
++ if (ret >= 0 && need_ip && !some_ip_ok(addrs)) {
++ if (lacks_ipp != 0)
++ *lacks_ipp = 1;
++ ret = -1;
++ }
++ if (addrs != 0)
++ free_wordlist(addrs);
++
++ return ret >= 0;
++}
++
++
++static int
++have_eaptls_secret_client(client, server)
++ char *client;
++ char *server;
++{
++ FILE *f;
++ int ret;
++ char *filename;
++ struct wordlist *addrs = NULL;
++ char servcertfile[MAXWORDLEN];
++ char clicertfile[MAXWORDLEN];
++ char cacertfile[MAXWORDLEN];
++ char pkfile[MAXWORDLEN];
++
++ if (client != NULL && client[0] == 0)
++ client = NULL;
++ else if (server != NULL && server[0] == 0)
++ server = NULL;
++
++ if (cacert_file && cert_file && privkey_file)
++ return 1;
++
++ filename = _PATH_EAPTLSCLIFILE;
++ f = fopen(filename, "r");
++ if (f == NULL)
++ return 0;
++
++ ret =
++ scan_authfile_eaptls(f, client, server, clicertfile, servcertfile,
++ cacertfile, pkfile, &addrs, NULL, filename,
++ 0);
++ fclose(f);
++
++/*
++ if (ret >= 0 && !eaptls_init_ssl(0, cacertfile, clicertfile,
++ servcertfile, pkfile))
++ ret = -1;
++*/
++
++ if (addrs != 0)
++ free_wordlist(addrs);
++
++ return ret >= 0;
++}
++
++
++static int
++scan_authfile_eaptls(f, client, server, cli_cert, serv_cert, ca_cert, pk,
++ addrs, opts, filename, flags)
++ FILE *f;
++ char *client;
++ char *server;
++ char *cli_cert;
++ char *serv_cert;
++ char *ca_cert;
++ char *pk;
++ struct wordlist **addrs;
++ struct wordlist **opts;
++ char *filename;
++ int flags;
++{
++ int newline;
++ int got_flag, best_flag;
++ struct wordlist *ap, *addr_list, *alist, **app;
++ char word[MAXWORDLEN];
++
++ if (addrs != NULL)
++ *addrs = NULL;
++ if (opts != NULL)
++ *opts = NULL;
++ addr_list = NULL;
++ if (!getword(f, word, &newline, filename))
++ return -1; /* file is empty??? */
++ newline = 1;
++ best_flag = -1;
++ for (;;) {
++ /*
++ * Skip until we find a word at the start of a line.
++ */
++ while (!newline && getword(f, word, &newline, filename));
++ if (!newline)
++ break; /* got to end of file */
++
++ /*
++ * Got a client - check if it's a match or a wildcard.
++ */
++ got_flag = 0;
++ if (client != NULL && strcmp(word, client) != 0 && !ISWILD(word)) {
++ newline = 0;
++ continue;
++ }
++ if (!ISWILD(word))
++ got_flag = NONWILD_CLIENT;
++
++ /*
++ * Now get a server and check if it matches.
++ */
++ if (!getword(f, word, &newline, filename))
++ break;
++ if (newline)
++ continue;
++ if (!ISWILD(word)) {
++ if (server != NULL && strcmp(word, server) != 0)
++ continue;
++ got_flag |= NONWILD_SERVER;
++ }
++
++ /*
++ * Got some sort of a match - see if it's better than what
++ * we have already.
++ */
++ if (got_flag <= best_flag)
++ continue;
++
++ /*
++ * Get the cli_cert
++ */
++ if (!getword(f, word, &newline, filename))
++ break;
++ if (newline)
++ continue;
++ if (strcmp(word, "-") != 0) {
++ strlcpy(cli_cert, word, MAXWORDLEN);
++ } else
++ cli_cert[0] = 0;
++
++ /*
++ * Get serv_cert
++ */
++ if (!getword(f, word, &newline, filename))
++ break;
++ if (newline)
++ continue;
++ if (strcmp(word, "-") != 0) {
++ strlcpy(serv_cert, word, MAXWORDLEN);
++ } else
++ serv_cert[0] = 0;
++
++ /*
++ * Get ca_cert
++ */
++ if (!getword(f, word, &newline, filename))
++ break;
++ if (newline)
++ continue;
++ strlcpy(ca_cert, word, MAXWORDLEN);
++
++ /*
++ * Get pk
++ */
++ if (!getword(f, word, &newline, filename))
++ break;
++ if (newline)
++ continue;
++ strlcpy(pk, word, MAXWORDLEN);
++
++
++ /*
++ * Now read address authorization info and make a wordlist.
++ */
++ app = &alist;
++ for (;;) {
++ if (!getword(f, word, &newline, filename) || newline)
++ break;
++ ap = (struct wordlist *)
++ malloc(sizeof(struct wordlist) + strlen(word) + 1);
++ if (ap == NULL)
++ novm("authorized addresses");
++ ap->word = (char *) (ap + 1);
++ strcpy(ap->word, word);
++ *app = ap;
++ app = &ap->next;
++ }
++ *app = NULL;
++ /*
++ * This is the best so far; remember it.
++ */
++ best_flag = got_flag;
++ if (addr_list)
++ free_wordlist(addr_list);
++ addr_list = alist;
++
++ if (!newline)
++ break;
++ }
++
++ /* scan for a -- word indicating the start of options */
++ for (app = &addr_list; (ap = *app) != NULL; app = &ap->next)
++ if (strcmp(ap->word, "--") == 0)
++ break;
++ /* ap = start of options */
++ if (ap != NULL) {
++ ap = ap->next; /* first option */
++ free(*app); /* free the "--" word */
++ *app = NULL; /* terminate addr list */
++ }
++ if (opts != NULL)
++ *opts = ap;
++ else if (ap != NULL)
++ free_wordlist(ap);
++ if (addrs != NULL)
++ *addrs = addr_list;
++ else if (addr_list != NULL)
++ free_wordlist(addr_list);
++
++ return best_flag;
++}
++
++
++int
++get_eaptls_secret(unit, client, server, clicertfile, servcertfile,
++ cacertfile, pkfile, am_server)
++ int unit;
++ char *client;
++ char *server;
++ char *clicertfile;
++ char *servcertfile;
++ char *cacertfile;
++ char *pkfile;
++ int am_server;
++{
++ FILE *fp;
++ int ret;
++ char *filename = NULL;
++ struct wordlist *addrs = NULL;
++ struct wordlist *opts = NULL;
++
++ /* in client mode the ca+cert+privkey can also be specified as options */
++ if (!am_server && cacert_file && cert_file && privkey_file )
++ {
++ strlcpy( clicertfile, cert_file, MAXWORDLEN );
++ strlcpy( cacertfile, cacert_file, MAXWORDLEN );
++ strlcpy( pkfile, privkey_file, MAXWORDLEN );
++ servcertfile[0] = '\0';
++ }
++ else
++ {
++ filename = (am_server ? _PATH_EAPTLSSERVFILE : _PATH_EAPTLSCLIFILE);
++ addrs = NULL;
++
++ fp = fopen(filename, "r");
++ if (fp == NULL)
++ {
++ error("Can't open eap-tls secret file %s: %m", filename);
++ return 0;
++ }
++
++ check_access(fp, filename);
++
++ ret = scan_authfile_eaptls(fp, client, server, clicertfile, servcertfile,
++ cacertfile, pkfile, &addrs, &opts, filename, 0);
++
++ fclose(fp);
++
++ if (ret < 0) return 0;
++ }
++
++ if (eaptls_passwd_hook)
++ {
++ dbglog( "Calling eaptls password hook" );
++ if ( (*eaptls_passwd_hook)(pkfile, passwd) < 0)
++ {
++ error("Unable to obtain EAP-TLS password for %s (%s) from plugin",
++ client, pkfile);
++ return 0;
++ }
++ }
++ if (am_server)
++ set_allowed_addrs(unit, addrs, opts);
++ else if (opts != NULL)
++ free_wordlist(opts);
++ if (addrs != NULL)
++ free_wordlist(addrs);
++
++ return 1;
++}
++#endif
++
+diff -Naur ppp-2.4.7/pppd/ccp.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/ccp.c
+--- ppp-2.4.7/pppd/ccp.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/ccp.c 2018-06-02 01:42:04.022165436 +0200
+@@ -540,6 +540,9 @@
+ if (go->mppe) {
+ ccp_options *ao = &ccp_allowoptions[f->unit];
+ int auth_mschap_bits = auth_done[f->unit];
++#ifdef USE_EAPTLS
++ int auth_eap_bits = auth_done[f->unit];
++#endif
+ int numbits;
+
+ /*
+@@ -567,8 +570,23 @@
+ lcp_close(f->unit, "MPPE required but not available");
+ return;
+ }
++
++#ifdef USE_EAPTLS
++ /*
++ * MPPE is also possible in combination with EAP-TLS.
++ * It is not possible to detect if we're doing EAP or EAP-TLS
++ * at this stage, hence we accept all forms of EAP. If TLS is
++ * not used then the MPPE keys will not be derived anyway.
++ */
++ /* Leave only the eap auth bits set */
++ auth_eap_bits &= (EAP_WITHPEER | EAP_PEER );
++
++ if ((numbits == 0) && (auth_eap_bits == 0)) {
++ error("MPPE required, but MS-CHAP[v2] nor EAP-TLS auth are performed.");
++#else
+ if (!numbits) {
+- error("MPPE required, but MS-CHAP[v2] auth not performed.");
++ error("MPPE required, but MS-CHAP[v2] auth not performed.");
++#endif
+ lcp_close(f->unit, "MPPE required but not available");
+ return;
+ }
+diff -Naur ppp-2.4.7/pppd/chap-md5.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/chap-md5.c
+--- ppp-2.4.7/pppd/chap-md5.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/chap-md5.c 2018-06-02 01:42:04.022165436 +0200
+@@ -36,7 +36,11 @@
+ #include "chap-new.h"
+ #include "chap-md5.h"
+ #include "magic.h"
++#ifdef USE_EAPTLS
++#include "eap-tls.h"
++#else
+ #include "md5.h"
++#endif /* USE_EAPTLS */
+
+ #define MD5_HASH_SIZE 16
+ #define MD5_MIN_CHALLENGE 16
+diff -Naur ppp-2.4.7/pppd/eap-tls.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.c
+--- ppp-2.4.7/pppd/eap-tls.c 1970-01-01 01:00:00.000000000 +0100
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.c 2018-06-02 01:42:16.790124406 +0200
+@@ -0,0 +1,1313 @@
++/*
++ * eap-tls.c - EAP-TLS implementation for PPP
++ *
++ * Copyright (c) Beniamino Galvani 2005 All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The name(s) of the authors of this software must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission.
++ *
++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ *
++ */
++
++#include <string.h>
++#include <unistd.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++
++#include <openssl/conf.h>
++#include <openssl/engine.h>
++#include <openssl/hmac.h>
++#include <openssl/err.h>
++#include <openssl/x509v3.h>
++
++#include "pppd.h"
++#include "eap.h"
++#include "eap-tls.h"
++#include "fsm.h"
++#include "lcp.h"
++#include "pathnames.h"
++
++/* The openssl configuration file and engines can be loaded only once */
++static CONF *ssl_config = NULL;
++static ENGINE *cert_engine = NULL;
++static ENGINE *pkey_engine = NULL;
++
++#ifdef MPPE
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++
++/*
++ * https://wiki.openssl.org/index.php/1.1_API_Changes
++ * tries to provide some guidance but ultimately falls short.
++ */
++
++
++static void HMAC_CTX_free(HMAC_CTX *ctx)
++{
++ if (ctx != NULL) {
++ HMAC_CTX_cleanup(ctx);
++ OPENSSL_free(ctx);
++ }
++}
++
++static HMAC_CTX *HMAC_CTX_new(void)
++{
++ HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx));
++ if (ctx != NULL)
++ HMAC_CTX_init(ctx);
++ return ctx;
++}
++
++/*
++ * These were basically jacked directly from the OpenSSL tree
++ * without adjustments.
++ */
++
++static size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,
++ size_t outlen)
++{
++ if (outlen == 0)
++ return sizeof(ssl->s3->client_random);
++ if (outlen > sizeof(ssl->s3->client_random))
++ outlen = sizeof(ssl->s3->client_random);
++ memcpy(out, ssl->s3->client_random, outlen);
++ return outlen;
++}
++
++static size_t SSL_get_server_random(const SSL *ssl, unsigned char *out,
++ size_t outlen)
++{
++ if (outlen == 0)
++ return sizeof(ssl->s3->server_random);
++ if (outlen > sizeof(ssl->s3->server_random))
++ outlen = sizeof(ssl->s3->server_random);
++ memcpy(out, ssl->s3->server_random, outlen);
++ return outlen;
++}
++
++static size_t SSL_SESSION_get_master_key(const SSL_SESSION *session,
++ unsigned char *out, size_t outlen)
++{
++ if (outlen == 0)
++ return session->master_key_length;
++ if (outlen > session->master_key_length)
++ outlen = session->master_key_length;
++ memcpy(out, session->master_key, outlen);
++ return outlen;
++}
++
++/* Avoid a deprecated warning in OpenSSL 1.1 whilst still allowing to build against 1.0.x */
++#define TLS_method TLSv1_method
++
++#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
++
++/*
++ * TLS PRF from RFC 2246
++ */
++static void P_hash(const EVP_MD *evp_md,
++ const unsigned char *secret, unsigned int secret_len,
++ const unsigned char *seed, unsigned int seed_len,
++ unsigned char *out, unsigned int out_len)
++{
++ HMAC_CTX *ctx_a, *ctx_out;
++ unsigned char a[HMAC_MAX_MD_CBLOCK];
++ unsigned int size;
++
++ ctx_a = HMAC_CTX_new();
++ ctx_out = HMAC_CTX_new();
++ HMAC_Init_ex(ctx_a, secret, secret_len, evp_md, NULL);
++ HMAC_Init_ex(ctx_out, secret, secret_len, evp_md, NULL);
++
++ size = HMAC_size(ctx_out);
++
++ /* Calculate A(1) */
++ HMAC_Update(ctx_a, seed, seed_len);
++ HMAC_Final(ctx_a, a, NULL);
++
++ while (1) {
++ /* Calculate next part of output */
++ HMAC_Update(ctx_out, a, size);
++ HMAC_Update(ctx_out, seed, seed_len);
++
++ /* Check if last part */
++ if (out_len < size) {
++ HMAC_Final(ctx_out, a, NULL);
++ memcpy(out, a, out_len);
++ break;
++ }
++
++ /* Place digest in output buffer */
++ HMAC_Final(ctx_out, out, NULL);
++ HMAC_Init_ex(ctx_out, NULL, 0, NULL, NULL);
++ out += size;
++ out_len -= size;
++
++ /* Calculate next A(i) */
++ HMAC_Init_ex(ctx_a, NULL, 0, NULL, NULL);
++ HMAC_Update(ctx_a, a, size);
++ HMAC_Final(ctx_a, a, NULL);
++ }
++
++ HMAC_CTX_free(ctx_a);
++ HMAC_CTX_free(ctx_out);
++ memset(a, 0, sizeof(a));
++}
++
++static void PRF(const unsigned char *secret, unsigned int secret_len,
++ const unsigned char *seed, unsigned int seed_len,
++ unsigned char *out, unsigned char *buf, unsigned int out_len)
++{
++ unsigned int i;
++ unsigned int len = (secret_len + 1) / 2;
++ const unsigned char *s1 = secret;
++ const unsigned char *s2 = secret + (secret_len - len);
++
++ P_hash(EVP_md5(), s1, len, seed, seed_len, out, out_len);
++ P_hash(EVP_sha1(), s2, len, seed, seed_len, buf, out_len);
++
++ for (i=0; i < out_len; i++) {
++ out[i] ^= buf[i];
++ }
++}
++
++#define EAPTLS_MPPE_KEY_LEN 32
++
++/*
++ * Generate keys according to RFC 2716 and add to reply
++ */
++void eaptls_gen_mppe_keys(struct eaptls_session *ets, const char *prf_label,
++ int client)
++{
++ unsigned char out[4*EAPTLS_MPPE_KEY_LEN], buf[4*EAPTLS_MPPE_KEY_LEN];
++ unsigned char seed[64 + 2*SSL3_RANDOM_SIZE];
++ unsigned char *p = seed;
++ SSL *s = ets->ssl;
++ size_t prf_size;
++ unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH];
++ size_t master_key_length;
++
++ prf_size = strlen(prf_label);
++
++ memcpy(p, prf_label, prf_size);
++ p += prf_size;
++
++ prf_size += SSL_get_client_random(s, p, SSL3_RANDOM_SIZE);
++ p += SSL3_RANDOM_SIZE;
++
++ prf_size += SSL_get_server_random(s, p, SSL3_RANDOM_SIZE);
++
++ master_key_length = SSL_SESSION_get_master_key(SSL_get_session(s), master_key,
++ sizeof(master_key));
++ PRF(master_key, master_key_length, seed, prf_size, out, buf, sizeof(out));
++
++ /*
++ * We now have the master send and receive keys.
++ * From these, generate the session send and receive keys.
++ * (see RFC3079 / draft-ietf-pppext-mppe-keys-03.txt for details)
++ */
++ if (client)
++ {
++ p = out;
++ BCOPY( p, mppe_send_key, sizeof(mppe_send_key) );
++ p += EAPTLS_MPPE_KEY_LEN;
++ BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) );
++ }
++ else
++ {
++ p = out;
++ BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) );
++ p += EAPTLS_MPPE_KEY_LEN;
++ BCOPY( p, mppe_send_key, sizeof(mppe_send_key) );
++ }
++
++ mppe_keys_set = 1;
++}
++
++#endif
++
++void log_ssl_errors( void )
++{
++ unsigned long ssl_err = ERR_get_error();
++
++ if (ssl_err != 0)
++ dbglog("EAP-TLS SSL error stack:");
++ while (ssl_err != 0) {
++ dbglog( ERR_error_string( ssl_err, NULL ) );
++ ssl_err = ERR_get_error();
++ }
++}
++
++
++int password_callback (char *buf, int size, int rwflag, void *u)
++{
++ if (buf)
++ {
++ strncpy (buf, passwd, size);
++ return strlen (buf);
++ }
++ return 0;
++}
++
++
++CONF *eaptls_ssl_load_config( void )
++{
++ CONF *config;
++ int ret_code;
++ long error_line = 33;
++
++ config = NCONF_new( NULL );
++ dbglog( "Loading OpenSSL config file" );
++ ret_code = NCONF_load( config, _PATH_OPENSSLCONFFILE, &error_line );
++ if (ret_code == 0)
++ {
++ warn( "EAP-TLS: Error in OpenSSL config file %s at line %d", _PATH_OPENSSLCONFFILE, error_line );
++ NCONF_free( config );
++ config = NULL;
++ ERR_clear_error();
++ }
++
++ dbglog( "Loading OpenSSL built-ins" );
++ ENGINE_load_builtin_engines();
++ OPENSSL_load_builtin_modules();
++
++ dbglog( "Loading OpenSSL configured modules" );
++ if (CONF_modules_load( config, NULL, 0 ) <= 0 )
++ {
++ warn( "EAP-TLS: Error loading OpenSSL modules" );
++ log_ssl_errors();
++ config = NULL;
++ }
++
++ return config;
++}
++
++ENGINE *eaptls_ssl_load_engine( char *engine_name )
++{
++ ENGINE *e = NULL;
++
++ dbglog( "Enabling OpenSSL auto engines" );
++ ENGINE_register_all_complete();
++
++ dbglog( "Loading OpenSSL '%s' engine support", engine_name );
++ e = ENGINE_by_id( engine_name );
++ if (!e)
++ {
++ dbglog( "EAP-TLS: Cannot load '%s' engine support, trying 'dynamic'", engine_name );
++ e = ENGINE_by_id( "dynamic" );
++ if (e)
++ {
++ if (!ENGINE_ctrl_cmd_string(e, "SO_PATH", engine_name, 0)
++ || !ENGINE_ctrl_cmd_string(e, "LOAD", NULL, 0))
++ {
++ warn( "EAP-TLS: Error loading dynamic engine '%s'", engine_name );
++ log_ssl_errors();
++ ENGINE_free(e);
++ e = NULL;
++ }
++ }
++ else
++ {
++ warn( "EAP-TLS: Cannot load dynamic engine support" );
++ }
++ }
++
++ if (e)
++ {
++ dbglog( "Initialising engine" );
++ if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
++ {
++ warn( "EAP-TLS: Cannot use that engine" );
++ log_ssl_errors();
++ ENGINE_free(e);
++ e = NULL;
++ }
++ }
++
++ return e;
++}
++
++/*
++ * Initialize the SSL stacks and tests if certificates, key and crl
++ * for client or server use can be loaded.
++ */
++SSL_CTX *eaptls_init_ssl(int init_server, char *cacertfile,
++ char *certfile, char *peer_certfile, char *privkeyfile)
++{
++ char *cert_engine_name = NULL;
++ char *cert_identifier = NULL;
++ char *pkey_engine_name = NULL;
++ char *pkey_identifier = NULL;
++ SSL_CTX *ctx;
++ X509_STORE *certstore;
++ X509_LOOKUP *lookup;
++ X509 *tmp;
++
++ /*
++ * Without these can't continue
++ */
++ if (!cacertfile[0])
++ {
++ error("EAP-TLS: CA certificate missing");
++ return NULL;
++ }
++
++ if (!certfile[0])
++ {
++ error("EAP-TLS: User certificate missing");
++ return NULL;
++ }
++
++ if (!privkeyfile[0])
++ {
++ error("EAP-TLS: User private key missing");
++ return NULL;
++ }
++
++ SSL_library_init();
++ SSL_load_error_strings();
++
++ ctx = SSL_CTX_new(TLS_method());
++
++ if (!ctx) {
++ error("EAP-TLS: Cannot initialize SSL CTX context");
++ goto fail;
++ }
++
++ /* if the certificate filename is of the form engine:id. e.g.
++ pkcs11:12345
++ then we try to load and use this engine.
++ If the certificate filename starts with a / or . then we
++ ALWAYS assume it is a file and not an engine/pkcs11 identifier
++ */
++ if ( index( certfile, '/' ) == NULL && index( certfile, '.') == NULL )
++ {
++ cert_identifier = index( certfile, ':' );
++
++ if (cert_identifier)
++ {
++ cert_engine_name = certfile;
++ *cert_identifier = '\0';
++ cert_identifier++;
++
++ dbglog( "Found certificate engine '%s'", cert_engine_name );
++ dbglog( "Found certificate identifier '%s'", cert_identifier );
++ }
++ }
++
++ /* if the privatekey filename is of the form engine:id. e.g.
++ pkcs11:12345
++ then we try to load and use this engine.
++ If the privatekey filename starts with a / or . then we
++ ALWAYS assume it is a file and not an engine/pkcs11 identifier
++ */
++ if ( index( privkeyfile, '/' ) == NULL && index( privkeyfile, '.') == NULL )
++ {
++ pkey_identifier = index( privkeyfile, ':' );
++
++ if (pkey_identifier)
++ {
++ pkey_engine_name = privkeyfile;
++ *pkey_identifier = '\0';
++ pkey_identifier++;
++
++ dbglog( "Found privatekey engine '%s'", pkey_engine_name );
++ dbglog( "Found privatekey identifier '%s'", pkey_identifier );
++ }
++ }
++
++ if (cert_identifier && pkey_identifier)
++ {
++ if (strlen( cert_identifier ) == 0)
++ {
++ if (strlen( pkey_identifier ) == 0)
++ error( "EAP-TLS: both the certificate and privatekey identifiers are missing!" );
++ else
++ {
++ dbglog( "Substituting privatekey identifier for certificate identifier" );
++ cert_identifier = pkey_identifier;
++ }
++ }
++ else
++ {
++ if (strlen( pkey_identifier ) == 0)
++ {
++ dbglog( "Substituting certificate identifier for privatekey identifier" );
++ pkey_identifier = cert_identifier;
++ }
++ }
++
++ }
++
++ /* load the openssl config file only once */
++ if (!ssl_config)
++ {
++ if (cert_engine_name || pkey_engine_name)
++ ssl_config = eaptls_ssl_load_config();
++
++ if (ssl_config && cert_engine_name)
++ cert_engine = eaptls_ssl_load_engine( cert_engine_name );
++
++ if (ssl_config && pkey_engine_name)
++ {
++ /* don't load the same engine twice */
++ if ( cert_engine && strcmp( cert_engine_name, pkey_engine_name) == 0 )
++ pkey_engine = cert_engine;
++ else
++ pkey_engine = eaptls_ssl_load_engine( pkey_engine_name );
++ }
++ }
++
++ SSL_CTX_set_default_passwd_cb (ctx, password_callback);
++
++ if (!SSL_CTX_load_verify_locations(ctx, cacertfile, NULL))
++ {
++ error("EAP-TLS: Cannot load or verify CA file %s", cacertfile);
++ goto fail;
++ }
++
++ if (init_server)
++ SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(cacertfile));
++
++ if (cert_engine)
++ {
++ struct
++ {
++ const char *s_slot_cert_id;
++ X509 *cert;
++ } cert_info;
++
++ cert_info.s_slot_cert_id = cert_identifier;
++ cert_info.cert = NULL;
++
++ if (!ENGINE_ctrl_cmd( cert_engine, "LOAD_CERT_CTRL", 0, &cert_info, NULL, 0 ) )
++ {
++ error( "EAP-TLS: Error loading certificate with id '%s' from engine", cert_identifier );
++ goto fail;
++ }
++
++ if (cert_info.cert)
++ {
++ dbglog( "Got the certificate, adding it to SSL context" );
++ dbglog( "subject = %s", X509_NAME_oneline( X509_get_subject_name( cert_info.cert ), NULL, 0 ) );
++ if (SSL_CTX_use_certificate(ctx, cert_info.cert) <= 0)
++ {
++ error("EAP-TLS: Cannot use PKCS11 certificate %s", cert_identifier);
++ goto fail;
++ }
++ }
++ else
++ {
++ warn("EAP-TLS: Cannot load PKCS11 key %s", cert_identifier);
++ log_ssl_errors();
++ }
++ }
++ else
++ {
++ if (!SSL_CTX_use_certificate_file(ctx, certfile, SSL_FILETYPE_PEM))
++ {
++ error( "EAP-TLS: Cannot use public certificate %s", certfile );
++ goto fail;
++ }
++ }
++
++ if (pkey_engine)
++ {
++ EVP_PKEY *pkey = NULL;
++ PW_CB_DATA cb_data;
++
++ cb_data.password = passwd;
++ cb_data.prompt_info = pkey_identifier;
++
++ dbglog( "Loading private key '%s' from engine", pkey_identifier );
++ pkey = ENGINE_load_private_key(pkey_engine, pkey_identifier, NULL, &cb_data);
++ if (pkey)
++ {
++ dbglog( "Got the private key, adding it to SSL context" );
++ if (SSL_CTX_use_PrivateKey(ctx, pkey) <= 0)
++ {
++ error("EAP-TLS: Cannot use PKCS11 key %s", pkey_identifier);
++ goto fail;
++ }
++ }
++ else
++ {
++ warn("EAP-TLS: Cannot load PKCS11 key %s", pkey_identifier);
++ log_ssl_errors();
++ }
++ }
++ else
++ {
++ if (!SSL_CTX_use_PrivateKey_file(ctx, privkeyfile, SSL_FILETYPE_PEM))
++ {
++ error("EAP-TLS: Cannot use private key %s", privkeyfile);
++ goto fail;
++ }
++ }
++
++ if (SSL_CTX_check_private_key(ctx) != 1) {
++ error("EAP-TLS: Private key %s fails security check", privkeyfile);
++ goto fail;
++ }
++
++ /* Explicitly set the NO_TICKETS flag to support Win7/Win8 clients */
++ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3
++#ifdef SSL_OP_NO_TICKET
++ | SSL_OP_NO_TICKET
++#endif
++);
++ SSL_CTX_set_verify_depth(ctx, 5);
++ SSL_CTX_set_verify(ctx,
++ SSL_VERIFY_PEER |
++ SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
++ &ssl_verify_callback);
++
++ if (crl_dir) {
++ if (!(certstore = SSL_CTX_get_cert_store(ctx))) {
++ error("EAP-TLS: Failed to get certificate store");
++ goto fail;
++ }
++
++ if (!(lookup =
++ X509_STORE_add_lookup(certstore, X509_LOOKUP_hash_dir()))) {
++ error("EAP-TLS: Store lookup for CRL failed");
++
++ goto fail;
++ }
++
++ X509_LOOKUP_add_dir(lookup, crl_dir, X509_FILETYPE_PEM);
++ X509_STORE_set_flags(certstore, X509_V_FLAG_CRL_CHECK);
++ }
++
++ if (crl_file) {
++ FILE *fp = NULL;
++ X509_CRL *crl = NULL;
++
++ fp = fopen(crl_file, "r");
++ if (!fp) {
++ error("EAP-TLS: Cannot open CRL file '%s'", crl_file);
++ goto fail;
++ }
++
++ crl = PEM_read_X509_CRL(fp, NULL, NULL, NULL);
++ if (!crl) {
++ error("EAP-TLS: Cannot read CRL file '%s'", crl_file);
++ goto fail;
++ }
++
++ if (!(certstore = SSL_CTX_get_cert_store(ctx))) {
++ error("EAP-TLS: Failed to get certificate store");
++ goto fail;
++ }
++ if (!X509_STORE_add_crl(certstore, crl)) {
++ error("EAP-TLS: Cannot add CRL to certificate store");
++ goto fail;
++ }
++ X509_STORE_set_flags(certstore, X509_V_FLAG_CRL_CHECK);
++
++ }
++
++ /*
++ * If a peer certificate file was specified, it must be valid, else fail
++ */
++ if (peer_certfile[0]) {
++ if (!(tmp = get_X509_from_file(peer_certfile))) {
++ error("EAP-TLS: Error loading client certificate from file %s",
++ peer_certfile);
++ goto fail;
++ }
++ X509_free(tmp);
++ }
++
++ return ctx;
++
++fail:
++ log_ssl_errors();
++ SSL_CTX_free(ctx);
++ return NULL;
++}
++
++/*
++ * Determine the maximum packet size by looking at the LCP handshake
++ */
++
++int eaptls_get_mtu(int unit)
++{
++ int mtu, mru;
++
++ lcp_options *wo = &lcp_wantoptions[unit];
++ lcp_options *go = &lcp_gotoptions[unit];
++ lcp_options *ho = &lcp_hisoptions[unit];
++ lcp_options *ao = &lcp_allowoptions[unit];
++
++ mtu = ho->neg_mru? ho->mru: PPP_MRU;
++ mru = go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU;
++ mtu = MIN(MIN(mtu, mru), ao->mru)- PPP_HDRLEN - 10;
++
++ dbglog("MTU = %d", mtu);
++ return mtu;
++}
++
++
++/*
++ * Init the ssl handshake (server mode)
++ */
++int eaptls_init_ssl_server(eap_state * esp)
++{
++ struct eaptls_session *ets;
++ char servcertfile[MAXWORDLEN];
++ char clicertfile[MAXWORDLEN];
++ char cacertfile[MAXWORDLEN];
++ char pkfile[MAXWORDLEN];
++ /*
++ * Allocate new eaptls session
++ */
++ esp->es_server.ea_session = malloc(sizeof(struct eaptls_session));
++ if (!esp->es_server.ea_session)
++ fatal("Allocation error");
++ ets = esp->es_server.ea_session;
++
++ if (!esp->es_server.ea_peer) {
++ error("EAP-TLS: Error: client name not set (BUG)");
++ return 0;
++ }
++
++ strncpy(ets->peer, esp->es_server.ea_peer, MAXWORDLEN);
++
++ dbglog( "getting eaptls secret" );
++ if (!get_eaptls_secret(esp->es_unit, esp->es_server.ea_peer,
++ esp->es_server.ea_name, clicertfile,
++ servcertfile, cacertfile, pkfile, 1)) {
++ error( "EAP-TLS: Cannot get secret/password for client \"%s\", server \"%s\"",
++ esp->es_server.ea_peer, esp->es_server.ea_name );
++ return 0;
++ }
++
++ ets->mtu = eaptls_get_mtu(esp->es_unit);
++
++ ets->ctx = eaptls_init_ssl(1, cacertfile, servcertfile, clicertfile, pkfile);
++ if (!ets->ctx)
++ goto fail;
++
++ if (!(ets->ssl = SSL_new(ets->ctx)))
++ goto fail;
++
++ /*
++ * Set auto-retry to avoid timeouts on BIO_read
++ */
++ SSL_set_mode(ets->ssl, SSL_MODE_AUTO_RETRY);
++
++ /*
++ * Initialize the BIOs we use to read/write to ssl engine
++ */
++ ets->into_ssl = BIO_new(BIO_s_mem());
++ ets->from_ssl = BIO_new(BIO_s_mem());
++ SSL_set_bio(ets->ssl, ets->into_ssl, ets->from_ssl);
++
++ SSL_set_msg_callback(ets->ssl, ssl_msg_callback);
++ SSL_set_msg_callback_arg(ets->ssl, ets);
++
++ /*
++ * Attach the session struct to the connection, so we can later
++ * retrieve it when doing certificate verification
++ */
++ SSL_set_ex_data(ets->ssl, 0, ets);
++
++ SSL_set_accept_state(ets->ssl);
++
++ ets->data = NULL;
++ ets->datalen = 0;
++ ets->alert_sent = 0;
++ ets->alert_recv = 0;
++
++ /*
++ * If we specified the client certificate file, store it in ets->peercertfile,
++ * so we can check it later in ssl_verify_callback()
++ */
++ if (clicertfile[0])
++ strncpy(&ets->peercertfile[0], clicertfile, MAXWORDLEN);
++ else
++ ets->peercertfile[0] = 0;
++
++ return 1;
++
++fail:
++ SSL_CTX_free(ets->ctx);
++ return 0;
++}
++
++/*
++ * Init the ssl handshake (client mode)
++ */
++int eaptls_init_ssl_client(eap_state * esp)
++{
++ struct eaptls_session *ets;
++ char servcertfile[MAXWORDLEN];
++ char clicertfile[MAXWORDLEN];
++ char cacertfile[MAXWORDLEN];
++ char pkfile[MAXWORDLEN];
++
++ /*
++ * Allocate new eaptls session
++ */
++ esp->es_client.ea_session = malloc(sizeof(struct eaptls_session));
++ if (!esp->es_client.ea_session)
++ fatal("Allocation error");
++ ets = esp->es_client.ea_session;
++
++ /*
++ * If available, copy server name in ets; it will be used in cert
++ * verify
++ */
++ if (esp->es_client.ea_peer)
++ strncpy(ets->peer, esp->es_client.ea_peer, MAXWORDLEN);
++ else
++ ets->peer[0] = 0;
++
++ ets->mtu = eaptls_get_mtu(esp->es_unit);
++
++ dbglog( "calling get_eaptls_secret" );
++ if (!get_eaptls_secret(esp->es_unit, esp->es_client.ea_name,
++ ets->peer, clicertfile,
++ servcertfile, cacertfile, pkfile, 0)) {
++ error( "EAP-TLS: Cannot get secret/password for client \"%s\", server \"%s\"",
++ esp->es_client.ea_name, ets->peer );
++ return 0;
++ }
++
++ dbglog( "calling eaptls_init_ssl" );
++ ets->ctx = eaptls_init_ssl(0, cacertfile, clicertfile, servcertfile, pkfile);
++ if (!ets->ctx)
++ goto fail;
++
++ ets->ssl = SSL_new(ets->ctx);
++
++ if (!ets->ssl)
++ goto fail;
++
++ /*
++ * Initialize the BIOs we use to read/write to ssl engine
++ */
++ dbglog( "Initializing SSL BIOs" );
++ ets->into_ssl = BIO_new(BIO_s_mem());
++ ets->from_ssl = BIO_new(BIO_s_mem());
++ SSL_set_bio(ets->ssl, ets->into_ssl, ets->from_ssl);
++
++ SSL_set_msg_callback(ets->ssl, ssl_msg_callback);
++ SSL_set_msg_callback_arg(ets->ssl, ets);
++
++ /*
++ * Attach the session struct to the connection, so we can later
++ * retrieve it when doing certificate verification
++ */
++ SSL_set_ex_data(ets->ssl, 0, ets);
++
++ SSL_set_connect_state(ets->ssl);
++
++ ets->data = NULL;
++ ets->datalen = 0;
++ ets->alert_sent = 0;
++ ets->alert_recv = 0;
++
++ /*
++ * If we specified the server certificate file, store it in
++ * ets->peercertfile, so we can check it later in
++ * ssl_verify_callback()
++ */
++ if (servcertfile[0])
++ strncpy(ets->peercertfile, servcertfile, MAXWORDLEN);
++ else
++ ets->peercertfile[0] = 0;
++
++ return 1;
++
++fail:
++ dbglog( "eaptls_init_ssl_client: fail" );
++ SSL_CTX_free(ets->ctx);
++ return 0;
++
++}
++
++void eaptls_free_session(struct eaptls_session *ets)
++{
++ if (ets->ssl)
++ SSL_free(ets->ssl);
++
++ if (ets->ctx)
++ SSL_CTX_free(ets->ctx);
++
++ free(ets);
++}
++
++/*
++ * Handle a received packet, reassembling fragmented messages and
++ * passing them to the ssl engine
++ */
++int eaptls_receive(struct eaptls_session *ets, u_char * inp, int len)
++{
++ u_char flags;
++ u_int tlslen = 0;
++ u_char dummy[65536];
++
++ if (len < 1) {
++ warn("EAP-TLS: received no or invalid data");
++ return 1;
++ }
++
++ GETCHAR(flags, inp);
++ len--;
++
++ if (flags & EAP_TLS_FLAGS_LI && len >= 4) {
++ /*
++ * LenghtIncluded flag set -> this is the first packet of a message
++ */
++
++ /*
++ * the first 4 octets are the length of the EAP-TLS message
++ */
++ GETLONG(tlslen, inp);
++ len -= 4;
++
++ if (!ets->data) {
++
++ if (tlslen > EAP_TLS_MAX_LEN) {
++ error("EAP-TLS: TLS message length > %d, truncated", EAP_TLS_MAX_LEN);
++ tlslen = EAP_TLS_MAX_LEN;
++ }
++
++ /*
++ * Allocate memory for the whole message
++ */
++ ets->data = malloc(tlslen);
++ if (!ets->data)
++ fatal("EAP-TLS: allocation error\n");
++
++ ets->datalen = 0;
++ ets->tlslen = tlslen;
++ }
++ else
++ warn("EAP-TLS: non-first LI packet? that's odd...");
++ }
++ else if (!ets->data) {
++ /*
++ * A non fragmented message without LI flag
++ */
++
++ ets->data = malloc(len);
++ if (!ets->data)
++ fatal("EAP-TLS: allocation error\n");
++
++ ets->datalen = 0;
++ ets->tlslen = len;
++ }
++
++ if (flags & EAP_TLS_FLAGS_MF)
++ ets->frag = 1;
++ else
++ ets->frag = 0;
++
++ if (len < 0) {
++ warn("EAP-TLS: received malformed data");
++ return 1;
++ }
++
++ if (len + ets->datalen > ets->tlslen) {
++ warn("EAP-TLS: received data > TLS message length");
++ return 1;
++ }
++
++ BCOPY(inp, ets->data + ets->datalen, len);
++ ets->datalen += len;
++
++ if (!ets->frag) {
++
++ /*
++ * If we have the whole message, pass it to ssl
++ */
++
++ if (ets->datalen != ets->tlslen) {
++ warn("EAP-TLS: received data != TLS message length");
++ return 1;
++ }
++
++ if (BIO_write(ets->into_ssl, ets->data, ets->datalen) == -1)
++ log_ssl_errors();
++
++ SSL_read(ets->ssl, dummy, 65536);
++
++ free(ets->data);
++ ets->data = NULL;
++ ets->datalen = 0;
++ }
++
++ return 0;
++}
++
++/*
++ * Return an eap-tls packet in outp.
++ * A TLS message read from the ssl engine is buffered in ets->data.
++ * At each call we control if there is buffered data and send a
++ * packet of mtu bytes.
++ */
++int eaptls_send(struct eaptls_session *ets, u_char ** outp)
++{
++ bool first = 0;
++ int size;
++ u_char fromtls[65536];
++ int res;
++ u_char *start;
++
++ start = *outp;
++
++ if (!ets->data) {
++
++ if(!ets->alert_sent)
++ SSL_read(ets->ssl, fromtls, 65536);
++
++ /*
++ * Read from ssl
++ */
++ if ((res = BIO_read(ets->from_ssl, fromtls, 65536)) == -1)
++ fatal("No data from BIO_read");
++
++ ets->datalen = res;
++
++ ets->data = malloc(ets->datalen);
++ BCOPY(fromtls, ets->data, ets->datalen);
++
++ ets->offset = 0;
++ first = 1;
++
++ }
++
++ size = ets->datalen - ets->offset;
++
++ if (size > ets->mtu) {
++ size = ets->mtu;
++ ets->frag = 1;
++ } else
++ ets->frag = 0;
++
++ PUTCHAR(EAPT_TLS, *outp);
++
++ /*
++ * Set right flags and length if necessary
++ */
++ if (ets->frag && first) {
++ PUTCHAR(EAP_TLS_FLAGS_LI | EAP_TLS_FLAGS_MF, *outp);
++ PUTLONG(ets->datalen, *outp);
++ } else if (ets->frag) {
++ PUTCHAR(EAP_TLS_FLAGS_MF, *outp);
++ } else
++ PUTCHAR(0, *outp);
++
++ /*
++ * Copy the data in outp
++ */
++ BCOPY(ets->data + ets->offset, *outp, size);
++ INCPTR(size, *outp);
++
++ /*
++ * Copy the packet in retransmission buffer
++ */
++ BCOPY(start, &ets->rtx[0], *outp - start);
++ ets->rtx_len = *outp - start;
++
++ ets->offset += size;
++
++ if (ets->offset >= ets->datalen) {
++
++ /*
++ * The whole message has been sent
++ */
++
++ free(ets->data);
++ ets->data = NULL;
++ ets->datalen = 0;
++ ets->offset = 0;
++ }
++
++ return 0;
++}
++
++/*
++ * Get the sent packet from the retransmission buffer
++ */
++void eaptls_retransmit(struct eaptls_session *ets, u_char ** outp)
++{
++ BCOPY(ets->rtx, *outp, ets->rtx_len);
++ INCPTR(ets->rtx_len, *outp);
++}
++
++/*
++ * Verify a certificate.
++ * Most of the work (signatures and issuer attributes checking)
++ * is done by ssl; we check the CN in the peer certificate
++ * against the peer name.
++ */
++int ssl_verify_callback(int preverify_ok, X509_STORE_CTX * ctx)
++{
++ char subject[256];
++ char cn_str[256];
++ X509 *peer_cert;
++ int err, depth;
++ int ok = preverify_ok;
++ SSL *ssl;
++ struct eaptls_session *ets;
++
++ peer_cert = X509_STORE_CTX_get_current_cert(ctx);
++ err = X509_STORE_CTX_get_error(ctx);
++ depth = X509_STORE_CTX_get_error_depth(ctx);
++
++ dbglog("certificate verify depth: %d", depth);
++
++ if (auth_required && !ok) {
++ X509_NAME_oneline(X509_get_subject_name(peer_cert),
++ subject, 256);
++
++ X509_NAME_get_text_by_NID(X509_get_subject_name(peer_cert),
++ NID_commonName, cn_str, 256);
++
++ dbglog("Certificate verification error:\n depth: %d CN: %s"
++ "\n err: %d (%s)\n", depth, cn_str, err,
++ X509_verify_cert_error_string(err));
++
++ return 0;
++ }
++
++ ssl = X509_STORE_CTX_get_ex_data(ctx,
++ SSL_get_ex_data_X509_STORE_CTX_idx());
++
++ ets = (struct eaptls_session *)SSL_get_ex_data(ssl, 0);
++
++ if (ets == NULL) {
++ error("Error: SSL_get_ex_data returned NULL");
++ return 0;
++ }
++
++ log_ssl_errors();
++
++ if (!depth) { /* This is the peer certificate */
++
++ X509_NAME_oneline(X509_get_subject_name(peer_cert),
++ subject, 256);
++
++ X509_NAME_get_text_by_NID(X509_get_subject_name(peer_cert),
++ NID_commonName, cn_str, 256);
++
++ /*
++ * If acting as client and the name of the server wasn't specified
++ * explicitely, we can't verify the server authenticity
++ */
++ if (!ets->peer[0]) {
++ warn("Peer name not specified: no check");
++ return 1;
++ }
++
++ /*
++ * Check the CN
++ */
++ if (strcmp(cn_str, ets->peer)) {
++ error
++ ("Certificate verification error: CN (%s) != peer_name (%s)",
++ cn_str, ets->peer);
++ return 0;
++ }
++
++ warn("Certificate CN: %s , peer name %s", cn_str, ets->peer);
++
++ /*
++ * If a peer certificate file was specified, here we check it
++ */
++ if (ets->peercertfile[0]) {
++ if (ssl_cmp_certs(&ets->peercertfile[0], peer_cert)
++ != 0) {
++ error
++ ("Peer certificate doesn't match stored certificate");
++ return 0;
++ }
++ }
++ }
++
++ return 1;
++}
++
++/*
++ * Compare a certificate with the one stored in a file
++ */
++int ssl_cmp_certs(char *filename, X509 * a)
++{
++ X509 *b;
++ int ret;
++
++ if (!(b = get_X509_from_file(filename)))
++ return 1;
++
++ ret = X509_cmp(a, b);
++ X509_free(b);
++
++ return ret;
++
++}
++
++X509 *get_X509_from_file(char *filename)
++{
++ FILE *fp;
++ X509 *ret;
++
++ if (!(fp = fopen(filename, "r")))
++ return NULL;
++
++ ret = PEM_read_X509(fp, NULL, NULL, NULL);
++
++ fclose(fp);
++
++ return ret;
++}
++
++/*
++ * Every sent & received message this callback function is invoked,
++ * so we know when alert messages have arrived or are sent and
++ * we can print debug information about TLS handshake.
++ */
++void
++ssl_msg_callback(int write_p, int version, int content_type,
++ const void *buf, size_t len, SSL * ssl, void *arg)
++{
++ char string[256];
++ struct eaptls_session *ets = (struct eaptls_session *)arg;
++ unsigned char code;
++ const unsigned char*msg = buf;
++ int hvers = msg[1] << 8 | msg[2];
++
++ if(write_p)
++ strcpy(string, " -> ");
++ else
++ strcpy(string, " <- ");
++
++ switch(content_type) {
++
++ case SSL3_RT_HEADER:
++ strcat(string, "SSL/TLS Header: ");
++ switch(hvers) {
++ case SSL3_VERSION:
++ strcat(string, "SSL 3.0");
++ break;
++ case TLS1_VERSION:
++ strcat(string, "TLS 1.0");
++ break;
++ case TLS1_1_VERSION:
++ strcat(string, "TLS 1.1");
++ break;
++ case TLS1_2_VERSION:
++ strcat(string, "TLS 1.2");
++ break;
++ case DTLS1_VERSION:
++ strcat(string, "DTLS 1.0");
++ break;
++ case DTLS1_2_VERSION:
++ strcat(string, "DTLS 1.2");
++ break;
++ default:
++ strcat(string, "Unknown version");
++ }
++ break;
++
++ case SSL3_RT_ALERT:
++ strcat(string, "Alert: ");
++ code = msg[1];
++
++ if (write_p) {
++ ets->alert_sent = 1;
++ ets->alert_sent_desc = code;
++ } else {
++ ets->alert_recv = 1;
++ ets->alert_recv_desc = code;
++ }
++
++ strcat(string, SSL_alert_desc_string_long(code));
++ break;
++
++ case SSL3_RT_CHANGE_CIPHER_SPEC:
++ strcat(string, "ChangeCipherSpec");
++ break;
++
++ case SSL3_RT_HANDSHAKE:
++
++ strcat(string, "Handshake: ");
++ code = msg[0];
++
++ switch(code) {
++ case SSL3_MT_HELLO_REQUEST:
++ strcat(string,"Hello Request");
++ break;
++ case SSL3_MT_CLIENT_HELLO:
++ strcat(string,"Client Hello");
++ break;
++ case SSL3_MT_SERVER_HELLO:
++ strcat(string,"Server Hello");
++ break;
++#ifdef SSL3_MT_NEWSESSION_TICKET
++ case SSL3_MT_NEWSESSION_TICKET:
++ strcat(string,"New Session Ticket");
++ break;
++#endif
++ case SSL3_MT_CERTIFICATE:
++ strcat(string,"Certificate");
++ break;
++ case SSL3_MT_SERVER_KEY_EXCHANGE:
++ strcat(string,"Server Key Exchange");
++ break;
++ case SSL3_MT_CERTIFICATE_REQUEST:
++ strcat(string,"Certificate Request");
++ break;
++ case SSL3_MT_SERVER_DONE:
++ strcat(string,"Server Hello Done");
++ break;
++ case SSL3_MT_CERTIFICATE_VERIFY:
++ strcat(string,"Certificate Verify");
++ break;
++ case SSL3_MT_CLIENT_KEY_EXCHANGE:
++ strcat(string,"Client Key Exchange");
++ break;
++ case SSL3_MT_FINISHED:
++ strcat(string,"Finished");
++ break;
++
++ default:
++ sprintf( string, "Handshake: Unknown SSL3 code received: %d", code );
++ }
++ break;
++
++ default:
++ sprintf( string, "SSL message contains unknown content type: %d", content_type );
++
++ }
++
++ /* Alert messages must always be displayed */
++ if(content_type == SSL3_RT_ALERT)
++ error("%s", string);
++ else
++ dbglog("%s", string);
++}
++
+diff -Naur ppp-2.4.7/pppd/eap-tls.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.h
+--- ppp-2.4.7/pppd/eap-tls.h 1970-01-01 01:00:00.000000000 +0100
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap-tls.h 2018-06-02 01:42:04.023165433 +0200
+@@ -0,0 +1,107 @@
++/*
++ * eap-tls.h
++ *
++ * Copyright (c) Beniamino Galvani 2005 All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The name(s) of the authors of this software must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission.
++ *
++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ *
++ */
++
++#ifndef __EAP_TLS_H__
++#define __EAP_TLS_H__
++
++#include "eap.h"
++
++#include <openssl/ssl.h>
++#include <openssl/bio.h>
++#include <openssl/md5.h>
++
++#define EAP_TLS_FLAGS_LI 128 /* length included flag */
++#define EAP_TLS_FLAGS_MF 64 /* more fragments flag */
++#define EAP_TLS_FLAGS_START 32 /* start flag */
++
++#define EAP_TLS_MAX_LEN 65536 /* max eap tls packet size */
++
++struct eaptls_session
++{
++ u_char *data; /* buffered data */
++ int datalen; /* buffered data len */
++ int offset; /* from where to send */
++ int tlslen; /* total length of tls data */
++ bool frag; /* packet is fragmented */
++ SSL_CTX *ctx;
++ SSL *ssl; /* ssl connection */
++ BIO *from_ssl;
++ BIO *into_ssl;
++ char peer[MAXWORDLEN]; /* peer name */
++ char peercertfile[MAXWORDLEN];
++ bool alert_sent;
++ u_char alert_sent_desc;
++ bool alert_recv;
++ u_char alert_recv_desc;
++ char rtx[65536]; /* retransmission buffer */
++ int rtx_len;
++ int mtu; /* unit mtu */
++};
++
++typedef struct pw_cb_data
++{
++ const void *password;
++ const char *prompt_info;
++} PW_CB_DATA;
++
++
++int ssl_verify_callback(int, X509_STORE_CTX *);
++void ssl_msg_callback(int write_p, int version, int ct, const void *buf,
++ size_t len, SSL * ssl, void *arg);
++
++X509 *get_X509_from_file(char *filename);
++int ssl_cmp_certs(char *filename, X509 * a);
++
++SSL_CTX *eaptls_init_ssl(int init_server, char *cacertfile,
++ char *certfile, char *peer_certfile, char *privkeyfile);
++int eaptls_init_ssl_server(eap_state * esp);
++int eaptls_init_ssl_client(eap_state * esp);
++void eaptls_free_session(struct eaptls_session *ets);
++
++int eaptls_receive(struct eaptls_session *ets, u_char * inp, int len);
++int eaptls_send(struct eaptls_session *ets, u_char ** outp);
++void eaptls_retransmit(struct eaptls_session *ets, u_char ** outp);
++
++int get_eaptls_secret(int unit, char *client, char *server,
++ char *clicertfile, char *servcertfile, char *cacertfile,
++ char *pkfile, int am_server);
++
++#ifdef MPPE
++#include "mppe.h" /* MPPE_MAX_KEY_LEN */
++extern u_char mppe_send_key[MPPE_MAX_KEY_LEN];
++extern u_char mppe_recv_key[MPPE_MAX_KEY_LEN];
++extern int mppe_keys_set;
++
++void eaptls_gen_mppe_keys(struct eaptls_session *ets, const char *prf_label, int client);
++
++#endif
++
++#endif
+diff -Naur ppp-2.4.7/pppd/eap.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.c
+--- ppp-2.4.7/pppd/eap.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.c 2018-06-02 01:42:04.023165433 +0200
+@@ -43,6 +43,11 @@
+ * Based on draft-ietf-pppext-eap-srp-03.txt.
+ */
+
++/*
++ * Modification by Beniamino Galvani, Mar 2005
++ * Implemented EAP-TLS authentication
++ */
++
+ #define RCSID "$Id: eap.c,v 1.4 2004/11/09 22:39:25 paulus Exp $"
+
+ /*
+@@ -62,8 +67,12 @@
+
+ #include "pppd.h"
+ #include "pathnames.h"
+-#include "md5.h"
+ #include "eap.h"
++#ifdef USE_EAPTLS
++#include "eap-tls.h"
++#else
++#include "md5.h"
++#endif /* USE_EAPTLS */
+
+ #ifdef USE_SRP
+ #include <t_pwd.h>
+@@ -209,6 +218,9 @@
+ esp->es_server.ea_id = (u_char)(drand48() * 0x100);
+ esp->es_client.ea_timeout = EAP_DEFREQTIME;
+ esp->es_client.ea_maxrequests = EAP_DEFALLOWREQ;
++#ifdef USE_EAPTLS
++ esp->es_client.ea_using_eaptls = 0;
++#endif /* USE_EAPTLS */
+ }
+
+ /*
+@@ -436,8 +448,16 @@
+ u_char vals[2];
+ struct b64state bs;
+ #endif /* USE_SRP */
++#ifdef USE_EAPTLS
++ struct eaptls_session *ets;
++ int secret_len;
++ char secret[MAXWORDLEN];
++#endif /* USE_EAPTLS */
+
+ esp->es_server.ea_timeout = esp->es_savedtime;
++#ifdef USE_EAPTLS
++ esp->es_server.ea_prev_state = esp->es_server.ea_state;
++#endif /* USE_EAPTLS */
+ switch (esp->es_server.ea_state) {
+ case eapBadAuth:
+ return;
+@@ -562,9 +582,79 @@
+ break;
+ }
+ #endif /* USE_SRP */
++#ifdef USE_EAPTLS
++ if (!get_secret(esp->es_unit, esp->es_server.ea_peer,
++ esp->es_server.ea_name, secret, &secret_len, 1)) {
++
++ esp->es_server.ea_state = eapTlsStart;
++ break;
++ }
++#endif /* USE_EAPTLS */
++
+ esp->es_server.ea_state = eapMD5Chall;
+ break;
+
++#ifdef USE_EAPTLS
++ case eapTlsStart:
++ /* Initialize ssl session */
++ if(!eaptls_init_ssl_server(esp)) {
++ esp->es_server.ea_state = eapBadAuth;
++ break;
++ }
++
++ esp->es_server.ea_state = eapTlsRecv;
++ break;
++
++ case eapTlsRecv:
++ ets = (struct eaptls_session *) esp->es_server.ea_session;
++
++ if(ets->alert_sent) {
++ esp->es_server.ea_state = eapTlsSendAlert;
++ break;
++ }
++
++ if (status) {
++ esp->es_server.ea_state = eapBadAuth;
++ break;
++ }
++ ets = (struct eaptls_session *) esp->es_server.ea_session;
++
++ if(ets->frag)
++ esp->es_server.ea_state = eapTlsSendAck;
++ else
++ esp->es_server.ea_state = eapTlsSend;
++ break;
++
++ case eapTlsSend:
++ ets = (struct eaptls_session *) esp->es_server.ea_session;
++
++ if(ets->frag)
++ esp->es_server.ea_state = eapTlsRecvAck;
++ else
++ if(SSL_is_init_finished(ets->ssl))
++ esp->es_server.ea_state = eapTlsRecvClient;
++ else
++ esp->es_server.ea_state = eapTlsRecv;
++ break;
++
++ case eapTlsSendAck:
++ esp->es_server.ea_state = eapTlsRecv;
++ break;
++
++ case eapTlsRecvAck:
++ if (status) {
++ esp->es_server.ea_state = eapBadAuth;
++ break;
++ }
++
++ esp->es_server.ea_state = eapTlsSend;
++ break;
++
++ case eapTlsSendAlert:
++ esp->es_server.ea_state = eapTlsRecvAlertAck;
++ break;
++#endif /* USE_EAPTLS */
++
+ case eapSRP1:
+ #ifdef USE_SRP
+ ts = (struct t_server *)esp->es_server.ea_session;
+@@ -718,6 +808,30 @@
+ INCPTR(esp->es_server.ea_namelen, outp);
+ break;
+
++#ifdef USE_EAPTLS
++ case eapTlsStart:
++ PUTCHAR(EAPT_TLS, outp);
++ PUTCHAR(EAP_TLS_FLAGS_START, outp);
++ eap_figure_next_state(esp, 0);
++ break;
++
++ case eapTlsSend:
++ eaptls_send(esp->es_server.ea_session, &outp);
++ eap_figure_next_state(esp, 0);
++ break;
++
++ case eapTlsSendAck:
++ PUTCHAR(EAPT_TLS, outp);
++ PUTCHAR(0, outp);
++ eap_figure_next_state(esp, 0);
++ break;
++
++ case eapTlsSendAlert:
++ eaptls_send(esp->es_server.ea_session, &outp);
++ eap_figure_next_state(esp, 0);
++ break;
++#endif /* USE_EAPTLS */
++
+ #ifdef USE_SRP
+ case eapSRP1:
+ PUTCHAR(EAPT_SRP, outp);
+@@ -904,11 +1018,57 @@
+ eap_server_timeout(arg)
+ void *arg;
+ {
++#ifdef USE_EAPTLS
++ u_char *outp;
++ u_char *lenloc;
++ int outlen;
++#endif /* USE_EAPTLS */
++
+ eap_state *esp = (eap_state *) arg;
+
+ if (!eap_server_active(esp))
+ return;
+
++#ifdef USE_EAPTLS
++ switch(esp->es_server.ea_prev_state) {
++
++ /*
++ * In eap-tls the state changes after a request, so we return to
++ * previous state ...
++ */
++ case(eapTlsStart):
++ case(eapTlsSendAck):
++ esp->es_server.ea_state = esp->es_server.ea_prev_state;
++ break;
++
++ /*
++ * ... or resend the stored data
++ */
++ case(eapTlsSend):
++ case(eapTlsSendAlert):
++ outp = outpacket_buf;
++ MAKEHEADER(outp, PPP_EAP);
++ PUTCHAR(EAP_REQUEST, outp);
++ PUTCHAR(esp->es_server.ea_id, outp);
++ lenloc = outp;
++ INCPTR(2, outp);
++
++ eaptls_retransmit(esp->es_server.ea_session, &outp);
++
++ outlen = (outp - outpacket_buf) - PPP_HDRLEN;
++ PUTSHORT(outlen, lenloc);
++ output(esp->es_unit, outpacket_buf, outlen + PPP_HDRLEN);
++ esp->es_server.ea_requests++;
++
++ if (esp->es_server.ea_timeout > 0)
++ TIMEOUT(eap_server_timeout, esp, esp->es_server.ea_timeout);
++
++ return;
++ default:
++ break;
++ }
++#endif /* USE_EAPTLS */
++
+ /* EAP ID number must not change on timeout. */
+ eap_send_request(esp);
+ }
+@@ -1166,6 +1326,81 @@
+ }
+ #endif /* USE_SRP */
+
++#ifdef USE_EAPTLS
++/*
++ * Send an EAP-TLS response message with tls data
++ */
++static void
++eap_tls_response(esp, id)
++eap_state *esp;
++u_char id;
++{
++ u_char *outp;
++ int outlen;
++ u_char *lenloc;
++
++ outp = outpacket_buf;
++
++ MAKEHEADER(outp, PPP_EAP);
++
++ PUTCHAR(EAP_RESPONSE, outp);
++ PUTCHAR(id, outp);
++
++ lenloc = outp;
++ INCPTR(2, outp);
++
++ /*
++ If the id in the request is unchanged, we must retransmit
++ the old data
++ */
++ if(id == esp->es_client.ea_id)
++ eaptls_retransmit(esp->es_client.ea_session, &outp);
++ else
++ eaptls_send(esp->es_client.ea_session, &outp);
++
++ outlen = (outp - outpacket_buf) - PPP_HDRLEN;
++ PUTSHORT(outlen, lenloc);
++
++ output(esp->es_unit, outpacket_buf, PPP_HDRLEN + outlen);
++
++ esp->es_client.ea_id = id;
++
++}
++
++/*
++ * Send an EAP-TLS ack
++ */
++static void
++eap_tls_sendack(esp, id)
++eap_state *esp;
++u_char id;
++{
++ u_char *outp;
++ int outlen;
++ u_char *lenloc;
++
++ outp = outpacket_buf;
++
++ MAKEHEADER(outp, PPP_EAP);
++
++ PUTCHAR(EAP_RESPONSE, outp);
++ PUTCHAR(id, outp);
++ esp->es_client.ea_id = id;
++
++ lenloc = outp;
++ INCPTR(2, outp);
++
++ PUTCHAR(EAPT_TLS, outp);
++ PUTCHAR(0, outp);
++
++ outlen = (outp - outpacket_buf) - PPP_HDRLEN;
++ PUTSHORT(outlen, lenloc);
++
++ output(esp->es_unit, outpacket_buf, PPP_HDRLEN + outlen);
++
++}
++#endif /* USE_EAPTLS */
++
+ static void
+ eap_send_nak(esp, id, type)
+ eap_state *esp;
+@@ -1320,6 +1555,11 @@
+ char rhostname[256];
+ MD5_CTX mdContext;
+ u_char hash[MD5_SIGNATURE_SIZE];
++#ifdef USE_EAPTLS
++ u_char flags;
++ struct eaptls_session *ets = esp->es_client.ea_session;
++#endif /* USE_EAPTLS */
++
+ #ifdef USE_SRP
+ struct t_client *tc;
+ struct t_num sval, gval, Nval, *Ap, Bval;
+@@ -1456,6 +1696,100 @@
+ esp->es_client.ea_namelen);
+ break;
+
++#ifdef USE_EAPTLS
++ case EAPT_TLS:
++
++ switch(esp->es_client.ea_state) {
++
++ case eapListen:
++
++ if (len < 1) {
++ error("EAP: received EAP-TLS Listen packet with no data");
++ /* Bogus request; wait for something real. */
++ return;
++ }
++ GETCHAR(flags, inp);
++ if(flags & EAP_TLS_FLAGS_START){
++
++ esp->es_client.ea_using_eaptls = 1;
++
++ if (explicit_remote){
++ esp->es_client.ea_peer = strdup(remote_name);
++ esp->es_client.ea_peerlen = strlen(remote_name);
++ } else
++ esp->es_client.ea_peer = NULL;
++
++ /* Init ssl session */
++ if(!eaptls_init_ssl_client(esp)) {
++ dbglog("cannot init ssl");
++ eap_send_nak(esp, id, EAPT_TLS);
++ esp->es_client.ea_using_eaptls = 0;
++ break;
++ }
++
++ ets = esp->es_client.ea_session;
++ eap_tls_response(esp, id);
++ esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck :
++ eapTlsRecv);
++ break;
++ }
++
++ /* The server has sent a bad start packet. */
++ eap_send_nak(esp, id, EAPT_TLS);
++ break;
++
++ case eapTlsRecvAck:
++ eap_tls_response(esp, id);
++ esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck :
++ eapTlsRecv);
++ break;
++
++ case eapTlsRecv:
++ if (len < 1) {
++ error("EAP: discarding EAP-TLS Receive packet with no data");
++ /* Bogus request; wait for something real. */
++ return;
++ }
++ eaptls_receive(ets, inp, len);
++
++ if(ets->frag) {
++ eap_tls_sendack(esp, id);
++ esp->es_client.ea_state = eapTlsRecv;
++ break;
++ }
++
++ if(ets->alert_recv) {
++ eap_tls_sendack(esp, id);
++ esp->es_client.ea_state = eapTlsRecvFailure;
++ break;
++ }
++
++ /* Check if TLS handshake is finished */
++ if(SSL_is_init_finished(ets->ssl)){
++#ifdef MPPE
++ eaptls_gen_mppe_keys( ets, "client EAP encryption", 1 );
++#endif
++ eaptls_free_session(ets);
++ eap_tls_sendack(esp, id);
++ esp->es_client.ea_state = eapTlsRecvSuccess;
++ break;
++ }
++
++ eap_tls_response(esp,id);
++ esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck :
++ eapTlsRecv);
++
++ break;
++
++ default:
++ eap_send_nak(esp, id, EAPT_TLS);
++ esp->es_client.ea_using_eaptls = 0;
++ break;
++ }
++
++ break;
++#endif /* USE_EAPTLS */
++
+ #ifdef USE_SRP
+ case EAPT_SRP:
+ if (len < 1) {
+@@ -1737,6 +2071,11 @@
+ u_char dig[SHA_DIGESTSIZE];
+ #endif /* USE_SRP */
+
++#ifdef USE_EAPTLS
++ struct eaptls_session *ets;
++ u_char flags;
++#endif /* USE_EAPTLS */
++
+ if (esp->es_server.ea_id != id) {
+ dbglog("EAP: discarding Response %d; expected ID %d", id,
+ esp->es_server.ea_id);
+@@ -1776,6 +2115,64 @@
+ eap_figure_next_state(esp, 0);
+ break;
+
++#ifdef USE_EAPTLS
++ case EAPT_TLS:
++ switch(esp->es_server.ea_state) {
++
++ case eapTlsRecv:
++
++ ets = (struct eaptls_session *) esp->es_server.ea_session;
++ eap_figure_next_state(esp,
++ eaptls_receive(esp->es_server.ea_session, inp, len));
++
++ if(ets->alert_recv) {
++ eap_send_failure(esp);
++ break;
++ }
++ break;
++
++ case eapTlsRecvAck:
++ if(len > 1) {
++ dbglog("EAP-TLS ACK with extra data");
++ }
++ eap_figure_next_state(esp, 0);
++ break;
++
++ case eapTlsRecvClient:
++ /* Receive authentication response from client */
++
++ if (len > 0) {
++ GETCHAR(flags, inp);
++
++ if(len == 1 && !flags) { /* Ack = ok */
++#ifdef MPPE
++ eaptls_gen_mppe_keys( esp->es_server.ea_session, "client EAP encryption", 0 );
++#endif
++ eap_send_success(esp);
++ }
++ else { /* failure */
++ warn("Server authentication failed");
++ eap_send_failure(esp);
++ }
++ }
++ else
++ warn("Bogus EAP-TLS packet received from client");
++
++ eaptls_free_session(esp->es_server.ea_session);
++
++ break;
++
++ case eapTlsRecvAlertAck:
++ eap_send_failure(esp);
++ break;
++
++ default:
++ eap_figure_next_state(esp, 1);
++ break;
++ }
++ break;
++#endif /* USE_EAPTLS */
++
+ case EAPT_NOTIFICATION:
+ dbglog("EAP unexpected Notification; response discarded");
+ break;
+@@ -1807,6 +2204,13 @@
+ esp->es_server.ea_state = eapMD5Chall;
+ break;
+
++#ifdef USE_EAPTLS
++ /* Send EAP-TLS start packet */
++ case EAPT_TLS:
++ esp->es_server.ea_state = eapTlsStart;
++ break;
++#endif /* USE_EAPTLS */
++
+ default:
+ dbglog("EAP: peer requesting unknown Type %d", vallen);
+ switch (esp->es_server.ea_state) {
+@@ -2018,13 +2422,27 @@
+ int id;
+ int len;
+ {
+- if (esp->es_client.ea_state != eapOpen && !eap_client_active(esp)) {
++ if (esp->es_client.ea_state != eapOpen && !eap_client_active(esp)
++#ifdef USE_EAPTLS
++ && esp->es_client.ea_state != eapTlsRecvSuccess
++#endif /* USE_EAPTLS */
++ ) {
+ dbglog("EAP unexpected success message in state %s (%d)",
+ eap_state_name(esp->es_client.ea_state),
+ esp->es_client.ea_state);
+ return;
+ }
+
++#ifdef USE_EAPTLS
++ if(esp->es_client.ea_using_eaptls && esp->es_client.ea_state !=
++ eapTlsRecvSuccess) {
++ dbglog("EAP-TLS unexpected success message in state %s (%d)",
++ eap_state_name(esp->es_client.ea_state),
++ esp->es_client.ea_state);
++ return;
++ }
++#endif /* USE_EAPTLS */
++
+ if (esp->es_client.ea_timeout > 0) {
+ UNTIMEOUT(eap_client_timeout, (void *)esp);
+ }
+@@ -2150,6 +2568,9 @@
+ int code, id, len, rtype, vallen;
+ u_char *pstart;
+ u_int32_t uval;
++#ifdef USE_EAPTLS
++ u_char flags;
++#endif /* USE_EAPTLS */
+
+ if (inlen < EAP_HEADERLEN)
+ return (0);
+@@ -2214,6 +2635,24 @@
+ }
+ break;
+
++#ifdef USE_EAPTLS
++ case EAPT_TLS:
++ if (len < 1)
++ break;
++ GETCHAR(flags, inp);
++ len--;
++
++ if(flags == 0 && len == 0){
++ printer(arg, " Ack");
++ break;
++ }
++
++ printer(arg, flags & EAP_TLS_FLAGS_LI ? " L":" -");
++ printer(arg, flags & EAP_TLS_FLAGS_MF ? "M":"-");
++ printer(arg, flags & EAP_TLS_FLAGS_START ? "S":"- ");
++ break;
++#endif /* USE_EAPTLS */
++
+ case EAPT_SRP:
+ if (len < 3)
+ goto truncated;
+@@ -2325,6 +2764,25 @@
+ }
+ break;
+
++#ifdef USE_EAPTLS
++ case EAPT_TLS:
++ if (len < 1)
++ break;
++ GETCHAR(flags, inp);
++ len--;
++
++ if(flags == 0 && len == 0){
++ printer(arg, " Ack");
++ break;
++ }
++
++ printer(arg, flags & EAP_TLS_FLAGS_LI ? " L":" -");
++ printer(arg, flags & EAP_TLS_FLAGS_MF ? "M":"-");
++ printer(arg, flags & EAP_TLS_FLAGS_START ? "S":"- ");
++
++ break;
++#endif /* USE_EAPTLS */
++
+ case EAPT_NAK:
+ if (len <= 0) {
+ printer(arg, " <missing hint>");
+@@ -2426,3 +2884,4 @@
+
+ return (inp - pstart);
+ }
++
+diff -Naur ppp-2.4.7/pppd/eap.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.h
+--- ppp-2.4.7/pppd/eap.h 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/eap.h 2018-06-02 01:42:04.023165433 +0200
+@@ -84,6 +84,16 @@
+ eapClosed, /* Authentication not in use */
+ eapListen, /* Client ready (and timer running) */
+ eapIdentify, /* EAP Identify sent */
++ eapTlsStart, /* Send EAP-TLS start packet */
++ eapTlsRecv, /* Receive EAP-TLS tls data */
++ eapTlsSendAck, /* Send EAP-TLS ack */
++ eapTlsSend, /* Send EAP-TLS tls data */
++ eapTlsRecvAck, /* Receive EAP-TLS ack */
++ eapTlsRecvClient, /* Receive EAP-TLS auth response from client*/
++ eapTlsSendAlert, /* Send EAP-TLS tls alert (server)*/
++ eapTlsRecvAlertAck, /* Receive EAP-TLS ack after sending alert */
++ eapTlsRecvSuccess, /* Receive EAP success */
++ eapTlsRecvFailure, /* Receive EAP failure */
+ eapSRP1, /* Sent EAP SRP-SHA1 Subtype 1 */
+ eapSRP2, /* Sent EAP SRP-SHA1 Subtype 2 */
+ eapSRP3, /* Sent EAP SRP-SHA1 Subtype 3 */
+@@ -95,9 +105,18 @@
+
+ #define EAP_STATES \
+ "Initial", "Pending", "Closed", "Listen", "Identify", \
++ "TlsStart", "TlsRecv", "TlsSendAck", "TlsSend", "TlsRecvAck", "TlsRecvClient",\
++ "TlsSendAlert", "TlsRecvAlertAck" , "TlsRecvSuccess", "TlsRecvFailure", \
+ "SRP1", "SRP2", "SRP3", "MD5Chall", "Open", "SRP4", "BadAuth"
+
+-#define eap_client_active(esp) ((esp)->es_client.ea_state == eapListen)
++#ifdef USE_EAPTLS
++#define eap_client_active(esp) ((esp)->es_client.ea_state != eapInitial &&\
++ (esp)->es_client.ea_state != eapPending &&\
++ (esp)->es_client.ea_state != eapClosed)
++#else
++#define eap_client_active(esp) ((esp)->es_client.ea_state == eapListen)
++#endif /* USE_EAPTLS */
++
+ #define eap_server_active(esp) \
+ ((esp)->es_server.ea_state >= eapIdentify && \
+ (esp)->es_server.ea_state <= eapMD5Chall)
+@@ -112,11 +131,17 @@
+ u_short ea_namelen; /* Length of our name */
+ u_short ea_peerlen; /* Length of peer's name */
+ enum eap_state_code ea_state;
++#ifdef USE_EAPTLS
++ enum eap_state_code ea_prev_state;
++#endif
+ u_char ea_id; /* Current id */
+ u_char ea_requests; /* Number of Requests sent/received */
+ u_char ea_responses; /* Number of Responses */
+ u_char ea_type; /* One of EAPT_* */
+ u_int32_t ea_keyflags; /* SRP shared key usage flags */
++#ifdef USE_EAPTLS
++ bool ea_using_eaptls;
++#endif
+ };
+
+ /*
+@@ -139,7 +164,12 @@
+ * Timeouts.
+ */
+ #define EAP_DEFTIMEOUT 3 /* Timeout (seconds) for rexmit */
++#ifdef USE_EAPTLS
++#define EAP_DEFTRANSMITS 30 /* max # times to transmit */
++ /* certificates can be long ... */
++#else
+ #define EAP_DEFTRANSMITS 10 /* max # times to transmit */
++#endif /* USE_EAPTLS */
+ #define EAP_DEFREQTIME 20 /* Time to wait for peer request */
+ #define EAP_DEFALLOWREQ 20 /* max # times to accept requests */
+
+diff -Naur ppp-2.4.7/pppd/md5.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.c
+--- ppp-2.4.7/pppd/md5.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.c 2018-06-02 01:42:04.023165433 +0200
+@@ -33,6 +33,8 @@
+ ***********************************************************************
+ */
+
++#ifndef USE_EAPTLS
++
+ #include <string.h>
+ #include "md5.h"
+
+@@ -305,3 +307,5 @@
+ ** End of md5.c **
+ ******************************** (cut) ********************************
+ */
++#endif /* USE_EAPTLS */
++
+diff -Naur ppp-2.4.7/pppd/md5.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.h
+--- ppp-2.4.7/pppd/md5.h 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/md5.h 2018-06-02 01:42:04.024165430 +0200
+@@ -36,6 +36,7 @@
+ ** documentation and/or software. **
+ ***********************************************************************
+ */
++#ifndef USE_EAPTLS
+
+ #ifndef __MD5_INCLUDE__
+
+@@ -63,3 +64,5 @@
+
+ #define __MD5_INCLUDE__
+ #endif /* __MD5_INCLUDE__ */
++
++#endif /* USE_EAPTLS */
+diff -Naur ppp-2.4.7/pppd/pathnames.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/pathnames.h
+--- ppp-2.4.7/pppd/pathnames.h 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/pathnames.h 2018-06-02 01:42:04.024165430 +0200
+@@ -21,6 +21,13 @@
+ #define _PATH_UPAPFILE _ROOT_PATH "/etc/ppp/pap-secrets"
+ #define _PATH_CHAPFILE _ROOT_PATH "/etc/ppp/chap-secrets"
+ #define _PATH_SRPFILE _ROOT_PATH "/etc/ppp/srp-secrets"
++
++#ifdef USE_EAPTLS
++#define _PATH_EAPTLSCLIFILE _ROOT_PATH "/etc/ppp/eaptls-client"
++#define _PATH_EAPTLSSERVFILE _ROOT_PATH "/etc/ppp/eaptls-server"
++#define _PATH_OPENSSLCONFFILE _ROOT_PATH "/etc/ppp/openssl.cnf"
++#endif /* USE_EAPTLS */
++
+ #define _PATH_SYSOPTIONS _ROOT_PATH "/etc/ppp/options"
+ #define _PATH_IPUP _ROOT_PATH "/etc/ppp/ip-up"
+ #define _PATH_IPDOWN _ROOT_PATH "/etc/ppp/ip-down"
+diff -Naur ppp-2.4.7/pppd/plugins/Makefile.linux ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/Makefile.linux
+--- ppp-2.4.7/pppd/plugins/Makefile.linux 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/Makefile.linux 2018-06-02 01:42:04.024165430 +0200
+@@ -4,6 +4,9 @@
+ LDFLAGS = -shared
+ INSTALL = install
+
++# EAP-TLS
++CFLAGS += -DUSE_EAPTLS=1
++
+ DESTDIR = $(INSTROOT)@DESTDIR@
+ BINDIR = $(DESTDIR)/sbin
+ MANDIR = $(DESTDIR)/share/man/man8
+diff -Naur ppp-2.4.7/pppd/plugins/passprompt.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passprompt.c
+--- ppp-2.4.7/pppd/plugins/passprompt.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passprompt.c 2018-06-02 01:42:04.024165430 +0200
+@@ -107,4 +107,7 @@
+ {
+ add_options(options);
+ pap_passwd_hook = promptpass;
++#ifdef USE_EAPTLS
++ eaptls_passwd_hook = promptpass;
++#endif
+ }
+diff -Naur ppp-2.4.7/pppd/plugins/passwordfd.c ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passwordfd.c
+--- ppp-2.4.7/pppd/plugins/passwordfd.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/plugins/passwordfd.c 2018-06-02 01:42:04.024165430 +0200
+@@ -79,4 +79,8 @@
+
+ chap_check_hook = pwfd_check;
+ chap_passwd_hook = pwfd_passwd;
++
++#ifdef USE_EAPTLS
++ eaptls_passwd_hook = pwfd_passwd;
++#endif
+ }
+diff -Naur ppp-2.4.7/pppd/pppd.8 ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.8
+--- ppp-2.4.7/pppd/pppd.8 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.8 2018-06-02 01:42:04.025165427 +0200
+@@ -248,6 +248,12 @@
+ compression in the corresponding direction. Use \fInobsdcomp\fR or
+ \fIbsdcomp 0\fR to disable BSD-Compress compression entirely.
+ .TP
++.B ca \fIca-file
++(EAP-TLS) Use the file \fIca-file\fR as the X.509 Certificate Authority
++(CA) file (in PEM format), needed for setting up an EAP-TLS connection.
++This option is used on the client-side in conjunction with the \fBcert\fR
++and \fBkey\fR options.
++.TP
+ .B cdtrcts
+ Use a non-standard hardware flow control (i.e. DTR/CTS) to control
+ the flow of data on the serial port. If neither the \fIcrtscts\fR,
+@@ -259,6 +265,12 @@
+ bi-directional flow control. The sacrifice is that this flow
+ control mode does not permit using DTR as a modem control line.
+ .TP
++.B cert \fIcertfile
++(EAP-TLS) Use the file \fIcertfile\fR as the X.509 certificate (in PEM
++format), needed for setting up an EAP-TLS connection. This option is
++used on the client-side in conjunction with the \fBca\fR and
++\fBkey\fR options.
++.TP
+ .B chap\-interval \fIn
+ If this option is given, pppd will rechallenge the peer every \fIn\fR
+ seconds.
+@@ -287,6 +299,18 @@
+ 1000 (1 second). This wait period only applies if the \fBconnect\fR
+ or \fBpty\fR option is used.
+ .TP
++.B crl \fIfilename
++(EAP-TLS) Use the file \fIfilename\fR as the Certificate Revocation List
++to check for the validity of the peer's certificate. This option is not
++mandatory for setting up an EAP-TLS connection. Also see the \fBcrl-dir\fR
++option.
++.TP
++.B crl-dir \fIdirectory
++(EAP-TLS) Use the directory \fIdirectory\fR to scan for CRL files in
++has format ($hash.r0) to check for the validity of the peer's certificate.
++This option is not mandatory for setting up an EAP-TLS connection.
++Also see the \fBcrl\fR option.
++.TP
+ .B debug
+ Enables connection debugging facilities.
+ If this option is given, pppd will log the contents of all
+@@ -551,6 +575,12 @@
+ the kernel are logged by syslog(1) to a file as directed in the
+ /etc/syslog.conf configuration file.
+ .TP
++.B key \fIkeyfile
++(EAP-TLS) Use the file \fIkeyfile\fR as the private key file (in PEM
++format), needed for setting up an EAP-TLS connection. This option is
++used on the client-side in conjunction with the \fBca\fR and
++\fBcert\fR options.
++.TP
+ .B ktune
+ Enables pppd to alter kernel settings as appropriate. Under Linux,
+ pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward
+@@ -709,6 +739,9 @@
+ Disable Address/Control compression in both directions (send and
+ receive).
+ .TP
++.B need-peer-eap
++(EAP-TLS) Require the peer to verify our authentication credentials.
++.TP
+ .B noauth
+ Do not require the peer to authenticate itself. This option is
+ privileged.
+diff -Naur ppp-2.4.7/pppd/pppd.h ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.h
+--- ppp-2.4.7/pppd/pppd.h 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7-eaptls-mppe-1.101b/pppd/pppd.h 2018-06-02 01:42:04.025165427 +0200
+@@ -325,6 +325,11 @@
+ extern bool dryrun; /* check everything, print options, exit */
+ extern int child_wait; /* # seconds to wait for children at end */
+
++#ifdef USE_EAPTLS
++extern char *crl_dir;
++extern char *crl_file;
++#endif /* USE_EAPTLS */
++
+ #ifdef MAXOCTETS
+ extern unsigned int maxoctets; /* Maximum octetes per session (in bytes) */
+ extern int maxoctets_dir; /* Direction :
+@@ -741,6 +746,10 @@
+ extern int (*chap_passwd_hook) __P((char *user, char *passwd));
+ extern void (*multilink_join_hook) __P((void));
+
++#ifdef USE_EAPTLS
++extern int (*eaptls_passwd_hook) __P((char *user, char *passwd));
++#endif
++
+ /* Let a plugin snoop sent and received packets. Useful for L2TP */
+ extern void (*snoop_recv_hook) __P((unsigned char *p, int len));
+ extern void (*snoop_send_hook) __P((unsigned char *p, int len));
+
+
+
diff --git a/user/ppp/85_all_dhcp-make-vars.patch b/user/ppp/85_all_dhcp-make-vars.patch
new file mode 100644
index 000000000..68af3aaf3
--- /dev/null
+++ b/user/ppp/85_all_dhcp-make-vars.patch
@@ -0,0 +1,19 @@
+--- ppp-2.4.3/pppd/plugins/dhcp/Makefile.linux
++++ ppp-2.4.3/pppd/plugins/dhcp/Makefile.linux
+@@ -1,6 +1,6 @@
+
+ PLUGIN=dhcpc.so
+-CFLAGS=-I../.. -I../../../include -O2
++CFLAGS=$(COPTS) -I../.. -I../../../include -fPIC
+
+ all: $(PLUGIN)
+
+@@ -9,7 +9,7 @@
+ $(INSTALL) -s -c -m 755 dhcpc.so $(LIBDIR)
+
+ dhcpc.so: dhcpc.o clientpacket.o packet.o socket.o options.o
+- gcc -o dhcpc.so -shared dhcpc.o clientpacket.o packet.o socket.o options.o
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^
+
+
+ clean:
diff --git a/user/ppp/86_all_dhcp-sys_error_to_strerror.patch b/user/ppp/86_all_dhcp-sys_error_to_strerror.patch
new file mode 100644
index 000000000..e0d0937b2
--- /dev/null
+++ b/user/ppp/86_all_dhcp-sys_error_to_strerror.patch
@@ -0,0 +1,128 @@
+--- ppp-2.4.2/pppd/plugins/dhcp/dhcpc.c
++++ ppp-2.4.2/pppd/plugins/dhcp/dhcpc.c
+@@ -144,7 +144,7 @@
+ fd = raw_socket(client_config.ifindex);
+
+ if (listen_mode != LISTEN_NONE && fd < 0) {
+- fatal("DHCPC: couldn't listen on socket, %s", sys_errlist[errno]);
++ fatal("DHCPC: couldn't listen on socket, %s", strerror(errno));
+ }
+
+ }
+@@ -208,7 +208,7 @@
+ len = get_packet(&packet, fd);
+
+ if (len == -1 && errno != EINTR) {
+- dbglog("DHCPC: error on read, %s, reopening socket", sys_errlist[errno]);
++ dbglog("DHCPC: error on read, %s, reopening socket", strerror(errno));
+ change_mode(LISTEN_KERNEL);
+ }
+ if (len < 0) continue;
+@@ -380,7 +380,7 @@
+ else len = get_raw_packet(&packet, fd);
+
+ if (len == -1 && errno != EINTR) {
+- dbglog("DHCPC: error on read, %s, reopening socket", sys_errlist[errno]);
++ dbglog("DHCPC: error on read, %s, reopening socket", strerror(errno));
+ change_mode(listen_mode); /* just close and reopen */
+ }
+ if (len < 0) continue;
+@@ -445,7 +445,7 @@
+
+ } else {
+ /* An error occured */
+- dbglog("DHCPC: error on select, %s, reopening socket", sys_errlist[errno]);
++ dbglog("DHCPC: error on select, %s, reopening socket", strerror(errno));
+ change_mode(listen_mode); /* just close and reopen */
+ }
+
+--- ppp-2.4.2/pppd/plugins/dhcp/packet.c
++++ ppp-2.4.2/pppd/plugins/dhcp/packet.c
+@@ -125,7 +125,7 @@
+ return kernel_packet(payload,payload->giaddr,CLIENT_PORT,dest_ip,dest_port);
+
+ if ((fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP))) < 0) {
+- DEBUG(LOG_ERR, "socket call failed: %s", sys_errlist[errno]);
++ DEBUG(LOG_ERR, "socket call failed: %s", strerror(errno));
+ return -1;
+ }
+
+@@ -138,7 +138,7 @@
+ dest.sll_halen = 6;
+ memcpy(dest.sll_addr, dest_arp, 6);
+ if (bind(fd, (struct sockaddr *)&dest, sizeof(struct sockaddr_ll)) < 0) {
+- DEBUG(LOG_ERR, "bind call failed: %s", sys_errlist[errno]);
++ DEBUG(LOG_ERR, "bind call failed: %s", strerror(errno));
+ close(fd);
+ return -1;
+ }
+@@ -161,7 +161,7 @@
+
+ result = sendto(fd, &packet, sizeof(struct udp_dhcp_packet), 0, (struct sockaddr *) &dest, sizeof(dest));
+ if (result <= 0) {
+- DEBUG(LOG_ERR, "write on socket failed: %s", sys_errlist[errno]);
++ DEBUG(LOG_ERR, "write on socket failed: %s", strerror(errno));
+ }
+ close(fd);
+ return result;
+--- ppp-2.4.2/pppd/plugins/dhcp/socket.c
++++ ppp-2.4.2/pppd/plugins/dhcp/socket.c
+@@ -60,7 +60,7 @@
+ *addr = sin->sin_addr.s_addr;
+ DEBUG(LOG_INFO, "%s (our ip) = %s", ifr.ifr_name, inet_ntoa(sin->sin_addr));
+ } else {
+- LOG(LOG_ERR, "SIOCGIFADDR failed!: %s", sys_errlist[errno]);
++ LOG(LOG_ERR, "SIOCGIFADDR failed!: %s", strerror(errno));
+ return -1;
+ }
+ }
+@@ -69,7 +69,7 @@
+ DEBUG(LOG_INFO, "adapter index %d", ifr.ifr_ifindex);
+ *ifindex = ifr.ifr_ifindex;
+ } else {
+- LOG(LOG_ERR, "SIOCGIFINDEX failed!: %s", sys_errlist[errno]);
++ LOG(LOG_ERR, "SIOCGIFINDEX failed!: %s", strerror(errno));
+ return -1;
+ }
+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) == 0) {
+@@ -77,11 +77,11 @@
+ DEBUG(LOG_INFO, "adapter hardware address %02x:%02x:%02x:%02x:%02x:%02x",
+ arp[0], arp[1], arp[2], arp[3], arp[4], arp[5]);
+ } else {
+- LOG(LOG_ERR, "SIOCGIFHWADDR failed!: %s", sys_errlist[errno]);
++ LOG(LOG_ERR, "SIOCGIFHWADDR failed!: %s", strerror(errno));
+ return -1;
+ }
+ } else {
+- LOG(LOG_ERR, "socket failed!: %s", sys_errlist[errno]);
++ LOG(LOG_ERR, "socket failed!: %s", strerror(errno));
+ return -1;
+ }
+ close(fd);
+@@ -98,7 +98,7 @@
+
+ DEBUG(LOG_INFO, "Opening listen socket on 0x%08x:%d %s\n", ip, port, inf ? inf : "*");
+ if ((fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
+- DEBUG(LOG_ERR, "socket call failed: %s", sys_errlist[errno]);
++ DEBUG(LOG_ERR, "socket call failed: %s", strerror(errno));
+ return -1;
+ }
+
+@@ -144,7 +144,7 @@
+
+ DEBUG(LOG_INFO, "Opening raw socket on ifindex %d\n", ifindex);
+ if ((fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP))) < 0) {
+- DEBUG(LOG_ERR, "socket call failed: %s", sys_errlist[errno]);
++ DEBUG(LOG_ERR, "socket call failed: %s", strerror(errno));
+ return -1;
+ }
+
+@@ -152,7 +152,7 @@
+ sock.sll_protocol = htons(ETH_P_IP);
+ sock.sll_ifindex = ifindex;
+ if (bind(fd, (struct sockaddr *) &sock, sizeof(sock)) < 0) {
+- DEBUG(LOG_ERR, "bind call failed: %s", sys_errlist[errno]);
++ DEBUG(LOG_ERR, "bind call failed: %s", strerror(errno));
+ close(fd);
+ return -1;
+ }
diff --git a/user/ppp/APKBUILD b/user/ppp/APKBUILD
new file mode 100644
index 000000000..bcd4c85cf
--- /dev/null
+++ b/user/ppp/APKBUILD
@@ -0,0 +1,125 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=ppp
+pkgver=2.4.7
+pkgrel=0
+pkgdesc="Point-to-Point Protocol (PPP) implementation for serial networking"
+url="https://ppp.samba.org/"
+arch="all"
+options="!check" # No test suite.
+license="BSD-4-Clause AND GPL-2.0-only AND GPL-2.0+ AND zlib AND LGPL-2.0+"
+depends=""
+makedepends="bsd-compat-headers linux-pam-dev libpcap-dev openssl-dev utmps-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
+source="https://download.samba.org/pub/ppp/ppp-$pkgver.tar.gz
+ http://distfiles.gentoo.org/distfiles/ppp-dhcpc.tgz
+ 02_all_make-vars.patch
+ 03_all_use_internal_logwtmp.patch
+ 04_all_mpls.patch
+ 06_all_killaddr-smarter.patch
+ 08_all_wait-children.patch
+ 10_all_defaultgateway.patch
+ 12_all_linkpidfile.patch
+ 16_all_auth-fail.patch
+ 18_all_defaultmetric.patch
+ 19_all_radius_pid_overflow.patch
+ 20_all_dev-ppp.patch
+ 21_all_custom_iface_names.patch
+ 24_all_passwordfd-read-early.patch
+ 26_all_pppd-usepeerwins.patch
+ 28_all_connect-errors.patch
+ 30_all_Makefile.patch
+ 32_all_pado-timeout.patch
+ 34_all_lcp-echo-adaptive.patch
+ 50_all_linux-headers.patch
+ 51_all_glibc-2.28.patch
+ 80_all_eaptls-mppe-1.101a.patch
+ 85_all_dhcp-make-vars.patch
+ 86_all_dhcp-sys_error_to_strerror.patch
+ adelie.patch
+ dhcp.patch
+ install-path.patch
+ musl-fix-headers.patch
+ utmpx.patch
+
+ ppp.mod
+ ppp.pamd
+ pppd.initd
+ "
+
+prepare() {
+ mv "$srcdir"/dhcp "$builddir"/pppd/plugins
+ default_prepare
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make COPTS="$CFLAGS -D_GNU_SOURCE" \
+ LIBS="-lutmps -lskarnet -lcrypto -lssl -lpam -lpcap"
+ make -C contrib/pppgetpass pppgetpass.vt
+}
+
+package() {
+ make INSTROOT="$pkgdir" install
+
+ install -Dm 0644 -t "$pkgdir"/usr/include/net/ include/net/ppp_defs.h
+
+ install -d "$pkgdir"/etc/ppp/peers
+ install -m 0600 etc.ppp/pap-secrets \
+ "$pkgdir"/etc/ppp/pap-secrets.example
+ install -m 0600 etc.ppp/chap-secrets \
+ "$pkgdir"/etc/ppp/chap-secrets.example
+ install -m 0644 etc.ppp/options "$pkgdir"/etc/ppp/options
+
+ install -Dm 0644 "$srcdir"/ppp.pamd "$pkgdir"/etc/pam.d/ppp
+ install -Dm 0755 -t "$pkgdir"/usr/bin/ scripts/p{on,off,log}
+ install -Dm 0644 -t "$pkgdir"/usr/share/man/man1/ scripts/pon.1
+
+ install -Dm 0755 contrib/pppgetpass/pppgetpass.vt \
+ "$pkgdir"/usr/sbin/pppgetpass
+ install -Dm 0644 -t "$pkgdir"/usr/share/man/man8/ \
+ contrib/pppgetpass/pppgetpass.8
+
+ install -Dm 0644 "$srcdir"/ppp.mod "$pkgdir"/etc/modprobe.d/ppp.conf
+ install -Dm 0755 "$srcdir"/pppd.initd "$pkgdir"/etc/init.d/pppd
+}
+
+sha512sums="e34ce24020af6a73e7a26c83c4f73a9c83fa455b7b363794dba27bf01f70368be06bff779777843949bd77f4bc9385d6ad455ea48bf8fff4e0d73cc8fef16ae2 ppp-2.4.7.tar.gz
+aeaf791b14f5a09c0e2079072a157e65132cbff46e608bc0724e6a5827a01da934f5006e2774eb7105f83e607a52cb4987238f4385cf6f5cc86cbe305a556738 ppp-dhcpc.tgz
+8444d7edfe902a83f6cce96d29b9b7fb45ac68bdbe44494797d2a98470b80017489d36feb50cf945cbe72486bac69f45b23790e15cfbd33e07913a857ee80ab7 02_all_make-vars.patch
+4c4a5cc6fd8ce3203c41ff07fc0ce5f0468985c779fe05030898d36c404d2086ce7a49336ac58e6502fc2fd14c4de9006028fe19c500d2cac890a16a55c723e8 03_all_use_internal_logwtmp.patch
+1d63795949da00a19712aef39a54f338183b6917b246083e04a0b9ee43d346af5adeeb9357cb165587722790fa19b13375d55008646a4e9e2acdf8724bf3c7cc 04_all_mpls.patch
+b49086401c1b395ee6caba0418272b2d1b2ab9dcf6f1fc7e7f1280e94fcf17c8fdb884a19f4ef911bd7849a9cceb4cc07fc75438726340cd8c17265d4c2bd4d8 06_all_killaddr-smarter.patch
+807707ee9795ef4300b92bacdeba6b9e7332b6ce5a355de3ce77ddcc6dafce069f024131fd3ef282e38be3499e4230ad50fdda2b96e00891f5df1696234b775b 08_all_wait-children.patch
+c084237458ceb8704541f6e8424855788dbc2883559c4bf1ff35060e277c2b2ddfadcdb6dedc0bf42a5e83e98cfe7241fae8f6dc59d1ed963ed50356c9fd83ed 10_all_defaultgateway.patch
+122b9e3dbc3a9accacb31c653b3c0d368e8cdf3d954a6c93d04ac26ca8f3cb5bfcf8a01881d1cf08e855a1d2d0bd86e7fadba22bb5ada1a86f78e6b9820e6687 12_all_linkpidfile.patch
+3a23ef3619b2840eb3f1f7e14bd4765526b09acdfa8ab4d659ad8525a6f96d0cfb7c9fef042cde99ba1de8cf5caa74faa32e2a988453b4b17a70d5cc9a4bcf41 16_all_auth-fail.patch
+24b2cf579844bb9e1c0360227a5d35c3510471c0de6f16031d5e192d0ae7b1913aba93c2d99ea5fd3724deb6754f9831c1adb30671a31617268c77c65fc8beaf 18_all_defaultmetric.patch
+9fdb3346ef13b250f91f1af55c0efa0f836a60abe9e62fceed30df4e431a3bccdd33b083c2662c45e2091085438ba2221cdc4ae51fc1b05a666d77f74d461214 19_all_radius_pid_overflow.patch
+82c80701095a2d9707afbf5fc29bdf2fc3f92252b7de5de1d639f8607096a9d34ce90ffd0a2f770512b590a27dec56f2b03e5e9f4c9e56e1f362a2387d9fb568 20_all_dev-ppp.patch
+314e0939b546af5229db34888284a06e07d7b4c94190bf95d4382d3ff39935f18ecc6172f62309e4f63a00fdfceca73d908da8d82c95fd0b926b1832968ee3cc 21_all_custom_iface_names.patch
+2508cf1285a086c917ba5deffc96c1c29a511f1c1a0ef94c811b2bf139aed0218f34d7c1f1004890e105c47dffc5834a049dbe7686611d0fc8b8607ccdc86105 24_all_passwordfd-read-early.patch
+3eb55fb681e7fecf4e09b53683f509d2db3779599dd60fb89f88cd644c92d779f4720114546ba458262e8239581061e4a450143338c4725ada18b7ca314e12b0 26_all_pppd-usepeerwins.patch
+2e0bd81124bcd7c1234089f11e0b607b19047d279dc436ced3a4b8d793bcee4fcececd948b6a0755a02f68542c5c5e30b6f8541f90b998c09da8d50362827520 28_all_connect-errors.patch
+e495a489ee98258a3a4549127faca2c41feff27dff296065c2e41bfc696ced2ad1062ea0aa5bf3cc2425c85b4494ebbcbaaabacd8a3ea8ce8fab28acea028336 30_all_Makefile.patch
+77c0585b46f4fc090a67198d800d67dab2ce75eadcf2153c6e800e274b53ced6b512fd6eb4767c632f765bacd6c332f8d2a68233abb3781d6c62321d6bbb6052 32_all_pado-timeout.patch
+0bd928f45708f10835250fd6a6162f6e148dca172c810511c1f4b1fe56602c4869e7f622e95a3f4a41e5502ddefd0cf6054cd57211bc83426d5da5b5f10dac26 34_all_lcp-echo-adaptive.patch
+cda8e347eef7f26589cf1a12243f4d77de34d5736e3cb04fda9063adc0d931ef7ec7dbb2f142f1dfabc6d3ee04a252d2dd67d2c99ad9c01f2bd343bec88abe97 50_all_linux-headers.patch
+fc012971a062456fa4e253f5b4a5e2ce56ae1852293d0245ecfd165ba162fa76ec2c28e1035dd89de3e9d43941d528e2d95a40552eb8037a5ba084c1717c20d1 51_all_glibc-2.28.patch
+977b247e87557c4c57a871470c40670457e285ca59357dabab854ab16cc5578526ddf880410aa2efc7078e16d32d7afea4b69928af14ac4449523f6a591284f1 80_all_eaptls-mppe-1.101a.patch
+2d294bfe455648949cedb47a12a07913f0395aadbe2566c1e90d70fc37baa8635a667ab45195a697567f8d52de88771c499adffee82cde2e9e318ed858b6007b 85_all_dhcp-make-vars.patch
+44d5528c057d0abf2b45ba04943a52b6b94209434a06aa565f8a74acdd660efd86fe13280d540383168eaedad9f627673410bb8468860b64adb3145030e12889 86_all_dhcp-sys_error_to_strerror.patch
+2ba9ba8856e569c204a0e058a3e7a4a74f331118cb33bbca445a87b54bb0e4f0da2a968df5f394633911603359284831a80a4d9c793d795eef8477d00bab63f1 adelie.patch
+6d38f9779945bce2277f2d52d66dd79d2696f02c44186e1750d236f2d77d692746a8e8c164d925d5bb32dbfd02a723cabb59304f05954e0b5f7adada208ee220 dhcp.patch
+fb4ae2c2ba4ecdd1c85f6e5f730fd9659cf1fbc7a8a004b09042adafee7e4af6238df8deb3dbd3dc9c69407d9ebc4c82e1792a43b4aaf8ac18ebe18268b50597 install-path.patch
+2f071ea9db15e4abf1bed6cce8130dc81b710a31bfef5fa8f9370c353f845dbc47674b1551b8e040478e5156add6f98d480530206125e8bb308f0f4288d1eec6 musl-fix-headers.patch
+723ff3dd0aee13f9878559aa433b314af6043523a2bafd5957258809a645942f7d34b5bd659869a1528cf7b1a462ad7cc2dbf18e7986220f5f685f2c1ea1d36b utmpx.patch
+58bf5d6d286a08bd6dd595b39ee425efedd5745dddf33a9c90505891546eb46f4cf1306d83911bef61bc4611816aa0f6aef5d3e0f14c2f4ddd0a588780570041 ppp.mod
+e30a397392d467ac3c78f6533f3adff5de7d38f0372d8d6f7b186db4ec69ddf12463d467d8a86eb5867effeb7dd6bd16942a98fb3a3ab59ff754a123e16d0938 ppp.pamd
+bd6f43588b037367ffdb57f5e331492dcaa5969003e219c2dc8b90e6be1aa407282ff6114b91d1379ebeff766983fa0622456520cc0ac592b4f0b1496acf21bf pppd.initd"
diff --git a/user/ppp/adelie.patch b/user/ppp/adelie.patch
new file mode 100644
index 000000000..06bb6edf9
--- /dev/null
+++ b/user/ppp/adelie.patch
@@ -0,0 +1,88 @@
+--- ppp-2.4.7/pppd/Makefile.linux.old 2019-05-09 20:32:30.959257140 +0000
++++ ppp-2.4.7/pppd/Makefile.linux 2019-05-09 20:34:48.964184093 +0000
+@@ -32,7 +32,7 @@
+
+ # CC = gcc
+ #
+-COPTS+= -Wall
++COPTS+= -Wall -D_GNU_SOURCE
+ LIBS =
+
+ # Uncomment the next line to include support for Microsoft's
+@@ -61,14 +61,14 @@
+ USE_TDB=y
+
+ HAS_SHADOW=y
+-#USE_PAM=y
++USE_PAM=y
+ HAVE_INET6=y
+
+ # Enable plugins
+ PLUGIN=y
+
+ # Enable Microsoft proprietary Callback Control Protocol
+-#CBCP=y
++CBCP=y
+
+ # Enable EAP SRP-SHA1 authentication (requires libsrp)
+ #USE_SRP=y
+@@ -102,8 +102,8 @@
+
+ # EAP SRP-SHA1
+ ifdef USE_SRP
+-CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
+-LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto
++CFLAGS += -DUSE_SRP -DOPENSSL
++LIBS += -lsrp `$(PKG_CONFIG) --libs libcrypto`
+ TARGETS += srp-entry
+ EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry
+ MANPAGES += srp-entry.8
+--- ppp-2.4.7/pppd/plugins/radius/pathnames.h.old 2014-08-09 12:31:39.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/radius/pathnames.h 2019-05-09 20:35:39.258690873 +0000
+@@ -22,7 +22,7 @@
+
+ /* normally defined in the Makefile */
+ #ifndef _PATH_ETC_RADIUSCLIENT_CONF
+-#define _PATH_ETC_RADIUSCLIENT_CONF "/etc/radiusclient.conf"
++#define _PATH_ETC_RADIUSCLIENT_CONF "/etc/radiusclient/radiusclient.conf"
+ #endif
+
+ #endif /* PATHNAMES_H */
+--- ppp-2.4.7/pppd/plugins/radius/etc/radiusclient.conf.old 2014-08-09 12:31:39.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/radius/etc/radiusclient.conf 2019-05-09 20:37:29.676630906 +0000
+@@ -22,7 +22,7 @@
+
+ # name of the issue file. it's only display when no username is passed
+ # on the radlogin command line (default /etc/radiusclient/issue)
+-issue /usr/local/etc/radiusclient/issue
++issue /etc/radiusclient/issue
+
+ # RADIUS settings
+
+@@ -43,22 +43,22 @@
+
+ # file holding shared secrets used for the communication
+ # between the RADIUS client and server
+-servers /usr/local/etc/radiusclient/servers
++servers /etc/radiusclient/servers
+
+ # dictionary of allowed attributes and values
+ # just like in the normal RADIUS distributions
+-dictionary /usr/local/etc/radiusclient/dictionary
++dictionary /etc/radiusclient/dictionary
+
+ # program to call for a RADIUS authenticated login
+ # (default /usr/sbin/login.radius)
+-login_radius /usr/local/sbin/login.radius
++login_radius /usr/sbin/login.radius
+
+ # file which holds sequence number for communication with the
+ # RADIUS server
+ seqfile /var/run/radius.seq
+
+ # file which specifies mapping between ttyname and NAS-Port attribute
+-mapfile /usr/local/etc/radiusclient/port-id-map
++mapfile /etc/radiusclient/port-id-map
+
+ # default authentication realm to append to all usernames if no
+ # realm was explicitly specified by the user
diff --git a/user/ppp/dhcp.patch b/user/ppp/dhcp.patch
new file mode 100644
index 000000000..611882326
--- /dev/null
+++ b/user/ppp/dhcp.patch
@@ -0,0 +1,324 @@
+--- ppp-2.4.7/pppd/plugins/Makefile.linux.old 2019-05-09 23:06:56.499058276 +0000
++++ ppp-2.4.7/pppd/plugins/Makefile.linux 2019-05-09 23:11:21.040252628 +0000
+@@ -16,7 +16,7 @@
+ MANDIR = $(DESTDIR)/share/man/man8
+ LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+
+-SUBDIRS := rp-pppoe pppoatm pppol2tp
++SUBDIRS := dhcp rp-pppoe pppoatm pppol2tp
+ # Uncomment the next line to include the radius authentication plugin
+ SUBDIRS += radius
+ PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so
+--- ppp-2.4.7/pppd/plugins/dhcp/README.old 2002-09-30 11:33:49.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/README 2019-05-09 23:11:37.408470308 +0000
+@@ -37,7 +37,7 @@
+
+ This option specified the local IP address of the system running
+ this proxy, as should be identified to the DHCP server in the
+- 'giaddr' field of DHCP requests. Normal server behavor should
++ 'giaddr' field of DHCP requests. Normal server behaviour should
+ be to send DHCP responses to this address. The default is the
+ primary address bound to the dhcp interface.
+
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/clientpacket.c ppp-2.4.7/pppd/plugins/dhcp/clientpacket.c
+--- ppp-2.4.7/pppd/plugins/dhcp.old/clientpacket.c 2002-08-31 12:19:20.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/clientpacket.c 2019-05-09 23:42:33.566347764 +0000
+@@ -179,8 +179,8 @@
+ {
+ int bytes;
+ struct udp_dhcp_packet packet;
+- u_int32_t source, dest;
+- u_int16_t check;
++ uint32_t source, dest;
++ uint16_t check;
+
+ memset(&packet, 0, sizeof(struct udp_dhcp_packet));
+ bytes = read(fd, &packet, sizeof(struct udp_dhcp_packet));
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.c ppp-2.4.7/pppd/plugins/dhcp/dhcpc.c
+--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.c 2019-05-09 23:41:38.732319544 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpc.c 2019-05-09 23:42:33.566347764 +0000
+@@ -56,11 +56,11 @@
+ #include "socket.h"
+ #include "debug.h"
+
+-static void (*dhcp_old_ip_choose_hook)(u_int32_t *addrp);
++static void (*dhcp_old_ip_choose_hook)(uint32_t *addrp);
+
+ static int dhcp_state;
+-static u_int32_t requested_ip; /* = 0 */
+-u_int32_t assigned_ip; /* value supplied to remote ppp */
++static uint32_t requested_ip; /* = 0 */
++uint32_t assigned_ip; /* value supplied to remote ppp */
+ static unsigned long server_addr;
+ unsigned long lease, renew_timeout;
+ unsigned long xid = 0;
+@@ -118,7 +118,7 @@
+ void dhcp_release(void *ptr, int arg);
+ void dhcp_renew(void *dummy);
+ void dhcp_request_new();
+-void dhcp_ip_choose(u_int32_t *addrp);
++void dhcp_ip_choose(uint32_t *addrp);
+ void dhcp_read_options(void);
+
+
+@@ -453,8 +453,8 @@
+ return;
+ }
+
+-void dhcp_ip_choose(u_int32_t *addrp) {
+- u_int32_t entryvalue;
++void dhcp_ip_choose(uint32_t *addrp) {
++ uint32_t entryvalue;
+
+ dbglog("DHCPC: ip_choose_hook entered with peer name %s",peer_authname);
+
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.h ppp-2.4.7/pppd/plugins/dhcp/dhcpc.h
+--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.h 2002-08-31 11:54:23.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpc.h 2019-05-09 23:42:33.566347764 +0000
+@@ -24,9 +24,9 @@
+ unsigned char *hostname; /* Optional hostname to use */
+ int ifindex; /* Index number of the interface to use */
+ unsigned char arp[6]; /* Our arp address */
+- u_int32_t giaddr; /* Fill in this value on all packets we generate */
+- u_int32_t siaddr; /* If defined, only talk to this server (never broadcast) */
+- u_int32_t subnet_selection; /* If non zero, send and require SS option */
++ uint32_t giaddr; /* Fill in this value on all packets we generate */
++ uint32_t siaddr; /* If defined, only talk to this server (never broadcast) */
++ uint32_t subnet_selection; /* If non zero, send and require SS option */
+ };
+
+ extern struct client_config_t client_config;
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpd.h ppp-2.4.7/pppd/plugins/dhcp/dhcpd.h
+--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpd.h 2002-08-31 11:52:31.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpd.h 2019-05-09 23:42:33.566347764 +0000
+@@ -101,9 +101,9 @@
+ };
+
+ struct server_config_t {
+- u_int32_t server; /* Our IP, in network order */
+- u_int32_t start; /* Start address of leases, network order */
+- u_int32_t end; /* End of leases, network order */
++ uint32_t server; /* Our IP, in network order */
++ uint32_t start; /* Start address of leases, network order */
++ uint32_t end; /* End of leases, network order */
+ struct option_set *options; /* List of DHCP options loaded from the config file */
+ char *interface; /* The name of the interface to use */
+ int ifindex; /* Index number of the interface to use */
+@@ -122,7 +122,7 @@
+ char *lease_file;
+ char *pidfile;
+ char *notify_file; /* What to run whenever leases are written */
+- u_int32_t siaddr; /* next server bootp option */
++ uint32_t siaddr; /* next server bootp option */
+ char *sname; /* bootp server name */
+ char *boot_file; /* bootp boot file option */
+ };
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/leases.h ppp-2.4.7/pppd/plugins/dhcp/leases.h
+--- ppp-2.4.7/pppd/plugins/dhcp.old/leases.h 2002-08-23 13:17:14.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/leases.h 2019-05-09 23:42:33.566347764 +0000
+@@ -4,20 +4,20 @@
+
+
+ struct dhcpOfferedAddr {
+- u_int8_t chaddr[16];
+- u_int32_t yiaddr; /* network order */
+- u_int32_t expires; /* host order */
++ uint8_t chaddr[16];
++ uint32_t yiaddr; /* network order */
++ uint32_t expires; /* host order */
+ };
+
+
+-void clear_lease(u_int8_t *chaddr, u_int32_t yiaddr);
+-struct dhcpOfferedAddr *add_lease(u_int8_t *chaddr, u_int32_t yiaddr, unsigned long lease);
++void clear_lease(uint8_t *chaddr, uint32_t yiaddr);
++struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned long lease);
+ int lease_expired(struct dhcpOfferedAddr *lease);
+ struct dhcpOfferedAddr *oldest_expired_lease(void);
+-struct dhcpOfferedAddr *find_lease_by_chaddr(u_int8_t *chaddr);
+-struct dhcpOfferedAddr *find_lease_by_yiaddr(u_int32_t yiaddr);
+-u_int32_t find_address(int check_expired);
+-int check_ip(u_int32_t addr);
++struct dhcpOfferedAddr *find_lease_by_chaddr(uint8_t *chaddr);
++struct dhcpOfferedAddr *find_lease_by_yiaddr(uint32_t yiaddr);
++uint32_t find_address(int check_expired);
++int check_ip(uint32_t addr);
+
+
+ #endif
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/options.c ppp-2.4.7/pppd/plugins/dhcp/options.c
+--- ppp-2.4.7/pppd/plugins/dhcp.old/options.c 2002-08-31 11:52:37.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/options.c 2019-05-09 23:42:33.566347764 +0000
+@@ -148,17 +148,17 @@
+
+
+ /* add a one to four byte option to a packet */
+-int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t data)
++int add_simple_option(unsigned char *optionptr, unsigned char code, uint32_t data)
+ {
+ char length = 0;
+ int i;
+ unsigned char option[2 + 4];
+ unsigned char *u8;
+- u_int16_t *u16;
+- u_int32_t *u32;
+- u_int32_t aligned;
++ uint16_t *u16;
++ uint32_t *u32;
++ uint32_t aligned;
+ u8 = (unsigned char *) &aligned;
+- u16 = (u_int16_t *) &aligned;
++ u16 = (uint16_t *) &aligned;
+ u32 = &aligned;
+
+ for (i = 0; options[i].code; i++)
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/options.h ppp-2.4.7/pppd/plugins/dhcp/options.h
+--- ppp-2.4.7/pppd/plugins/dhcp.old/options.h 2002-08-23 13:06:28.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/options.h 2019-05-09 23:42:33.566347764 +0000
+@@ -33,7 +33,7 @@
+ unsigned char *get_option(struct dhcpMessage *packet, int code);
+ int end_option(unsigned char *optionptr);
+ int add_option_string(unsigned char *optionptr, unsigned char *string);
+-int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t data);
++int add_simple_option(unsigned char *optionptr, unsigned char code, uint32_t data);
+ struct option_set *find_option(struct option_set *opt_list, char code);
+ void attach_option(struct option_set **opt_list, struct dhcp_option *option, char *buffer, int length);
+
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/packet.c ppp-2.4.7/pppd/plugins/dhcp/packet.c
+--- ppp-2.4.7/pppd/plugins/dhcp.old/packet.c 2019-05-09 23:41:38.732319544 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/packet.c 2019-05-09 23:42:33.566347764 +0000
+@@ -83,13 +83,13 @@
+ }
+
+
+-u_int16_t checksum(void *addr, int count)
++uint16_t checksum(void *addr, int count)
+ {
+ /* Compute Internet Checksum for "count" bytes
+ * beginning at location "addr".
+ */
+ register int32_t sum = 0;
+- u_int16_t *source = (u_int16_t *) addr;
++ uint16_t *source = (uint16_t *) addr;
+
+ while( count > 1 ) {
+ /* This is the inner loop */
+@@ -110,8 +110,8 @@
+
+
+ /* Constuct a ip/udp header for a packet, and specify the source and dest hardware address */
+-int raw_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port,
+- u_int32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex)
++int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port,
++ uint32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex)
+ {
+ int fd;
+ int result;
+@@ -169,8 +169,8 @@
+
+
+ /* Let the kernel do all the work for packet generation */
+-int kernel_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port,
+- u_int32_t dest_ip, int dest_port)
++int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port,
++ uint32_t dest_ip, int dest_port)
+ {
+ int n = 1;
+ int fd, result;
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/packet.h ppp-2.4.7/pppd/plugins/dhcp/packet.h
+--- ppp-2.4.7/pppd/plugins/dhcp.old/packet.h 2002-08-23 13:04:56.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/packet.h 2019-05-09 23:42:33.566347764 +0000
+@@ -5,22 +5,22 @@
+ #include <netinet/ip.h>
+
+ struct dhcpMessage {
+- u_int8_t op;
+- u_int8_t htype;
+- u_int8_t hlen;
+- u_int8_t hops;
+- u_int32_t xid;
+- u_int16_t secs;
+- u_int16_t flags;
+- u_int32_t ciaddr;
+- u_int32_t yiaddr;
+- u_int32_t siaddr;
+- u_int32_t giaddr;
+- u_int8_t chaddr[16];
+- u_int8_t sname[64];
+- u_int8_t file[128];
+- u_int32_t cookie;
+- u_int8_t options[308]; /* 312 - cookie */
++ uint8_t op;
++ uint8_t htype;
++ uint8_t hlen;
++ uint8_t hops;
++ uint32_t xid;
++ uint16_t secs;
++ uint16_t flags;
++ uint32_t ciaddr;
++ uint32_t yiaddr;
++ uint32_t siaddr;
++ uint32_t giaddr;
++ uint8_t chaddr[16];
++ uint8_t sname[64];
++ uint8_t file[128];
++ uint32_t cookie;
++ uint8_t options[308]; /* 312 - cookie */
+ };
+
+ struct udp_dhcp_packet {
+@@ -31,11 +31,11 @@
+
+ void init_header(struct dhcpMessage *packet, char type);
+ int get_packet(struct dhcpMessage *packet, int fd);
+-u_int16_t checksum(void *addr, int count);
+-int raw_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port,
+- u_int32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex);
+-int kernel_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port,
+- u_int32_t dest_ip, int dest_port);
++uint16_t checksum(void *addr, int count);
++int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port,
++ uint32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex);
++int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port,
++ uint32_t dest_ip, int dest_port);
+
+
+ #endif
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/socket.c ppp-2.4.7/pppd/plugins/dhcp/socket.c
+--- ppp-2.4.7/pppd/plugins/dhcp.old/socket.c 2019-05-09 23:41:38.732319544 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/socket.c 2019-05-09 23:42:33.566347764 +0000
+@@ -43,7 +43,7 @@
+
+ #include "debug.h"
+
+-int read_interface(char *interface, int *ifindex, u_int32_t *addr, unsigned char *arp)
++int read_interface(char *interface, int *ifindex, uint32_t *addr, unsigned char *arp)
+ {
+ int fd;
+ struct ifreq ifr;
+diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/socket.h ppp-2.4.7/pppd/plugins/dhcp/socket.h
+--- ppp-2.4.7/pppd/plugins/dhcp.old/socket.h 2002-08-23 13:06:28.000000000 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/socket.h 2019-05-09 23:42:33.566347764 +0000
+@@ -2,7 +2,7 @@
+ #ifndef _SOCKET_H
+ #define _SOCKET_H
+
+-int read_interface(char *interface, int *ifindex, u_int32_t *addr, unsigned char *arp);
++int read_interface(char *interface, int *ifindex, uint32_t *addr, unsigned char *arp);
+ int listen_socket(unsigned int ip, int port, char *inf);
+ int raw_socket(int ifindex);
+
+--- ppp-2.4.7/pppd/plugins/dhcp/Makefile.linux.old 2019-05-09 23:54:56.595427092 +0000
++++ ppp-2.4.7/pppd/plugins/dhcp/Makefile.linux 2019-05-09 23:56:53.012746364 +0000
+@@ -1,6 +1,11 @@
+
+ PLUGIN=dhcpc.so
+ CFLAGS=$(COPTS) -I../.. -I../../../include -fPIC
++INSTALL = install
++DESTDIR = $(INSTROOT)/usr
++LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
++
++VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
+
+ all: $(PLUGIN)
+
diff --git a/user/ppp/install-path.patch b/user/ppp/install-path.patch
new file mode 100644
index 000000000..845729fd5
--- /dev/null
+++ b/user/ppp/install-path.patch
@@ -0,0 +1,11 @@
+--- ppp-2.4.7/pppd/plugins/pppol2tp/Makefile.linux.old 2019-05-09 22:28:24.640793389 +0000
++++ ppp-2.4.7/pppd/plugins/pppol2tp/Makefile.linux 2019-05-09 23:02:56.955142166 +0000
+@@ -4,7 +4,7 @@
+
+ #***********************************************************************
+
+-DESTDIR = @DESTDIR@
++DESTDIR = $(INSTROOT)@DESTDIR@
+ LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+
+ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
diff --git a/user/ppp/musl-fix-headers.patch b/user/ppp/musl-fix-headers.patch
new file mode 100644
index 000000000..d24f62896
--- /dev/null
+++ b/user/ppp/musl-fix-headers.patch
@@ -0,0 +1,137 @@
+diff --git a/include/net/ppp_defs.h b/include/net/ppp_defs.h
+index b06eda5..dafa36c 100644
+--- a/include/net/ppp_defs.h
++++ b/include/net/ppp_defs.h
+@@ -38,6 +38,8 @@
+ #ifndef _PPP_DEFS_H_
+ #define _PPP_DEFS_H_
+
++#include <sys/time.h>
++
+ /*
+ * The basic PPP frame.
+ */
+diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
+index a74c914..7acd2cf 100644
+--- a/pppd/Makefile.linux
++++ b/pppd/Makefile.linux
+@@ -126,7 +126,7 @@ LIBS += -lcrypt
+ endif
+
+ ifdef USE_LIBUTIL
+-CFLAGS += -DHAVE_LOGWTMP=1
++#CFLAGS += -DHAVE_LOGWTMP=1
+ LIBS += -lutil
+ endif
+
+diff --git a/pppd/magic.h b/pppd/magic.h
+index c81213b..305aece 100644
+--- a/pppd/magic.h
++++ b/pppd/magic.h
+@@ -42,6 +42,8 @@
+ * $Id: magic.h,v 1.5 2003/06/11 23:56:26 paulus Exp $
+ */
+
++#include <sys/cdefs.h>
++
+ void magic_init __P((void)); /* Initialize the magic number generator */
+ u_int32_t magic __P((void)); /* Returns the next magic number */
+
+diff --git a/pppd/plugins/rp-pppoe/if.c b/pppd/plugins/rp-pppoe/if.c
+index 91e9a57..9c0fac3 100644
+--- a/pppd/plugins/rp-pppoe/if.c
++++ b/pppd/plugins/rp-pppoe/if.c
+@@ -30,10 +30,6 @@ static char const RCSID[] =
+ #include <linux/if_packet.h>
+ #endif
+
+-#ifdef HAVE_NET_ETHERNET_H
+-#include <net/ethernet.h>
+-#endif
+-
+ #ifdef HAVE_ASM_TYPES_H
+ #include <asm/types.h>
+ #endif
+diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c
+index a8c2bb4..ca34d79 100644
+--- a/pppd/plugins/rp-pppoe/plugin.c
++++ b/pppd/plugins/rp-pppoe/plugin.c
+@@ -46,7 +46,6 @@ static char const RCSID[] =
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <signal.h>
+-#include <net/ethernet.h>
+ #include <net/if_arp.h>
+ #include <linux/ppp_defs.h>
+ #include <linux/if_pppox.h>
+diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+index 3d3bf4e..b5f82d3 100644
+--- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
++++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+@@ -27,10 +27,6 @@
+ #include <linux/if_packet.h>
+ #endif
+
+-#ifdef HAVE_NET_ETHERNET_H
+-#include <net/ethernet.h>
+-#endif
+-
+ #ifdef HAVE_ASM_TYPES_H
+ #include <asm/types.h>
+ #endif
+@@ -55,6 +51,8 @@ void die(int status)
+ exit(status);
+ }
+
++#define error(x...) fprintf(stderr, x)
++
+ /* Initialize frame types to RFC 2516 values. Some broken peers apparently
+ use different frame types... sigh... */
+
+diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
+index 9ab2eee..4d68147 100644
+--- a/pppd/plugins/rp-pppoe/pppoe.h
++++ b/pppd/plugins/rp-pppoe/pppoe.h
+@@ -86,18 +86,6 @@ typedef unsigned long UINT32_t;
+
+ #include <netinet/in.h>
+
+-#ifdef HAVE_NETINET_IF_ETHER_H
+-#include <sys/types.h>
+-
+-#ifdef HAVE_SYS_SOCKET_H
+-#include <sys/socket.h>
+-#endif
+-#ifndef HAVE_SYS_DLPI_H
+-#include <netinet/if_ether.h>
+-#endif
+-#endif
+-
+-
+
+ /* Ethernet frame types according to RFC 2516 */
+ #define ETH_PPPOE_DISCOVERY 0x8863
+diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
+index 6d71530..86d224e 100644
+--- a/pppd/sys-linux.c
++++ b/pppd/sys-linux.c
+@@ -102,19 +102,11 @@
+ #define MAX_ADDR_LEN 7
+ #endif
+
+-#if __GLIBC__ >= 2
+ #include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
+ #include <net/if.h>
+ #include <net/if_arp.h>
+ #include <net/route.h>
+ #include <netinet/if_ether.h>
+-#else
+-#include <linux/types.h>
+-#include <linux/if.h>
+-#include <linux/if_arp.h>
+-#include <linux/route.h>
+-#include <linux/if_ether.h>
+-#endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+
diff --git a/user/ppp/ppp.mod b/user/ppp/ppp.mod
new file mode 100644
index 000000000..e936041c6
--- /dev/null
+++ b/user/ppp/ppp.mod
@@ -0,0 +1,10 @@
+alias char-major-108 ppp_generic
+alias /dev/ppp ppp_generic
+alias tty-ldisc-3 ppp_async
+alias tty-ldisc-13 n_hdlc
+alias tty-ldisc-14 ppp_synctty
+alias ppp-compress-18 ppp_mppe
+alias ppp-compress-21 bsd_comp
+alias ppp-compress-24 ppp_deflate
+alias ppp-compress-26 ppp_deflate
+alias net-pf-24 pppoe
diff --git a/user/ppp/ppp.pamd b/user/ppp/ppp.pamd
new file mode 100644
index 000000000..ac86d9512
--- /dev/null
+++ b/user/ppp/ppp.pamd
@@ -0,0 +1,7 @@
+# Welcome to Adélie Linux.
+
+# This file ensures PPP uses the system-wide PAM configuration.
+
+auth include base-auth
+account include base-account
+session include base-session-noninteractive
diff --git a/user/ppp/pppd.initd b/user/ppp/pppd.initd
new file mode 100644
index 000000000..30bd641da
--- /dev/null
+++ b/user/ppp/pppd.initd
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+
+name="pppd"
+command="/usr/sbin/${SVCNAME}"
+command_args="nodetach ${PPPD_OPTS}"
+pidfile="/var/run/$SVCNAME.pid"
+command_background=true
+
+start_pre() {
+ checkpath --directory /var/run/ppp
+ modprobe pptp
+}
+
diff --git a/user/ppp/utmpx.patch b/user/ppp/utmpx.patch
new file mode 100644
index 000000000..2914bc4be
--- /dev/null
+++ b/user/ppp/utmpx.patch
@@ -0,0 +1,142 @@
+--- ppp-2.4.7/pppd/utils.c.old 2014-08-09 12:31:39.000000000 +0000
++++ ppp-2.4.7/pppd/utils.c 2019-05-09 22:13:47.546342436 +0000
+@@ -41,7 +41,7 @@
+ #include <syslog.h>
+ #include <netdb.h>
+ #include <time.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <pwd.h>
+ #include <sys/param.h>
+ #include <sys/types.h>
+--- ppp-2.4.7/pppd/auth.c.old 2019-05-09 22:07:26.737835517 +0000
++++ ppp-2.4.7/pppd/auth.c 2019-05-09 22:14:11.833696617 +0000
+@@ -81,7 +81,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/socket.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <fcntl.h>
+ #if defined(_PATH_LASTLOG) && defined(__linux__)
+ #include <lastlog.h>
+--- ppp-2.4.7/pppd/sys-linux.c.old 2019-05-09 22:07:26.747834427 +0000
++++ ppp-2.4.7/pppd/sys-linux.c 2019-05-09 22:15:20.616203578 +0000
+@@ -85,7 +85,7 @@
+ #include <string.h>
+ #include <time.h>
+ #include <memory.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <mntent.h>
+ #include <signal.h>
+ #include <fcntl.h>
+@@ -2230,75 +2230,6 @@
+ * Update the wtmp file with the appropriate user name and tty device.
+ */
+
+-void logwtmp (const char *line, const char *name, const char *host)
+-{
+- struct utmp ut, *utp;
+- pid_t mypid = getpid();
+-#if __GLIBC__ < 2
+- int wtmp;
+-#endif
+-
+-/*
+- * Update the signon database for users.
+- * Christoph Lameter: Copied from poeigl-1.36 Jan 3, 1996
+- */
+- utmpname(_PATH_UTMP);
+- setutent();
+- while ((utp = getutent()) && (utp->ut_pid != mypid))
+- /* nothing */;
+-
+- if (utp)
+- memcpy(&ut, utp, sizeof(ut));
+- else
+- /* some gettys/telnetds don't initialize utmp... */
+- memset(&ut, 0, sizeof(ut));
+-
+- if (ut.ut_id[0] == 0)
+- strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id));
+-
+- strncpy(ut.ut_user, name, sizeof(ut.ut_user));
+- strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+-
+- time(&ut.ut_time);
+-
+- ut.ut_type = USER_PROCESS;
+- ut.ut_pid = mypid;
+-
+- /* Insert the host name if one is supplied */
+- if (*host)
+- strncpy (ut.ut_host, host, sizeof(ut.ut_host));
+-
+- /* Insert the IP address of the remote system if IP is enabled */
+- if (ipcp_protent.enabled_flag && ipcp_hisoptions[0].neg_addr)
+- memcpy(&ut.ut_addr, (char *) &ipcp_hisoptions[0].hisaddr,
+- sizeof(ut.ut_addr));
+-
+- /* CL: Makes sure that the logout works */
+- if (*host == 0 && *name==0)
+- ut.ut_host[0]=0;
+-
+- pututline(&ut);
+- endutent();
+-/*
+- * Update the wtmp file.
+- */
+-#if __GLIBC__ >= 2
+- updwtmp(_PATH_WTMP, &ut);
+-#else
+- wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY);
+- if (wtmp >= 0) {
+- flock(wtmp, LOCK_EX);
+-
+- if (write (wtmp, (char *)&ut, sizeof(ut)) != sizeof(ut))
+- warn("error writing %s: %m", _PATH_WTMP);
+-
+- flock(wtmp, LOCK_UN);
+-
+- close (wtmp);
+- }
+-#endif
+-}
+-
+
+ /********************************************************************
+ *
+--- ppp-2.4.7/pppd/tty.c.old 2014-08-09 12:31:39.000000000 +0000
++++ ppp-2.4.7/pppd/tty.c 2019-05-09 22:15:34.854652468 +0000
+@@ -81,7 +81,7 @@
+ #include <fcntl.h>
+ #include <syslog.h>
+ #include <netdb.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <pwd.h>
+ #include <setjmp.h>
+ #include <sys/param.h>
+--- ppp-2.4.7/pppd/session.c.old 2014-08-09 12:31:39.000000000 +0000
++++ ppp-2.4.7/pppd/session.c 2019-05-09 22:15:52.692709222 +0000
+@@ -77,7 +77,7 @@
+ #include <shadow.h>
+ #endif
+ #include <time.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include "pppd.h"
+--- ppp-2.4.7/pppd/main.c.old 2019-05-09 22:07:26.717837696 +0000
++++ ppp-2.4.7/pppd/main.c 2019-05-09 22:16:06.881163559 +0000
+@@ -78,7 +78,7 @@
+ #include <fcntl.h>
+ #include <syslog.h>
+ #include <netdb.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <pwd.h>
+ #include <setjmp.h>
+ #include <sys/param.h>
diff --git a/user/protobuf/APKBUILD b/user/protobuf/APKBUILD
index f8ff737a6..af46fd009 100644
--- a/user/protobuf/APKBUILD
+++ b/user/protobuf/APKBUILD
@@ -1,24 +1,23 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Dan Theisen <djt@hxx.in>
-# TODO: Build Python module, and clean up Ruby build process
pkgname=protobuf
_gemname=google-protobuf
-pkgver=3.6.1
+pkgver=3.7.1
_tstver=1.8.0
pkgrel=0
pkgdesc="Library for extensible, efficient structure packing"
url="https://github.com/google/protobuf"
arch="all"
+options="!check" # Broken everywhere.
license="BSD-3-Clause"
depends_dev="zlib-dev"
-makedepends="$depends_dev autoconf automake libtool ruby ruby-dev ruby-rake"
-subpackages="ruby-$_gemname:_ruby $pkgname-dev $pkgname-vim::noarch"
+makedepends="$depends_dev autoconf automake libtool ruby ruby-dev ruby-rake
+ ruby-rake-compiler python3 python3-dev"
+checkdepends="ruby-json ruby-test-unit"
+subpackages="ruby-$_gemname:_ruby py3-$pkgname:_python $pkgname-dev $pkgname-vim::noarch"
source="$pkgname-$pkgver.tar.gz::https://github.com/google/$pkgname/archive/v$pkgver.tar.gz
- googletest-$_tstver.tar.gz::https://github.com/google/googletest/archive/release-$_tstver.tar.gz
- musl-fix.patch
- trim-rakefile.patch"
-builddir="$srcdir/$pkgname-$pkgver"
+ googletest-$_tstver.tar.gz::https://github.com/google/googletest/archive/release-$_tstver.tar.gz"
prepare() {
default_prepare
@@ -33,8 +32,8 @@ prepare() {
}
build() {
+ # Build Protobuf
cd "$builddir"
-
CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks" LDFLAGS="$LDFLAGS -latomic" \
./configure --prefix=/usr \
--sysconfdir=/etc \
@@ -43,11 +42,10 @@ build() {
--localstatedir=/var
make
+ # Build for Ruby
cd "$builddir"/ruby
-
# Generate proto files for built-in protocols.
rake genproto
-
gem build $_gemname.gemspec
gem install --local \
--install-dir dist \
@@ -56,7 +54,12 @@ build() {
--verbose \
$_gemname
- # build test-suite
+ # Build for Python 3
+ cd "$builddir"/python
+ export LD_LIBRARY_PATH=${builddir}/src/.libs
+ python3 setup.py build --cpp_implementation
+
+ # Build test-suite
local test; for test in googletest googlemock; do
cd "$builddir/third_party/googletest/$test"
autoreconf -vfi
@@ -65,10 +68,13 @@ build() {
done
}
-# TODO: Run tests for ruby gem.
check() {
cd "$builddir"
make check
+ cd "$builddir"/ruby
+ rake test
+ cd "$builddir"/python
+ python3 setup.py test --cpp_implementation
}
package() {
@@ -93,6 +99,14 @@ _ruby() {
rm -r ext/ tests/
}
+_python() {
+ pkgdesc="Python bindings to Google's data interchange format"
+
+ cd "$builddir"/python
+ python3 setup.py install --prefix=/usr --root="$subpkgdir" \
+ --cpp_implementation
+}
+
vim() {
pkgdesc="Vim syntax for $pkgname"
depends=""
@@ -102,7 +116,5 @@ vim() {
"$subpkgdir"/usr/share/vim/vimfiles/syntax/proto.vim
}
-sha512sums="1bc175d24b49de1b1e41eaf39598194e583afffb924c86c8d2e569d935af21874be76b2cbd4d9655a1d38bac3d4cd811de88bc2c72d81bad79115e69e5b0d839 protobuf-3.6.1.tar.gz
-1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d googletest-1.8.0.tar.gz
-875592bc5dc5efe9087ea1b340673f54c984ecd5aa3b110a2da136bdc28009af7ce1a9c57f4747ff809fc02eb6c39a0209c277177172af467a54172d9700188a musl-fix.patch
-d1d11fe76d2a1ae92f47f9eb1e0d94c67b7192a9dc4a382b6c0835f4fe4dbc2f98ca1b3c5095ad5b4e368581072330f943209c0decea02ebb47938588543fdb1 trim-rakefile.patch"
+sha512sums="7d4cfabd4bd55926336a3baafa0bc1f1f15380b1b2af945f70a2bb3ba24c6ac6567f49c492326d6d1c43a488166bff178f9266377758a05d8541d8b242f4f80f protobuf-3.7.1.tar.gz
+1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d googletest-1.8.0.tar.gz"
diff --git a/user/protobuf/musl-fix.patch b/user/protobuf/musl-fix.patch
deleted file mode 100644
index 442ca20ed..000000000
--- a/user/protobuf/musl-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-seems like both musl libc and android has byteswap.h
-
---- a/src/google/protobuf/stubs/port.h
-+++ b/src/google/protobuf/stubs/port.h
-@@ -94,7 +94,7 @@
- #include <intrin.h>
- #elif defined(__APPLE__)
- #include <libkern/OSByteOrder.h>
--#elif defined(__GLIBC__) || defined(__BIONIC__) || defined(__CYGWIN__)
-+#elif defined(__linux__) || defined(__BIONIC__) || defined(__CYGWIN__)
- #include <byteswap.h> // IWYU pragma: export
- #endif
-
-@@ -380,7 +380,7 @@ inline void GOOGLE_UNALIGNED_STORE64(voi
- #define bswap_32(x) OSSwapInt32(x)
- #define bswap_64(x) OSSwapInt64(x)
-
--#elif !defined(__GLIBC__) && !defined(__BIONIC__) && !defined(__CYGWIN__)
-+#elif !defined(__linux__) && !defined(__BIONIC__) && !defined(__CYGWIN__)
-
- static inline uint16 bswap_16(uint16 x) {
- return static_cast<uint16>(((x & 0xFF) << 8) | ((x & 0xFF00) >> 8));
diff --git a/user/protobuf/trim-rakefile.patch b/user/protobuf/trim-rakefile.patch
deleted file mode 100644
index 7f53d7099..000000000
--- a/user/protobuf/trim-rakefile.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Remove code that we don't use to avoid installing additional dependencies.
---- a/ruby/Rakefile
-+++ b/ruby/Rakefile
-@@ -1,6 +1,4 @@
- require "rubygems"
--require "rubygems/package_task"
--require "rake/extensiontask" unless RUBY_PLATFORM == "java"
- require "rake/testtask"
-
- spec = Gem::Specification.load("google-protobuf.gemspec")
-@@ -39,51 +37,6 @@
- end
- end
-
--if RUBY_PLATFORM == "java"
-- if `which mvn` == ''
-- raise ArgumentError, "maven needs to be installed"
-- end
-- task :clean do
-- system("mvn --batch-mode clean")
-- end
--
-- task :compile do
-- system("mvn --batch-mode package")
-- end
--else
-- Rake::ExtensionTask.new("protobuf_c", spec) do |ext|
-- unless RUBY_PLATFORM =~ /darwin/
-- # TODO: also set "no_native to true" for mac if possible. As is,
-- # "no_native" can only be set if the RUBY_PLATFORM doing
-- # cross-compilation is contained in the "ext.cross_platform" array.
-- ext.no_native = true
-- end
-- ext.ext_dir = "ext/google/protobuf_c"
-- ext.lib_dir = "lib/google"
-- ext.cross_compile = true
-- ext.cross_platform = [
-- 'x86-mingw32', 'x64-mingw32',
-- 'x86_64-linux', 'x86-linux',
-- 'universal-darwin'
-- ]
-- end
--
-- task 'gem:windows' do
-- require 'rake_compiler_dock'
-- RakeCompilerDock.sh "bundle && IN_DOCKER=true rake cross native gem RUBY_CC_VERSION=2.5.0:2.4.0:2.3.0:2.2.2:2.1.6:2.0.0"
-- end
--
-- if RUBY_PLATFORM =~ /darwin/
-- task 'gem:native' do
-- system "rake genproto"
-- system "rake cross native gem RUBY_CC_VERSION=2.5.0:2.4.0:2.3.0:2.2.2:2.1.6:2.0.0"
-- end
-- else
-- task 'gem:native' => [:genproto, 'gem:windows']
-- end
--end
--
--
- # Proto for tests.
- genproto_output << "tests/generated_code.rb"
- genproto_output << "tests/test_import.rb"
-@@ -104,9 +57,6 @@
-
- task :clean do
- sh "rm -f #{genproto_output.join(' ')}"
--end
--
--Gem::PackageTask.new(spec) do |pkg|
- end
-
- Rake::TestTask.new(:test => :build) do |t|
diff --git a/user/py3-alabaster/APKBUILD b/user/py3-alabaster/APKBUILD
new file mode 100644
index 000000000..65356c103
--- /dev/null
+++ b/user/py3-alabaster/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-alabaster
+_pkgname=alabaster
+pkgver=0.7.12
+pkgrel=0
+pkgdesc="Default theme for Sphinx Documentation Generator"
+url="https://pypi.python.org/pypi/alabaster"
+arch="noarch"
+# Inexact match, due to being derived work of a theme.
+license="BSD-3-Clause"
+depends="python3 py3-pygments"
+makedepends="python3-dev"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ # Zero tests currently.
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="e3bfd0c92ce01f08d5e6d9dc1ef0967ca1f54827e08756f4a0ba7be8d3b8bec7f2e53a169b831ff5ce2d2548f7f52c6e518bcc513e49bb3e4c38274293aebbac py3-alabaster-0.7.12.tar.gz"
diff --git a/user/py3-babel/APKBUILD b/user/py3-babel/APKBUILD
new file mode 100644
index 000000000..b9ce036aa
--- /dev/null
+++ b/user/py3-babel/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-babel
+_pkgname=Babel
+pkgver=2.6.0
+pkgrel=0
+pkgdesc="Internationalization tools for Python"
+url="https://pypi.python.org/pypi/Babel"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-freezegun py3-python-dateutil py3-tz"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="a87f26c25f1e48a64d1e7ee112bc0c325a6268e0e716a81cb6814a53f0add8f3d579babd2ba064f160298ebe3ac9711aa5d28f112582ee287767b6ed8427b6e0 py3-babel-2.6.0.tar.gz"
diff --git a/user/py3-cffi/APKBUILD b/user/py3-cffi/APKBUILD
index 9c7e1124c..4760f7521 100644
--- a/user/py3-cffi/APKBUILD
+++ b/user/py3-cffi/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=py3-cffi
-pkgver=1.11.5
+_pkgname=cffi
+pkgver=1.12.3
pkgrel=0
pkgdesc="Interface for Python to call in to C code"
url="https://cffi.readthedocs.io/"
@@ -11,22 +12,19 @@ depends="python3 py3-cparser"
makedepends="libffi-dev python3-dev"
checkdepends="py3-pytest"
subpackages=""
-source="https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-$pkgver.tar.gz"
-builddir="$srcdir/cffi-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
build() {
- cd "$builddir"
python3 setup.py build
}
check() {
- cd "$builddir"
python3 setup.py test
}
package() {
- cd "$builddir"
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="6770d5293cfd7405e733d60c96655641b5bcc5878fc66a737f4a8308f465d459ee0e3fcaa47893d8f57fb195e5534dd7e4728c868f33d7e657688f45e1fb1880 cffi-1.11.5.tar.gz"
+sha512sums="9070f5cfe543c9261a79f995548899c3e7539ee20f562ba91a4a909887745bd28448b0e38241031d6b2ab87286fd0ec91768b8bf6577716427612d41b0ed3b93 py3-cffi-1.12.3.tar.gz"
diff --git a/user/py3-commonmark/APKBUILD b/user/py3-commonmark/APKBUILD
new file mode 100644
index 000000000..90bc7fe56
--- /dev/null
+++ b/user/py3-commonmark/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-commonmark
+_pkgname=commonmark
+pkgver=0.8.1
+pkgrel=0
+pkgdesc="Python parser for the CommonMark Markdown flavour"
+url="https://pypi.org/project/CommonMark/"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH=. python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="dbab51d45c1973a8d0906148d785fb8ddc2b52177dfe0e69fe79bef2a5eb05a5a7ab8693852f4aaa8545af19d741569d04a24f06ea65171e6e80d9f66af47fdf commonmark-0.8.1.tar.gz"
diff --git a/user/py3-freezegun/APKBUILD b/user/py3-freezegun/APKBUILD
new file mode 100644
index 000000000..4148189a0
--- /dev/null
+++ b/user/py3-freezegun/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-freezegun
+_pkgname=freezegun
+pkgver=0.3.11
+pkgrel=0
+pkgdesc="Let your Python tests travel through time"
+url="https://pypi.python.org/pypi/freezegun"
+arch="noarch"
+options="!check" # Disabled until 0.3.12 due to dependency on obsolete nose library. See https://github.com/spulec/freezegun/issues/280
+license="Apache-2.0"
+depends="python3 py3-six"
+makedepends="python3-dev"
+checkdepends="py3-python-dateutil py3-pytest py3-mock py3-pbr"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="e8b392176641d52f6ed795c9af5fbc0a62892aeedf32b42375b56ab44a9ad7a5ecd3bb81363ed0ae65204aff2ef894cd7f2e17f42be72f31d3409b2bffa59ab8 py3-freezegun-0.3.11.tar.gz"
diff --git a/user/py3-html5lib/APKBUILD b/user/py3-html5lib/APKBUILD
new file mode 100644
index 000000000..f65096fad
--- /dev/null
+++ b/user/py3-html5lib/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-html5lib
+_pkgname=html5lib
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="HTML parser based on the WHATWG HTML specification"
+url="https://pypi.python.org/pypi/html5lib"
+arch="noarch"
+license="MIT"
+depends="python3 py3-six py3-webencodings"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-mock py3-pytest-expect"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ pytest
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="35939b4450893864da04e735ee5e0addacf1dd34bae6a6909c76572abf6bfded446a78a713dfde91c1485ba45867d7abeb6a45cf0545c16ea968707be7de5dd2 py3-html5lib-1.0.1.tar.gz"
diff --git a/user/py3-hypothesis/APKBUILD b/user/py3-hypothesis/APKBUILD
new file mode 100644
index 000000000..808a84296
--- /dev/null
+++ b/user/py3-hypothesis/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-hypothesis
+_pkgname=hypothesis
+pkgver=4.14.3
+pkgrel=0
+pkgdesc="A library for property based testing"
+url="https://pypi.python.org/pypi/hypothesis"
+arch="noarch"
+options="!check" # Tests are missing from release packages due to possible packaging bug?
+license="MPL-2.0"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-attrs"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="6cf0713a416c51286e4c707c6b32705b2dd53ff1a5c88ceab0cdd970e8932078c9e13436ac4aa66f94a5badf0a2f93a20e8221f77cf4fb0c8b42a707b52fb0f2 py3-hypothesis-4.14.3.tar.gz"
diff --git a/user/py3-imagesize/APKBUILD b/user/py3-imagesize/APKBUILD
new file mode 100644
index 000000000..c47afd26f
--- /dev/null
+++ b/user/py3-imagesize/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-imagesize
+_pkgname=imagesize
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Parse image file header and return image size"
+url="https://pypi.python.org/pypi/imagesize"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="python3-dev"
+#subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="11af71a5120decb88450d1bc7609e25e560e448fcaef72c273690ffe3ad06856e6a172e20738a8dd5650efe1ba8d599e797692eb5cae2b7d74a71f1f55438a03 py3-imagesize-1.1.0.tar.gz"
diff --git a/user/py3-jinja2/APKBUILD b/user/py3-jinja2/APKBUILD
new file mode 100644
index 000000000..5f54488f5
--- /dev/null
+++ b/user/py3-jinja2/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-jinja2
+_pkgname=Jinja2
+pkgver=2.10
+pkgrel=0
+pkgdesc="A small but fast and easy to use stand-alone template engine written in pure python."
+url="https://pypi.python.org/pypi/Jinja2"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-markupsafe"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONPATH="$builddir:$PYTHONPATH" pytest
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="0ea7371be67ffcf19e46dfd06523a45a0806e678a407d54f5f2f3e573982f0959cf82ec5d07b203670309928a62ef71109701ab16547a9bba2ebcdc178cb67f2 py3-jinja2-2.10.tar.gz"
diff --git a/user/py3-lxml/APKBUILD b/user/py3-lxml/APKBUILD
index 69e4721e7..fd522ca47 100644
--- a/user/py3-lxml/APKBUILD
+++ b/user/py3-lxml/APKBUILD
@@ -3,25 +3,24 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=py3-lxml
_pkgname=lxml
-pkgver=4.2.5
+pkgver=4.3.3
pkgrel=0
pkgdesc="Python LXML Library"
url="https://lxml.de/"
arch="all"
-license="BSD-3-Clause"
options="!check" # No test suite.
+license="BSD-3-Clause"
+depends=""
makedepends="python3-dev libxml2-dev libxslt-dev"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- cd "$builddir"
python3 setup.py build
}
package() {
- cd "$builddir"
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="4cf336d3e1471e8a26492760a143881517d12eb1c2dad82f8786540471bfabd68f8c795d97b7362166418c2be3c7996816638fdbd5a594536b9981478b90fdfe lxml-4.2.5.tar.gz"
+sha512sums="cbc1cd30bac4b9ac845d99949c8c231a7870398f942695df5a00586d70d0f6b6ebd457a1a9306806af7d0fd521a14c54d266902943263927a0d940abc3cdf5c0 lxml-4.3.3.tar.gz"
diff --git a/user/py3-mako/APKBUILD b/user/py3-mako/APKBUILD
index ac08c1f47..0f952f32d 100644
--- a/user/py3-mako/APKBUILD
+++ b/user/py3-mako/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=py3-mako
_pkgname=Mako
-pkgver=1.0.7
+pkgver=1.0.9
pkgrel=0
pkgdesc="Fast templating language for Python"
url="http://www.makotemplates.org/"
@@ -10,23 +10,21 @@ arch="noarch"
license="MIT"
depends="python3"
makedepends="python3-dev"
-checkdepends="py3-pluggy py3-py py3-pytest py3-six"
+checkdepends="py3-markupsafe py3-mock py3-pbr py3-pluggy py3-py py3-pytest
+ py3-six"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- cd "$builddir"
python3 setup.py build
}
check() {
- cd "$builddir"
python3 setup.py test
}
package() {
- cd "$builddir"
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="d67af6788bf8603010361ce8b6d0355b0191657c07f3b5845f9d5e91653c3e349a7b35d5b36aa9c7f291973c83911ce94075e1cad78e6935d0ed4ee9c6e2a571 Mako-1.0.7.tar.gz"
+sha512sums="2b40b96edba9f1ac0c2090e5677742c1f7578d5a55ab1c09aa4198493144e30c25d6179a7bdee2d3fa12410da6c3b1105d2d70af77d4265d679f577a7e711c63 Mako-1.0.9.tar.gz"
diff --git a/user/py3-markupsafe/APKBUILD b/user/py3-markupsafe/APKBUILD
new file mode 100644
index 000000000..9d2c46b51
--- /dev/null
+++ b/user/py3-markupsafe/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-markupsafe
+_pkgname=MarkupSafe
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="Safely add untrusted strings to HTML/XML markup."
+url="https://pypi.python.org/pypi/MarkupSafe"
+arch="all"
+license="BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONPATH="$PYTHONPATH:$(echo build/lib.*)" pytest
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="f3014e6131a3ab866914c5635b5397ef71906bffb1b6f8c5f2ed2acf167429ff7914236d38943e872683a57a9be9669f4c5aace6274f3307ab21ef25373db0b6 py3-markupsafe-1.1.1.tar.gz"
diff --git a/user/py3-packaging/APKBUILD b/user/py3-packaging/APKBUILD
new file mode 100644
index 000000000..08936d2a5
--- /dev/null
+++ b/user/py3-packaging/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-packaging
+_pkgname=packaging
+pkgver=19.0
+pkgrel=0
+pkgdesc="Core utilities for Python packages"
+url="https://pypi.python.org/pypi/packaging"
+arch="noarch"
+license="Apache-2.0 AND BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-pretend py3-pyparsing"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir/tests"
+ python3 -m pytest
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="aa55b6fbca764e7de2992e294b7be9dc90b25f88b64ba0cd2d1d93042402d4360b4c2cdc134a94b083da0c0bc83de8fa7185c0856bcc96fa25828c10a793fba7 py3-packaging-19.0.tar.gz"
diff --git a/user/py3-pexpect/APKBUILD b/user/py3-pexpect/APKBUILD
index 10978ca79..2394872d5 100644
--- a/user/py3-pexpect/APKBUILD
+++ b/user/py3-pexpect/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=py3-pexpect
-pkgver=4.6.0
+_pkgname=${pkgname#*-}
+pkgver=4.7.0
pkgrel=0
pkgdesc="Python library for managing console applications"
url="https://pexpect.readthedocs.io/"
@@ -9,8 +10,7 @@ arch="noarch"
license="ISC"
depends="python3 py3-ptyprocess"
makedepends=""
-source="https://files.pythonhosted.org/packages/89/43/07d07654ee3e25235d8cea4164cdee0ec39d1fda8e9203156ebe403ffda4/pexpect-$pkgver.tar.gz"
-sha512sums="9a2b1ef19d885e69cfd17ba0519581f782574019010043e66d8b68f98ac86b359f4a1ca42f8bb0059a5dfdd43275ad93531c076cc0ac2049e109408961b46bbd pexpect-4.6.0.tar.gz"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/pexpect-$pkgver"
build() {
@@ -28,3 +28,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
+sha512sums="4cea4229332c1f3de26dfcad596877665b3c02e91d51ca3c45c1f9b44462adb7c82abc7b76eb09a73822c2d1ccc9d812574cf79bf6bc8fb0b7d2f1093962cc3f pexpect-4.7.0.tar.gz"
diff --git a/user/py3-pretend/APKBUILD b/user/py3-pretend/APKBUILD
new file mode 100644
index 000000000..7cf86f96f
--- /dev/null
+++ b/user/py3-pretend/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-pretend
+_pkgname=pretend
+pkgver=1.0.9
+pkgrel=0
+pkgdesc="A library for stubbing in Python"
+url="https://pypi.python.org/pypi/pretend"
+arch="noarch"
+options="!check" # Test script missing from tarball
+license="BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 test_pretend.py
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="25dfbc4035f7ec7088be40846847620495656ddedbc8a0111ca36e6f6cbd59f14b974403d60827363db3f11bedd38a91e84f9d494f7715e6e8cdb0abfa690a87 py3-pretend-1.0.9.tar.gz"
diff --git a/user/py3-pycairo/APKBUILD b/user/py3-pycairo/APKBUILD
index 87de6f166..0b725ba6e 100644
--- a/user/py3-pycairo/APKBUILD
+++ b/user/py3-pycairo/APKBUILD
@@ -1,12 +1,13 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=py3-pycairo
-pkgver=1.18.0
+pkgver=1.18.1
pkgrel=0
pkgdesc="Python bindings for Cairo"
url="https://pycairo.readthedocs.io/"
arch="all"
license="MIT AND (LGPL-2.1-only OR MPL-1.1)"
+depends=""
makedepends="python3-dev cairo-dev meson"
subpackages="$pkgname-dev"
source="https://files.pythonhosted.org/packages/source/p/pycairo/pycairo-$pkgver.tar.gz"
@@ -33,4 +34,4 @@ package() {
DESTDIR="$pkgdir" ninja -C output install
}
-sha512sums="29af1eff8fc3ca942c6d7fcda8e5e004f01d1bfdab911f4ebb34213520922cf35c12d07bd18fe74a2c6d3c7f5a1aefd7fb5fe9b7cd310e6707b7451d5d5e18b0 pycairo-1.18.0.tar.gz"
+sha512sums="fef6b0d863d45a182a1ba671ddc4f6cb15745447cdaed3e1efeb05fad97f02aa0a56698517648a942bde263d74e06ad7781bcf487757aeb3b124ef64dc525024 pycairo-1.18.1.tar.gz"
diff --git a/user/py3-pygments/APKBUILD b/user/py3-pygments/APKBUILD
index 59055ed48..699de3ca5 100644
--- a/user/py3-pygments/APKBUILD
+++ b/user/py3-pygments/APKBUILD
@@ -1,6 +1,6 @@
# Contributor: Peter Bui <pnutzh4x0r@gmail.com>
# Contributor: Matt Smith <mcs@darkregion.net>
-# Maintainer: zlg <zlg+packages@zlg.space>
+# Maintainer: zlg <zlg+adelie@zlg.space>
pkgname=py3-pygments
_pkgname=Pygments
pkgver=2.2.0
diff --git a/user/py3-pygobject/APKBUILD b/user/py3-pygobject/APKBUILD
index 972b0f957..24c486a07 100644
--- a/user/py3-pygobject/APKBUILD
+++ b/user/py3-pygobject/APKBUILD
@@ -1,16 +1,16 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=py3-pygobject
-pkgver=3.30.4
+pkgver=3.32.1
pkgrel=0
pkgdesc="Python bindings for GObject libraries"
-url="https://pygobject.readthedocs.io/"
+url="https://wiki.gnome.org/Projects/PyGObject"
arch="all"
license="LGPL-2.1+ AND LGPL-2.1-only"
depends="py3-pycairo"
makedepends="python3-dev gobject-introspection-dev py3-pycairo-dev"
subpackages="$pkgname-dev"
-source="https://gitlab.gnome.org/GNOME/pygobject/-/archive/$pkgver/pygobject-$pkgver.tar.bz2"
+source="https://ftp.gnome.org/pub/GNOME/sources/pygobject/3.32/pygobject-$pkgver.tar.xz"
builddir="$srcdir/pygobject-$pkgver"
build() {
@@ -28,4 +28,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="8c86955033690b199d12e4e853443e4078fc0eb7c2c23599aba1e083b743ae3b6c9e2031c4277c6a1140ac787540639865e743e1504dd15bf160b977b4a8dee5 pygobject-3.30.4.tar.bz2"
+sha512sums="5b325d0caf4f34f783fc2c664a795809f048eb1639d2f2e375fc147c852d6e29a8ab119438cac76786fb20220c72d5859cc06d6f70c29f976f6a5914e0169915 pygobject-3.32.1.tar.xz"
diff --git a/user/py3-pyparsing/APKBUILD b/user/py3-pyparsing/APKBUILD
new file mode 100644
index 000000000..f84545871
--- /dev/null
+++ b/user/py3-pyparsing/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-pyparsing
+_pkgname=pyparsing
+pkgver=2.3.1
+pkgrel=0
+pkgdesc="Python parsing module"
+url="https://pypi.python.org/pypi/pyparsing"
+arch="noarch"
+options="!check" # Multiple problems in tests.
+license="MIT"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="fc8342780c38fd08c07d0b885c4d6c77d59f38098aa13c3abd05a790ee6caf2065a0bdab33bc290a6e2da123f4ac7e38c049e389b740546499dc48eba7ae431f py3-pyparsing-2.3.1.tar.gz"
diff --git a/user/py3-pytest-expect/APKBUILD b/user/py3-pytest-expect/APKBUILD
new file mode 100644
index 000000000..a8fcfadcf
--- /dev/null
+++ b/user/py3-pytest-expect/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-pytest-expect
+_pkgname=pytest-expect
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="py.test plugin to store test expectations and mark tests based on them"
+url="https://pypi.python.org/pypi/pytest-expect"
+arch="noarch"
+license="MIT"
+depends="python3 py3-pytest py3-u-msgpack-python"
+makedepends="python3-dev"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ # No tests available
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="41d2b296844e9dab9429f34eec37fe106a4e6c2039824c37067ed048dcc328b13e666b22d3482ccfc6153af4e44b5d895f3011ec45df55ffa07a98459e3caefd py3-pytest-expect-1.1.0.tar.gz"
diff --git a/user/py3-python-dateutil/APKBUILD b/user/py3-python-dateutil/APKBUILD
new file mode 100644
index 000000000..0e47c9ce1
--- /dev/null
+++ b/user/py3-python-dateutil/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-python-dateutil
+_pkgname=python-dateutil
+pkgver=2.8.0
+pkgrel=0
+pkgdesc="Extensions to the standard Python datetime module"
+url="https://pypi.python.org/pypi/python-dateutil"
+arch="noarch"
+license="Apache-2.0 AND BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-hypothesis py3-freezegun"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ pytest
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="ec7da86203572582f883a4686acf8a732a2de4f396d809057eb51b2c60dbca5623a7fa90c2c0618c281a2282c60841739bd837731a51cc876f4ff369297f2f81 py3-python-dateutil-2.8.0.tar.gz"
diff --git a/user/py3-recommonmark/APKBUILD b/user/py3-recommonmark/APKBUILD
new file mode 100644
index 000000000..2b0d6db68
--- /dev/null
+++ b/user/py3-recommonmark/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-recommonmark
+_pkgname=recommonmark
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="Bridge between CommonMark and docutils"
+url="https://pypi.org/project/recommonmark/"
+arch="noarch"
+options="!check" # Test data not shipped with tarball
+license="MIT"
+depends="python3 py3-commonmark py3-docutils py3-sphinx"
+checkdepends="py3-future"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="581b3492e082ab4f0a53e50df0c9cfa3badda7ba9ee28dadbea85c55de96304257790e6aa06ebc793fba1d9ac399ce470fe821492106150b3a0db10dc734ee4b recommonmark-0.5.0.tar.gz"
diff --git a/user/py3-six/APKBUILD b/user/py3-six/APKBUILD
index b1c4ffadd..94ece5835 100644
--- a/user/py3-six/APKBUILD
+++ b/user/py3-six/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer:
pkgname=py3-six
_pkgname=six
-pkgver=1.11.0
-pkgrel=1
+pkgver=1.12.0
+pkgrel=0
pkgdesc="Python 2 compatibility library"
url="https://pypi.python.org/pypi/six"
arch="noarch"
@@ -30,4 +30,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="f301c6e3c159fc87c121a6b860e4a24fa77ca2d23c3beb29201f7ba0ef71188d683d103fd3f44f50bc774a0682183256ac119e20463d389ebe0f481e2c4711f9 py3-six-1.11.0.tar.gz"
+sha512sums="67f218ec591411b4a460e4e2744083b7e128440a50d006433cd85a7485b3f4bbf37830bee4cfd3e24194e4873f9ad251a62900e2f5fce7429d647b3df14543c3 py3-six-1.12.0.tar.gz"
diff --git a/user/py3-snowballstemmer/APKBUILD b/user/py3-snowballstemmer/APKBUILD
new file mode 100644
index 000000000..5e24c7788
--- /dev/null
+++ b/user/py3-snowballstemmer/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-snowballstemmer
+_pkgname=snowballstemmer
+pkgver=1.2.1
+pkgrel=0
+pkgdesc="This package provides 16 stemmer algorithms (15 + Poerter English stemmer) generated from Snowball algorithms."
+url="https://pypi.python.org/pypi/snowballstemmer"
+arch="noarch"
+options="!check" # Test script nowhere to be found
+license="BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py test
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="09f860f383d84d12a83c87ef6654fba4ac10bca07e8d2ce88dd428c72754110d56a4b698e125a18818699a289455bf61cf67ea68e349ee8a12d6dfff0a3fbed9 py3-snowballstemmer-1.2.1.tar.gz"
diff --git a/user/py3-sphinx-rtd-theme/APKBUILD b/user/py3-sphinx-rtd-theme/APKBUILD
new file mode 100644
index 000000000..58f55ff89
--- /dev/null
+++ b/user/py3-sphinx-rtd-theme/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-sphinx-rtd-theme
+_pkgname=sphinx_rtd_theme
+pkgver=0.4.3
+pkgrel=0
+pkgdesc="Sphinx documentation theme: Read the Docs"
+url="https://pypi.org/project/sphinx-rtd-theme/"
+arch="noarch"
+license="MIT"
+depends="python3 py3-sphinx"
+checkdepends="py3-pytest"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/s/sphinx-rtd-theme/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="44b9309ddd041181542747c70b6e180c07aaf8cd7ee9e4c7eb9e3948685b8bd578e815c022bd991cc7f4bc7d02bb3c7a6d213e5d0c2e8214aa85d50b73e53853 sphinx_rtd_theme-0.4.3.tar.gz"
diff --git a/user/py3-sphinx/APKBUILD b/user/py3-sphinx/APKBUILD
new file mode 100644
index 000000000..8fe5a9944
--- /dev/null
+++ b/user/py3-sphinx/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinx
+_pkgname=Sphinx
+pkgver=2.0.0
+pkgrel=1
+pkgdesc="Sphinx Python Documentation Generator"
+url="https://pypi.python.org/pypi/Sphinx"
+arch="noarch"
+options="!check" # Some latex tests failing on 2.0.0 due to translation bug, see https://github.com/sphinx-doc/sphinx/pull/6218
+# Main software is BSD-2-Clause.
+license="BSD-2-Clause AND BSD-3-Clause AND MIT"
+depends="python3 py3-alabaster py3-babel py3-pygments py3-docutils py3-imagesize py3-jinja2 py3-packaging py3-pyparsing py3-requests py3-snowballstemmer py3-tz py3-sphinxcontrib-applehelp py3-sphinxcontrib-devhelp py3-sphinxcontrib-htmlhelp py3-sphinxcontrib-jsmath py3-sphinxcontrib-qthelp py3-sphinxcontrib-serializinghtml imagemagick"
+makedepends="python3-dev"
+checkdepends="py3-pytest py3-docutils py3-html5lib"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ # settings borrowed from tox.ini.
+ PYTHONPATH="build/lib:$PYTHONPATH" PYTHONWARNINGS="all,ignore::ImportWarning:pkgutil,ignore::ImportWarning:importlib._bootstrap,ignore::ImportWarning:importlib._bootstrap_external,ignore::ImportWarning:pytest_cov.plugin,ignore::DeprecationWarning:site,ignore::DeprecationWarning:_pytest.assertion.rewrite,ignore::DeprecationWarning:_pytest.fixtures,ignore::DeprecationWarning:distutils" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+doc() {
+ cd "$builddir"
+
+ local docdir="$subpkgdir/usr/share/doc/$pkgname"
+ mkdir -p "$docdir"
+ cp -R docs/* "$docdir"
+ cp *.txt "$docdir"
+
+ local licdir="$subpkgdir/usr/share/licenses/$pkgname"
+ mkdir -p "$licdir"
+ rm -f licenses/docutils.conf
+ cp licenses/* "$licdir"
+}
+
+sha512sums="283e18514262366e0aebc23f1e48ce7fa3591e48572525c832f96ec4f943463e19904c67ab06a4b3244119750c63dc496d4a4142e1e4a55e0b4ebdc748cf6aa6 py3-sphinx-2.0.0.tar.gz"
diff --git a/user/py3-sphinxcontrib-applehelp/APKBUILD b/user/py3-sphinxcontrib-applehelp/APKBUILD
new file mode 100644
index 000000000..20e2a4430
--- /dev/null
+++ b/user/py3-sphinxcontrib-applehelp/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinxcontrib-applehelp
+_pkgname=sphinxcontrib-applehelp
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="A Sphinx extension to output Apple help books"
+url="https://pypi.python.org/pypi/sphinxcontrib-applehelp"
+arch="noarch"
+options="!check" # Cyclic dependency with sphinx
+license="BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-sphinx py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONWARNINGS="all,ignore::DeprecationWarning:docutils.io" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="a6500bc2899f25c0b04c8649e86a6f688823e573a3f58f2b786117768e8b415acffbe79b99cff8aeb6ae3c74dd244254de120b82b7432cf61c5fabdd38f21603 py3-sphinxcontrib-applehelp-1.0.1.tar.gz"
diff --git a/user/py3-sphinxcontrib-devhelp/APKBUILD b/user/py3-sphinxcontrib-devhelp/APKBUILD
new file mode 100644
index 000000000..01bfdf037
--- /dev/null
+++ b/user/py3-sphinxcontrib-devhelp/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinxcontrib-devhelp
+_pkgname=sphinxcontrib-devhelp
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="A sphinx extension to output Devhelp documents"
+url="https://pypi.python.org/pypi/sphinxcontrib-devhelp"
+arch="noarch"
+options="!check" # Cyclic dependency with sphinx
+license="BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-sphinx py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONWARNINGS="all,ignore::DeprecationWarning:docutils.io" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="135d6405e330cc245391646d4055988cf762d82f6473e58c64a76f3a88e7f33a66baba366e7f29e1378320bd0c374af92b0f972bceeec8c05ad0fe652a81e984 py3-sphinxcontrib-devhelp-1.0.1.tar.gz"
diff --git a/user/py3-sphinxcontrib-htmlhelp/APKBUILD b/user/py3-sphinxcontrib-htmlhelp/APKBUILD
new file mode 100644
index 000000000..66e2da105
--- /dev/null
+++ b/user/py3-sphinxcontrib-htmlhelp/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinxcontrib-htmlhelp
+_pkgname=sphinxcontrib-htmlhelp
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="A sphinx extension to output HtmlHelp"
+url="https://pypi.python.org/pypi/sphinxcontrib-htmlhelp"
+arch="noarch"
+options="!check" # Cyclic dependency with sphinx
+license="BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-sphinx py3-pytest py3-html5lib"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONWARNINGS="all,ignore::DeprecationWarning:docutils.io" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="a364a490e5043e767a8b498b5b621f3f3c64bf15f65847097489d3d2ba8620adea2045024d5189a68d97af6f68161f714f09a712cdd9fc6d06524ea818cf2e1a py3-sphinxcontrib-htmlhelp-1.0.1.tar.gz"
diff --git a/user/py3-sphinxcontrib-jsmath/APKBUILD b/user/py3-sphinxcontrib-jsmath/APKBUILD
new file mode 100644
index 000000000..0a760859f
--- /dev/null
+++ b/user/py3-sphinxcontrib-jsmath/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinxcontrib-jsmath
+_pkgname=sphinxcontrib-jsmath
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="A sphinx extension which renders display math in HTML via JavaScript"
+url="https://pypi.python.org/pypi/sphinxcontrib-jsmath"
+arch="noarch"
+options="!check" # Cyclic dependency on sphinx
+license="BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-sphinx py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONWARNINGS="all,ignore::DeprecationWarning:docutils.io" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="c1e6488f5c0ca4567c27ec7c597c9db321ac32ce354c4ad62fea534b2ae1c0acb183a921f46216bbc3891f14acfaac05ddf324b8fdaf99828df07bc91aa7e5c7 py3-sphinxcontrib-jsmath-1.0.1.tar.gz"
diff --git a/user/py3-sphinxcontrib-qthelp/APKBUILD b/user/py3-sphinxcontrib-qthelp/APKBUILD
new file mode 100644
index 000000000..9feee1eae
--- /dev/null
+++ b/user/py3-sphinxcontrib-qthelp/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinxcontrib-qthelp
+_pkgname=sphinxcontrib-qthelp
+pkgver=1.0.2
+pkgrel=0
+pkgdesc="A Sphinx extension to output QtHelp documents."
+url="https://pypi.python.org/pypi/sphinxcontrib-qthelp"
+arch="noarch"
+options="!check" # Cyclic dependency with sphinx
+license="BSD-2-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-sphinx py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONWARNINGS="all,ignore::DeprecationWarning:docutils.io" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="8fe840e011fabd596194f539d27a502b77ae8a6030ae1a7646b1af9f203d3578b7420ead655297b2a752f0cb0e6803247c7a79b2ccd2d4662ed9f58398947864 py3-sphinxcontrib-qthelp-1.0.2.tar.gz"
diff --git a/user/py3-sphinxcontrib-serializinghtml/APKBUILD b/user/py3-sphinxcontrib-serializinghtml/APKBUILD
new file mode 100644
index 000000000..d576f8de8
--- /dev/null
+++ b/user/py3-sphinxcontrib-serializinghtml/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-sphinxcontrib-serializinghtml
+_pkgname=sphinxcontrib-serializinghtml
+pkgver=1.1.3
+pkgrel=0
+pkgdesc="A Sphinx extension to output serialized HTML (json and pickle)"
+url="https://pypi.python.org/pypi/sphinxcontrib-serializinghtml"
+arch="noarch"
+options="!check" # Cyclic dependency with sphinx
+license="BSD-2-Clause"
+depends="python3 py3-markupsafe"
+makedepends="python3-dev"
+checkdepends="py3-sphinx py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONWARNINGS="all,ignore::DeprecationWarning:docutils.io" pytest --durations 25
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="984d1760c61886408fe16c717aa1daea6591721928291267d519ea9c6eeab65d8a46d018a7c57aa8508ca408c9e919b7094d2580d30141ce7bacf5a18504cb55 py3-sphinxcontrib-serializinghtml-1.1.3.tar.gz"
diff --git a/user/py3-twisted/APKBUILD b/user/py3-twisted/APKBUILD
index e9d38cf7a..4a397f16d 100644
--- a/user/py3-twisted/APKBUILD
+++ b/user/py3-twisted/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=py3-twisted
_pkgname=Twisted
-pkgver=18.9.0
+pkgver=19.2.0
pkgrel=0
pkgdesc="Asynchronous networking framework written in Python"
url="https://twistedmatrix.com/"
@@ -11,7 +11,7 @@ license="MIT"
depends="py3-incremental"
makedepends="python3-dev"
subpackages=""
-source="https://files.pythonhosted.org/packages/5d/0e/a72d85a55761c2c3ff1cb968143a2fd5f360220779ed90e0fadf4106d4f2/Twisted-$pkgver.tar.bz2"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.bz2"
builddir="$srcdir/Twisted-$pkgver"
build() {
@@ -29,4 +29,4 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="a9878750f46207b8758f5407a0e4332d9e367bd3ed4e18001825982c3ba78c56372934e634f1866805b9b9bc452698ad36396285172b61cf84da0de5efa7cc29 Twisted-18.9.0.tar.bz2"
+sha512sums="46f2645e71bb8eca65c915078c7b0e71c6ed0c09deb9d947765326986b7cb7d535f2e15af23a48579d86be98d208a110c848b72803a68340b7b31a22784a62f2 Twisted-19.2.0.tar.bz2"
diff --git a/user/py3-u-msgpack-python/APKBUILD b/user/py3-u-msgpack-python/APKBUILD
new file mode 100644
index 000000000..1f7f03e82
--- /dev/null
+++ b/user/py3-u-msgpack-python/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-u-msgpack-python
+_pkgname=u-msgpack-python
+pkgver=2.5.1
+pkgrel=0
+pkgdesc="A portable, lightweight MessagePack serializer and deserializer written in pure Python."
+url="https://pypi.python.org/pypi/u-msgpack-python"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ pytest
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="80c9c08dd3fc7451fc84c7ba7cebada608aa7db057bedaf7875dc9c1f6771f0cd1b15dba79b1e24510e2286f792c0878b4015ba03784a41ed520139e7f27d1a9 py3-u-msgpack-python-2.5.1.tar.gz"
diff --git a/user/py3-webencodings/APKBUILD b/user/py3-webencodings/APKBUILD
new file mode 100644
index 000000000..8802cc1eb
--- /dev/null
+++ b/user/py3-webencodings/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Brandon Bergren <git@bdragon.rtk0.net>
+# Maintainer: Brandon Bergren <git@bdragon.rtk0.net>
+pkgname=py3-webencodings
+_pkgname=webencodings
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="Character encoding aliases for legacy web content"
+url="https://pypi.python.org/pypi/webencodings"
+arch="noarch"
+# Packaging error, see https://github.com/gsnedders/python-webencodings/blob/master/LICENSE
+license="BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ PYTHONPATH="build/lib:$PYTHONPATH" pytest webencodings/tests.py
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+
+}
+
+sha512sums="b727b01bac6ec79bca517960d27b4c0668b295f25559471b9641c2c33dab55db6dac9c990952177964c6418382c22831b14d57df5e632d51d7abf97b61f24326 py3-webencodings-0.5.1.tar.gz"
diff --git a/user/qca/APKBUILD b/user/qca/APKBUILD
index 4eaf94630..cd0210d0b 100644
--- a/user/qca/APKBUILD
+++ b/user/qca/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qca
-pkgver=2.1.3
-pkgrel=6
+pkgver=2.2.1
+pkgrel=0
pkgdesc="Qt cryptographic architecture"
url="https://userbase.kde.org/QCA"
arch="all"
@@ -10,7 +10,7 @@ license="LGPL-2.1+"
depends=""
makedepends="cmake cyrus-sasl-dev qt5-qtbase-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://download.kde.org/stable/qca/$pkgver/src/qca-${pkgver}.tar.xz"
+source="https://download.kde.org/stable/qca/$pkgver/qca-${pkgver}.tar.xz"
build() {
cd "$builddir"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0aec277e0695da2e45298f0a9006213829fe4c449a79969e472947db54f45000ba6e22361b782465bdc03f269b7301d318c843f5a83db459a118e58a03f3116a qca-2.1.3.tar.xz"
+sha512sums="3a0e8aa7cf3ea9a7244facaf1d521ebca2753af37636e7bf5f21c57ae880ac9682ae7d6d9fa5ce41b73568ff9538214956b89cd41228c2cb828d9068c2031a9c qca-2.2.1.tar.xz"
diff --git a/user/qpdf/APKBUILD b/user/qpdf/APKBUILD
index 663813fcc..df20bbe25 100644
--- a/user/qpdf/APKBUILD
+++ b/user/qpdf/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer:
pkgname=qpdf
-pkgver=8.4.0
+pkgver=8.4.2
pkgrel=0
pkgdesc="Command-line tools and library for transforming PDF files"
url="http://qpdf.sourceforge.net"
@@ -57,4 +57,4 @@ fix_qdf() {
mv "$pkgdir"/usr/bin/fix-qdf "$subpkgdir"/usr/bin/
}
-sha512sums="13225c6285311e8fe89970971b082b9613e70d474ee71dd5572f1ae268234d366c2c9c7bf427c4758a746a1a27ecc0127d31044ab501dbc08885c8aa0a514028 qpdf-8.4.0.tar.gz"
+sha512sums="9cde046fb5e42dc331933294155583fb20408704a0cab3075cc3e97bd4643e3178e4162b8de7434aa2304097e7734f985fdc8e7b05cc028c37193dce91797f7a qpdf-8.4.2.tar.gz"
diff --git a/user/qt-creator/APKBUILD b/user/qt-creator/APKBUILD
index 1ef39bd3f..1c6203faf 100644
--- a/user/qt-creator/APKBUILD
+++ b/user/qt-creator/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qt-creator
pkgver=4.8.2
-pkgrel=0
+pkgrel=1
pkgdesc="Cross-platform multi-language programming IDE"
url="https://doc.qt.io/qtcreator/index.html"
arch="all"
@@ -10,7 +10,7 @@ options="!check" # No test suite.
license="LGPL-2.0 WITH Qt-LGPL-exception-1.1"
depends="qt5-qtquickcontrols"
makedepends="qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtserialport-dev
- qt5-qtscript-dev qt5-qttools-dev clang-dev llvm7-dev python3
+ qt5-qtscript-dev qt5-qttools-dev clang-dev llvm8-dev python3
libexecinfo-dev"
subpackages="$pkgname-dev"
source="https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.gz"
@@ -21,7 +21,9 @@ build() {
cd "$builddir"
export LLVM_INSTALL_DIR=/usr
qmake -r "QMAKE_CFLAGS += $CFLAGS" "QMAKE_CXXFLAGS += $CXXFLAGS" "QMAKE_LFLAGS += $LDFLAGS" "QMAKE_LIBS += -lexecinfo"
- make
+ ln -s /usr/bin/python3 "$srcdir"/python
+ PATH="$PATH:$srcdir" make
+ rm "$srcdir"/python
}
package() {
diff --git a/user/qt5ct/APKBUILD b/user/qt5ct/APKBUILD
index faf9c6455..98328624a 100644
--- a/user/qt5ct/APKBUILD
+++ b/user/qt5ct/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=qt5ct
-pkgver=0.37
+pkgver=0.39
pkgrel=0
pkgdesc="GUI utility for configuring Qt5"
url="https://sourceforge.net/projects/qt5ct/"
@@ -23,4 +23,4 @@ package() {
make INSTALL_ROOT="$pkgdir" install
}
-sha512sums="685716b2e756ff433f5092cda981ef665ca5a44ad009745f51b38278c3d8eed6939fc52c6cf1f09046ab0a3910261892d7cf5250360874e2d7e4f12bff692da7 qt5ct-0.37.tar.bz2"
+sha512sums="ea7a4f34bae5aac622bcf9171982a16a982c8318d8c218c97e452e9fa7f4ea39018d269b2c62467830642961f873d9464c5a93a88529562340f13582436bdf65 qt5ct-0.39.tar.bz2"
diff --git a/user/quassel/APKBUILD b/user/quassel/APKBUILD
index 695fd4e4b..f9f583de7 100644
--- a/user/quassel/APKBUILD
+++ b/user/quassel/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=quassel
pkgver=0.13.1
-pkgrel=0
+pkgrel=1
pkgdesc="Modern, cross-platform IRC client"
url="https://quassel-irc.org/"
arch="all"
@@ -14,7 +14,9 @@ makedepends="qt5-qtbase-dev qt5-qtmultimedia-dev libdbusmenu-qt-dev sonnet-dev
kwidgetsaddons-dev qca-dev qt5-qttools-dev zlib-dev libexecinfo-dev"
langdir="/usr/share/quassel/translations"
subpackages="$pkgname-core $pkgname-client $pkgname-lang"
-source="https://quassel-irc.org/pub/quassel-$pkgver.tar.bz2"
+source="https://quassel-irc.org/pub/quassel-$pkgver.tar.bz2
+ unterminated-mIRC-codes.patch
+ "
# secfixes:
# 0.12.5-r0:
@@ -74,4 +76,5 @@ core() {
mv "$pkgdir"/usr/bin/quasselcore "$subpkgdir"/usr/bin/
}
-sha512sums="4ed55e81b1638c8851ddae5d9c9d23a1c2cea92f307e19f426873c2600d8e183898d3ed7c290f2ea5d1b8c5e1be7f9ffcc3e8c3c0193d080fc879b10cc3a962c quassel-0.13.1.tar.bz2"
+sha512sums="4ed55e81b1638c8851ddae5d9c9d23a1c2cea92f307e19f426873c2600d8e183898d3ed7c290f2ea5d1b8c5e1be7f9ffcc3e8c3c0193d080fc879b10cc3a962c quassel-0.13.1.tar.bz2
+7f5ffa64d0620061ac2b6eab2e163d5862d43b16e3d7572415b5819f9ee19a5482791c3cee20c3b99722f05ffed3f1f3ba6c82e7f78b6bea9170037675dd3b4a unterminated-mIRC-codes.patch"
diff --git a/user/quassel/unterminated-mIRC-codes.patch b/user/quassel/unterminated-mIRC-codes.patch
new file mode 100644
index 000000000..8cedeb461
--- /dev/null
+++ b/user/quassel/unterminated-mIRC-codes.patch
@@ -0,0 +1,40 @@
+From 391cdf6c2595060ff3b2adb54f5b2fc8ebd7cc04 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Mon, 3 Jun 2019 00:16:30 -0500
+Subject: [PATCH] multilineedit: handle unterminated mIRC codes
+
+Currently, if an unterminated mIRC code is pasted into Quassel, trying to
+go through input line history will cause a deadlock. This breaks the loop
+at the cost of possibly mangling the formatting of the line somewhat.
+This is seen as more acceptable than locking up, and the line is invalid
+anyway.
+
+Reproducer:
+
+```sh
+printf '\00303,08HONK' | xclip -selection clipboard
+```
+
+Paste into Quassel, send, press Up arrow key.
+---
+ src/uisupport/multilineedit.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/uisupport/multilineedit.cpp b/src/uisupport/multilineedit.cpp
+index 133a2433..b13834c5 100644
+--- a/src/uisupport/multilineedit.cpp
++++ b/src/uisupport/multilineedit.cpp
+@@ -645,6 +645,10 @@ QString MultiLineEdit::convertMircCodesToHtml(const QString &text)
+ }
+
+ posRight = text.indexOf(mircCode.cap(), posRight + 1);
++ if (posRight == -1) {
++ words << text.mid(posLeft);
++ break; // unclosed color code; can't process
++ }
+ words << text.mid(posLeft, posRight + 1 - posLeft);
+ posLeft = posRight + 1;
+ }
+--
+2.21.0
+
diff --git a/user/quaternion/APKBUILD b/user/quaternion/APKBUILD
index 363e30f5c..4b19bab1e 100644
--- a/user/quaternion/APKBUILD
+++ b/user/quaternion/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=quaternion
-pkgver=0.0.9.3
+pkgver=0.0.9.4a
pkgrel=0
pkgdesc="Qt5-based Matrix chat client"
url="https://matrix.org/docs/projects/client/quaternion.html"
@@ -9,13 +9,12 @@ arch="all"
license="GPL-3.0+"
depends="qt5-qtquickcontrols"
makedepends="cmake libqmatrixclient-dev qt5-qtbase-dev qt5-qtdeclarative-dev
- qt5-qttools-dev"
+ qt5-qtmultimedia-dev qt5-qttools-dev"
subpackages=""
-source="quaternion-$pkgver.tar.gz::https://github.com/QMatrixClient/Quaternion/archive/v$pkgver.tar.gz"
-builddir="$srcdir/Quaternion-$pkgver"
+source="quaternion-$pkgver.tar.gz::https://github.com/QMatrixClient/Quaternion/archive/${pkgver/_/-}.tar.gz"
+builddir="$srcdir/Quaternion-${pkgver/_/-}"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -30,13 +29,11 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="3836338cddc674b3a8b6e7d8376f0136db5c548788a0e56f27023fe7b238e2c07d77bf5e5b50e49cdb011c61f05700818b6a22a394ee8d52015f5f32b3fe4d47 quaternion-0.0.9.3.tar.gz"
+sha512sums="cb1cd10f34670e53c6e1bf749b647cae73f7f3c72615a71d865b0599da7d2b3cb233ce8ff7d32d92a605de4e087744b438abf19c16e0e320a5ec5463b29aa84b quaternion-0.0.9.4a.tar.gz"
diff --git a/user/rc/APKBUILD b/user/rc/APKBUILD
index fb05794e6..aef05b35a 100644
--- a/user/rc/APKBUILD
+++ b/user/rc/APKBUILD
@@ -4,7 +4,7 @@ pkgname=rc
pkgver=1.7.4
pkgrel=0
pkgdesc="Reimplementation of the Plan 9 shell"
-url="http://tobold.org/article/rc"
+url="http://static.tobold.org/rc"
arch="all"
license="Zlib"
depends=""
@@ -13,7 +13,6 @@ subpackages="$pkgname-doc"
source="http://static.tobold.org/$pkgname/$pkgname-$pkgver.tar.gz"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,12 +25,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
mkdir ${pkgdir}/usr/share/man
mv ${pkgdir}/usr/share/man1 ${pkgdir}/usr/share/man
diff --git a/user/ristretto/APKBUILD b/user/ristretto/APKBUILD
index 9fded5c45..1970f15af 100644
--- a/user/ristretto/APKBUILD
+++ b/user/ristretto/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=ristretto
-pkgver=0.8.3
+pkgver=0.8.4
pkgrel=0
pkgdesc="Image viewer for the XFCE desktop environment"
url="https://xfce.org"
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c43b48dfdf9e8ed0ea3c5f2bbac1c837881aa6a467c78377b6f53dcce030b5a3b8134a7b8cbad1008ae758295953fde50a916c284e54e8c5490158e776554514 ristretto-0.8.3.tar.bz2"
+sha512sums="c5479cde66e4f0903b9b8d9b1b8f4c7cde35ebfa334e414c8202e783c332bd4bfec650f85d308c7151d31fe84b27a13bb4048290b0a82ce7b8ba4baf3e4088b8 ristretto-0.8.4.tar.bz2"
diff --git a/user/rocs/APKBUILD b/user/rocs/APKBUILD
index f93856aa6..6370cb46c 100644
--- a/user/rocs/APKBUILD
+++ b/user/rocs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=rocs
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Graph theory IDE"
url="https://www.kde.org/applications/education/rocs/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="66bc803ec316bad8f81849acebdc67c92ab175715404253a6e82cb2ab58738bc161bbbea33b15b3d212d853d2f45acf29348d351d957820b37a9fd943ef5b655 rocs-18.12.3.tar.xz"
+sha512sums="ec4ca3fe066113099a7cd241fc421ce773e17c5f732717d327a1ff08f892a3b438fefc34b18fb87d065342193bff229c51bd5543e86e59f5ac4a257c5b47f909 rocs-19.04.1.tar.xz"
diff --git a/user/rrdtool/APKBUILD b/user/rrdtool/APKBUILD
index f61223adc..bec89b8ca 100644
--- a/user/rrdtool/APKBUILD
+++ b/user/rrdtool/APKBUILD
@@ -1,19 +1,20 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer:
pkgname=rrdtool
-pkgver=1.7.1
+pkgver=1.7.2
pkgrel=0
pkgdesc="Data logging and graphing application"
url="https://oss.oetiker.ch/rrdtool/"
arch="all"
-options="!check" # Tests fail because of CET time zone begin date changing.
license="GPL-2.0+"
depends="font-sony-misc"
+checkdepends="bc"
makedepends="cairo-dev freetype-dev groff libart-lgpl-dev libpng-dev
libxml2-dev pango-dev perl-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang perl-rrd:perl_rrd
$pkgname-cached $pkgname-cgi $pkgname-utils librrd:libs"
source="https://oss.oetiker.ch/$pkgname/pub/$pkgname-$pkgver.tar.gz
+ disable-rpn2.patch
rrdcached.initd
"
@@ -33,7 +34,7 @@ build() {
check() {
cd "$builddir"
- make check
+ LANG=C.UTF-8 LC_ALL=C.UTF-8 TZ=UTC make check
}
package() {
@@ -86,5 +87,6 @@ utils() {
"$subpkgdir"/usr/bin
}
-sha512sums="ee5c9ff234493442ccd9bfc7031700483011de3e05c01e026509b699cb0d7d3e286e2046357c5fff5807f3e709043c8f218b48b43f8b126a23e228a3927d7b14 rrdtool-1.7.1.tar.gz
+sha512sums="453230efc68aeb4a12842d20a9d246ba478a79c2f6bfd9693a91837c1c1136abe8af177be64fe29aa40bf84ccfce7f2f15296aefe095e89b8b62aef5a7623e29 rrdtool-1.7.2.tar.gz
+47fbfa1ee974d607c15d7a49b1007ccfb6dcd2764f82236f8741b96fe1c3cdec8535f570116a2b24767e09c018177bd5ace4f2ceb39342b2baf3baec01a35dc1 disable-rpn2.patch
c0c27b2c2dfa8e7ec1cb1160d2bda8d7996bbea67f4ce7779da029f583c35e5e415cf46e2a1e5cb8ed2e63d2c58a68fd7471ee6bd820db4c0f4eeeb5c252f8a3 rrdcached.initd"
diff --git a/user/rrdtool/disable-rpn2.patch b/user/rrdtool/disable-rpn2.patch
new file mode 100644
index 000000000..1baed862c
--- /dev/null
+++ b/user/rrdtool/disable-rpn2.patch
@@ -0,0 +1,35 @@
+https://github.com/oetiker/rrdtool-1.x/issues/1012
+--- rrdtool-1.7.2/tests/Makefile.in.old 2019-05-27 18:46:42.000000000 +0000
++++ rrdtool-1.7.2/tests/Makefile.in 2019-06-04 06:27:36.143871636 +0000
+@@ -537,7 +537,7 @@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ TESTS = modify1 modify2 modify3 modify4 modify5 \
+- tune1 tune2 graph1 rpn1 rpn2 \
++ tune1 tune2 graph1 rpn1 \
+ rrdcreate \
+ dump-restore \
+ create-with-source-1 create-with-source-2 create-with-source-3 \
+@@ -555,7 +555,7 @@
+ rrdcreate \
+ tune1-testa-mod1.dump tune1-testa-mod2.dump tune1-testorg.dump \
+ tune2-testa-mod1.dump tune2-testorg.dump \
+- valgrind-supressions dcounter1 dcounter1.output graph1.output vformatter1 rpn1.output rpn2.output \
++ valgrind-supressions dcounter1 dcounter1.output graph1.output vformatter1 rpn1.output \
+ xport1.json.output xport1.xml.output \
+ pdp-calc1 pdp-calc1-1-avg-60.output pdp-calc1-1-avg-300.output pdp-calc1-1-max-300.output
+
+@@ -820,13 +820,6 @@
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+- "$$tst" $(AM_TESTS_FD_REDIRECT)
+-rpn2.log: rpn2
+- @p='rpn2'; \
+- b='rpn2'; \
+- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+- --log-file $$b.log --trs-file $$b.trs \
+- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+ rrdcreate.log: rrdcreate
+ @p='rrdcreate'; \
diff --git a/user/rrdtool/no-posix-fallocate.patch b/user/rrdtool/no-posix-fallocate.patch
deleted file mode 100644
index c34c5a187..000000000
--- a/user/rrdtool/no-posix-fallocate.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- rrdtool-1.4.8.orig/configure.ac
-+++ rrdtool-1.4.8/configure.ac
-@@ -280,9 +280,6 @@
- #include <fcntl.h>])
- AC_CHECK_FUNCS(posix_fadvise)
-
--dnl can we use posix_fallocate
--AC_CHECK_FUNCS(posix_fallocate)
--
- CONFIGURE_PART(Libintl Processing)
-
- AM_GNU_GETTEXT_VERSION(0.17)
diff --git a/user/rttr/APKBUILD b/user/rttr/APKBUILD
new file mode 100644
index 000000000..bb9b5e7b0
--- /dev/null
+++ b/user/rttr/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=rttr
+pkgver=0.9.6
+pkgrel=0
+pkgdesc="C++ reflection library"
+url=" "
+arch="all"
+license="MIT"
+depends=""
+makedepends="doxygen graphviz"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/rttrorg/rttr/releases/download/v$pkgver/rttr-$pkgver-src.tar.gz
+ arm64.patch
+ dlclose-doesnt-work.patch
+ install-doc.patch
+ permissions.patch
+ "
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=class-memaccess -DNDEBUG" \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="7e0d4fa87f83feda0b926d4d0e52aaf0f369f25fe7e23e5ffe86c0bba159e8353cef44eed37611a81e8ccc8d6facb36942f940d0d0b965f873177d7078f91cf4 rttr-0.9.6-src.tar.gz
+559b4d55109b7021082cdd15663075312d80a896325db2b6bba43bf9d3ba17ecc2152aa30617f200be904351c7f8ba188b7e7a6b29a71612b42d48a5a0535aa7 arm64.patch
+76efa45715d2a6459ae3cf5a6189de414775eed11a1f6780de563005765139ae6be86e30ead63b5ef8e9a5e84ba77a4ef2b7a75ded7506c6c8d81a696a887ff3 dlclose-doesnt-work.patch
+825ca43fb35f6139db13f0b01818b49bb1556a1190ac2941c643e4d438c5b458883fa2ffb64d95625125c251632da7b3d8b703141335df8883b6e186f2e6a349 install-doc.patch
+905e4c62093ee3877a8a15a1cbd4bc20499e04916ce869a495cf4ef9f47aa94d56aa5ac861d0ca8b6079f2a3b398f92237dc423e452130f7c40b9a170a8aa625 permissions.patch"
diff --git a/user/rttr/arm64.patch b/user/rttr/arm64.patch
new file mode 100644
index 000000000..012a30b3f
--- /dev/null
+++ b/user/rttr/arm64.patch
@@ -0,0 +1,22 @@
+From fe98842255defe9f0b922f46b2dd1c067088a1f2 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@suse.de>
+Date: Tue, 2 Apr 2019 09:34:47 +0200
+Subject: [PATCH] Support all LP64 architectures
+
+---
+ src/rttr/detail/base/core_prerequisites.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rttr/detail/base/core_prerequisites.h b/src/rttr/detail/base/core_prerequisites.h
+index f60d91c3..6aa29d77 100644
+--- a/src/rttr/detail/base/core_prerequisites.h
++++ b/src/rttr/detail/base/core_prerequisites.h
+@@ -89,7 +89,7 @@ namespace rttr
+ // Architecture
+ /////////////////////////////////////////////////////////////////////////////////////////
+ #if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) ||\
+- defined(__ia64__) || defined(__s390__) || defined(__s390x__)
++ defined(__ia64__) || defined(__s390__) || defined(__s390x__) || defined(_LP64) || defined(__LP64__)
+ # define RTTR_ARCH_TYPE RTTR_ARCH_64
+ #else
+ # define RTTR_ARCH_TYPE RTTR_ARCH_32
diff --git a/user/rttr/dlclose-doesnt-work.patch b/user/rttr/dlclose-doesnt-work.patch
new file mode 100644
index 000000000..146f16944
--- /dev/null
+++ b/user/rttr/dlclose-doesnt-work.patch
@@ -0,0 +1,94 @@
+musl doesn't support dlclose, so don't test it.
+
+--- rttr-0.9.6/src/unit_tests/misc/library_test.cpp.old 2018-03-26 21:31:07.000000000 +0000
++++ rttr-0.9.6/src/unit_tests/misc/library_test.cpp 2019-04-19 00:10:52.775313358 +0000
+@@ -71,7 +71,7 @@
+ CHECK(lib.get_types().size() == 0);
+ CHECK(lib.get_global_properties().size() == 0);
+ CHECK(lib.get_global_methods().size() == 0);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+
+ SECTION("negative test")
+@@ -102,7 +102,7 @@
+ #else
+ #error "Don't know library suffix on this plattform!"
+ #endif
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ CHECK(lib.load() == true);
+ REQUIRE(lib.get_error_string().empty() == true);
+ CHECK(does_plugin_type_exist() == true);
+@@ -110,7 +110,7 @@
+ CHECK(lib.get_error_string().empty() == true);
+ CHECK(lib.unload() == true);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+ }
+
+@@ -122,19 +122,19 @@
+ {
+ library lib(library_name);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ CHECK(lib.load() == true);
+ CHECK(lib.load() == true);
+
+ REQUIRE(lib.get_error_string().empty() == true);
+ CHECK(does_plugin_type_exist() == true);
+
+- CHECK(lib.get_types().size() > 1);
++ //CHECK(lib.get_types().size() > 1);
+ CHECK(lib.get_global_properties().size() == 0);
+ CHECK(lib.get_global_methods().size() == 0);
+
+ CHECK(lib.unload() == true);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+
+ SECTION("load the same lib from different instance multiple times")
+@@ -142,7 +142,7 @@
+ library lib1(library_name);
+ library lib2(library_name);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+
+ CHECK(lib1.load() == true);
+ CHECK(lib2.load() == true);
+@@ -156,26 +156,26 @@
+
+ CHECK(lib2.unload() == true);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+
+ SECTION("load the same lib multiple times 2xload() and 2xunload()")
+ {
+ library lib(library_name);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+
+ CHECK(lib.load() == true);
+ CHECK(does_plugin_type_exist() == true);
+
+ CHECK(lib.unload() == true);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+
+ CHECK(lib.load() == true);
+ CHECK(does_plugin_type_exist() == true);
+
+ CHECK(lib.unload() == true);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+ }
+
diff --git a/user/rttr/install-doc.patch b/user/rttr/install-doc.patch
new file mode 100644
index 000000000..ec33d2440
--- /dev/null
+++ b/user/rttr/install-doc.patch
@@ -0,0 +1,11 @@
+--- rttr-0.9.6/doc/CMakeLists.txt.old 2018-03-26 21:30:36.000000000 +0000
++++ rttr-0.9.6/doc/CMakeLists.txt 2019-04-19 00:14:33.471673713 +0000
+@@ -33,7 +33,7 @@
+ set(DOXYGEN_INPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/src/rttr \\
+ ${CMAKE_CURRENT_SOURCE_DIR}" )
+ set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
+-set(DOXYGEN_DOC_INSTALL_DIR "doc")
++set(DOXYGEN_DOC_INSTALL_DIR "share/doc/rttr")
+ set(DOXYGEN_CONFIG_FILE_IN "DoxyFile.cfg.in")
+ set(DOXYGEN_LAYOUT_FILE_IN "doxygen-customization/layout/DoxygenLayout.xml.in")
+ set(DOXYGEN_EXCLUDE "")
diff --git a/user/rttr/permissions.patch b/user/rttr/permissions.patch
new file mode 100644
index 000000000..f572d9f23
--- /dev/null
+++ b/user/rttr/permissions.patch
@@ -0,0 +1,36 @@
+--- rttr-0.9.6/CMake/config.cmake.old 2018-03-26 21:30:35.000000000 +0000
++++ rttr-0.9.6/CMake/config.cmake 2019-04-19 02:03:32.738933898 +0000
+@@ -172,5 +172,5 @@
+
+ install(FILES "${LICENSE_FILE}" "${README_FILE}"
+ DESTINATION ${RTTR_ADDITIONAL_FILES_INSTALL_DIR}
+- PERMISSIONS OWNER_READ)
++ PERMISSIONS WORLD_READ)
+ endif()
+--- rttr-0.9.6/CMake/utility.cmake.old 2018-03-26 21:30:35.000000000 +0000
++++ rttr-0.9.6/CMake/utility.cmake 2019-04-19 02:03:40.268125422 +0000
+@@ -165,7 +165,7 @@
+ getNameOfDir(CMAKE_CURRENT_SOURCE_DIR DIRNAME)
+ if (${shouldInstall})
+ if (NOT ${FULL_HEADER_PATH} MATCHES ".*_p.h$") # we don't want to install header files which are marked as private
+- install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}" PERMISSIONS OWNER_READ)
++ install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}" PERMISSIONS WORLD_READ)
+ endif()
+ endif()
+ endforeach()
+--- rttr-0.9.6/doc/CMakeLists.txt.old 2018-03-26 21:30:36.000000000 +0000
++++ rttr-0.9.6/doc/CMakeLists.txt 2019-04-19 02:04:09.075032169 +0000
+@@ -133,11 +133,11 @@
+ install(DIRECTORY "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_CUSTOM_HTML_DIR}"
+ DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}"
+ PATTERN "*.*"
+- PERMISSIONS OWNER_READ)
++ PERMISSIONS WORLD_READ)
+
+ install(FILES "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_INDEX_FILE}"
+ DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}"
+- PERMISSIONS OWNER_READ)
++ PERMISSIONS WORLD_READ)
+
+ #########################################################################################
+
diff --git a/user/ruby-diff-lcs/APKBUILD b/user/ruby-diff-lcs/APKBUILD
new file mode 100644
index 000000000..c6f163ada
--- /dev/null
+++ b/user/ruby-diff-lcs/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-diff-lcs
+_gemname=${pkgname#ruby-}
+pkgver=1.3
+pkgrel=1
+pkgdesc="Generate difference sets between Ruby sequences"
+url="http://halostatue.github.io/diff-lcs/"
+arch="noarch"
+options="!check" # to avoid cyclic dependency with rspec
+license="MIT"
+depends="ruby"
+subpackages="$pkgname-tools"
+source="$pkgname-$pkgver.tar.gz::https://github.com/halostatue/$_gemname/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+ local geminstdir="$gemdir/gems/$_gemname-$pkgver"
+
+ cd "$builddir"
+ gem install --local \
+ --install-dir "$gemdir" \
+ --bindir "$pkgdir/usr/bin" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Remove unnecessary files.
+ cd "$gemdir"
+ rm -r cache/ build_info/ doc/
+ cd "$geminstdir"
+ rm -r autotest/ docs/ spec/ Rakefile *.md *.rdoc *.txt
+}
+
+tools() {
+ pkgdesc="$pkgdesc (CLI tools)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
+}
+
+sha512sums="b455f86ab006cbb823c2f8ed7fcde16c432e3783b6408ec305e57b7f4d0cf98bad586786947414ec3dc27e885b1485e534d26df19eaa9972874d78a8829b501e ruby-diff-lcs-1.3.tar.gz"
diff --git a/user/ruby-diff-lcs/gemspec.patch b/user/ruby-diff-lcs/gemspec.patch
new file mode 100644
index 000000000..9c0b69ecd
--- /dev/null
+++ b/user/ruby-diff-lcs/gemspec.patch
@@ -0,0 +1,16 @@
+--- a/rspec-core.gemspec
++++ b/rspec-core.gemspec
+@@ -13,11 +13,10 @@
+ s.summary = "rspec-core-#{RSpec::Core::Version::STRING}"
+ s.description = "BDD for Ruby. RSpec runner and example groups."
+
+- s.files = `git ls-files -- lib/*`.split("\n")
+- s.files += %w[README.md LICENSE.md Changelog.md .yardopts .document]
++ s.files = Dir['lib/**/*']
+ s.test_files = []
+ s.bindir = 'exe'
+- s.executables = `git ls-files -- exe/*`.split("\n").map{ |f| File.basename(f) }
++ s.executables = Dir['exe/*'].map{ |f| File.basename(f) }
+ s.rdoc_options = ["--charset=UTF-8"]
+ s.require_path = "lib"
+
diff --git a/user/ruby-rake-compiler/APKBUILD b/user/ruby-rake-compiler/APKBUILD
new file mode 100644
index 000000000..a2254eea9
--- /dev/null
+++ b/user/ruby-rake-compiler/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-rake-compiler
+_gemname=${pkgname#ruby-}
+pkgver=1.0.7
+pkgrel=0
+pkgdesc="Provide a standard and simplified way to build and package Ruby extensions"
+url="https://github.com/rake-compiler/rake-compiler"
+arch="noarch"
+license="MIT"
+depends="ruby ruby-rake"
+checkdepends="ruby-rspec"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rake-compiler/$_gemname/archive/v$pkgver.tar.gz
+ gemfile-remove-unwanted-files.patch"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+check() {
+ cd "$builddir"
+ rspec spec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+
+ cd "$builddir"
+
+ gem install --local \
+ --install-dir "$gemdir" \
+ --bindir "$pkgdir/usr/bin" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Remove unnecessary files and empty directories.
+ cd "$gemdir"
+ rm -r cache build_info doc
+}
+
+sha512sums="fa901f5cc48891f07bd8d9a27cf4e745e87d5a667dbee0c9f4b43f9564fdfe3067b9c658f10ea8bcacd32ea7320a542ef0fca9373147057472f5572a4a4c5268 ruby-rake-compiler-1.0.7.tar.gz
+e68672541d62898bc72fb7e40f16bc75ed1d46eabedd18da60a6f0673d67bf63d990e191fb41d6034e3f6361662807030cbd8f0c817223a5d03c46a3a664f855 gemfile-remove-unwanted-files.patch"
diff --git a/user/ruby-rake-compiler/gemfile-remove-unwanted-files.patch b/user/ruby-rake-compiler/gemfile-remove-unwanted-files.patch
new file mode 100644
index 000000000..3424cd912
--- /dev/null
+++ b/user/ruby-rake-compiler/gemfile-remove-unwanted-files.patch
@@ -0,0 +1,26 @@
+--- a/rake-compiler.gemspec
++++ b/rake-compiler.gemspec
+@@ -22,14 +22,8 @@
+ s.add_development_dependency 'cucumber', '~> 1.1.4'
+
+ # components, files and paths
+- s.files = Dir.glob("features/**/*.{feature,rb}")
+ s.files += ["bin/rake-compiler"]
+ s.files += Dir.glob("lib/**/*.rb")
+- s.files += ["spec/spec.opts"]
+- s.files += Dir.glob("spec/**/*.rb")
+- s.files += Dir.glob("tasks/**/*.rake")
+- s.files += ["Rakefile", "Gemfile"]
+- s.files += Dir.glob("*.{rdoc,txt,yml}")
+
+ s.bindir = 'bin'
+ s.executables = ['rake-compiler']
+@@ -38,8 +32,6 @@
+
+ # documentation
+ s.rdoc_options << '--main' << 'README.rdoc' << '--title' << 'rake-compiler -- Documentation'
+-
+- s.extra_rdoc_files = %w(README.rdoc LICENSE.txt History.txt)
+
+ # project information
+ s.homepage = 'https://github.com/rake-compiler/rake-compiler'
diff --git a/user/ruby-rspec-core/APKBUILD b/user/ruby-rspec-core/APKBUILD
new file mode 100644
index 000000000..34deeb73d
--- /dev/null
+++ b/user/ruby-rspec-core/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-rspec-core
+_gemname=${pkgname#ruby-}
+pkgver=3.8.0
+pkgrel=0
+pkgdesc="RSpec runner and formatters"
+url="https://relishapp.com/rspec/rspec-core/"
+arch="noarch"
+options="!check" # rspec's tests are written in rspec
+license="MIT"
+depends="ruby ruby-rspec-support~=${pkgver%.*}"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rspec/$_gemname/archive/v$pkgver.tar.gz
+ gemspec.patch"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+
+ cd "$builddir"
+ gem install --local \
+ --install-dir "$gemdir" \
+ --bindir "$pkgdir/usr/bin" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Clean-up...
+ rm -r "$gemdir"/cache \
+ "$gemdir"/build_info \
+ "$gemdir"/doc
+}
+
+sha512sums="6d3f431a1f9485009f5029bea967f36cb789be8cf33722b36c40df44e12a2284674c6c8af333bfe8ba8825e032576569fd42c92f798988faad732ac3a720c5e6 ruby-rspec-core-3.8.0.tar.gz
+e0cbcfddcc4c73d9b9673907e3b1a785b399c0b3b213761e9dbca9fadc55d50a88389eaf561f5603bd674eb94ce9f2ecf829d884eaa77df8ef1b565c0c7f25f2 gemspec.patch"
diff --git a/user/ruby-rspec-core/gemspec.patch b/user/ruby-rspec-core/gemspec.patch
new file mode 100644
index 000000000..0a6cad0d0
--- /dev/null
+++ b/user/ruby-rspec-core/gemspec.patch
@@ -0,0 +1,16 @@
+--- a/rspec-core.gemspec
++++ b/rspec-core.gemspec
+@@ -13,11 +13,10 @@
+ s.summary = "rspec-core-#{RSpec::Core::Version::STRING}"
+ s.description = "BDD for Ruby. RSpec runner and example groups."
+
+- s.files = `git ls-files -- lib/*`.split("\n")
+- s.files += %w[README.md LICENSE.md Changelog.md .yardopts .document]
++ s.files = Dir["lib/**/*"]
+ s.test_files = []
+ s.bindir = 'exe'
+- s.executables = `git ls-files -- exe/*`.split("\n").map{ |f| File.basename(f) }
++ s.executables = Dir["exe/*"].map{ |f| File.basename(f) }
+ s.rdoc_options = ["--charset=UTF-8"]
+ s.require_path = "lib"
+
diff --git a/user/ruby-rspec-expectations/APKBUILD b/user/ruby-rspec-expectations/APKBUILD
new file mode 100644
index 000000000..1cf7cf5cc
--- /dev/null
+++ b/user/ruby-rspec-expectations/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-rspec-expectations
+_gemname=${pkgname#ruby-}
+pkgver=3.8.3
+pkgrel=0
+pkgdesc="Provides a readable API to express expected outcomes of a code example in RSpec"
+url="https://relishapp.com/rspec/rspec-expectations/"
+arch="noarch"
+options="!check" # rspec's tests are written in rspec
+license="MIT"
+depends="ruby ruby-diff-lcs ruby-rspec-support~=${pkgver%.*}"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rspec/$_gemname/archive/v$pkgver.tar.gz
+ gemspec.patch"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+
+ cd "$builddir"
+ gem install --local \
+ --install-dir "$gemdir" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Clean-up...
+ rm -r "$gemdir"/cache \
+ "$gemdir"/build_info \
+ "$gemdir"/doc
+}
+
+sha512sums="328b3403e7ac2864ed6ad1a196ca24df6693797e35525559f2082c7e1c161d60da7776ca1a68a82364a7ea55115ac2c12ebf6af8486ef88757a4818a9683ae80 ruby-rspec-expectations-3.8.3.tar.gz
+1d477004521852e23d01b197187dbb434a2c7fd179e506c82a12e17f5d52470fe2a113112e7052b9479077eafa6759beb07c03301de1f8ea7f5c4643c92d8346 gemspec.patch"
diff --git a/user/ruby-rspec-expectations/gemspec.patch b/user/ruby-rspec-expectations/gemspec.patch
new file mode 100644
index 000000000..644aad1ad
--- /dev/null
+++ b/user/ruby-rspec-expectations/gemspec.patch
@@ -0,0 +1,12 @@
+--- a/rspec-expectations.gemspec
++++ b/rspec-expectations.gemspec
+@@ -13,8 +13,7 @@
+ s.summary = "rspec-expectations-#{RSpec::Expectations::Version::STRING}"
+ s.description = "rspec-expectations provides a simple, readable API to express expected outcomes of a code example."
+
+- s.files = `git ls-files -- lib/*`.split("\n")
+- s.files += %w[README.md LICENSE.md Changelog.md .yardopts .document]
++ s.files = Dir["lib/**/*"]
+ s.test_files = []
+ s.rdoc_options = ["--charset=UTF-8"]
+ s.require_path = "lib"
diff --git a/user/ruby-rspec-mocks/APKBUILD b/user/ruby-rspec-mocks/APKBUILD
new file mode 100644
index 000000000..70a6b801c
--- /dev/null
+++ b/user/ruby-rspec-mocks/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-rspec-mocks
+_gemname=${pkgname#ruby-}
+pkgver=3.8.0
+pkgrel=0
+pkgdesc="RSpec's 'test double' framework, with support for stubbing and mocking"
+url="https://relishapp.com/rspec/rspec-mocks/"
+arch="noarch"
+options="!check" # rspec's tests are written in rspec
+license="MIT"
+depends="ruby ruby-diff-lcs ruby-rspec-support~=${pkgver%.*}"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rspec/$_gemname/archive/v$pkgver.tar.gz
+ gemspec.patch"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+
+ cd "$builddir"
+ gem install --local \
+ --install-dir "$gemdir" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Clean-up...
+ rm -r "$gemdir"/cache \
+ "$gemdir"/build_info \
+ "$gemdir"/doc
+}
+
+sha512sums="0649c3722479013aa1a20f750b3a83a9b426e5f79cb0edff995b09d1e2fa674fb8e91c0c94e7f9513f338c3c2e9c5b824a9473e91955cf928542324b8b1463ba ruby-rspec-mocks-3.8.0.tar.gz
+6fd7ab08b20a93f806a8d3c42da5da0a99162793079ecb1695341a04dff2a7cefdb12592d1798fb844dfbdf8ead6ad0b8729e461d3cd5af46d853b182d15228d gemspec.patch"
diff --git a/user/ruby-rspec-mocks/gemspec.patch b/user/ruby-rspec-mocks/gemspec.patch
new file mode 100644
index 000000000..5d4f6e775
--- /dev/null
+++ b/user/ruby-rspec-mocks/gemspec.patch
@@ -0,0 +1,12 @@
+--- a/rspec-mocks.gemspec
++++ b/rspec-mocks.gemspec
+@@ -13,8 +13,7 @@
+ s.summary = "rspec-mocks-#{RSpec::Mocks::Version::STRING}"
+ s.description = "RSpec's 'test double' framework, with support for stubbing and mocking"
+
+- s.files = `git ls-files -- lib/*`.split("\n")
+- s.files += %w[README.md LICENSE.md Changelog.md .yardopts .document]
++ s.files = Dir["lib/**/*"]
+ s.test_files = []
+ s.rdoc_options = ["--charset=UTF-8"]
+ s.require_path = "lib"
diff --git a/user/ruby-rspec-support/APKBUILD b/user/ruby-rspec-support/APKBUILD
new file mode 100644
index 000000000..ba2389e72
--- /dev/null
+++ b/user/ruby-rspec-support/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-rspec-support
+_gemname=${pkgname#ruby-}
+pkgver=3.8.0
+pkgrel=0
+pkgdesc="Support utilities for RSpec gems"
+url="https://relishapp.com/rspec/rspec-support/"
+arch="noarch"
+options="!check" # rspec's tests are written in rspec
+license="MIT"
+depends="ruby"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rspec/$_gemname/archive/v$pkgver.tar.gz
+ gemspec.patch"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+
+ cd "$builddir"
+ gem install --local \
+ --install-dir "$gemdir" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Clean-up...
+ rm -r "$gemdir"/cache \
+ "$gemdir"/build_info \
+ "$gemdir"/doc
+}
+
+sha512sums="e16cc7bcc3de797e78c4f6ed475b0e60d492d0442dc048b4b2769a4819b80d1fb4a12aefaee3cc6a35f08d35f5fea82e00cc0fcf04363e57e74a6f5ed73d0693 ruby-rspec-support-3.8.0.tar.gz
+e9d611ea1789e835f742aa92f1e668840139e2621898edf158dc53e111db4119a324da65d2d28f5c6e737c82f261f4adb3beb8c244ee01d2f618778ed62d3731 gemspec.patch"
diff --git a/user/ruby-rspec-support/gemspec.patch b/user/ruby-rspec-support/gemspec.patch
new file mode 100644
index 000000000..069c93729
--- /dev/null
+++ b/user/ruby-rspec-support/gemspec.patch
@@ -0,0 +1,12 @@
+--- a/rspec-support.gemspec
++++ b/rspec-support.gemspec
+@@ -13,8 +13,7 @@
+ spec.description = "Support utilities for RSpec gems"
+ spec.license = "MIT"
+
+- spec.files = `git ls-files -- lib/*`.split("\n")
+- spec.files += %w[README.md LICENSE.md Changelog.md]
++ spec.files = Dir["lib/**/*"]
+ spec.test_files = []
+ spec.rdoc_options = ["--charset=UTF-8"]
+ spec.require_paths = ["lib"]
diff --git a/user/ruby-rspec/APKBUILD b/user/ruby-rspec/APKBUILD
new file mode 100644
index 000000000..7c6f5ef10
--- /dev/null
+++ b/user/ruby-rspec/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Dan Theisen <djt@hxx.in>
+pkgname=ruby-rspec
+_gemname=${pkgname#ruby-}
+pkgver=3.8.0
+pkgrel=0
+pkgdesc="Behaviour Driven Development for Ruby"
+url="http://rspec.info/"
+arch="noarch"
+options="!check" # no tests provided
+license="MIT"
+depends="ruby
+ ruby-rspec-core~=${pkgver%.*}
+ ruby-rspec-expectations~=${pkgver%.*}
+ ruby-rspec-mocks~=${pkgver%.*}"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rspec/$_gemname/archive/v$pkgver.tar.gz
+ gemspec.patch"
+builddir="$srcdir/$_gemname-$pkgver"
+
+build() {
+ cd "$builddir"
+ gem build $_gemname.gemspec
+}
+
+package() {
+ local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
+
+ cd "$builddir"
+ gem install --local \
+ --install-dir "$gemdir" \
+ --ignore-dependencies \
+ --no-document \
+ --verbose \
+ $_gemname
+
+ # Clean-up...
+ rm -r "$gemdir"/cache \
+ "$gemdir"/build_info \
+ "$gemdir"/doc
+}
+
+sha512sums="0468bfab40de2acb622c772101aef7cc71364c3414344848e90a91376106ae7597d0abcdacebe3a9fad6140780008619d9450bc0842b6e5c9e95bafb9fccae9b ruby-rspec-3.8.0.tar.gz
+f554eef881574e68532dd6c9edeb6b8ad172ac707f7518134378e1099a40ada959c6c770514aab13a6345343113594208be0e42044803c0c2cde3adde00c5520 gemspec.patch"
diff --git a/user/ruby-rspec/gemspec.patch b/user/ruby-rspec/gemspec.patch
new file mode 100644
index 000000000..1bd3937c3
--- /dev/null
+++ b/user/ruby-rspec/gemspec.patch
@@ -0,0 +1,14 @@
+--- a/rspec.gemspec
++++ b/rspec.gemspec
+@@ -14,10 +14,7 @@
+ s.summary = "rspec-#{RSpec::Version::STRING}"
+ s.description = "BDD for Ruby"
+
+- s.files = `git ls-files -- lib/*`.split("\n")
+- s.files += ["LICENSE.md"]
+- s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
+- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
++ s.files = Dir["lib/**/*"]
+ s.extra_rdoc_files = [ "README.md" ]
+ s.rdoc_options = ["--charset=UTF-8"]
+ s.require_path = "lib"
diff --git a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
index f56ceb7e8..f6a0ddb6b 100644
--- a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+++ b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
@@ -1,36 +1,26 @@
-From 2a82e95d73d7e86bd420c15f712b09eb104a82c1 Mon Sep 17 00:00:00 2001
+From 600b7bb76d82d2ec180051318d811ad50fd68900 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 10 Jan 2018 13:36:41 -0600
-Subject: [PATCH 01/23] Don't pass CFLAGS to the C++ compiler
+Subject: [PATCH 01/13] Don't pass CFLAGS to the C++ compiler
---
- src/bootstrap/builder.rs | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
+ src/bootstrap/builder.rs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 02e9ca9250..7be38b1e8b 100644
+index 522466314d..86f059a202 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
-@@ -1041,7 +1041,7 @@ impl<'a> Builder<'a> {
- let cflags = self.cflags(target, GitRepo::Rustc).join(" ");
- cargo
- .env(format!("CFLAGS_{}", target), cflags.clone())
-- .env("CFLAGS", cflags.clone());
-+ .env("CFLAGS", cflags);
-
- if let Some(ar) = self.ar(target) {
- let ranlib = format!("{} s", ar.display());
-@@ -1056,9 +1056,7 @@ impl<'a> Builder<'a> {
+@@ -1098,8 +1098,7 @@ impl<'a> Builder<'a> {
+ if let Ok(cxx) = self.cxx(target) {
let cxx = ccacheify(&cxx);
cargo
- .env(format!("CXX_{}", target), &cxx)
-- .env("CXX", &cxx)
-- .env(format!("CXXFLAGS_{}", target), cflags.clone())
-- .env("CXXFLAGS", cflags);
-+ .env("CXX", &cxx);
+- .env(format!("CXX_{}", target), &cxx)
+- .env(format!("CXXFLAGS_{}", target), cflags);
++ .env(format!("CXX_{}", target), &cxx);
}
}
--
-2.19.2
+2.21.0
diff --git a/user/rust/0002-Fix-LLVM-build.patch b/user/rust/0002-Fix-LLVM-build.patch
index 6938e0faf..8b035a02d 100644
--- a/user/rust/0002-Fix-LLVM-build.patch
+++ b/user/rust/0002-Fix-LLVM-build.patch
@@ -1,26 +1,26 @@
-From d70cd5b6d304cc1b6d8f245460b27b8b0e0e6869 Mon Sep 17 00:00:00 2001
+From 1359f28a3d69943ff8bcd28d0dcca4c68200ff6a Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:04:29 -0500
-Subject: [PATCH 02/23] Fix LLVM build
+Subject: [PATCH 02/13] Fix LLVM build
---
src/bootstrap/lib.rs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index ab3d0b5137..30e84bc13f 100644
+index fb60b470a3..71ca61d97e 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
-@@ -785,7 +785,8 @@ impl Build {
+@@ -783,7 +783,8 @@ impl Build {
// cc-rs because the build scripts will determine that for themselves.
let mut base = self.cc[&target].args().iter()
.map(|s| s.to_string_lossy().into_owned())
- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
+ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O")
+ && !s.starts_with("-static"))
- .collect::<Vec<_>>();
+ .collect::<Vec<String>>();
// If we're compiling on macOS then we add a few unconditional flags
--
-2.19.2
+2.21.0
diff --git a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
index 588c4df66..1d51af2d9 100644
--- a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
+++ b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
@@ -1,18 +1,18 @@
-From 0613fed83ccf58ce3305a1df35e31eda25ba409e Mon Sep 17 00:00:00 2001
+From d4b81fe2c052ddd6776da36b035dbe2c2564689b Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 2 Dec 2017 17:25:44 -0600
-Subject: [PATCH 03/23] Allow rustdoc to work when cross-compiling on musl
+Subject: [PATCH 03/13] Allow rustdoc to work when cross-compiling on musl
musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
---
- src/bootstrap/bin/rustdoc.rs | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
+ src/bootstrap/bin/rustdoc.rs | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
-index bb5a21e3e4..1b6b78b90a 100644
+index 1c9f6e1ab2..7e90be8d8c 100644
--- a/src/bootstrap/bin/rustdoc.rs
+++ b/src/bootstrap/bin/rustdoc.rs
-@@ -34,9 +34,6 @@ fn main() {
+@@ -23,9 +23,6 @@ fn main() {
Err(_) => 0,
};
@@ -22,15 +22,24 @@ index bb5a21e3e4..1b6b78b90a 100644
//FIXME(misdreavus): once stdsimd uses cfg(rustdoc) instead of cfg(dox), remove the `--cfg dox`
//arguments here
let mut cmd = Command::new(rustdoc);
-@@ -48,7 +45,7 @@ fn main() {
+@@ -37,7 +34,7 @@ fn main() {
.arg("--sysroot")
- .arg(sysroot)
+ .arg(&sysroot)
.env(bootstrap::util::dylib_path_var(),
- env::join_paths(&dylib_path).unwrap());
+ PathBuf::from(libdir.clone()));
// Force all crates compiled by this compiler to (a) be unstable and (b)
// allow the `rustc_private` feature to link to other unstable crates
+@@ -86,7 +83,7 @@ fn main() {
+ eprintln!(
+ "rustdoc command: {:?}={:?} {:?}",
+ bootstrap::util::dylib_path_var(),
+- env::join_paths(&dylib_path).unwrap(),
++ PathBuf::from(libdir.clone()),
+ cmd,
+ );
+ eprintln!("sysroot: {:?}", sysroot);
--
-2.19.2
+2.21.0
diff --git a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch
index cd01e4153..a1ee6c661 100644
--- a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch
+++ b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch
@@ -1,42 +1,48 @@
-From 4e6debd6806faf62ba737c01bb74080a637b127a Mon Sep 17 00:00:00 2001
+From 7f7ea1cba86a15510de2410529c8460fc5b7018b Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:05:18 -0500
-Subject: [PATCH 04/23] Require static native libraries when linking static
+Subject: [PATCH 04/13] Require static native libraries when linking static
executables
-gcc/ld will create a dynamically-linked executable without warning, even
-when passed `-static`, when asked to link to a `.so`. Avoid this
-confusing and unintended behavior by always using the static version of
-libraries when trying to link static executables.
+On ELF targets like Linux, gcc/ld will create a dynamically-linked
+executable without warning, even when passed `-static`, when asked to
+link to a `.so`. Avoid this confusing and unintended behavior by always
+using the static version of libraries when trying to link static
+executables.
Fixes #54243
---
- src/librustc_codegen_llvm/back/link.rs | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
+ src/librustc_codegen_llvm/back/link.rs | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs
-index 86c6a5e65b..0e3ff6da07 100644
+index 19419a72b9..9d26dd0b35 100644
--- a/src/librustc_codegen_llvm/back/link.rs
+++ b/src/librustc_codegen_llvm/back/link.rs
-@@ -1588,8 +1588,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker,
+@@ -1408,9 +1408,7 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker,
}
}
-// Link in all of our upstream crates' native dependencies. Remember that
-// all of these upstream native dependencies are all non-static
-+// Link in all of our upstream crates' native dependencies. Remember that when
-+// linking libraries, these upstream native dependencies are all non-static
- // dependencies. We've got two cases then:
+-// dependencies. We've got two cases then:
++// Link in all of our upstream crates' native dependencies. We have two cases:
//
// 1. The upstream crate is an rlib. In this case we *must* link in the
-@@ -1633,7 +1633,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker,
+ // native dependency because the rlib is just an archive.
+@@ -1453,7 +1451,19 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker,
continue
}
match lib.kind {
- NativeLibraryKind::NativeUnknown => cmd.link_dylib(&name.as_str()),
+ NativeLibraryKind::NativeUnknown => {
-+ // When creating executables, match library linkage to that of the executable.
-+ if crate_type == config::CrateType::Executable && sess.crt_static() {
++ // On some targets, like Linux, linking a static executable inhibits using
++ // dylibs at all. Force native libraries to be static, even if for example
++ // an upstream rlib was originally linked against a native shared library.
++ if crate_type == config::CrateType::Executable
++ && sess.crt_static()
++ && !sess.target.target.options.crt_static_allows_dylibs
++ {
+ cmd.link_staticlib(&name.as_str())
+ } else {
+ cmd.link_dylib(&name.as_str())
@@ -46,5 +52,5 @@ index 86c6a5e65b..0e3ff6da07 100644
NativeLibraryKind::NativeStaticNobundle => {
// Link "static-nobundle" native libs only if the crate they originate from
--
-2.19.2
+2.21.0
diff --git a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
index 4c0a8dee0..4d70e7084 100644
--- a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+++ b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -1,28 +1,29 @@
-From c822b31f554ed2f930be8625973a401fd438c123 Mon Sep 17 00:00:00 2001
+From 121e89f649b1cfe3c18dc622279dc5a79873fcdb Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 22:11:14 -0500
-Subject: [PATCH 05/23] Remove -nostdlib and musl_root from musl targets
+Subject: [PATCH 05/13] Remove -nostdlib and musl_root from musl targets
---
- config.toml.example | 6 ---
- src/bootstrap/bin/rustc.rs | 10 -----
- src/bootstrap/cc_detect.rs | 27 ++----------
- src/bootstrap/compile.rs | 31 --------------
- src/bootstrap/config.rs | 7 ----
- src/bootstrap/configure.py | 22 ----------
- src/bootstrap/lib.rs | 8 ----
- src/bootstrap/sanity.rs | 30 +-------------
- .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 -
- src/ci/docker/dist-various-1/Dockerfile | 7 ----
+ config.toml.example | 6 ----
+ src/bootstrap/bin/rustc.rs | 10 -------
+ src/bootstrap/cc_detect.rs | 27 ++----------------
+ src/bootstrap/compile.rs | 21 +-------------
+ src/bootstrap/config.rs | 7 -----
+ src/bootstrap/configure.py | 22 ---------------
+ src/bootstrap/lib.rs | 8 ------
+ src/bootstrap/sanity.rs | 28 -------------------
+ .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 --
+ src/ci/docker/dist-various-1/Dockerfile | 7 -----
src/ci/docker/dist-x86_64-musl/Dockerfile | 1 -
- src/librustc_target/spec/linux_musl_base.rs | 41 -------------------
- 12 files changed, 4 insertions(+), 188 deletions(-)
+ src/ci/docker/test-various/Dockerfile | 1 -
+ src/librustc_target/spec/linux_musl_base.rs | 16 -----------
+ 13 files changed, 4 insertions(+), 152 deletions(-)
diff --git a/config.toml.example b/config.toml.example
-index e8cb0cba6b..1971fea758 100644
+index 8b2153cd2e..b8145ce8d5 100644
--- a/config.toml.example
+++ b/config.toml.example
-@@ -452,12 +452,6 @@
+@@ -474,12 +474,6 @@
# only use static libraries. If unset, the target's default linkage is used.
#crt-static = false
@@ -32,42 +33,35 @@ index e8cb0cba6b..1971fea758 100644
-# linked binaries
-#musl-root = "..."
-
- # Used in testing for configuring where the QEMU images are located, you
- # probably don't want to use this.
- #qemu-rootfs = "..."
+ # The root location of the `wasm32-unknown-wasi` sysroot.
+ #wasi-root = "..."
+
diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
-index b6764c1aae..6fa60bd9a5 100644
+index a76584093f..8a534ab8e2 100644
--- a/src/bootstrap/bin/rustc.rs
+++ b/src/bootstrap/bin/rustc.rs
-@@ -30,7 +30,6 @@
- extern crate bootstrap;
-
- use std::env;
--use std::ffi::OsString;
- use std::io;
- use std::path::PathBuf;
- use std::process::Command;
-@@ -126,15 +125,6 @@ fn main() {
+@@ -122,16 +122,6 @@ fn main() {
cmd.arg("-Cprefer-dynamic");
}
-- // Help the libc crate compile by assisting it in finding the MUSL
-- // native libraries.
+- // Help the libc crate compile by assisting it in finding various
+- // sysroot native libraries.
- if let Some(s) = env::var_os("MUSL_ROOT") {
-- let mut root = OsString::from("native=");
-- root.push(&s);
-- root.push("/lib");
-- cmd.arg("-L").arg(&root);
+- if target.contains("musl") {
+- let mut root = OsString::from("native=");
+- root.push(&s);
+- root.push("/lib");
+- cmd.arg("-L").arg(&root);
+- }
- }
--
- // Override linker if necessary.
- if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") {
- cmd.arg(format!("-Clinker={}", target_linker));
+ if let Some(s) = env::var_os("WASI_ROOT") {
+ let mut root = OsString::from("native=");
+ root.push(&s);
diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index d5da0cabec..47cc31bded 100644
+index dfc243b705..848d1d4b2b 100644
--- a/src/bootstrap/cc_detect.rs
+++ b/src/bootstrap/cc_detect.rs
-@@ -95,7 +95,7 @@ pub fn find(build: &mut Build) {
+@@ -84,7 +84,7 @@ pub fn find(build: &mut Build) {
if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
cfg.compiler(cc);
} else {
@@ -76,7 +70,7 @@ index d5da0cabec..47cc31bded 100644
}
let compiler = cfg.get_compiler();
-@@ -124,7 +124,7 @@ pub fn find(build: &mut Build) {
+@@ -113,7 +113,7 @@ pub fn find(build: &mut Build) {
if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) {
cfg.compiler(cxx);
} else {
@@ -85,7 +79,7 @@ index d5da0cabec..47cc31bded 100644
}
let compiler = cfg.get_compiler();
build.verbose(&format!("CXX_{} = {:?}", host, compiler.path()));
-@@ -135,8 +135,7 @@ pub fn find(build: &mut Build) {
+@@ -124,8 +124,7 @@ pub fn find(build: &mut Build) {
fn set_compiler(cfg: &mut cc::Build,
compiler: Language,
target: Interned<String>,
@@ -95,7 +89,7 @@ index d5da0cabec..47cc31bded 100644
match &*target {
// When compiling for android we may have the NDK configured in the
// config.toml in which case we look there. Otherwise the default
-@@ -173,26 +172,6 @@ fn set_compiler(cfg: &mut cc::Build,
+@@ -165,26 +164,6 @@ fn set_compiler(cfg: &mut cc::Build,
}
}
@@ -123,73 +117,49 @@ index d5da0cabec..47cc31bded 100644
}
}
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 69d45acded..7bb38ac7ec 100644
+index 66443d472d..bbaa32a91c 100644
--- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs
-@@ -86,13 +86,6 @@ impl Step for Std {
- });
- builder.info(&format!("Uplifting stage1 std ({} -> {})", from.host, target));
-
-- // Even if we're not building std this stage, the new sysroot must
-- // still contain the musl startup objects.
-- if target.contains("musl") {
-- let libdir = builder.sysroot_libdir(compiler, target);
-- copy_musl_third_party_objects(builder, target, &libdir);
-- }
--
- builder.ensure(StdLink {
- compiler: from,
- target_compiler: compiler,
-@@ -101,11 +94,6 @@ impl Step for Std {
- return;
- }
+@@ -114,20 +114,7 @@ impl Step for Std {
+ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned<String>) {
+ let libdir = builder.sysroot_libdir(*compiler, target);
-- if target.contains("musl") {
-- let libdir = builder.sysroot_libdir(compiler, target);
-- copy_musl_third_party_objects(builder, target, &libdir);
+- // Copies the crt(1,i,n).o startup objects
+- //
+- // Since musl supports fully static linking, we can cross link for it even
+- // with a glibc-targeting toolchain, given we have the appropriate startup
+- // files. As those shipped with glibc won't work, copy the ones provided by
+- // musl so we have them on linux-gnu hosts.
+- if target.contains("musl") {
+- for &obj in &["crt1.o", "crti.o", "crtn.o"] {
+- builder.copy(
+- &builder.musl_root(target).unwrap().join("lib").join(obj),
+- &libdir.join(obj),
+- );
- }
--
- let mut cargo = builder.cargo(compiler, Mode::Std, target, "build");
- std_cargo(builder, &compiler, target, &mut cargo);
+- } else if target.ends_with("-wasi") {
++ if target.ends_with("-wasi") {
+ for &obj in &["crt1.o"] {
+ builder.copy(
+ &builder.wasi_root(target).unwrap().join("lib/wasm32-wasi").join(obj),
+@@ -190,12 +177,6 @@ pub fn std_cargo(builder: &Builder<'_>,
+ .arg("--manifest-path")
+ .arg(builder.src.join("src/libstd/Cargo.toml"));
-@@ -126,20 +114,6 @@ impl Step for Std {
- }
- }
-
--/// Copies the crt(1,i,n).o startup objects
--///
--/// Since musl supports fully static linking, we can cross link for it even
--/// with a glibc-targeting toolchain, given we have the appropriate startup
--/// files. As those shipped with glibc won't work, copy the ones provided by
--/// musl so we have them on linux-gnu hosts.
--fn copy_musl_third_party_objects(builder: &Builder,
-- target: Interned<String>,
-- into: &Path) {
-- for &obj in &["crt1.o", "crti.o", "crtn.o"] {
-- builder.copy(&builder.musl_root(target).unwrap().join("lib").join(obj), &into.join(obj));
-- }
--}
--
- /// Configure cargo to compile the standard library, adding appropriate env vars
- /// and such.
- pub fn std_cargo(builder: &Builder,
-@@ -193,11 +167,6 @@ pub fn std_cargo(builder: &Builder,
- cargo.env("JEMALLOC_OVERRIDE", jemalloc);
- }
- }
- if target.contains("musl") {
- if let Some(p) = builder.musl_root(target) {
- cargo.env("MUSL_ROOT", p);
- }
- }
- }
- }
-
+-
+ if target.ends_with("-wasi") {
+ if let Some(p) = builder.wasi_root(target) {
+ cargo.env("WASI_ROOT", p);
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index a9d330e06a..745785a8ae 100644
+index 0c31c41ced..b8c690fc41 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
-@@ -136,8 +136,6 @@ pub struct Config {
+@@ -133,8 +133,6 @@ pub struct Config {
pub print_step_timings: bool,
pub missing_tools: bool,
@@ -198,15 +168,15 @@ index a9d330e06a..745785a8ae 100644
pub prefix: Option<PathBuf>,
pub sysconfdir: Option<PathBuf>,
pub datadir: Option<PathBuf>,
-@@ -173,7 +171,6 @@ pub struct Target {
+@@ -169,7 +167,6 @@ pub struct Target {
pub linker: Option<PathBuf>,
pub ndk: Option<PathBuf>,
pub crt_static: Option<bool>,
- pub musl_root: Option<PathBuf>,
+ pub wasi_root: Option<PathBuf>,
pub qemu_rootfs: Option<PathBuf>,
pub no_std: bool,
- }
-@@ -305,7 +302,6 @@ struct Rust {
+@@ -306,7 +303,6 @@ struct Rust {
backtrace: Option<bool>,
default_linker: Option<String>,
channel: Option<String>,
@@ -214,35 +184,35 @@ index a9d330e06a..745785a8ae 100644
rpath: Option<bool>,
optimize_tests: Option<bool>,
debuginfo_tests: Option<bool>,
-@@ -343,7 +339,6 @@ struct TomlTarget {
+@@ -346,7 +342,6 @@ struct TomlTarget {
linker: Option<String>,
android_ndk: Option<String>,
crt_static: Option<bool>,
- musl_root: Option<String>,
+ wasi_root: Option<String>,
qemu_rootfs: Option<String>,
}
-
-@@ -560,7 +555,6 @@ impl Config {
+@@ -566,7 +561,6 @@ impl Config {
set(&mut config.llvm_tools_enabled, rust.llvm_tools);
- config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false);
+ config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
config.rustc_default_linker = rust.default_linker.clone();
- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from);
set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings));
set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -604,7 +598,6 @@ impl Config {
+@@ -609,7 +603,6 @@ impl Config {
target.ranlib = cfg.ranlib.clone().map(PathBuf::from);
target.linker = cfg.linker.clone().map(PathBuf::from);
target.crt_static = cfg.crt_static.clone();
- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
+ target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
- config.target_config.insert(INTERNER.intern_string(triple.clone()), target);
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 0cf84a6298..4845e93a0e 100755
+index ade8afee7c..f9ccf7aed5 100755
--- a/src/bootstrap/configure.py
+++ b/src/bootstrap/configure.py
-@@ -112,28 +112,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
+@@ -111,28 +111,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
"aarch64-linux-android NDK standalone path")
v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
"x86_64-linux-android NDK standalone path")
@@ -272,7 +242,7 @@ index 0cf84a6298..4845e93a0e 100755
"rootfs in qemu testing, you probably don't want to use this")
v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 30e84bc13f..cf6f410ccb 100644
+index 71ca61d97e..3b53029a79 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -861,14 +861,6 @@ impl Build {
@@ -287,23 +257,14 @@ index 30e84bc13f..cf6f410ccb 100644
- .map(|p| &**p)
- }
-
- /// Returns true if this is a no-std `target`, if defined
- fn no_std(&self, target: Interned<String>) -> Option<bool> {
+ /// Returns the sysroot for the wasi target, if defined
+ fn wasi_root(&self, target: Interned<String>) -> Option<&Path> {
self.config.target_config.get(&target)
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index 724cb5841f..5af34e441c 100644
+index b9f456e910..792c975333 100644
--- a/src/bootstrap/sanity.rs
+++ b/src/bootstrap/sanity.rs
-@@ -21,7 +21,7 @@
- use std::collections::HashMap;
- use std::env;
- use std::ffi::{OsString, OsStr};
--use std::fs::{self, File};
-+use std::fs::File;
- use std::io::Read;
- use std::path::PathBuf;
- use std::process::Command;
-@@ -186,34 +186,6 @@ pub fn check(build: &mut Build) {
+@@ -171,34 +171,6 @@ pub fn check(build: &mut Build) {
}
}
@@ -352,12 +313,12 @@ index ba2d32a929..412c37fdd1 100644
--disable-docs
diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile
-index e2484b7224..1855b7f3e5 100644
+index a722a41839..44e6728de7 100644
--- a/src/ci/docker/dist-various-1/Dockerfile
+++ b/src/ci/docker/dist-various-1/Dockerfile
-@@ -116,13 +116,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
- CC_armebv7r_none_eabi=arm-none-eabi-gcc
-
+@@ -132,13 +132,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
+ CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
+
ENV RUST_CONFIGURE_ARGS \
- --musl-root-armv5te=/musl-armv5te \
- --musl-root-arm=/musl-arm \
@@ -370,22 +331,34 @@ index e2484b7224..1855b7f3e5 100644
--disable-docs
diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile
-index 06f8a2fbba..f5dd379528 100644
+index 21a9023a45..db7c9729d0 100644
--- a/src/ci/docker/dist-x86_64-musl/Dockerfile
+++ b/src/ci/docker/dist-x86_64-musl/Dockerfile
-@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/
+@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh
ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/musl-x86_64 \
+- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
--enable-extended \
--disable-docs
+diff --git a/src/ci/docker/test-various/Dockerfile b/src/ci/docker/test-various/Dockerfile
+index 611a24a69b..99c2b866b1 100644
+--- a/src/ci/docker/test-various/Dockerfile
++++ b/src/ci/docker/test-various/Dockerfile
+@@ -31,7 +31,6 @@ COPY scripts/sccache.sh /scripts/
+ RUN sh /scripts/sccache.sh
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
+ --set build.nodejs=/node-v9.2.0-linux-x64/bin/node \
+ --set rust.lld
+
diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
-index 7a3f3c2a51..32fe2f880a 100644
+index e294e63982..58ae91a96a 100644
--- a/src/librustc_target/spec/linux_musl_base.rs
+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -13,53 +13,12 @@ use spec::{LinkerFlavor, TargetOptions};
+@@ -3,28 +3,12 @@ use crate::spec::{LinkerFlavor, TargetOptions};
pub fn opts() -> TargetOptions {
let mut base = super::linux_base::opts();
@@ -400,31 +373,6 @@ index 7a3f3c2a51..32fe2f880a 100644
// argument is *not* necessary for normal builds, but it can't hurt!
base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,--eh-frame-hdr".to_string());
-- // There's a whole bunch of circular dependencies when dealing with MUSL
-- // unfortunately. To put this in perspective libc is statically linked to
-- // liblibc and libunwind is statically linked to libstd:
-- //
-- // * libcore depends on `fmod` which is in libc (transitively in liblibc).
-- // liblibc, however, depends on libcore.
-- // * compiler-rt has personality symbols that depend on libunwind, but
-- // libunwind is in libstd which depends on compiler-rt.
-- //
-- // Recall that linkers discard libraries and object files as much as
-- // possible, and with all the static linking and archives flying around with
-- // MUSL the linker is super aggressively stripping out objects. For example
-- // the first case has fmod stripped from liblibc (it's in its own object
-- // file) so it's not there when libcore needs it. In the second example all
-- // the unused symbols from libunwind are stripped (each is in its own object
-- // file in libstd) before we end up linking compiler-rt which depends on
-- // those symbols.
-- //
-- // To deal with these circular dependencies we just force the compiler to
-- // link everything as a group, not stripping anything out until everything
-- // is processed. The linker will still perform a pass to strip out object
-- // files but it won't do so until all objects/archives have been processed.
-- base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,-(".to_string());
-- base.post_link_args.insert(LinkerFlavor::Gcc, vec!["-Wl,-)".to_string()]);
--
- // When generating a statically linked executable there's generally some
- // small setup needed which is listed in these files. These are provided by
- // a musl toolchain and are linked by default by the `musl-gcc` script. Note
@@ -440,5 +388,5 @@ index 7a3f3c2a51..32fe2f880a 100644
base.crt_static_default = true;
// These targets allow the user to choose between static and dynamic linking.
--
-2.19.2
+2.21.0
diff --git a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
index e3a4b47cf..38065f96c 100644
--- a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+++ b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
@@ -1,17 +1,17 @@
-From 916ce9740ddd2e41a567f821f9c0e86faa3c8269 Mon Sep 17 00:00:00 2001
+From e74e7ab193b0d59302eac1edbab423f2e83e986d Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 9 Sep 2017 00:14:16 -0500
-Subject: [PATCH 06/23] Prefer libgcc_eh over libunwind for musl
+Subject: [PATCH 06/13] Prefer libgcc_eh over libunwind for musl
---
src/libunwind/lib.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
-index 954eb9d6d0..a127aa5d96 100644
+index 0ccffea317..935175dd8d 100644
--- a/src/libunwind/lib.rs
+++ b/src/libunwind/lib.rs
-@@ -36,6 +36,6 @@ cfg_if! {
+@@ -26,6 +26,6 @@ cfg_if! {
}
#[cfg(target_env = "musl")]
@@ -20,5 +20,5 @@ index 954eb9d6d0..a127aa5d96 100644
#[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
extern {}
--
-2.19.2
+2.21.0
diff --git a/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch b/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch
deleted file mode 100644
index f186af55f..000000000
--- a/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From a69d4e607d3eda390fd5c6e97022d4ef20af5676 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 10 Sep 2018 01:35:35 +0000
-Subject: [PATCH 07/23] Add powerpc-unknown-linux-musl target
-
----
- src/librustc_target/spec/mod.rs | 1 +
- .../spec/powerpc_unknown_linux_musl.rs | 34 +++++++++++++++++++
- 2 files changed, 35 insertions(+)
- create mode 100644 src/librustc_target/spec/powerpc_unknown_linux_musl.rs
-
-diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
-index d43d45f64a..4b03f6141f 100644
---- a/src/librustc_target/spec/mod.rs
-+++ b/src/librustc_target/spec/mod.rs
-@@ -297,6 +297,7 @@ supported_targets! {
- ("mipsel-unknown-linux-gnu", mipsel_unknown_linux_gnu),
- ("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu),
- ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
-+ ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
- ("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu),
- ("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
- ("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl),
-diff --git a/src/librustc_target/spec/powerpc_unknown_linux_musl.rs b/src/librustc_target/spec/powerpc_unknown_linux_musl.rs
-new file mode 100644
-index 0000000000..48340da514
---- /dev/null
-+++ b/src/librustc_target/spec/powerpc_unknown_linux_musl.rs
-@@ -0,0 +1,34 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::{LinkerFlavor, Target, TargetResult};
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::linux_musl_base::opts();
-+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string());
-+ base.max_atomic_width = Some(32);
-+
-+ // see #36994
-+ base.exe_allocation_crate = None;
-+
-+ Ok(Target {
-+ llvm_target: "powerpc-unknown-linux-musl".to_string(),
-+ target_endian: "big".to_string(),
-+ target_pointer_width: "32".to_string(),
-+ target_c_int_width: "32".to_string(),
-+ data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
-+ arch: "powerpc".to_string(),
-+ target_os: "linux".to_string(),
-+ target_env: "musl".to_string(),
-+ target_vendor: "unknown".to_string(),
-+ linker_flavor: LinkerFlavor::Gcc,
-+ options: base,
-+ })
-+}
---
-2.19.2
-
diff --git a/user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
index c8b2529d8..b8fa40308 100644
--- a/user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
+++ b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
@@ -1,25 +1,25 @@
-From 050dfd0e91b92cb350ca52599266cefc6c765106 Mon Sep 17 00:00:00 2001
+From cd7484e89d44ad980a526eb993c5cbc2b7f0878a Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 16 Sep 2018 16:40:04 +0000
-Subject: [PATCH 12/23] runtest: Fix proc-macro tests on musl hosts
+Subject: [PATCH 07/13] runtest: Fix proc-macro tests on musl hosts
---
src/tools/compiletest/src/runtest.rs | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
-index a80bbd401a..bbe0a6fb7a 100644
+index 2021dd513a..765353620b 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
-@@ -1582,7 +1582,6 @@ impl<'test> TestCx<'test> {
+@@ -1605,7 +1605,6 @@ impl<'test> TestCx<'test> {
None
} else if self.config.target.contains("cloudabi")
|| self.config.target.contains("emscripten")
- || (self.config.target.contains("musl") && !aux_props.force_host)
|| self.config.target.contains("wasm32")
+ || self.config.target.contains("nvptx")
{
- // We primarily compile all auxiliary libraries as dynamic libraries
-@@ -1590,10 +1589,8 @@ impl<'test> TestCx<'test> {
+@@ -1614,10 +1613,8 @@ impl<'test> TestCx<'test> {
// for the test suite (otherwise including libstd statically in all
// executables takes up quite a bit of space).
//
@@ -33,5 +33,5 @@ index a80bbd401a..bbe0a6fb7a 100644
} else {
Some("dylib")
--
-2.19.2
+2.21.0
diff --git a/user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch b/user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
deleted file mode 100644
index 1c4c813fc..000000000
--- a/user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 8a2c9af2ea8b21d38f5ff779fde29f612bb63575 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:34:15 +0000
-Subject: [PATCH 08/23] Fix powerpc64 ELFv2 big-endian struct-passing ABI
-
-The requirements here are not "ELFv1" requirements, but big-endian
-requirements, as the extension or non-extension of the argument is
-necessary to put the argument in the correct half of the register.
-Parameter passing in the ELFv2 ABI needs these same transformations.
-Since this code makes no difference on little-endian machines, simplify
-it to use the same code path everywhere.
----
- src/librustc_target/abi/call/powerpc64.rs | 29 ++++++++++-------------
- src/librustc_target/abi/mod.rs | 2 +-
- 2 files changed, 13 insertions(+), 18 deletions(-)
-
-diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs
-index 0c5ec77a39..934d2b1138 100644
---- a/src/librustc_target/abi/call/powerpc64.rs
-+++ b/src/librustc_target/abi/call/powerpc64.rs
-@@ -75,7 +75,9 @@ fn classify_ret_ty<'a, Ty, C>(cx: C, ret: &mut ArgType<'a, Ty>, abi: ABI)
- let size = ret.layout.size;
- let bits = size.bits();
- if bits <= 128 {
-- let unit = if bits <= 8 {
-+ let unit = if cx.data_layout().endian == Endian::Big {
-+ Reg { kind: RegKind::Integer, size }
-+ } else if bits <= 8 {
- Reg::i8()
- } else if bits <= 16 {
- Reg::i16()
-@@ -110,22 +112,15 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI)
- }
-
- let size = arg.layout.size;
-- let (unit, total) = match abi {
-- ELFv1 => {
-- // In ELFv1, aggregates smaller than a doubleword should appear in
-- // the least-significant bits of the parameter doubleword. The rest
-- // should be padded at their tail to fill out multiple doublewords.
-- if size.bits() <= 64 {
-- (Reg { kind: RegKind::Integer, size }, size)
-- } else {
-- let align = Align::from_bits(64, 64).unwrap();
-- (Reg::i64(), size.abi_align(align))
-- }
-- },
-- ELFv2 => {
-- // In ELFv2, we can just cast directly.
-- (Reg::i64(), size)
-- },
-+ let (unit, total) = if size.bits() <= 64 {
-+ // Aggregates smaller than a doubleword should appear in
-+ // the least-significant bits of the parameter doubleword.
-+ (Reg { kind: RegKind::Integer, size }, size)
-+ } else {
-+ // Aggregates larger than a doubleword should be padded
-+ // at the tail to fill out a whole number of doublewords.
-+ let align = Align::from_bits(64, 64).unwrap();
-+ (Reg::i64(), size.abi_align(align))
- };
-
- arg.cast_to(Uniform {
-diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs
-index 1a5d2801af..0ec2cc0d7b 100644
---- a/src/librustc_target/abi/mod.rs
-+++ b/src/librustc_target/abi/mod.rs
-@@ -214,7 +214,7 @@ impl<'a> HasDataLayout for &'a TargetDataLayout {
- }
-
- /// Endianness of the target, which must match cfg(target-endian).
--#[derive(Copy, Clone)]
-+#[derive(Copy, Clone, PartialEq)]
- pub enum Endian {
- Little,
- Big
---
-2.19.2
-
diff --git a/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
index 7d63cc1cc..0fefe38cc 100644
--- a/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+++ b/user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
@@ -1,19 +1,19 @@
-From 8fbb4ae754fff3f4daa82ad222b3743aace0aa97 Mon Sep 17 00:00:00 2001
+From 6ad7add8f7dee0f6dac64add5d64098667a5168d Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 6 Oct 2018 04:01:48 +0000
-Subject: [PATCH 18/23] test/use-extern-for-plugins: Don't assume multilib
+Subject: [PATCH 08/13] test/use-extern-for-plugins: Don't assume multilib
---
src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-index cc7bc176f4..36553f1e44 100644
+index 3976da3113..567a8d3157 100644
--- a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
+++ b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-@@ -4,12 +4,7 @@ SKIP_OS := 'FreeBSD OpenBSD Bitrig SunOS'
-
- ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
+@@ -5,12 +5,7 @@
+ # ignore-bitrig
+ # ignore-sunos
-HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
-ifeq ($(findstring i686,$(HOST)),i686)
@@ -26,5 +26,5 @@ index cc7bc176f4..36553f1e44 100644
all:
$(RUSTC) foo.rs -C extra-filename=-host
--
-2.19.2
+2.21.0
diff --git a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch b/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
deleted file mode 100644
index c6da310da..000000000
--- a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 44c55a243178d34d5a21e08abc38d103e6ddb0c8 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Wed, 8 Aug 2018 22:06:18 -0500
-Subject: [PATCH 09/23] Use the ELFv2 ABI on powerpc64 musl
-
----
- src/librustc_target/abi/call/powerpc64.rs | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs
-index 934d2b1138..18d14495e2 100644
---- a/src/librustc_target/abi/call/powerpc64.rs
-+++ b/src/librustc_target/abi/call/powerpc64.rs
-@@ -14,11 +14,12 @@
-
- use abi::call::{FnType, ArgType, Reg, RegKind, Uniform};
- use abi::{Align, Endian, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
-+use spec::HasTargetSpec;
-
- #[derive(Debug, Clone, Copy, PartialEq)]
- enum ABI {
- ELFv1, // original ABI used for powerpc64 (big-endian)
-- ELFv2, // newer ABI used for powerpc64le
-+ ELFv2, // newer ABI used for powerpc64le and musl (both endians)
- }
- use self::ABI::*;
-
-@@ -131,11 +132,15 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI)
-
- pub fn compute_abi_info<'a, Ty, C>(cx: C, fty: &mut FnType<'a, Ty>)
- where Ty: TyLayoutMethods<'a, C> + Copy,
-- C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout
-+ C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout + HasTargetSpec
- {
-- let abi = match cx.data_layout().endian {
-- Endian::Big => ELFv1,
-- Endian::Little => ELFv2,
-+ let abi = if cx.target_spec().target_env == "musl" {
-+ ELFv2
-+ } else {
-+ match cx.data_layout().endian {
-+ Endian::Big => ELFv1,
-+ Endian::Little => ELFv2
-+ }
- };
-
- if !fty.ret.is_ignore() {
---
-2.19.2
-
diff --git a/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
index 4f4b42a9c..3c0bc7c5e 100644
--- a/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+++ b/user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
@@ -1,7 +1,7 @@
-From 8d74dfc55bad7461bbbc26a83c4103cc419bbf50 Mon Sep 17 00:00:00 2001
+From fb4844f8b8a546873b909490b66bde24772e4cc7 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 01:32:20 +0000
-Subject: [PATCH 19/23] test/sysroot-crates-are-unstable: Fix test when rpath
+Subject: [PATCH 09/13] test/sysroot-crates-are-unstable: Fix test when rpath
is disabled
Without this environment var, the test can't run rustc to find
@@ -21,5 +21,5 @@ index a35174b3c2..9e77070685 100644
- python2.7 test.py
+ env '$(HOST_RPATH_ENV)' python2.7 test.py
--
-2.19.2
+2.21.0
diff --git a/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch b/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch
deleted file mode 100644
index a575b1345..000000000
--- a/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From c0d3804aa53dee33c03ebc8b64bd6f7a7b54044c Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Tue, 7 Aug 2018 21:59:15 -0500
-Subject: [PATCH 10/23] Add powerpc64-unknown-linux-musl target
-
----
- src/librustc_target/spec/mod.rs | 1 +
- .../spec/powerpc64_unknown_linux_musl.rs | 35 +++++++++++++++++++
- 2 files changed, 36 insertions(+)
- create mode 100644 src/librustc_target/spec/powerpc64_unknown_linux_musl.rs
-
-diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
-index 4b03f6141f..f75c4940c6 100644
---- a/src/librustc_target/spec/mod.rs
-+++ b/src/librustc_target/spec/mod.rs
-@@ -299,6 +299,7 @@ supported_targets! {
- ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
- ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
- ("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu),
-+ ("powerpc64-unknown-linux-musl", powerpc64_unknown_linux_musl),
- ("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
- ("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl),
- ("s390x-unknown-linux-gnu", s390x_unknown_linux_gnu),
-diff --git a/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs b/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs
-new file mode 100644
-index 0000000000..24ff9e0ecd
---- /dev/null
-+++ b/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs
-@@ -0,0 +1,35 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::{LinkerFlavor, Target, TargetResult};
-+
-+pub fn target() -> TargetResult {
-+ let mut base = super::linux_musl_base::opts();
-+ base.cpu = "ppc64".to_string();
-+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string());
-+ base.max_atomic_width = Some(64);
-+
-+ // see #36994
-+ base.exe_allocation_crate = None;
-+
-+ Ok(Target {
-+ llvm_target: "powerpc64-unknown-linux-musl".to_string(),
-+ target_endian: "big".to_string(),
-+ target_pointer_width: "64".to_string(),
-+ target_c_int_width: "32".to_string(),
-+ data_layout: "E-m:e-i64:64-n32:64".to_string(),
-+ arch: "powerpc64".to_string(),
-+ target_os: "linux".to_string(),
-+ target_env: "musl".to_string(),
-+ target_vendor: "unknown".to_string(),
-+ linker_flavor: LinkerFlavor::Gcc,
-+ options: base,
-+ })
-+}
---
-2.19.2
-
diff --git a/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch
new file mode 100644
index 000000000..f1349b906
--- /dev/null
+++ b/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch
@@ -0,0 +1,104 @@
+From 44e9b61563be6a169575358107774109f910cb9d Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 16 Sep 2018 16:38:48 +0000
+Subject: [PATCH 10/13] Ignore broken and non-applicable tests
+
+c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
+env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
+long-linker-command-lines: takes >10 minutes to run (but still passes)
+simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
+simd-intrinsic-generic-select.rs: broken on BE, #59356
+sparc-struct-abi: no sparc target
+sysroot-crates-are-unstable: can't run rustc without RPATH
+---
+ src/test/codegen/sparc-struct-abi.rs | 1 +
+ src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
+ src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
+ src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
+ src/test/run-pass/env-funky-keys.rs | 1 +
+ src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs | 2 ++
+ src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++
+ 7 files changed, 12 insertions(+)
+
+diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
+index 78e5b14a21..6f93e93286 100644
+--- a/src/test/codegen/sparc-struct-abi.rs
++++ b/src/test/codegen/sparc-struct-abi.rs
+@@ -4,6 +4,7 @@
+
+ // only-sparc64
+ // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
++// ignore-test
+ #![feature(no_core, lang_items)]
+ #![no_core]
+
+diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+index f124ca2ab6..363b18f098 100644
+--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
++++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+@@ -1,3 +1,5 @@
++# ignore-aarch64
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+index 5876fbc94b..5f167ece1a 100644
+--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+@@ -1,3 +1,5 @@
++# ignore-test
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+index 9e77070685..6d92ec5cec 100644
+--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+@@ -1,3 +1,5 @@
++# ignore-test
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-pass/env-funky-keys.rs b/src/test/run-pass/env-funky-keys.rs
+index 79f32bd6c2..fc171687c9 100644
+--- a/src/test/run-pass/env-funky-keys.rs
++++ b/src/test/run-pass/env-funky-keys.rs
+@@ -1,5 +1,6 @@
+ // Ignore this test on Android, because it segfaults there.
+
++// ignore-test
+ // ignore-android
+ // ignore-windows
+ // ignore-cloudabi no execve
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+index b28f742a92..3ee4ccce73 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_bitmask intrinsic produces correct results.
+
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
+index f79b140494..39080c8c90 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_select intrinsics produces correct results.
+
+--
+2.21.0
+
diff --git a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch
index dfb43d9b7..e46aeac77 100644
--- a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch
+++ b/user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch
@@ -1,17 +1,17 @@
-From 0aac206a1c7af54f5974eb4043b0f821720f4bf7 Mon Sep 17 00:00:00 2001
+From 91549d8c4f37fd0756d2b95fffcb7055acb663d1 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 24 Sep 2018 23:42:23 +0000
-Subject: [PATCH 21/23] Link stage 2 tools dynamically to libstd
+Subject: [PATCH 11/13] Link stage 2 tools dynamically to libstd
---
src/bootstrap/tool.rs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
-index 6868a063ce..3a91b4fa07 100644
+index 23775a91e4..d79fede548 100644
--- a/src/bootstrap/tool.rs
+++ b/src/bootstrap/tool.rs
-@@ -217,7 +217,9 @@ pub fn prepare_tool_cargo(
+@@ -208,7 +208,9 @@ pub fn prepare_tool_cargo(
// We don't want to build tools dynamically as they'll be running across
// stages and such and it's just easier if they're not dynamically linked.
@@ -23,5 +23,5 @@ index 6868a063ce..3a91b4fa07 100644
if source_type == SourceType::Submodule {
cargo.env("RUSTC_EXTERNAL_TOOL", "1");
--
-2.19.2
+2.21.0
diff --git a/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch b/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch
deleted file mode 100644
index 9fb760bb1..000000000
--- a/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch
+++ /dev/null
@@ -1,209 +0,0 @@
-From c99b99efd9f9632ac4917e1c410bf34e3c2be78b Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Tue, 9 Oct 2018 04:15:48 +0000
-Subject: [PATCH 11/23] rustc_data_structures: use libc types/constants in
- flock
-
----
- src/librustc_data_structures/flock.rs | 155 ++------------------------
- 1 file changed, 10 insertions(+), 145 deletions(-)
-
-diff --git a/src/librustc_data_structures/flock.rs b/src/librustc_data_structures/flock.rs
-index 38ce331051..d5c38b9a39 100644
---- a/src/librustc_data_structures/flock.rs
-+++ b/src/librustc_data_structures/flock.rs
-@@ -26,143 +26,6 @@ cfg_if! {
- use std::os::unix::prelude::*;
- use libc;
-
-- #[cfg(any(target_os = "linux", target_os = "android"))]
-- mod os {
-- use libc;
--
-- #[repr(C)]
-- pub struct flock {
-- pub l_type: libc::c_short,
-- pub l_whence: libc::c_short,
-- pub l_start: libc::off_t,
-- pub l_len: libc::off_t,
-- pub l_pid: libc::pid_t,
--
-- // not actually here, but brings in line with freebsd
-- pub l_sysid: libc::c_int,
-- }
--
-- pub const F_RDLCK: libc::c_short = 0;
-- pub const F_WRLCK: libc::c_short = 1;
-- pub const F_UNLCK: libc::c_short = 2;
-- pub const F_SETLK: libc::c_int = 6;
-- pub const F_SETLKW: libc::c_int = 7;
-- }
--
-- #[cfg(target_os = "freebsd")]
-- mod os {
-- use libc;
--
-- #[repr(C)]
-- pub struct flock {
-- pub l_start: libc::off_t,
-- pub l_len: libc::off_t,
-- pub l_pid: libc::pid_t,
-- pub l_type: libc::c_short,
-- pub l_whence: libc::c_short,
-- pub l_sysid: libc::c_int,
-- }
--
-- pub const F_RDLCK: libc::c_short = 1;
-- pub const F_UNLCK: libc::c_short = 2;
-- pub const F_WRLCK: libc::c_short = 3;
-- pub const F_SETLK: libc::c_int = 12;
-- pub const F_SETLKW: libc::c_int = 13;
-- }
--
-- #[cfg(any(target_os = "dragonfly",
-- target_os = "bitrig",
-- target_os = "netbsd",
-- target_os = "openbsd"))]
-- mod os {
-- use libc;
--
-- #[repr(C)]
-- pub struct flock {
-- pub l_start: libc::off_t,
-- pub l_len: libc::off_t,
-- pub l_pid: libc::pid_t,
-- pub l_type: libc::c_short,
-- pub l_whence: libc::c_short,
--
-- // not actually here, but brings in line with freebsd
-- pub l_sysid: libc::c_int,
-- }
--
-- pub const F_RDLCK: libc::c_short = 1;
-- pub const F_UNLCK: libc::c_short = 2;
-- pub const F_WRLCK: libc::c_short = 3;
-- pub const F_SETLK: libc::c_int = 8;
-- pub const F_SETLKW: libc::c_int = 9;
-- }
--
-- #[cfg(target_os = "haiku")]
-- mod os {
-- use libc;
--
-- #[repr(C)]
-- pub struct flock {
-- pub l_type: libc::c_short,
-- pub l_whence: libc::c_short,
-- pub l_start: libc::off_t,
-- pub l_len: libc::off_t,
-- pub l_pid: libc::pid_t,
--
-- // not actually here, but brings in line with freebsd
-- pub l_sysid: libc::c_int,
-- }
--
-- pub const F_RDLCK: libc::c_short = 0x0040;
-- pub const F_UNLCK: libc::c_short = 0x0200;
-- pub const F_WRLCK: libc::c_short = 0x0400;
-- pub const F_SETLK: libc::c_int = 0x0080;
-- pub const F_SETLKW: libc::c_int = 0x0100;
-- }
--
-- #[cfg(any(target_os = "macos", target_os = "ios"))]
-- mod os {
-- use libc;
--
-- #[repr(C)]
-- pub struct flock {
-- pub l_start: libc::off_t,
-- pub l_len: libc::off_t,
-- pub l_pid: libc::pid_t,
-- pub l_type: libc::c_short,
-- pub l_whence: libc::c_short,
--
-- // not actually here, but brings in line with freebsd
-- pub l_sysid: libc::c_int,
-- }
--
-- pub const F_RDLCK: libc::c_short = 1;
-- pub const F_UNLCK: libc::c_short = 2;
-- pub const F_WRLCK: libc::c_short = 3;
-- pub const F_SETLK: libc::c_int = 8;
-- pub const F_SETLKW: libc::c_int = 9;
-- }
--
-- #[cfg(target_os = "solaris")]
-- mod os {
-- use libc;
--
-- #[repr(C)]
-- pub struct flock {
-- pub l_type: libc::c_short,
-- pub l_whence: libc::c_short,
-- pub l_start: libc::off_t,
-- pub l_len: libc::off_t,
-- pub l_sysid: libc::c_int,
-- pub l_pid: libc::pid_t,
-- }
--
-- pub const F_RDLCK: libc::c_short = 1;
-- pub const F_WRLCK: libc::c_short = 2;
-- pub const F_UNLCK: libc::c_short = 3;
-- pub const F_SETLK: libc::c_int = 6;
-- pub const F_SETLKW: libc::c_int = 7;
-- }
--
- #[derive(Debug)]
- pub struct Lock {
- fd: libc::c_int,
-@@ -192,20 +55,21 @@ cfg_if! {
- }
-
- let lock_type = if exclusive {
-- os::F_WRLCK
-+ libc::F_WRLCK
- } else {
-- os::F_RDLCK
-+ libc::F_RDLCK
- };
-
-- let flock = os::flock {
-+ let flock = libc::flock {
- l_start: 0,
- l_len: 0,
- l_pid: 0,
- l_whence: libc::SEEK_SET as libc::c_short,
-- l_type: lock_type,
-+ l_type: lock_type as libc::c_short,
-+ #[cfg(any(target_os = "freebsd", target_os = "solaris"))]
- l_sysid: 0,
- };
-- let cmd = if wait { os::F_SETLKW } else { os::F_SETLK };
-+ let cmd = if wait { libc::F_SETLKW } else { libc::F_SETLK };
- let ret = unsafe {
- libc::fcntl(fd, cmd, &flock)
- };
-@@ -221,16 +85,17 @@ cfg_if! {
-
- impl Drop for Lock {
- fn drop(&mut self) {
-- let flock = os::flock {
-+ let flock = libc::flock {
- l_start: 0,
- l_len: 0,
- l_pid: 0,
- l_whence: libc::SEEK_SET as libc::c_short,
-- l_type: os::F_UNLCK,
-+ l_type: libc::F_UNLCK as libc::c_short,
-+ #[cfg(any(target_os = "freebsd", target_os = "solaris"))]
- l_sysid: 0,
- };
- unsafe {
-- libc::fcntl(self.fd, os::F_SETLK, &flock);
-+ libc::fcntl(self.fd, libc::F_SETLK, &flock);
- libc::close(self.fd);
- }
- }
---
-2.19.2
-
diff --git a/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch
index a46ddcd45..449abc0cf 100644
--- a/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch
+++ b/user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch
@@ -1,7 +1,7 @@
-From 347b144930e68e49dc27b3682751a1d4c13d81c5 Mon Sep 17 00:00:00 2001
+From 6ebe128c3440ee224fed5e0a2b8897df21ed55f2 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:09:10 +0000
-Subject: [PATCH 22/23] Move debugger scripts to /usr/share/rust
+Subject: [PATCH 12/13] Move debugger scripts to /usr/share/rust
---
src/bootstrap/dist.rs | 2 +-
@@ -10,11 +10,11 @@ Subject: [PATCH 22/23] Move debugger scripts to /usr/share/rust
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index fea6302d0a..e6ba249d28 100644
+index 61a7705bd6..920e0ad1f1 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
-@@ -591,7 +591,7 @@ impl Step for DebuggerScripts {
- fn run(self, builder: &Builder) {
+@@ -597,7 +597,7 @@ impl Step for DebuggerScripts {
+ fn run(self, builder: &Builder<'_>) {
let host = self.host;
let sysroot = self.sysroot;
- let dst = sysroot.join("lib/rustlib/etc");
@@ -23,10 +23,10 @@ index fea6302d0a..e6ba249d28 100644
let cp_debugger_script = |file: &str| {
builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644);
diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
-index 743952a5be..71694ddb87 100755
+index 23ba93da8e..dc51b16c57 100755
--- a/src/etc/rust-gdb
+++ b/src/etc/rust-gdb
-@@ -14,7 +14,7 @@ set -e
+@@ -4,7 +4,7 @@ set -e
# Find out where the pretty printer Python module is
RUSTC_SYSROOT=`rustc --print=sysroot`
@@ -36,10 +36,10 @@ index 743952a5be..71694ddb87 100755
# Run GDB with the additional arguments that load the pretty printers
# Set the environment variable `RUST_GDB` to overwrite the call to a
diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
-index 6ed8210349..f115587ce1 100755
+index 424302d495..460e119210 100755
--- a/src/etc/rust-lldb
+++ b/src/etc/rust-lldb
-@@ -35,7 +35,7 @@ display the contents of local variables!"
+@@ -26,7 +26,7 @@ display the contents of local variables!"
fi
# Prepare commands that will be loaded before any file on the command line has been loaded
@@ -49,5 +49,5 @@ index 6ed8210349..f115587ce1 100755
category_enable="type category enable Rust"
--
-2.19.2
+2.21.0
diff --git a/user/rust/0023-Add-foxkit-target-specs.patch b/user/rust/0013-Add-foxkit-target-specs.patch
index 982326bc6..c0e8cd4a2 100644
--- a/user/rust/0023-Add-foxkit-target-specs.patch
+++ b/user/rust/0013-Add-foxkit-target-specs.patch
@@ -1,17 +1,17 @@
-From 8094b006c75c38ab0e5d44d9b5c12a973949e512 Mon Sep 17 00:00:00 2001
+From fcf56fefa4b75f24430f69477d8cca8ee758fa41 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Mon, 17 Sep 2018 02:29:06 +0000
-Subject: [PATCH 23/23] Add foxkit target specs
+Subject: [PATCH 13/13] Add foxkit target specs
---
- .../spec/aarch64_foxkit_linux_musl.rs | 21 +++++++++++++++++
- .../spec/armv7_foxkit_linux_musleabihf.rs | 21 +++++++++++++++++
- .../spec/i586_foxkit_linux_musl.rs | 23 +++++++++++++++++++
- src/librustc_target/spec/mod.rs | 7 ++++++
- .../spec/powerpc64_foxkit_linux_musl.rs | 21 +++++++++++++++++
- .../spec/powerpc_foxkit_linux_musl.rs | 23 +++++++++++++++++++
- .../spec/x86_64_foxkit_linux_musl.rs | 21 +++++++++++++++++
- 7 files changed, 137 insertions(+)
+ .../spec/aarch64_foxkit_linux_musl.rs | 11 +++++++++++
+ .../spec/armv7_foxkit_linux_musleabihf.rs | 11 +++++++++++
+ src/librustc_target/spec/i586_foxkit_linux_musl.rs | 13 +++++++++++++
+ src/librustc_target/spec/mod.rs | 7 +++++++
+ .../spec/powerpc64_foxkit_linux_musl.rs | 11 +++++++++++
+ .../spec/powerpc_foxkit_linux_musl.rs | 13 +++++++++++++
+ .../spec/x86_64_foxkit_linux_musl.rs | 11 +++++++++++
+ 7 files changed, 77 insertions(+)
create mode 100644 src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
create mode 100644 src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
create mode 100644 src/librustc_target/spec/i586_foxkit_linux_musl.rs
@@ -21,21 +21,11 @@ Subject: [PATCH 23/23] Add foxkit target specs
diff --git a/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..18ad2c2f31
+index 0000000000..9ba8bc1deb
--- /dev/null
+++ b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
-@@ -0,0 +1,21 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::aarch64_unknown_linux_musl::target()?;
@@ -48,21 +38,11 @@ index 0000000000..18ad2c2f31
+}
diff --git a/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
new file mode 100644
-index 0000000000..facfd5d363
+index 0000000000..5a88f77896
--- /dev/null
+++ b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
-@@ -0,0 +1,21 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::armv7_unknown_linux_musleabihf::target()?;
@@ -75,21 +55,11 @@ index 0000000000..facfd5d363
+}
diff --git a/src/librustc_target/spec/i586_foxkit_linux_musl.rs b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..e0284d96e6
+index 0000000000..f0c4ffbf58
--- /dev/null
+++ b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
-@@ -0,0 +1,23 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::{LinkerFlavor, TargetResult};
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::i586_unknown_linux_musl::target()?;
@@ -103,40 +73,30 @@ index 0000000000..e0284d96e6
+ Ok(base)
+}
diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
-index f75c4940c6..d4e0f04144 100644
+index 46fefd78f4..7cdcb319c6 100644
--- a/src/librustc_target/spec/mod.rs
+++ b/src/librustc_target/spec/mod.rs
-@@ -414,6 +414,13 @@ supported_targets! {
- ("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf),
+@@ -329,6 +329,13 @@ macro_rules! supported_targets {
+ }
- ("aarch64-unknown-none", aarch64_unknown_none),
-+
+ supported_targets! {
+ ("aarch64-foxkit-linux-musl", aarch64_foxkit_linux_musl),
+ ("armv7-foxkit-linux-musleabihf", armv7_foxkit_linux_musleabihf),
+ ("i586-foxkit-linux-musl", i586_foxkit_linux_musl),
+ ("powerpc-foxkit-linux-musl", powerpc_foxkit_linux_musl),
+ ("powerpc64-foxkit-linux-musl", powerpc64_foxkit_linux_musl),
+ ("x86_64-foxkit-linux-musl", x86_64_foxkit_linux_musl),
- }
-
- /// Everything `rustc` knows about how to compile for a specific target.
++
+ ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
+ ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
+ ("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
diff --git a/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..b7202ee0fc
+index 0000000000..b105aa247e
--- /dev/null
+++ b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs
-@@ -0,0 +1,21 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::powerpc64_unknown_linux_musl::target()?;
@@ -149,21 +109,11 @@ index 0000000000..b7202ee0fc
+}
diff --git a/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..34246a7e28
+index 0000000000..a425f472aa
--- /dev/null
+++ b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
-@@ -0,0 +1,23 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::{LinkerFlavor, TargetResult};
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::powerpc_unknown_linux_musl::target()?;
@@ -178,21 +128,11 @@ index 0000000000..34246a7e28
+}
diff --git a/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..801dd8d6f4
+index 0000000000..40adbd77b3
--- /dev/null
+++ b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
-@@ -0,0 +1,21 @@
-+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use spec::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::x86_64_unknown_linux_musl::target()?;
@@ -204,5 +144,5 @@ index 0000000000..801dd8d6f4
+ Ok(base)
+}
--
-2.19.2
+2.21.0
diff --git a/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch b/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch
deleted file mode 100644
index 546afbf20..000000000
--- a/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From cdcbabdffce7f1b5379faf96db0dc12e4a5f1a36 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 18:27:56 +0000
-Subject: [PATCH 13/23] Fix double_check tests on big-endian targets
-
-Since the enums get optimized down to 1 byte long, the bits
-set in the usize member don't align with the enums on big-endian
-machines. Avoid this issue by shrinking the integer member to the
-same size as the enums.
----
- src/test/ui/consts/const-eval/double_check.rs | 8 ++++----
- src/test/ui/consts/const-eval/double_check2.rs | 8 ++++----
- src/test/ui/consts/const-eval/double_check2.stderr | 4 ++--
- 3 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/src/test/ui/consts/const-eval/double_check.rs b/src/test/ui/consts/const-eval/double_check.rs
-index 81f6e7ddd2..76f9276c05 100644
---- a/src/test/ui/consts/const-eval/double_check.rs
-+++ b/src/test/ui/consts/const-eval/double_check.rs
-@@ -21,12 +21,12 @@ enum Bar {
- union Union {
- foo: &'static Foo,
- bar: &'static Bar,
-- usize: &'static usize,
-+ u8: &'static u8,
- }
--static BAR: usize = 42;
-+static BAR: u8 = 42;
- static FOO: (&Foo, &Bar) = unsafe {(
-- Union { usize: &BAR }.foo,
-- Union { usize: &BAR }.bar,
-+ Union { u8: &BAR }.foo,
-+ Union { u8: &BAR }.bar,
- )};
-
- fn main() {}
-diff --git a/src/test/ui/consts/const-eval/double_check2.rs b/src/test/ui/consts/const-eval/double_check2.rs
-index b661ee9247..701632362c 100644
---- a/src/test/ui/consts/const-eval/double_check2.rs
-+++ b/src/test/ui/consts/const-eval/double_check2.rs
-@@ -19,12 +19,12 @@ enum Bar {
- union Union {
- foo: &'static Foo,
- bar: &'static Bar,
-- usize: &'static usize,
-+ u8: &'static u8,
- }
--static BAR: usize = 5;
-+static BAR: u8 = 5;
- static FOO: (&Foo, &Bar) = unsafe {( //~ undefined behavior
-- Union { usize: &BAR }.foo,
-- Union { usize: &BAR }.bar,
-+ Union { u8: &BAR }.foo,
-+ Union { u8: &BAR }.bar,
- )};
-
- fn main() {}
-diff --git a/src/test/ui/consts/const-eval/double_check2.stderr b/src/test/ui/consts/const-eval/double_check2.stderr
-index 2102587734..78a112304e 100644
---- a/src/test/ui/consts/const-eval/double_check2.stderr
-+++ b/src/test/ui/consts/const-eval/double_check2.stderr
-@@ -2,8 +2,8 @@ error[E0080]: this static likely exhibits undefined behavior
- --> $DIR/double_check2.rs:25:1
- |
- LL | / static FOO: (&Foo, &Bar) = unsafe {( //~ undefined behavior
--LL | | Union { usize: &BAR }.foo,
--LL | | Union { usize: &BAR }.bar,
-+LL | | Union { u8: &BAR }.foo,
-+LL | | Union { u8: &BAR }.bar,
- LL | | )};
- | |___^ type validation failed: encountered invalid enum discriminant 5 at .1.<deref>
- |
---
-2.19.2
-
diff --git a/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch b/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
deleted file mode 100644
index e892735a2..000000000
--- a/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 52f262296db19bcb35410a05786e58a239216ba8 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:37:09 +0000
-Subject: [PATCH 14/23] test/invalid_const_promotion: Accept SIGTRAP as a valid
- death signal
-
----
- src/test/run-pass/invalid_const_promotion.rs | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/test/run-pass/invalid_const_promotion.rs b/src/test/run-pass/invalid_const_promotion.rs
-index ed8c499241..0f354e1aad 100644
---- a/src/test/run-pass/invalid_const_promotion.rs
-+++ b/src/test/run-pass/invalid_const_promotion.rs
-@@ -39,6 +39,7 @@ fn check_status(status: std::process::ExitStatus)
- use std::os::unix::process::ExitStatusExt;
-
- assert!(status.signal() == Some(libc::SIGILL)
-+ || status.signal() == Some(libc::SIGTRAP)
- || status.signal() == Some(libc::SIGABRT));
- }
-
---
-2.19.2
-
diff --git a/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch b/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch
deleted file mode 100644
index f4591af96..000000000
--- a/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From cc2e1f8ee1d28a772c0309b226e996359180124a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:35:41 +0000
-Subject: [PATCH 15/23] test/linkage-visibility: Ensure symbols are visible to
- dlsym
-
-DynamicLibrary uses libc's dlsym() function internally to find symbols.
-Some implementations of dlsym(), like musl's, only look at dynamically-
-exported symbols, as found in shared libraries. To also export symbols
-from the main executable, pass --export-dynamic to the linker.
----
- src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs
-index 4ea3d0d0d0..b958e1a1fc 100644
---- a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs
-+++ b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs
-@@ -8,6 +8,8 @@
- // option. This file may not be copied, modified, or distributed
- // except according to those terms.
-
-+// compile-flags: -C link-arg=-Wl,--export-dynamic
-+
- #![feature(rustc_private)]
-
- // We're testing linkage visibility; the compiler warns us, but we want to
---
-2.19.2
-
diff --git a/user/rust/0016-x.py-Use-python3-instead-of-python.patch b/user/rust/0016-x.py-Use-python3-instead-of-python.patch
deleted file mode 100644
index 37302b773..000000000
--- a/user/rust/0016-x.py-Use-python3-instead-of-python.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 591dc52ab207945a5c1b488b88cbd1cfbb1c8c94 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Mon, 10 Sep 2018 01:36:00 +0000
-Subject: [PATCH 16/23] x.py: Use python3 instead of python
-
----
- x.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/x.py b/x.py
-index e277ab98be..a75176a3f9 100755
---- a/x.py
-+++ b/x.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright 2016 The Rust Project Developers. See the COPYRIGHT
- # file at the top-level directory of this distribution and at
- # http://rust-lang.org/COPYRIGHT.
---
-2.19.2
-
diff --git a/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch b/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch
deleted file mode 100644
index 5e8c71668..000000000
--- a/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From bc1a70133b259188ec4595eef8d11670cc8d64f5 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:39:46 +0000
-Subject: [PATCH 17/23] test/target-feature-gate: Only run on relevant targets
-
----
- src/test/ui/target-feature-gate.rs | 2 ++
- src/test/ui/target-feature-gate.stderr | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/test/ui/target-feature-gate.rs b/src/test/ui/target-feature-gate.rs
-index 8a045884ca..5e90417fc3 100644
---- a/src/test/ui/target-feature-gate.rs
-+++ b/src/test/ui/target-feature-gate.rs
-@@ -10,6 +10,8 @@
-
- // ignore-arm
- // ignore-aarch64
-+// ignore-powerpc
-+// ignore-powerpc64
- // ignore-wasm
- // ignore-emscripten
- // ignore-mips
-diff --git a/src/test/ui/target-feature-gate.stderr b/src/test/ui/target-feature-gate.stderr
-index f18bebc0c2..5458953601 100644
---- a/src/test/ui/target-feature-gate.stderr
-+++ b/src/test/ui/target-feature-gate.stderr
-@@ -1,5 +1,5 @@
- error[E0658]: the target feature `avx512bw` is currently unstable (see issue #44839)
-- --> $DIR/target-feature-gate.rs:29:18
-+ --> $DIR/target-feature-gate.rs:31:18
- |
- LL | #[target_feature(enable = "avx512bw")]
- | ^^^^^^^^^^^^^^^^^^^
---
-2.19.2
-
diff --git a/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch
deleted file mode 100644
index 3305b52d0..000000000
--- a/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5fd5ee6042170262f6832b65a90c54989f6a9847 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 16 Sep 2018 16:38:48 +0000
-Subject: [PATCH 20/23] Ignore broken and non-applicable tests
-
-long-linker-command-lines: takes >10 minutes to run (but still passes)
-sparc-struct-abi: no sparc target
-sysroot-crates-are-unstable: can't run rustc without rpath
----
- src/test/codegen/sparc-struct-abi.rs | 1 +
- src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 1 -
- src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 +-
- 3 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
-index 56c4364d59..9aebf8f002 100644
---- a/src/test/codegen/sparc-struct-abi.rs
-+++ b/src/test/codegen/sparc-struct-abi.rs
-@@ -13,6 +13,7 @@
-
- // only-sparc64
- // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
-+// ignore-test
- #![feature(no_core, lang_items)]
- #![no_core]
-
-diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-index 5876fbc94b..e9f5c33b77 100644
---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-@@ -2,4 +2,3 @@
-
- all:
- $(RUSTC) foo.rs -g -O
-- RUSTC="$(RUSTC_ORIGINAL)" $(call RUN,foo)
-diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 9e77070685..7784230b46 100644
---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-@@ -1,4 +1,4 @@
- -include ../tools.mk
-
- all:
-- env '$(HOST_RPATH_ENV)' python2.7 test.py
-+ true
---
-2.19.2
-
diff --git a/user/rust/0030-libc-linkage.patch b/user/rust/0030-libc-linkage.patch
new file mode 100644
index 000000000..2454acdb3
--- /dev/null
+++ b/user/rust/0030-libc-linkage.patch
@@ -0,0 +1,33 @@
+--- rustc-1.35.0-src/vendor/libc/src/lib.rs
++++ rustc-1.35.0-src/vendor/libc/src/lib.rs
+@@ -26,6 +26,7 @@
+ #![deny(missing_copy_implementations, safe_packed_borrows)]
+ #![no_std]
+ #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
++#![cfg_attr(feature = "rustc-dep-of-std", feature(static_nobundle))]
+
+ #[macro_use]
+ mod macros;
+--- rustc-1.35.0-src/vendor/libc/src/unix/mod.rs
++++ rustc-1.35.0-src/vendor/libc/src/unix/mod.rs
+@@ -307,11 +307,11 @@ cfg_if! {
+ // cargo build, don't pull in anything extra as the libstd dep
+ // already pulls in all libs.
+ } else if #[cfg(target_env = "musl")] {
++ #[link(name = "c")]
++ extern {}
+ #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", kind = "static",
++ link(name = "gcc", kind = "static-nobundle",
+ cfg(target_feature = "crt-static")))]
+- #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", cfg(not(target_feature = "crt-static"))))]
+ extern {}
+ } else if #[cfg(target_os = "emscripten")] {
+ #[link(name = "c")]
+--- rustc-1.35.0-src/vendor/libc/.cargo-checksum.json
++++ rustc-1.35.0-src/vendor/libc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CONTRIBUTING.md":"abc79e7f6c3eee37e21baca32847b6709c973f4995b32892e80deb56b73c9ac5","Cargo.toml":"c150fb3c5d9159cce669ff588684190f7b177d3aec39c543625a714d6630b9e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"35582cfa483e7676b25ae4a07064a19443f4942f5e60e43b91632fcd6ae95156","build.rs":"e9b7364366a5b4caa9daa436ab8a3469532fe63d5fae4d3b2e5ff59d32ff3f3a","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"037c1a3160ae3bc336f6f7135476704e7f5e834e4039fa02b37f03b507118945","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/align.rs":"9ca6271f2cbb0e6ca3b48ff6898ecee31c89b3c8388ae20be63e457aabad13a5","src/fuchsia/mod.rs":"fcadc9203451d5c04c36044f8b4cda7f64815c180446e87dbd02fbf7e6fda0f2","src/fuchsia/no_align.rs":"56868534e4ed3f94a27ed39c42f01210c8ecfdbafd4e27679860fbc65a2ae8de","src/fuchsia/x86_64.rs":"911d1249370cf1b0b7b38960cae28af1276f0f614cfcbf5174dbaa38be3dff1d","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"9d764e53df81416a5182b71a26402d2071fc0c15160103b6670b6b268fc356da","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"b0d525e3da42b1fde74356f3856e9054254eaefb260c2da8a253b025754c8770","src/macros.rs":"8232e284068d34336713535595fad3c910093346be32e72bde3d3d03327ec6b8","src/redox/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/redox/mod.rs":"34f132e794dc25bbb0e3c08b7f87e4508ce62e0aac00acf39dcdb0f246d7dfc0","src/redox/net.rs":"351960c3a3ad9b296fe43533cac429434e0872c8cca5ad5047dce79d82e009ee","src/redox/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/sgx.rs":"7ff2fbf3e5ad1c880014d68e012f4381a9b9140d13089193b9fba07a7f27c352","src/switch.rs":"fe1414ca053b73cf8a5f54448e807abe81c776c6ac0dfe47ea7772c8140f50b6","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32.rs":"0095a17e49fa423cab8644c722a375b88f5c0cf56fa456b549738d98131bb2f9","src/unix/bsd/apple/b64.rs":"99fbd3e6d2c969080631e23f58deffa51cb3f42b7a08395b49556f19bb40d4e1","src/unix/bsd/apple/mod.rs":"e1959b482dc3c1703eb032b5d6e269c434326dc3eae9f99bb88d51c732cd3df0","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2cb0a5d10a3c5721d10209ad7ddc59f6756b2c1d4bc89450988053efad788eb6","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"4dcd712c0dd5470171746071a176391f937de7865dd0792173284992d9e3f2c7","src/unix/bsd/freebsdlike/freebsd/arm.rs":"84cf36223f0229cb383036563a4902731543e89b37e4dfe2f450cced566d8545","src/unix/bsd/freebsdlike/freebsd/mod.rs":"0752dc1097fd5e94aabfe7b6d4ead2b94e5c0540e2cd3c8efee883bba13e1a0c","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"9873f41843cbf066f6ffab8eeb63115095f81ce9fa8f337b95ec871e40c6565d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"716cb67cd0aea66d4a8e40470d32b55cbfafddf75edd34a90f70d518c8c75457","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"dd3d8a546730f09b1ef0dfeeb20244eef01d1b4028799b28b3a0c33ae05d5002","src/unix/bsd/freebsdlike/mod.rs":"2938bb8b0a0f1d66912bdb4bac3e59863bd90787fe49e1d3a522098acfdb2b7a","src/unix/bsd/mod.rs":"0e92970853a9efbb51a17b9cb8009eb4e9a04cbf12d0e315659d240812c1e760","src/unix/bsd/netbsdlike/mod.rs":"77b85ecd2187df55466663f6af624416d9c99922065c6fbd0438d5b7063db89c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"75adb8d6ee202d50487913c245e1a880447582f45e1ef6339743305a13fb5719","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"51dd68ca3c3eab0f1fe496b0dc12ad8b85f8cf964af0c2c95ab9834ad03938a8","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"c8d18b725c62c2f1a3c5e42d875e1a3b167c13a1bd6ae3d35f35a6ec29402f81","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"ee0057fb97a5e16e46e0f8e4a215f6141b68ea75dd6cb5d53166bee2431082e2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"a3fb2cfc0e100c860dff1674a90693d57e66b7f12861155ceb42c2de372454bd","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"1201371a662cb3515ebb42676cdca9199da7bf4d7c8f90b56f00db03a9fc61f7","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"26ef6f50740fad5bb722e0f30025c369c287b2204489682319f7b24fce6de98d","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b451e320e5c98d6b2e7fcb804e2be6669783510011ebd8dea27d64acbf955774","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"d97797fe66dd43c61f6f895596f6a57145b4c9ef61edd93c8ff9b497a2d28411","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"f9a63de7c9566cdaa970daeb3828887f7b2d8bf090da86be1a15c32288ae3da3","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/align.rs":"04e9b1ac6ca4af24fe5170385249fd64039ebf7f4817c5ceed3a303f3bc8a4aa","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"e73d1b49662581382c91b3d4615d21812df58bf5477a3eba5c1df8a4c00a1c43","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"05a714a785fa94a5131af3d59612ce1e9a5823b3327eb2a23de8ad0ce125c377","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"d3bcb20e70d29a450577c09706bb520fab09d0cb3102755736867bf8a957319c","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"87dcb5bb8edf9ca2a7e7715f28c44c1330f15419d6d4f9422a81a61b6cf27a8c","src/unix/notbsd/emscripten/align.rs":"dee06bccb5f1a58bd498468f204b8f1d8f2c2a536c595d31e730330a79af7ea5","src/unix/notbsd/emscripten/mod.rs":"42947782f571b56cc1b1c1f4364bb35519bcc44ab8aca53bb13bfd46904de1e0","src/unix/notbsd/emscripten/no_align.rs":"f3960b1d6ede1f8f9d51407a3de5337d44dd5d954e1a4c2bf0ea11e76f2629da","src/unix/notbsd/linux/align.rs":"f2520d03b411519161eaaf043f1948b3279509a3f272b2958bca1d1aeda0434d","src/unix/notbsd/linux/mips/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/mips/mips32.rs":"96153abc38b10309e64cb49b1a1e4107be70dbc40bc54ba0372a4573b098b514","src/unix/notbsd/linux/mips/mips64.rs":"9bd96aa81cb0f536c3607d0a2906f4be7a44c3f89e40d5955a898835f04f0e15","src/unix/notbsd/linux/mips/mod.rs":"9a67a2f4043907a50a43569c06ffb4890aefa8db1c26a8737c6bb4bd3e39d90e","src/unix/notbsd/linux/mips/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/mod.rs":"895c6d0c1ee5436592e35b4dd87ea361ab81b750d45250b0ff850ac1cef4750d","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"adf8bb67b47995760aab14f04ae671ebd8ecca5579e90314612f46cb79b30cc2","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"19197260a6d06ee521a5aa40a1860b7be33176d0f52bc92d56165fc42729cbd5","src/unix/notbsd/linux/musl/mod.rs":"13d766411fa206b987567e7c802dfe7585e6b7f002fe13ec0fbc810e522b7e2d","src/unix/notbsd/linux/no_align.rs":"7a1cc536b26c22019d7dab6b6db3a8c9edbb753d3f37a7985c30d8894c2c6b06","src/unix/notbsd/linux/other/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"fea38039a1908ddeb90672b8ef246c743eec6758663a79aea401e21ef40a736d","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"017cb7cf2810bc633e21879a8951a2c10031c500648e5eb4accc6c88b58ecaa3","src/unix/notbsd/linux/other/mod.rs":"a980e9e3853f8e24498d6cd185c38097710757654480ca460f6378ffeeddf5ef","src/unix/notbsd/linux/other/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/s390x/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/notbsd/linux/s390x/mod.rs":"b01d158eefce4c31f377b63964d253f9934f7468af35a24474a163ad3725796a","src/unix/notbsd/linux/s390x/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/notbsd/mod.rs":"5cfdcf78b70b4e4ef4a3733cac364a0bc2512dee798f897a8db7d78d4dd194a6","src/unix/solarish/compat.rs":"8db2a43eafbd3504e9eb9e8f18416c57d947798871bd45be3e2fb9946e292610","src/unix/solarish/mod.rs":"c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d","src/unix/uclibc/align.rs":"5607180357a9e3d87163e478116b45c7ece391d8366d65ff856cdf3e849452d7","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"66d54a7028a422fe331028441d1b1f18cf34bb2deff2a9e5220384b6e10dcc40","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"d1a1af63b583b170d5c94b46a04589a11b9d4f8dc658ab8c74302bae656d0e85","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"03f3bad1c681e6fde4a8ed999ce1d38313166c17d35eded66bd6b4f8387efeb7","src/unix/uclibc/mips/mips64/no_align.rs":"bf11b59caa173a6d94d86f42a8de9c5682f798647fba3a17169214b59ab467fe","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"924f95073f77047b1f72de3d933852d1df13b19906a63c5974a64032f1bb772c","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"26e48fc79dbdeee4408ae8e071aa90e1be34ccdf0c135689b805aa4abd568e5e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"df78de7e0234192c0559b9820c0034a24d72a0820d361f9aad05a9eac36e80ff","src/unix/uclibc/x86_64/no_align.rs":"b308f7b110caf7405b57186882cfc4804caae49a8287f8ab612ec8548467f2f4","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/wasi.rs":"84e88b124249816db0976cda78515af3ee3eedacbcd69ae388dc2a6bc757dcd4","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"2761f3f80c8af5c04e685af8ac3a2bc8c7d6de91cbad9b96a3a6dae67457a891","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"}
+\ No newline at end of file
++{"files":{"CONTRIBUTING.md":"abc79e7f6c3eee37e21baca32847b6709c973f4995b32892e80deb56b73c9ac5","Cargo.toml":"c150fb3c5d9159cce669ff588684190f7b177d3aec39c543625a714d6630b9e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"35582cfa483e7676b25ae4a07064a19443f4942f5e60e43b91632fcd6ae95156","build.rs":"e9b7364366a5b4caa9daa436ab8a3469532fe63d5fae4d3b2e5ff59d32ff3f3a","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"037c1a3160ae3bc336f6f7135476704e7f5e834e4039fa02b37f03b507118945","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/align.rs":"9ca6271f2cbb0e6ca3b48ff6898ecee31c89b3c8388ae20be63e457aabad13a5","src/fuchsia/mod.rs":"fcadc9203451d5c04c36044f8b4cda7f64815c180446e87dbd02fbf7e6fda0f2","src/fuchsia/no_align.rs":"56868534e4ed3f94a27ed39c42f01210c8ecfdbafd4e27679860fbc65a2ae8de","src/fuchsia/x86_64.rs":"911d1249370cf1b0b7b38960cae28af1276f0f614cfcbf5174dbaa38be3dff1d","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"9d764e53df81416a5182b71a26402d2071fc0c15160103b6670b6b268fc356da","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"7e80726ac2e4fe5d1354950e93055120b5e3babc339f0315bf34bc7eb8f4c937","src/macros.rs":"8232e284068d34336713535595fad3c910093346be32e72bde3d3d03327ec6b8","src/redox/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/redox/mod.rs":"34f132e794dc25bbb0e3c08b7f87e4508ce62e0aac00acf39dcdb0f246d7dfc0","src/redox/net.rs":"351960c3a3ad9b296fe43533cac429434e0872c8cca5ad5047dce79d82e009ee","src/redox/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/sgx.rs":"7ff2fbf3e5ad1c880014d68e012f4381a9b9140d13089193b9fba07a7f27c352","src/switch.rs":"fe1414ca053b73cf8a5f54448e807abe81c776c6ac0dfe47ea7772c8140f50b6","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32.rs":"0095a17e49fa423cab8644c722a375b88f5c0cf56fa456b549738d98131bb2f9","src/unix/bsd/apple/b64.rs":"99fbd3e6d2c969080631e23f58deffa51cb3f42b7a08395b49556f19bb40d4e1","src/unix/bsd/apple/mod.rs":"e1959b482dc3c1703eb032b5d6e269c434326dc3eae9f99bb88d51c732cd3df0","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2cb0a5d10a3c5721d10209ad7ddc59f6756b2c1d4bc89450988053efad788eb6","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"4dcd712c0dd5470171746071a176391f937de7865dd0792173284992d9e3f2c7","src/unix/bsd/freebsdlike/freebsd/arm.rs":"84cf36223f0229cb383036563a4902731543e89b37e4dfe2f450cced566d8545","src/unix/bsd/freebsdlike/freebsd/mod.rs":"0752dc1097fd5e94aabfe7b6d4ead2b94e5c0540e2cd3c8efee883bba13e1a0c","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"9873f41843cbf066f6ffab8eeb63115095f81ce9fa8f337b95ec871e40c6565d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"716cb67cd0aea66d4a8e40470d32b55cbfafddf75edd34a90f70d518c8c75457","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"dd3d8a546730f09b1ef0dfeeb20244eef01d1b4028799b28b3a0c33ae05d5002","src/unix/bsd/freebsdlike/mod.rs":"2938bb8b0a0f1d66912bdb4bac3e59863bd90787fe49e1d3a522098acfdb2b7a","src/unix/bsd/mod.rs":"0e92970853a9efbb51a17b9cb8009eb4e9a04cbf12d0e315659d240812c1e760","src/unix/bsd/netbsdlike/mod.rs":"77b85ecd2187df55466663f6af624416d9c99922065c6fbd0438d5b7063db89c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"75adb8d6ee202d50487913c245e1a880447582f45e1ef6339743305a13fb5719","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"51dd68ca3c3eab0f1fe496b0dc12ad8b85f8cf964af0c2c95ab9834ad03938a8","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"c8d18b725c62c2f1a3c5e42d875e1a3b167c13a1bd6ae3d35f35a6ec29402f81","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"ee0057fb97a5e16e46e0f8e4a215f6141b68ea75dd6cb5d53166bee2431082e2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"a3fb2cfc0e100c860dff1674a90693d57e66b7f12861155ceb42c2de372454bd","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"1201371a662cb3515ebb42676cdca9199da7bf4d7c8f90b56f00db03a9fc61f7","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"26ef6f50740fad5bb722e0f30025c369c287b2204489682319f7b24fce6de98d","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b451e320e5c98d6b2e7fcb804e2be6669783510011ebd8dea27d64acbf955774","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"d97797fe66dd43c61f6f895596f6a57145b4c9ef61edd93c8ff9b497a2d28411","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"ca64d5483b17632ac0b1366edaa715f64b1aed696a7e038a7e49b726a22f871f","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/align.rs":"04e9b1ac6ca4af24fe5170385249fd64039ebf7f4817c5ceed3a303f3bc8a4aa","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"e73d1b49662581382c91b3d4615d21812df58bf5477a3eba5c1df8a4c00a1c43","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"05a714a785fa94a5131af3d59612ce1e9a5823b3327eb2a23de8ad0ce125c377","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"d3bcb20e70d29a450577c09706bb520fab09d0cb3102755736867bf8a957319c","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"87dcb5bb8edf9ca2a7e7715f28c44c1330f15419d6d4f9422a81a61b6cf27a8c","src/unix/notbsd/emscripten/align.rs":"dee06bccb5f1a58bd498468f204b8f1d8f2c2a536c595d31e730330a79af7ea5","src/unix/notbsd/emscripten/mod.rs":"42947782f571b56cc1b1c1f4364bb35519bcc44ab8aca53bb13bfd46904de1e0","src/unix/notbsd/emscripten/no_align.rs":"f3960b1d6ede1f8f9d51407a3de5337d44dd5d954e1a4c2bf0ea11e76f2629da","src/unix/notbsd/linux/align.rs":"f2520d03b411519161eaaf043f1948b3279509a3f272b2958bca1d1aeda0434d","src/unix/notbsd/linux/mips/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/mips/mips32.rs":"96153abc38b10309e64cb49b1a1e4107be70dbc40bc54ba0372a4573b098b514","src/unix/notbsd/linux/mips/mips64.rs":"9bd96aa81cb0f536c3607d0a2906f4be7a44c3f89e40d5955a898835f04f0e15","src/unix/notbsd/linux/mips/mod.rs":"9a67a2f4043907a50a43569c06ffb4890aefa8db1c26a8737c6bb4bd3e39d90e","src/unix/notbsd/linux/mips/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/mod.rs":"895c6d0c1ee5436592e35b4dd87ea361ab81b750d45250b0ff850ac1cef4750d","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"adf8bb67b47995760aab14f04ae671ebd8ecca5579e90314612f46cb79b30cc2","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"19197260a6d06ee521a5aa40a1860b7be33176d0f52bc92d56165fc42729cbd5","src/unix/notbsd/linux/musl/mod.rs":"13d766411fa206b987567e7c802dfe7585e6b7f002fe13ec0fbc810e522b7e2d","src/unix/notbsd/linux/no_align.rs":"7a1cc536b26c22019d7dab6b6db3a8c9edbb753d3f37a7985c30d8894c2c6b06","src/unix/notbsd/linux/other/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"fea38039a1908ddeb90672b8ef246c743eec6758663a79aea401e21ef40a736d","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"017cb7cf2810bc633e21879a8951a2c10031c500648e5eb4accc6c88b58ecaa3","src/unix/notbsd/linux/other/mod.rs":"a980e9e3853f8e24498d6cd185c38097710757654480ca460f6378ffeeddf5ef","src/unix/notbsd/linux/other/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/s390x/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/notbsd/linux/s390x/mod.rs":"b01d158eefce4c31f377b63964d253f9934f7468af35a24474a163ad3725796a","src/unix/notbsd/linux/s390x/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/notbsd/mod.rs":"5cfdcf78b70b4e4ef4a3733cac364a0bc2512dee798f897a8db7d78d4dd194a6","src/unix/solarish/compat.rs":"8db2a43eafbd3504e9eb9e8f18416c57d947798871bd45be3e2fb9946e292610","src/unix/solarish/mod.rs":"c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d","src/unix/uclibc/align.rs":"5607180357a9e3d87163e478116b45c7ece391d8366d65ff856cdf3e849452d7","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"66d54a7028a422fe331028441d1b1f18cf34bb2deff2a9e5220384b6e10dcc40","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"d1a1af63b583b170d5c94b46a04589a11b9d4f8dc658ab8c74302bae656d0e85","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"03f3bad1c681e6fde4a8ed999ce1d38313166c17d35eded66bd6b4f8387efeb7","src/unix/uclibc/mips/mips64/no_align.rs":"bf11b59caa173a6d94d86f42a8de9c5682f798647fba3a17169214b59ab467fe","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"924f95073f77047b1f72de3d933852d1df13b19906a63c5974a64032f1bb772c","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"26e48fc79dbdeee4408ae8e071aa90e1be34ccdf0c135689b805aa4abd568e5e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"df78de7e0234192c0559b9820c0034a24d72a0820d361f9aad05a9eac36e80ff","src/unix/uclibc/x86_64/no_align.rs":"b308f7b110caf7405b57186882cfc4804caae49a8287f8ab612ec8548467f2f4","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/wasi.rs":"84e88b124249816db0976cda78515af3ee3eedacbcd69ae388dc2a6bc757dcd4","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"2761f3f80c8af5c04e685af8ac3a2bc8c7d6de91cbad9b96a3a6dae67457a891","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"}
diff --git a/user/rust/0030-liblibc-linkage.patch b/user/rust/0030-liblibc-linkage.patch
deleted file mode 100644
index 4daa0e48f..000000000
--- a/user/rust/0030-liblibc-linkage.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/liblibc/src/unix/mod.rs b/src/liblibc/src/unix/mod.rs
-index 9c68178a..1ae270e9 100644
---- a/src/liblibc/src/unix/mod.rs
-+++ b/src/liblibc/src/unix/mod.rs
-@@ -287,11 +287,7 @@ cfg_if! {
- // cargo build, don't pull in anything extra as the libstd dep
- // already pulls in all libs.
- } else if #[cfg(target_env = "musl")] {
-- #[cfg_attr(feature = "stdbuild",
-- link(name = "c", kind = "static",
-- cfg(target_feature = "crt-static")))]
-- #[cfg_attr(feature = "stdbuild",
-- link(name = "c", cfg(not(target_feature = "crt-static"))))]
-+ #[link(name = "c")]
- extern {}
- } else if #[cfg(target_os = "emscripten")] {
- #[link(name = "c")]
diff --git a/user/rust/0031-liblibc-1b130d4c349d.patch b/user/rust/0031-liblibc-1b130d4c349d.patch
deleted file mode 100644
index 29087689b..000000000
--- a/user/rust/0031-liblibc-1b130d4c349d.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 1b130d4c349d35da9aeb07ce020cbf96755e8a6b Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Thu, 1 Nov 2018 03:37:18 +0000
-Subject: [PATCH] Add F_RDLCK/F_WRLCK/F_UNLCK to several platforms
-
-These are used by the flock wrapper in rustc_data_structures. The
-constants were already present in x86_64-linux-gnu and BSD (since
-4928bd986907).
----
- src/unix/haiku/mod.rs | 4 ++++
- src/unix/notbsd/android/mod.rs | 4 ++++
- src/unix/notbsd/linux/musl/mod.rs | 4 ++++
- src/unix/notbsd/linux/other/b32/mod.rs | 4 ++++
- src/unix/notbsd/linux/other/b64/aarch64.rs | 4 ++++
- src/unix/notbsd/linux/other/b64/powerpc64.rs | 4 ++++
- src/unix/notbsd/linux/other/b64/sparc64.rs | 4 ++++
- 7 files changed, 28 insertions(+)
-
-diff --git a/src/liblibc/src/unix/haiku/mod.rs b/src/liblibc/src/unix/haiku/mod.rs
-index 2ef36f8f3..307a5a40d 100644
---- a/src/liblibc/src/unix/haiku/mod.rs
-+++ b/src/liblibc/src/unix/haiku/mod.rs
-@@ -351,6 +351,10 @@ pub const F_SETLK: ::c_int = 0x0080;
- pub const F_SETLKW: ::c_int = 0x0100;
- pub const F_DUPFD_CLOEXEC: ::c_int = 0x0200;
-
-+pub const F_RDLCK: ::c_int = 0x0040;
-+pub const F_UNLCK: ::c_int = 0x0200;
-+pub const F_WRLCK: ::c_int = 0x0400;
-+
- pub const AT_FDCWD: ::c_int = -1;
- pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x01;
- pub const AT_SYMLINK_FOLLOW: ::c_int = 0x02;
-diff --git a/src/liblibc/src/unix/notbsd/android/mod.rs b/src/liblibc/src/unix/notbsd/android/mod.rs
-index 3e10acd50..5b750b2b1 100644
---- a/src/liblibc/src/unix/notbsd/android/mod.rs
-+++ b/src/liblibc/src/unix/notbsd/android/mod.rs
-@@ -744,6 +744,10 @@ pub const F_SETOWN: ::c_int = 8;
- pub const F_SETLK: ::c_int = 6;
- pub const F_SETLKW: ::c_int = 7;
-
-+pub const F_RDLCK: ::c_int = 0;
-+pub const F_WRLCK: ::c_int = 1;
-+pub const F_UNLCK: ::c_int = 2;
-+
- pub const TCGETS: ::c_int = 0x5401;
- pub const TCSETS: ::c_int = 0x5402;
- pub const TCSETSW: ::c_int = 0x5403;
-diff --git a/src/liblibc/src/unix/notbsd/linux/musl/mod.rs b/src/liblibc/src/unix/notbsd/linux/musl/mod.rs
-index 10d61ebeb..9c669d9b4 100644
---- a/src/liblibc/src/unix/notbsd/linux/musl/mod.rs
-+++ b/src/liblibc/src/unix/notbsd/linux/musl/mod.rs
-@@ -121,6 +121,10 @@ pub const ECOMM: ::c_int = 70;
- pub const EPROTO: ::c_int = 71;
- pub const EDOTDOT: ::c_int = 73;
-
-+pub const F_RDLCK: ::c_int = 0;
-+pub const F_WRLCK: ::c_int = 1;
-+pub const F_UNLCK: ::c_int = 2;
-+
- pub const SA_NODEFER: ::c_int = 0x40000000;
- pub const SA_RESETHAND: ::c_int = 0x80000000;
- pub const SA_RESTART: ::c_int = 0x10000000;
-diff --git a/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs b/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs
-index 5b0142ab8..d078f7537 100644
---- a/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs
-+++ b/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs
-@@ -251,6 +251,10 @@ pub const F_SETOWN: ::c_int = 8;
- pub const F_SETLK: ::c_int = 6;
- pub const F_SETLKW: ::c_int = 7;
-
-+pub const F_RDLCK: ::c_int = 0;
-+pub const F_WRLCK: ::c_int = 1;
-+pub const F_UNLCK: ::c_int = 2;
-+
- pub const SFD_NONBLOCK: ::c_int = 0x0800;
-
- pub const TIOCEXCL: ::c_ulong = 0x540C;
-diff --git a/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs b/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs
-index 2ba27a72b..171d904ca 100644
---- a/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs
-+++ b/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs
-@@ -340,6 +340,10 @@ pub const F_SETOWN: ::c_int = 8;
- pub const F_SETLK: ::c_int = 6;
- pub const F_SETLKW: ::c_int = 7;
-
-+pub const F_RDLCK: ::c_int = 0;
-+pub const F_WRLCK: ::c_int = 1;
-+pub const F_UNLCK: ::c_int = 2;
-+
- pub const SFD_NONBLOCK: ::c_int = 0x0800;
-
- pub const TIOCEXCL: ::c_ulong = 0x540C;
-diff --git a/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs b/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs
-index 9dd91f0fd..1813413b0 100644
---- a/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs
-+++ b/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs
-@@ -327,6 +327,10 @@ pub const F_SETOWN: ::c_int = 8;
- pub const F_SETLK: ::c_int = 6;
- pub const F_SETLKW: ::c_int = 7;
-
-+pub const F_RDLCK: ::c_int = 0;
-+pub const F_WRLCK: ::c_int = 1;
-+pub const F_UNLCK: ::c_int = 2;
-+
- pub const SFD_NONBLOCK: ::c_int = 0x0800;
-
- pub const TIOCEXCL: ::c_ulong = 0x540C;
-diff --git a/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs b/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs
-index 34438a735..a3251ec7b 100644
---- a/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs
-+++ b/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs
-@@ -305,6 +305,10 @@ pub const F_SETOWN: ::c_int = 6;
- pub const F_SETLK: ::c_int = 8;
- pub const F_SETLKW: ::c_int = 9;
-
-+pub const F_RDLCK: ::c_int = 1;
-+pub const F_WRLCK: ::c_int = 2;
-+pub const F_UNLCK: ::c_int = 3;
-+
- pub const SFD_NONBLOCK: ::c_int = 0x4000;
-
- pub const TIOCEXCL: ::c_ulong = 0x2000740d;
---
-2.18.0
-
diff --git a/user/rust/0031-typenum-pmmx.patch b/user/rust/0031-typenum-pmmx.patch
new file mode 100644
index 000000000..6b3c5df57
--- /dev/null
+++ b/user/rust/0031-typenum-pmmx.patch
@@ -0,0 +1,33 @@
+From 0d5196feadafa77c727f517d747ffcf3fd0e8ba9 Mon Sep 17 00:00:00 2001
+From: Michael Hudson-Doyle <michael.hudson@canonical.com>
+Date: Wed, 13 Mar 2019 15:55:30 +1300
+Subject: [PATCH] round result of (highest as f64).log(2.0)
+
+Even though (1024f64).log(2.0) has an exact, representable, value, with
+rustc 1.32 on i386 it comes out as +9.999999999999999985 with
+optimization enabled. And the rustc doesn't like having two defintions
+for U1024 etc.
+
+---
+ build/main.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git rustc-1.35.0-src/vendor/typenum/build/main.rs rustc-1.35.0-src/vendor/typenum/build/main.rs
+index 16b0ffe2f..b7939f993 100644
+--- rustc-1.35.0-src/vendor/typenum/build/main.rs
++++ rustc-1.35.0-src/vendor/typenum/build/main.rs
+@@ -81,7 +81,7 @@ pub fn no_std() {}
+ fn main() {
+ let highest: u64 = 1024;
+
+- let first2: u32 = (highest as f64).log(2.0) as u32 + 1;
++ let first2: u32 = (highest as f64).log(2.0).round() as u32 + 1;
+ let first10: u32 = (highest as f64).log(10.0) as u32 + 1;
+ let uints = (0..(highest + 1))
+ .chain((first2..64).map(|i| 2u64.pow(i)))
+--- rustc-1.35.0-src/vendor/typenum/.cargo-checksum.json
++++ rustc-1.35.0-src/vendor/typenum/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CHANGELOG.md":"caf37574d41c38570e892c4fed38cbc2fd22794ec512949c1f0faad1d866fced","Cargo.toml":"58822547c70a09449e6a069e6c197423a9e471d993ebf4ea20101e042781edf7","LICENSE":"a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f","README.md":"7a19a1fb2f219fbc270535e0fee2caa96968b976cd74d33d12e2f2ef436d0895","build/main.rs":"44d33ee79a76a90a769096547ba4c7a5d3822afffeed025dfbcc5bb755227d52","build/op.rs":"a393b6818384a50688db8cb923891f86ccce39a9dccbf7c684efb9bef83b4acf","build/tests.rs":"a04fd3185ea8b19c36cb939178e5fedf16b4b36c2df0a2e79593339d998bd1ce","src/array.rs":"7243dbe44f3818c852c67bd0c3af14d57473fb9c3efda2c0d98251b3fe8b4d57","src/bit.rs":"023f9f6768331ac17de72b6248c6a9d6a7b856842f56067c9c1e04b729ed9e04","src/int.rs":"de4c49717a7a40572e579fad2380f29698c5571844ff1462e368531072dba55e","src/lib.rs":"2a58ff8553851eb6b9d7fa70315d688431dd0573f8491e53cfe799a092347b96","src/marker_traits.rs":"abf73f3930b5129d01aaa64c51275c4ca4ce0ef8961f7a9e744ee731d6308200","src/operator_aliases.rs":"43eb6a29dc0387ec329df5d9af0b4479a1301b3a9b2304c3b7b7d8c03e01ff5d","src/private.rs":"48c572aa27bd444062eadb4bd3f5ca38c1e6efb66bc074f38555499b33f0dcaf","src/type_operators.rs":"df9ef3ae2a69d56258db41f8166342a65f6e4085581709140719d1b7e3916bb9","src/uint.rs":"df4fdad3110a7e08fdc21e49f7e82fd525d6a78fcf904a766729aa47c0200727","tests/test.rs":"1e559fadf0af1a38d7049caef26e3a162c58ea5e024aa637299376d776986549"},"package":"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"}
+\ No newline at end of file
++{"files":{"CHANGELOG.md":"caf37574d41c38570e892c4fed38cbc2fd22794ec512949c1f0faad1d866fced","Cargo.toml":"58822547c70a09449e6a069e6c197423a9e471d993ebf4ea20101e042781edf7","LICENSE":"a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f","README.md":"7a19a1fb2f219fbc270535e0fee2caa96968b976cd74d33d12e2f2ef436d0895","build/main.rs":"38a90c85068bb6bba1d21e9d5976e693b9b868ed0c16b26986332d2ca1c01047","build/op.rs":"a393b6818384a50688db8cb923891f86ccce39a9dccbf7c684efb9bef83b4acf","build/tests.rs":"a04fd3185ea8b19c36cb939178e5fedf16b4b36c2df0a2e79593339d998bd1ce","src/array.rs":"7243dbe44f3818c852c67bd0c3af14d57473fb9c3efda2c0d98251b3fe8b4d57","src/bit.rs":"023f9f6768331ac17de72b6248c6a9d6a7b856842f56067c9c1e04b729ed9e04","src/int.rs":"de4c49717a7a40572e579fad2380f29698c5571844ff1462e368531072dba55e","src/lib.rs":"2a58ff8553851eb6b9d7fa70315d688431dd0573f8491e53cfe799a092347b96","src/marker_traits.rs":"abf73f3930b5129d01aaa64c51275c4ca4ce0ef8961f7a9e744ee731d6308200","src/operator_aliases.rs":"43eb6a29dc0387ec329df5d9af0b4479a1301b3a9b2304c3b7b7d8c03e01ff5d","src/private.rs":"48c572aa27bd444062eadb4bd3f5ca38c1e6efb66bc074f38555499b33f0dcaf","src/type_operators.rs":"df9ef3ae2a69d56258db41f8166342a65f6e4085581709140719d1b7e3916bb9","src/uint.rs":"df4fdad3110a7e08fdc21e49f7e82fd525d6a78fcf904a766729aa47c0200727","tests/test.rs":"1e559fadf0af1a38d7049caef26e3a162c58ea5e024aa637299376d776986549"},"package":"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"}
diff --git a/user/rust/0040-rls-atomics.patch b/user/rust/0040-rls-atomics.patch
index 4dd813faa..d9aedb9af 100644
--- a/user/rust/0040-rls-atomics.patch
+++ b/user/rust/0040-rls-atomics.patch
@@ -1,17 +1,15 @@
-diff --git a/src/tools/rls/src/cmd.rs b/src/tools/rls/src/cmd.rs
-index 64035aa..d9129d8 100644
---- a/src/tools/rls/src/cmd.rs
-+++ b/src/tools/rls/src/cmd.rs
-@@ -17,7 +17,7 @@ use crate::config::Config;
+--- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
++++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
+@@ -7,7 +7,7 @@ use crate::config::Config;
use crate::server::{self, LsService, Notification, Request, RequestId};
use rls_analysis::{AnalysisHost, Target};
use rls_vfs::Vfs;
-use std::sync::atomic::{AtomicU64, Ordering};
+use std::sync::atomic::{AtomicU32, Ordering};
- use languageserver_types::{
+ use lsp_types::{
ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
-@@ -424,8 +424,8 @@ fn url(file_name: &str) -> Url {
+@@ -313,8 +313,8 @@ fn url(file_name: &str) -> Url {
}
fn next_id() -> RequestId {
@@ -22,11 +20,9 @@ index 64035aa..d9129d8 100644
}
// Custom reader and output for the RLS server.
-diff --git a/src/tools/rls/src/server/io.rs b/src/tools/rls/src/server/io.rs
-index 7b93d4a..f3c5361 100644
---- a/src/tools/rls/src/server/io.rs
-+++ b/src/tools/rls/src/server/io.rs
-@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
+--- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
++++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
+@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
use std::fmt;
use std::io::{self, BufRead, Write};
@@ -35,7 +31,7 @@ index 7b93d4a..f3c5361 100644
use std::sync::Arc;
use jsonrpc_core::{self as jsonrpc, response, version, Id};
-@@ -190,14 +190,14 @@ pub trait Output: Sync + Send + Clone + 'static {
+@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone + 'static {
/// An output that sends notifications and responses on `stdout`.
#[derive(Clone)]
pub(super) struct StdioOutput {
@@ -44,15 +40,14 @@ index 7b93d4a..f3c5361 100644
}
impl StdioOutput {
- /// Construct a new `stdout` output.
- crate fn new() -> StdioOutput {
- StdioOutput {
-- next_id: Arc::new(AtomicU64::new(1)),
-+ next_id: Arc::new(AtomicU32::new(1).into()),
- }
+ /// Constructs a new `stdout` output.
+ pub(crate) fn new() -> StdioOutput {
+- StdioOutput { next_id: Arc::new(AtomicU64::new(1)) }
++ StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) }
}
}
-@@ -215,7 +215,7 @@ impl Output for StdioOutput {
+
+@@ -194,7 +194,7 @@ impl Output for StdioOutput {
}
fn provide_id(&self) -> RequestId {
diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD
index 8534e1112..393f2ce98 100644
--- a/user/rust/APKBUILD
+++ b/user/rust/APKBUILD
@@ -3,10 +3,10 @@
# Contributor: Jeizsm <jeizsm@gmail.com>
# Maintainer: Samuel Holland <samuel@sholland.org>
pkgname=rust
-pkgver=1.31.1
-_bootcargover=0.31.0
-_bootver=1.30.1
-_llvmver=6
+pkgver=1.35.0
+_bootcargover=0.35.0
+_bootver=1.34.2
+_llvmver=8
pkgrel=0
pkgdesc="The Rust Programming Language"
url="https://www.rust-lang.org"
@@ -50,25 +50,15 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz
0004-Require-static-native-libraries-when-linking-static-.patch
0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
- 0007-Add-powerpc-unknown-linux-musl-target.patch
- 0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
- 0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
- 0010-Add-powerpc64-unknown-linux-musl-target.patch
- 0011-rustc_data_structures-use-libc-types-constants-in-fl.patch
- 0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
- 0013-Fix-double_check-tests-on-big-endian-targets.patch
- 0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
- 0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch
- 0016-x.py-Use-python3-instead-of-python.patch
- 0017-test-target-feature-gate-Only-run-on-relevant-target.patch
- 0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch
- 0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
- 0020-Ignore-broken-and-non-applicable-tests.patch
- 0021-Link-stage-2-tools-dynamically-to-libstd.patch
- 0022-Move-debugger-scripts-to-usr-share-rust.patch
- 0023-Add-foxkit-target-specs.patch
- 0030-liblibc-linkage.patch
- 0031-liblibc-1b130d4c349d.patch
+ 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
+ 0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+ 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+ 0010-Ignore-broken-and-non-applicable-tests.patch
+ 0011-Link-stage-2-tools-dynamically-to-libstd.patch
+ 0012-Move-debugger-scripts-to-usr-share-rust.patch
+ 0013-Add-foxkit-target-specs.patch
+ 0030-libc-linkage.patch
+ 0031-typenum-pmmx.patch
0040-rls-atomics.patch
"
builddir="$srcdir/rustc-$pkgver-src"
@@ -117,10 +107,10 @@ build() {
debuginfo-lines = true
debuginfo-only-std = true
debuginfo-tools = true
- use-jemalloc = false
backtrace = true
channel = "stable"
rpath = false
+ jemalloc = false
[target.$CTARGET]
cc = "$CTARGET-gcc"
cxx = "$CTARGET-g++"
@@ -132,26 +122,22 @@ build() {
LIBGIT2_SYS_USE_PKG_CONFIG=1 \
LLVM_LINK_SHARED=1 \
RUST_BACKTRACE=1 \
- ./x.py build -j ${JOBS:-2}
+ python3 x.py build -j ${JOBS:-2}
}
check() {
cd "$builddir"
RUST_BACKTRACE=1 \
- ./x.py test -j ${JOBS:-2} --no-doc --no-fail-fast \
+ python3 x.py test -j ${JOBS:-2} --no-doc --no-fail-fast \
src/test/codegen \
src/test/codegen-units \
src/test/compile-fail \
- src/test/compile-fail-fulldeps \
src/test/incremental \
- src/test/incremental-fulldeps \
src/test/mir-opt \
src/test/pretty \
src/test/run-fail \
src/test/run-fail/pretty \
- src/test/run-fail-fulldeps \
- src/test/run-fail-fulldeps/pretty \
src/test/run-make \
src/test/run-make-fulldeps \
src/test/run-pass \
@@ -165,7 +151,7 @@ check() {
package() {
cd "$builddir"
- DESTDIR="$pkgdir" ./x.py install
+ DESTDIR="$pkgdir" python3 x.py install
rm "$pkgdir"/usr/lib/*.so \
"$pkgdir"/usr/lib/rustlib/components \
@@ -200,6 +186,7 @@ gdb() {
install_if="$pkgname=$pkgver-r$pkgrel gdb"
_mv "$pkgdir"/usr/bin/rust-gdb "$subpkgdir"/usr/bin
+ _mv "$pkgdir"/usr/bin/rust-gdbgui "$subpkgdir"/usr/bin
_mv "$pkgdir"/usr/share/rust/gdb_*.py "$subpkgdir"/usr/share/rust || true
}
@@ -301,33 +288,23 @@ _mv() {
mkdir -p "$dest"
mv "$@"
}
-sha512sums="d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02 rustc-1.31.1-src.tar.xz
-16596561ff87c66f64f4b40602184355d3695822b9b9e6e0e929f340664718698e6f5b378c9162b48f9cb180be5fd8e583e5e51a1c57c1cd55dcc80f468cb509 cargo-0.31.0-powerpc-foxkit-linux-musl.tar.xz
-cdfc7a3d51d66338f31007daafab95570e4e465983add99db7a45f1a3e601588b19e1257fe3e7fcc6b7104ba445add2fa1cda71325a9ab6d196b4ad0dcef2fb5 rust-std-1.30.1-powerpc-foxkit-linux-musl.tar.xz
-190ed9d84513a229f389fc5d1bf0b8e22202bd3b9802330ee2844c436ae13700bdaded091498be4f2c4c65b2f6ef55c1e2db41a918747ac60e8e11e331be2c29 rustc-1.30.1-powerpc-foxkit-linux-musl.tar.xz
-acab7c5ffa73cd83cf3ae23e69d2c05ccc3ca03aa4d5a15179af76f2e75b7c5a1bc8d2969c0a9a4b5ad36a50a8cce283e62db878797be6d0da252b414de004cd 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
-f9773277e91e91d0bd6749890b8d332a86522927d90548af02892c6d01b8fbb3b234993eec8e5b8d6a3b6f1cec310a112e274f47f70d30829ca61a0da8d45bb5 0002-Fix-LLVM-build.patch
-9e87964d41e14f70acc1961a0162bbf3ebca73f1c2b2842c3b1c8b65776466c9299d6974fc6b94a4e06547ae8ce638c28cdedf24eeb2616976f9dd727b989c13 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
-b08e247785b6b94c24e9921665c0a80a21d6802cdcfb67cf381ff8c674388156fc6d88f8206c2d1eed152f4ad3333bf4a16cdd1c3376b97500f96c437e967ecb 0004-Require-static-native-libraries-when-linking-static-.patch
-39c2f63aaf567e539ef803afa4e02d9f373df33167306dabb303044854c95bcc52a8b0fe02a2ff186d3d37fb25ac6ceee2bea25beddb0b8d0510b41dcbfb781a 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
-80a48ba90dce672bd47dba4358e705f0585b17af6a9236887c0bf79d229fe7250b6d5cf54c2630c132721be890cf6098376aac408ac2d3feb5fd8b5ec0678446 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
-71fc70a70ee42fed66ea7abcccffd46c02b877f716ccb366d68c8b252290366aa3d4819bdf6ce43cf8327088ff9ff0cac9444d9fab8b4d6645dfc1a018bd5285 0007-Add-powerpc-unknown-linux-musl-target.patch
-54e7b24d3da6905d02252dbd3011a16c52c1fae6922997dcccf034b5230025e05bb0d029a5fe043c186a39f8908e8e44f9a857db943f1c49d804bcb97cca71b0 0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch
-088d509715de07000c815005fd513d4bb43c5a273dab1cec54c3617c1d342d1eff7d4d2edc48f20b80aec8b3e380f7480d7336b9c7dc4b89b78a31a88e04eb09 0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch
-f39578109d1591759aff29cc1a4127f1456c60ed05993704574a9c1e2331243baa85e3f66ba4634f57efd964b1d11a4539a3ab3a1fdab9c3163d91c658e04bf2 0010-Add-powerpc64-unknown-linux-musl-target.patch
-11ee5b81d354b36369eb5d7f57bcde04a350f1ca5e6034d04eae6c5064dad37b05a26ca44f99499f3f7664c11beba0aafbc1adb6807a21bcce878717659d04b3 0011-rustc_data_structures-use-libc-types-constants-in-fl.patch
-8ff473da3fd668ee36826e206245c7b6d20c671b4016c9a9d5e1d22af05f8d4d724543942a53ab38dd9c7bb6e4c3eff33daec4a84b0ee333b25b007f610b4b49 0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
-1ce5797d0b9a0eb24d203a437b999ac9691cf741086645864b3a0dcf134f31c31e68e6e1618f44d3bd3c3743c067713c472e93c69f551d14f2e0233b6f10d2cd 0013-Fix-double_check-tests-on-big-endian-targets.patch
-f72c803cd531e6c85c37993214a89a8e49d776a6f50405956d6b453cc9036e596eeac4da36c564fc9388908237fe37291dfc6a0d00ed1d5f83186371f8ad6c07 0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch
-861402c0468438428aefdbcec13c82678ba280816f5482a5707805caa37ddabf8df95d894dd0ab99d3e0b09de3b0a602cb29e62afd479cedf6112950ed174f9a 0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch
-1dec944575e8bb6fc7ad910e2dae4d694a2571b36652a27a9b7ee11c40018d39d41f89bf827d909a67ff4d16d0970d1c753b24dfd5dbd0362028dcf12f60dd61 0016-x.py-Use-python3-instead-of-python.patch
-9633256006c28106d9b5e560e4cd4ee72de700a0f54d0c5fd1576760213e674f3c123b83a547bbdf9cdfde92ba6d10edf3cb598f3ad67db6e20b11d24fb49d54 0017-test-target-feature-gate-Only-run-on-relevant-target.patch
-3ab705f45cc75507c5a8fbf7c8520c7231d7d1870e5dc5da3d822e50f28a6f242ba31e712f98f72ff96143010812212cdc99f8b1b197a680bbe249dfb9779d74 0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch
-572669f940c93b57b1f02161685bd3e35e2757bfd1f1d2e6ca5fd7d6e80c6733917a2c28205c4bc8741eae01bd790fe14996ba857884494a6084f4670819e43d 0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
-e1cd1bc3a363ce214e887c4c61e233d388c3b75155ae4a84e8381bdccee5897ddffc992bc22dcdb6316b64516236ae4b07d06ff331e9e031c524196b0e5c40d5 0020-Ignore-broken-and-non-applicable-tests.patch
-b05ef2ddd53262e46a4a6148db25b0903347e531f94a1ec194aafd31e49b4559564edbe4842f82b457d9c700723474fa29119f57969c0208199d5f2126ce6509 0021-Link-stage-2-tools-dynamically-to-libstd.patch
-34ce4f9227a0e58113e8871db78681d1a0180f4af9de08b17c7ba15d13f47d189e2b0c66cb203ddfee8ac29131b6e5bc7ba8fd699d63847ab2a55973503788bc 0022-Move-debugger-scripts-to-usr-share-rust.patch
-6204dfc16ca27bda4c77a5f9a3805af9995e24c8b9cda6d45d0860c3625e937ec6e871a3ccec6357ab4cd52b0e73450897960102bb1e6f1ce80ae95780a8dbea 0023-Add-foxkit-target-specs.patch
-f94abe390798b968bccfba1c908ab5895220ed0d167314b790a9c28b10cac81fb2e3b08760b4e8551ad5a5d02cd052d3d0d647ad8f8634e97f4d3b0470a21c42 0030-liblibc-linkage.patch
-875f0b676c61c1ec67894fc7866233869ced8fc975960b8b99585bad370066f9a6bf591590a745c73a0bcc93b9f7fda74a703829c50d04b80846aecc92ae725a 0031-liblibc-1b130d4c349d.patch
-41ab9d6f361ee2fba267c9836c1a382dc86101d1bfb59cd942be8e8fc526ad65d845c9395cba7f760808d345d107f32e75af9057d67c450b8fbdd8a73636fb2e 0040-rls-atomics.patch"
+sha512sums="477c10b780bd54776be7ecbda0ab970416253e4a87c3e701825a7d07bcbcd91601b8e61129c5d04d4259e89c2e81e87cdbdee853375a8de5c9cf8372be2c9129 rustc-1.35.0-src.tar.xz
+042b4c8a45cc803a202517dd376a2eb2daca50e1da43e96c32b07270afbdce4daa7091c3f11479f908e92d1031c1503a27ac37c007c1fa24743a82abcf765a29 cargo-0.35.0-powerpc-foxkit-linux-musl.tar.xz
+a25de7843a512b79d214066cb2f01c4e414ae17c053314c103261e3ac805700dcb2ebc6aa28801cb74dcb6211cc57181d3c266d2b8988e2d8835df4b409929bb rust-std-1.34.2-powerpc-foxkit-linux-musl.tar.xz
+9988037ebe219a30faf5740e479c34b464feabd37c192a2a37330f04d67dfed8f8a26439cdf8de4e255fa4fb17959bee7e78d5f6de040522131fdc70ccce8af1 rustc-1.34.2-powerpc-foxkit-linux-musl.tar.xz
+dbc74b875e9fab4fdcb815dea4ef855a59361215c291ea11013587340f9e3cabece4b6cc94a0e118e862b47f9ee27447e385c2c524bcb8847a3d775ae2f76fb3 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+456c247b50936a2594024b5cec493e8ddbc3159196ce2cc8ae5134f1c3ac2f0928ae3ffe4f3f4154fcc2bf596846b6b3b39005ad76d51076796a9d3988f1df62 0002-Fix-LLVM-build.patch
+d20a03a06315c114c61eedfd1b536169d64bd428beb352a4d04abb0358f0b1a75a1c1108e2429c80f715536bd67ef16597f47bd61e75f0e1ddd9681b43197763 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
+a6a413a0e2435697fb66b6a11e4d9da8365b2c2d51d10eccbcac32fba09579199dc8bcd13fff1fd74212d1724292db5607827b2c546d2c06122e6f1fb70d8c16 0004-Require-static-native-libraries-when-linking-static-.patch
+2bf5696f493c8b11da77f27348498338ca0f094f69f357077d5507b1f96b6066fa86b711c5c30737d82f217a7eb1afc8a4ce9d25f0491830a800a034607e0c6a 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+fedd9f54ae8d0780091dadac2364595abfc7ef13ac21a3489b91de5ad29efa477179f42ef59cb9a2e0264e15f88164f72843fc176180cd72e54052f3b305703c 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+19e17358f738c982bb7a393e0b12173de8b79f905a677fdc5c183d54219b58a1618607e993cfe12d3eb69a2cb25a0b7b52313eb8e60a91ec9d37bb5b0c140b43 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
+0c943ddb3fbacfa47adfa43e8ec41137d0e9c719e59af3ff1e3e1a2a6576c8eeed2b1db77f3f6f252eea273f9f1320c573ecde22e56800dbffac3e2ef18862f3 0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+22429c5dbbfda30cc2f08ed5591124fc8346d63d6ef200607be3d051e2524fdaf8a32264bef4e99f9186b22c05c805bf82e7c6d6d814a602dcefd9d4d8d708fd 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+ec851207a03d4b3bf2711e2db677170f520217f19de9f4f9817e62b5f9d10573eb468ced5e13c540bb5cda8c7006b259a0a0241cfa70e1f6f08386e656c86b79 0010-Ignore-broken-and-non-applicable-tests.patch
+2a459b55386a4e3419b22efe1c5b5b37d75e2d1a11db4670ee5217ad5404df055eb6510378c74f5ff5662e940155c58d094f41b5738021f608c807f94a498e94 0011-Link-stage-2-tools-dynamically-to-libstd.patch
+9e698d01cdb535beb364827d2a0bc87b543db65973c88a7fa64e8e19c671d1cf4cc4c8756018bff261a7581df102c8180599c434b347463a63c5ab2f575ad4c2 0012-Move-debugger-scripts-to-usr-share-rust.patch
+a403a032180ee7d3c0d034d97b8de175426d8dd3368ebfcab5ad9c7202f9a0ca0197a72adc1eff13f422ecaed9c0a7e4cd22daf85061159ddaa12c335fd00914 0013-Add-foxkit-target-specs.patch
+6c3aaa27adbe361cb354c9a7139b9da949f4acba81af6107e5972fa5c32fa47a972b5ad4567b9b54f4383650dbb3a3c590dfe6f23a5af16d7ff4ad3fb334e997 0030-libc-linkage.patch
+0cb12e9165d198c1e04b258454dbaf5459e192ad24d64c9fa132ebe0f1bcd5da3550eae8dfdaa792fa809b505af62964ecf0219dc4373420ee8ad3e111539a09 0031-typenum-pmmx.patch
+ab35bacf45ef5e46be110a8d27867fd4d5deb23cd5cbe8dc7f1da2177469945f9254f2a7915ee4fc430468a4421623429f0a01eb9eba14e047384efe3d3ec152 0040-rls-atomics.patch"
diff --git a/user/sane/APKBUILD b/user/sane/APKBUILD
index 1d7322866..941402502 100644
--- a/user/sane/APKBUILD
+++ b/user/sane/APKBUILD
@@ -4,7 +4,7 @@
pkgname=sane
_pkgname=sane-backends
pkgver=1.0.27
-pkgrel=4
+pkgrel=5
pkgdesc="Scanner access library"
url="http://www.sane-project.org/"
arch="all"
@@ -35,8 +35,9 @@ for _backend in $_backends; do
subpackages="$subpackages $pkgname-backend-$_backend:_backend"
done
subpackages="$pkgname-doc $pkgname-dev $subpackages $pkgname-utils saned
- $pkgname-udev::noarch $_pkgname::noarch"
-source="https://distfiles.gentoo.org/distfiles/$_pkgname-$pkgver.tar.gz
+ saned-openrc:openrc:noarch $pkgname-udev::noarch $_pkgname::noarch
+ $pkgname-lang"
+source="http://distfiles.gentoo.org/distfiles/$_pkgname-$pkgver.tar.gz
saned.initd
include.patch
network.patch
@@ -81,6 +82,12 @@ saned() {
mkdir -p "$subpkgdir"/etc/sane.d "$subpkgdir"/usr
mv "$pkgdir"/etc/sane.d/saned.conf "$subpkgdir"/etc/sane.d
mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/
+}
+
+openrc() {
+ pkgdesc="Network scanner server (OpenRC runscripts)"
+ depends="saned"
+ install_if="saned=$pkgver-r$pkgrel openrc"
install -Dm755 "$srcdir"/saned.initd "$subpkgdir"/etc/init.d/saned
}
@@ -101,7 +108,7 @@ udev() {
backends() {
local _backend;
pkgdesc="$pkgdesc (metapackage)"
- depends="$pkgname-utils $pkgname-saned"
+ depends="$pkgname-utils saned"
for _backend in $_backends; do
[ "$_backend" = "test" ] && continue
depends="$depends $pkgname-backend-$_backend"
diff --git a/user/scons/APKBUILD b/user/scons/APKBUILD
index c3ebf5694..b2c55c08d 100644
--- a/user/scons/APKBUILD
+++ b/user/scons/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=scons
-pkgver=3.0.4
+pkgver=3.0.5
pkgrel=0
pkgdesc="Python-based software building system"
url="https://scons.org/"
@@ -15,19 +15,16 @@ source="https://prdownloads.sourceforge.net/scons/scons-$pkgver.tar.gz
"
build() {
- cd "$builddir"
python3 setup.py build
}
check() {
- cd "$builddir"
python3 setup.py check
}
package() {
- cd "$builddir"
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="064a604939460fa85aa247776e5a2083ce98cac5f49f6035886d207f5cf167255756ee10cc00dd8228278d0d1efbed2afd8793bf3ca736a3ac970fabc3c4b627 scons-3.0.4.tar.gz
+sha512sums="0477038b014674049f12899b64584d44a85283d521b2422561e42020a5ae296a5af005684087c3ff410ed3fcbdcc5ff61998bc429eb29513f2a864138ffc4945 scons-3.0.5.tar.gz
cb8be26f0d8cae7974dffcb3008c67254e8904bb8bb91f9732dd01a9942e33d57527101ec4104a866061096b991a336d00b344da48cf835489fc5d26fb1f331e python3-bang.patch"
diff --git a/user/sddm/APKBUILD b/user/sddm/APKBUILD
index 954f978d8..6496110b7 100644
--- a/user/sddm/APKBUILD
+++ b/user/sddm/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=sddm
-pkgver=0.18.0
-pkgrel=0
+pkgver=0.18.1
+pkgrel=1
pkgdesc="Simple Desktop Display Manager"
url="https://github.com/sddm/sddm/"
arch="all"
@@ -11,7 +11,7 @@ depends="consolekit2"
makedepends="cmake extra-cmake-modules qt5-qtbase-dev libxcb-dev upower-dev
consolekit2-dev linux-pam-dev qt5-qtdeclarative-dev qt5-qttools-dev
utmps-dev"
-subpackages="$pkgname-lang $pkgname-xdm::noarch"
+subpackages="$pkgname-lang $pkgname-openrc"
install="sddm.post-install"
langdir="/usr/share/sddm/translations"
pkgusers="sddm"
@@ -19,11 +19,11 @@ pkggroups="sddm"
source="https://github.com/sddm/sddm/releases/download/v$pkgver/sddm-$pkgver.tar.xz
ck2-support.patch
pam-path-fix.patch
+ sddm.initd
utmpx.patch
- xdm.confd"
+ "
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -42,23 +42,21 @@ build() {
}
check() {
- cd "$builddir"
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
+ install -D -m755 "$srcdir"/sddm.initd "$pkgdir"/etc/init.d/sddm
}
-xdm() {
- pkgdesc="Package to use SDDM as the system X display manager"
- depends="sddm=$pkgver-r$pkgrel"
- install -D -m644 "$srcdir"/xdm.confd "$subpkgdir"/etc/conf.d/xdm
+openrc() {
+ default_openrc
+ depends="sddm xorg-server"
}
-sha512sums="359ea6060d02bcc1c810c8338b836f1c8e76d7e3ec132c4ed2327374f4e52b8a56884626dd2d0df87465137b275deba7b6c48b2e992aafed4375f0929fafda6f sddm-0.18.0.tar.xz
+sha512sums="ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60 sddm-0.18.1.tar.xz
075e3baf24606cdea620737dbc00f7cf5c487ab6d88e37b23a581afcfbcf872c379753c89c80ad5c90c28fa27d3e5c5df64d4fd30764fdbfc0586e0f26666fe1 ck2-support.patch
f0b4eb7ef0581701157f9decc637629156f36f6711b9a4bae517f94d7a1df614c81bbd891c918f07ac50e2a3d1519c43ccb9eefd80282c95dd79eca0e8d90904 pam-path-fix.patch
-c42d8b3edbc0ae7e3d5ea7bb0080c5c50e0569f0ea947e1ba17bc794c8c0d67a214e62aad7eba0a51791c44b29a3017692bbe738250c63cb2219891bb1313422 utmpx.patch
-5a03b3211e9d84ee762523631859a26b869aee2189f6845dc780c7a1e60a6658e2240e9ef9be05858708d2552ae77b594509dabe49794538f88d2ad6578d1fdf xdm.confd"
+10cac48b821ff7ad39ece4cbc45a8e814d00251b0f8d02f9e42888ad97f465438320f078663be98c5b39630a0bbb26f4f0d76b44574c87a76b4871872add8b9f sddm.initd
+c42d8b3edbc0ae7e3d5ea7bb0080c5c50e0569f0ea947e1ba17bc794c8c0d67a214e62aad7eba0a51791c44b29a3017692bbe738250c63cb2219891bb1313422 utmpx.patch"
diff --git a/user/sddm/sddm.initd b/user/sddm/sddm.initd
new file mode 100644
index 000000000..cf5c1af79
--- /dev/null
+++ b/user/sddm/sddm.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+
+depends() {
+ needs localmount
+ after bootmisc consolefont modules netmount keymaps
+
+ use consolekit dbus
+}
+
+description="Simple Desktop Display Manager"
+command="/usr/bin/sddm"
+command_args="${sddm_opts}"
+start_stop_daemon_args="-m --background"
+pidfile="/var/run/sddm.pid"
+
+# uses the openrc templates for start()/stop()
+
diff --git a/user/sddm/xdm.confd b/user/sddm/xdm.confd
deleted file mode 100644
index 9a6cd65da..000000000
--- a/user/sddm/xdm.confd
+++ /dev/null
@@ -1 +0,0 @@
-DISPLAYMANAGER="sddm"
diff --git a/user/shared-mime-info/APKBUILD b/user/shared-mime-info/APKBUILD
index e28f8915f..3e132dee4 100644
--- a/user/shared-mime-info/APKBUILD
+++ b/user/shared-mime-info/APKBUILD
@@ -1,20 +1,19 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=shared-mime-info
-pkgver=1.10
+pkgver=1.12
pkgrel=0
pkgdesc="MIME database for desktop software"
url="https://freedesktop.org/wiki/Software/shared-mime-info"
arch="all"
license="GPL-2.0+"
+depends=""
makedepends="glib-dev intltool libxml2-dev libxml2-utils"
-depends=
+subpackages="$pkgname-doc $pkgname-lang"
install="$pkgname.post-deinstall"
triggers="$pkgname.trigger=/usr/share/mime"
-subpackages="$pkgname-doc $pkgname-lang"
-source="https://freedesktop.org/~hadess/$pkgname-$pkgver.tar.xz"
+source="https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/80c7f1afbcad2769f38aeb9ba6317a51/$pkgname-$pkgver.tar.xz"
build() {
- cd "$builddir"
ac_cv_func_fdatasync=no ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="efc2b63cae11e6b0332f8607ba57a885dec68a23ac299bbda3eb6e2c7ed071c7c40dba73e9cf23ab675fcaa86ea3777fa931a9f25000a08ec6a748734c88beda shared-mime-info-1.10.tar.xz"
+sha512sums="c9db138586fe4c789b5a89d3cdcf865d5b3258241accd254deecd7665e8b51fc538adeaeeda4fe332474f7d7ffa84f101cba26539a58e134201673d6d1495a2f shared-mime-info-1.12.tar.xz"
diff --git a/user/slang/APKBUILD b/user/slang/APKBUILD
new file mode 100644
index 000000000..12929ac2b
--- /dev/null
+++ b/user/slang/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=slang
+pkgver=2.3.2
+pkgrel=0
+pkgdesc="Library for display and input management"
+url="http://www.jedsoft.org/slang/"
+arch="all"
+license="GPL-2.0+ AND NTP"
+depends=""
+makedepends="pcre-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.jedsoft.org/releases/slang/slang-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make -j1
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" -j1 install
+}
+
+sha512sums="35cdfe8af66dac62ee89cca60fa87ddbd02cae63b30d5c0e3786e77b1893c45697ace4ac7e82d9832b8a9ac342560bc35997674846c5022341481013e76f74b5 slang-2.3.2.tar.bz2"
diff --git a/user/smake/APKBUILD b/user/smake/APKBUILD
deleted file mode 100644
index 809060c9b..000000000
--- a/user/smake/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: A. Wilcox <awilfox@adelielinux.org>
-# Maintainer: A. Wilcox <awilfox@adelielinux.org>
-pkgname=smake
-pkgver=1.2.5
-pkgrel=0
-pkgdesc="Highly portable Unix make implementation"
-url="https://sourceforge.net/projects/s-make/"
-arch="all"
-options="!check" # No test suite.
-license="CDDL-1.0 AND GPL-2.0-only"
-depends=""
-makedepends=""
-subpackages="$pkgname-doc"
-source="https://download.sourceforge.net/s-make/smake-$pkgver.tar.bz2"
-
-prepare() {
- cd "$builddir"
- default_prepare
- sed -i -e "s|opt/schily|usr|" \
- $(find ./ -type f -name \*.[0-9ch] -exec grep -l 'opt/schily' '{}' '+')
-}
-
-build() {
- cd "$builddir"
- export MAKEFLAGS=""
- make INS_BASE=/usr
-}
-
-package() {
- cd "$builddir"
- export MAKEFLAGS=""
- make INS_BASE=/usr DESTDIR="$pkgdir" install
-}
-
-sha512sums="15131f57942d6ea611602afa1f3d3d3d1892b0e7f0f6e5b1ace7f69f1acb7bd09403b8c70e380204cff75512f5824daef81d59205d758c93f2583b40caa873a8 smake-1.2.5.tar.bz2"
diff --git a/user/smartmontools/APKBUILD b/user/smartmontools/APKBUILD
index 25b6de93e..9125db241 100644
--- a/user/smartmontools/APKBUILD
+++ b/user/smartmontools/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=smartmontools
-pkgver=6.6
-pkgrel=1
+pkgver=7.0
+pkgrel=0
pkgdesc="Control and monitor S.M.A.R.T. enabled hard drives"
url="https://www.smartmontools.org/"
arch="all"
@@ -12,7 +12,6 @@ subpackages="$pkgname-doc $pkgname-openrc"
source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
smartd.initd
smartd.confd
- musl-canonicalize_file_name.patch
"
build() {
@@ -41,7 +40,6 @@ package() {
install -Dm644 "$srcdir"/smartd.confd "$pkgdir"/etc/conf.d/smartd
}
-sha512sums="64bb533dac29f62ddd662a16a12c97df1af9cbac9ac526ce7af0b3bff9da49cf265a2030d91a7160452b56a67e80d7f34c9b4e45bbb320114f55695e2cb5cfaf smartmontools-6.6.tar.gz
+sha512sums="96e18a201182579f699d541539ce393e7bc2191e027cfdf7f87455a63da3a14451574f8fe391232047ac941ace453a017193d0a4987a4edb8f7ed9d5007f0512 smartmontools-7.0.tar.gz
61cae548fc9f3a9fbea20d684502d3816e7b0b60fcf533ae4e1ab850725c208eb6ba5012ae154a46f0b7bb7285a9e63cbdecafed8db7fd63fda0ba59081260cc smartd.initd
-ff45462944f01c0e7cac99443078b253dcbaed4f99ffab85052b12361d9eec4beec81cab334fbede9148b3dd503d5205add32ef4327a788f02a8b1e37f460437 smartd.confd
-eff9a1ca8e10be5b05a4be609973065d6f02f12c9d511d3a7c87fa172934d3739594f00e5a61ed2d6dc65de5fd1ff23ec049b21078d5b1620c5dbafa56d78bbe musl-canonicalize_file_name.patch"
+ff45462944f01c0e7cac99443078b253dcbaed4f99ffab85052b12361d9eec4beec81cab334fbede9148b3dd503d5205add32ef4327a788f02a8b1e37f460437 smartd.confd"
diff --git a/user/smartmontools/musl-canonicalize_file_name.patch b/user/smartmontools/musl-canonicalize_file_name.patch
deleted file mode 100644
index bdc7cc6f1..000000000
--- a/user/smartmontools/musl-canonicalize_file_name.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-# Ticket: https://smartmontools.org/ticket/921#ticket
---- a/os_linux.cpp
-+++ b/os_linux.cpp
-@@ -3176,7 +3176,7 @@
- {
- char path[128];
- snprintf(path, sizeof(path), "/sys/block/%s/device", name);
-- char * syshostpath = canonicalize_file_name(path);
-+ char * syshostpath = realpath(path, NULL);
- if (!syshostpath)
- return false;
-
diff --git a/user/socat/APKBUILD b/user/socat/APKBUILD
index 93b519d45..e5257103e 100644
--- a/user/socat/APKBUILD
+++ b/user/socat/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=socat
-pkgver=1.7.3.2
+pkgver=1.7.3.3
pkgrel=0
pkgdesc="Multipurpose network relay"
url="http://www.dest-unreach.org/socat/"
@@ -31,5 +31,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="540658b2a3d1b87673196282e5c62b97681bd0f1d1e4759ff9d72909d11060235ee9e9521a973603c1b00376436a9444248e5fbc0ffac65f8edb9c9bc28e7972 socat-1.7.3.2.tar.gz
+sha512sums="b3ea4cb6081f7778a0281a3ec36ea7e5daf07dc19f2e0de08f767417112776e96e1bcac7962ebb6dd8b960ad91fc4a452f0da8327736d50e215e4ab43947ff78 socat-1.7.3.3.tar.gz
22a6e0c2317a9317997c98114daac258ebbcc3d8e58e49a6ebf24781b98967afed47c63807282582fa0909076fe349281f05e4462faacb90e7aabc853903d6e6 netdb-internal.patch"
diff --git a/user/spectacle/APKBUILD b/user/spectacle/APKBUILD
index d22aff8cb..738ca85f0 100644
--- a/user/spectacle/APKBUILD
+++ b/user/spectacle/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=spectacle
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Application for capturing desktop screenshots"
url="https://www.kde.org/applications/graphics/spectacle/"
@@ -14,7 +14,9 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtdeclarative-dev
kdoctools-dev kdeclarative-dev xcb-util-image-dev xcb-util-cursor-dev
libxcb-dev xcb-util-renderutil-dev knewstuff-dev libkipi-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://download.kde.org/stable/applications/$pkgver/src/spectacle-$pkgver.tar.xz"
+source="https://download.kde.org/stable/applications/$pkgver/src/spectacle-$pkgver.tar.xz
+ qt5.9.patch
+ "
build() {
cd "$builddir"
@@ -42,4 +44,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d239106f0d115e98ec0173862e6dee1b6fdab5846e65c47a4bbaa161cb2695503a58bdb369feb707b96121a0d1bb9acddafc5cfa748e3113bbd47d7da49ed50f spectacle-18.12.3.tar.xz"
+sha512sums="33beadaa47b0f870727a0a70eea074435c98aca8858c791b5a34bbf82b91a1f0c4eb200a98f659feca6c80802af6190235d9ce2a302cf9ea0c1fd5dc60ea86ea spectacle-19.04.1.tar.xz
+781e1611026a45232fa117b90a1520bed380e512ae2e0690785a960f897342284ce0c553d8fb22caf10fd34c3823ee7dacb770815c871808345c1bb05126b74f qt5.9.patch"
diff --git a/user/spectacle/qt5.9.patch b/user/spectacle/qt5.9.patch
new file mode 100644
index 000000000..aa830f86b
--- /dev/null
+++ b/user/spectacle/qt5.9.patch
@@ -0,0 +1,23 @@
+--- spectacle-19.04.0/CMakeLists.txt.old 2019-04-12 00:06:23.000000000 +0000
++++ spectacle-19.04.0/CMakeLists.txt 2019-04-18 22:57:10.598054362 +0000
+@@ -11,7 +11,7 @@
+ # Spectacle project
+ project(Spectacle VERSION ${SPECTACLE_VERSION})
+
+-set(QT_MIN_VERSION "5.10.0")
++set(QT_MIN_VERSION "5.9.0")
+ set(KF5_MIN_VERSION "5.53.0")
+ set(PLASMA_MIN_VERSION "5.12.0")
+
+--- spectacle-19.04.0/src/SpectacleCore.cpp.old 2019-04-11 07:37:14.000000000 +0000
++++ spectacle-19.04.0/src/SpectacleCore.cpp 2019-04-18 22:57:46.694193923 +0000
+@@ -165,8 +165,7 @@
+ break;
+ case Actions::StartNewInstance:
+ QProcess newInstance;
+- newInstance.setProgram(QStringLiteral("spectacle"));
+- newInstance.startDetached();
++ newInstance.startDetached(QStringLiteral("spectacle"));
+ break;
+ }
+ }
diff --git a/user/speech-dispatcher/APKBUILD b/user/speech-dispatcher/APKBUILD
index b35da35bd..8c12dd18f 100644
--- a/user/speech-dispatcher/APKBUILD
+++ b/user/speech-dispatcher/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=speech-dispatcher
-pkgver=0.8.8
+pkgver=0.9.0
pkgrel=0
pkgdesc="High-level interface to speech synthesis libraries"
url="https://freebsoft.org/speechd"
@@ -11,10 +11,9 @@ depends="flite"
makedepends="alsa-lib-dev dotconf-dev flite-dev glib-dev intltool
libsndfile-dev pulseaudio-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://freebsoft.org/pub/projects/speechd/speech-dispatcher-$pkgver.tar.gz"
+source="https://github.com/brailcom/speechd/releases/download/$pkgver/speech-dispatcher-$pkgver.tar.gz"
build() {
- cd "$builddir"
LIBS="-lasound" ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -22,17 +21,18 @@ build() {
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var
+ # gettext-tiny :(
+ cp src/api/python/speechd_config/speechd.desktop.in \
+ src/api/python/speechd_config/speechd.desktop
make
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="7c7b9bf9b9ce541e790b5ae396cb614616c6b3883e75c0258603e91bf679850e3d63a6251daa3a1819b30d7518e3f552c83fe87b006274ffe1aa0f7e19c0b99b speech-dispatcher-0.8.8.tar.gz"
+sha512sums="d72542531f58954e424d1cf956f6cb4fd42d585a1d4b955b13e8a426729a06407cf4085b2b4885eac110d36216c9a8403d37b401eca5c2398011786bdf041083 speech-dispatcher-0.9.0.tar.gz"
diff --git a/user/spice-protocol/APKBUILD b/user/spice-protocol/APKBUILD
index 33dd1bdb2..e31c8544a 100644
--- a/user/spice-protocol/APKBUILD
+++ b/user/spice-protocol/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=spice-protocol
-pkgver=0.12.14
+pkgver=0.14.0
pkgrel=0
pkgdesc="Spice protocol header files"
url="https://www.spice-space.org/"
@@ -9,11 +9,10 @@ arch="noarch"
license="BSD-3-Clause AND LGPL-2.1+"
depends=""
makedepends=""
-source="https://www.spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2
- "
+subpackages=""
+source="https://www.spice-space.org/download/releases/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -22,13 +21,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make pkgconfigdir=/usr/lib/pkgconfig DESTDIR="$pkgdir" install
}
-sha512sums="4266bcbef9f641a97a2ff72f1b01380a41e51f4b1a0dbb73fdf68baf552598a62d5cf0c526adf2997a55ee5d4fe9392927c3d7f4556827bfb2933f59bfab55bb spice-protocol-0.12.14.tar.bz2"
+sha512sums="797df5f529731e9fd395b5946af2490ecf02c26982cc4a0aef24c1766887a35222f68525a996f8bc7459c2c4a25fde0c9a10c489ee6cab6eed7a68a9b5d90f76 spice-protocol-0.14.0.tar.bz2"
diff --git a/user/spice/APKBUILD b/user/spice/APKBUILD
index 4ca90937f..03b4f65f9 100644
--- a/user/spice/APKBUILD
+++ b/user/spice/APKBUILD
@@ -1,11 +1,12 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=spice
-pkgver=0.14.1
+pkgver=0.14.2
pkgrel=0
pkgdesc="Solution for seamless access to virtual machines"
url="https://www.spice-space.org/"
arch="all"
+options="!check" # Tests only pass on 64-bit architectures.
license="LGPL-2.1+"
depends="gst-plugins-base"
makedepends="$depends_dev openssl-dev zlib-dev libjpeg-turbo-dev cyrus-sasl-dev
@@ -41,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2c0b4fbcb68c76bc0404a807f28c9645a30c6b88e81d2bc574d63b036778a299cebc0ae12aa72f2e1496f66cbf414325125948d440541a40e1b9e53b8956542d spice-0.14.1.tar.bz2"
+sha512sums="1093b618ea4a7ff31944429ce2903abecfc8d20c35f2d9c8c837a6e053ee429c0115e40665542637a717869209523ac05d15cdb5e77563102d5d3915e4aaaf76 spice-0.14.2.tar.bz2"
diff --git a/user/sshfs/APKBUILD b/user/sshfs/APKBUILD
index 32fcfbd7c..0bf08fdb1 100644
--- a/user/sshfs/APKBUILD
+++ b/user/sshfs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=sshfs
-pkgver=3.5.0
+pkgver=3.5.2
pkgrel=0
pkgdesc="FUSE client based on the SSH File Transfer Protocol"
url="https://github.com/libfuse/sshfs"
@@ -15,7 +15,6 @@ subpackages="$pkgname-doc"
source="https://github.com/libfuse/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz"
build() {
- cd "$builddir"
# NOTE: --prefix=/ is intentional. If --prefix=/usr, mount(8) will not be
# able to find mount.fuse.sshfs or mount.sshfs - it only looks in /sbin, not
# /usr/sbin. The omission of the absolute slash in --mandir=usr/share/man is
@@ -38,8 +37,7 @@ check() {
}
package() {
- cd "$builddir"
DESTDIR="$pkgdir" ninja -C output install
}
-sha512sums="6ba7be4bcad401d99fb864f105a6c8fc8b7c832d5b25f18cba27eee422fe65ee7bda8982466d624792a1fb21528c0cb078a59db48e93da4880a36aad7b506b0c sshfs-3.5.0.tar.xz"
+sha512sums="52f874196eef2327dfb11c7f6a9771c1837a89a9208e6503dd7bb839e63d65b3f42d61c2d9140c8100041794923c1bea1f6917ff04b3c1d0236071ff4811c272 sshfs-3.5.2.tar.xz"
diff --git a/user/step/APKBUILD b/user/step/APKBUILD
index 1173268c3..64bf6c909 100644
--- a/user/step/APKBUILD
+++ b/user/step/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=step
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Interactive physics simulation"
url="https://www.kde.org/applications/education/step/"
@@ -42,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5ac3ab33d48aa4d151ea7152a380aba95eabc7887400d20fe50392a6c18a5017b162208c47d8de6d019e8a462608a2f4da3bacaa64cbc966770971b6a55b1b82 step-18.12.3.tar.xz"
+sha512sums="d3744c0c5cee20cae0b3f51ce68fcea5ae74091f55a02acea5009f1f70902f5666fbb67f20db1b17d1bbaeee6d6d8cdeea4c2d5a79239c3297febb3b7bc3fd7d step-19.04.1.tar.xz"
diff --git a/user/subversion/APKBUILD b/user/subversion/APKBUILD
index 3d9a96a68..1d034aff3 100644
--- a/user/subversion/APKBUILD
+++ b/user/subversion/APKBUILD
@@ -1,25 +1,37 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=subversion
-pkgver=1.10.4
+pkgver=1.11.1
pkgrel=0
pkgdesc="Version control system from 2000"
url="https://subversion.apache.org/"
arch="all"
+options="!check" # Test suite no longer works with Python 3:
+ # https://issues.apache.org/jira/browse/SVN-4811
license="Apache-2.0"
depends=""
depends_dev="apr-dev apr-util-dev linux-headers"
makedepends="apr-dev apr-util-dev cyrus-sasl-dev db-dev dbus-dev file-dev
kdelibs4support-dev kwallet-dev libsecret-dev lz4-dev openssl-dev
- serf-dev sqlite-dev utf8proc-dev zlib-dev"
+ serf-dev sqlite-dev utf8proc-dev zlib-dev autoconf automake python3"
subpackages="$pkgname-dev $pkgname-doc $pkgname-gnome $pkgname-kwallet
$pkgname-lang"
source="https://www-eu.apache.org/dist/subversion/subversion-$pkgver.tar.bz2
+ apr-1.7.0.patch
python3-bang.patch
"
build() {
- cd "$builddir"
+ # this is only needed for autogen.sh
+ _PATH=$PATH
+ ln -s /usr/bin/python3 "$srcdir"/python
+ export PATH=$srcdir:$PATH
+ ./autogen.sh
+ rm "$srcdir"/python
+ export PATH=$_PATH
+ # this is needed to fix the apr issue as well as the patch
+ # https://issues.apache.org/jira/browse/SVN-4813
+ export CPPFLAGS="$CPPFLAGS -P"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -32,12 +44,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" -j1 install
}
@@ -54,5 +64,6 @@ kwallet() {
mv "$pkgdir"/usr/lib/libsvn_auth_kwallet* "$subpkgdir"/usr/lib/
}
-sha512sums="c44a4a4a9533cd4f4cb6ddbc3ce98585a96da6c8e75497d087034b52f899797bb0972dfc0e79db99e81149e59e7fa765398c6ad35eba64f11f4ae9c3b3537434 subversion-1.10.4.tar.bz2
+sha512sums="2d082f715bf592ffc6a19311a9320dbae2ff0ee126b0472ce1c3f10e9aee670f43d894889430e6d093620f7b69c611e9a26773bc7a2f8b599ec37540ecd84a8d subversion-1.11.1.tar.bz2
+71b22f08a972a51347af00f979c4ec540c5795b44f3ced07ab2fcf8b1294b59add945983af4a63815d9f5d3b0ba88c24320cf2ec21189bf48c0ec46c7c0b48cf apr-1.7.0.patch
1b96b791f70c2f6e05da8dbc9d42ccadf4603f25392c6676c4e30ecdb142ce74dd9b8dc27dc68b1cb461f4409d79c4c2aeed1d39a5a442d9349079a819358f5a python3-bang.patch"
diff --git a/user/subversion/apr-1.7.0.patch b/user/subversion/apr-1.7.0.patch
new file mode 100644
index 000000000..a74e5e454
--- /dev/null
+++ b/user/subversion/apr-1.7.0.patch
@@ -0,0 +1,18 @@
+--- subversion-1.11.1/build/ac-macros/swig.m4
++++ subversion-1.11.1/build/ac-macros/swig.m4
+@@ -137,13 +137,13 @@
+ AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
+ [svn_cv_pycfmt_apr_int64_t], [
+ if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+- AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
++ AC_EGREP_CPP([MaTcHtHiS +\"ll(\" *\")?d\" +EnDeNd],
+ [#include <apr.h>
+ MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+ [svn_cv_pycfmt_apr_int64_t="L"])
+ fi
+ if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+- AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
++ AC_EGREP_CPP([MaTcHtHiS +\"l(\" *\")?d\" +EnDeNd],r
+ [#include <apr.h>
+ MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+ [svn_cv_pycfmt_apr_int64_t="l"])
diff --git a/user/talloc/APKBUILD b/user/talloc/APKBUILD
index 82ba9d682..bf6cb12c8 100644
--- a/user/talloc/APKBUILD
+++ b/user/talloc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=talloc
-pkgver=2.1.15
+pkgver=2.2.0
pkgrel=0
pkgdesc="Memory pool management library"
url="https://talloc.samba.org"
@@ -9,13 +9,11 @@ arch="all"
license="LGPL-3.0+ AND GPL-3.0+ AND ISC AND LGPL-2.1+ AND BSD-3-Clause AND PostgreSQL"
replaces="samba-common"
depends=""
-makedepends="docbook-xsl libxslt python3-dev"
+makedepends="cmd:which docbook-xsl libxslt python3-dev"
subpackages="$pkgname-dev py3-$pkgname:py3 $pkgname-doc"
-source="https://samba.org/ftp/$pkgname/$pkgname-$pkgver.tar.gz
- waf-location.patch"
+source="https://samba.org/ftp/$pkgname/$pkgname-$pkgver.tar.gz"
build() {
- cd "$builddir"
PYTHON=python3 ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -32,12 +30,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -49,5 +45,4 @@ py3() {
"$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib/
}
-sha512sums="41896f8877e9a52e70b9881c41667dc52d7c1b03c3b248020fd909b794a4c5a4addee3eb944aa80ecfa3b03e6e5e1f67a62b5f3a5dcdc412b3e975352057ff40 talloc-2.1.15.tar.gz
-d19553fae679b5db10ab77a86f9fa0525ccba37a3ef30e530cd96245ee5fc94d4570079bbfe0271c32fbc84a3556c4bf86cc1cab6ffb61863cbce3f5a911efec waf-location.patch"
+sha512sums="e762c6443ff2c0c35a9dbf7ac6e64a9182c04a218ad0f26fd67ac9620d9ae26d68b8dd2b21ff37e1df0e53748c84bece27890c5c4939eaeb61c502a698802388 talloc-2.2.0.tar.gz"
diff --git a/user/talloc/waf-location.patch b/user/talloc/waf-location.patch
deleted file mode 100644
index a5ca47f44..000000000
--- a/user/talloc/waf-location.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- talloc-2.1.15/Makefile 2019-01-14 17:24:45.000000000 -0500
-+++ talloc-2.1.15/Makefile 2019-01-27 22:57:15.919981283 -0500
-@@ -1,6 +1,6 @@
- # simple makefile wrapper to run waf
-
--WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-+WAF_BINARY=$(PYTHON) buildtools/bin/waf
- WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
-
- all:
diff --git a/user/tellico/APKBUILD b/user/tellico/APKBUILD
index 0e8d933fb..33cad700d 100644
--- a/user/tellico/APKBUILD
+++ b/user/tellico/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=tellico
-pkgver=3.1.3
-pkgrel=1
+pkgver=3.1.4
+pkgrel=0
pkgdesc="Collection manager"
url="http://tellico-project.org/"
arch="all"
@@ -22,7 +22,6 @@ source="http://tellico-project.org/files/tellico-$pkgver.tar.xz
"
build() {
- cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
@@ -38,7 +37,6 @@ build() {
}
check() {
- cd "$builddir"
# imagejob: needs running X11
# htmlexporter: needs plasma desktop
# filelisting: needs dbus
@@ -47,9 +45,8 @@ check() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="9024f423f0685e834ed46e7038c5b95fab5b684aaac00d6298e23493fb4290daeda994faf36a0f04973093a477be5506591e6b0e7f57ef5591fb10953ad8ec5e tellico-3.1.3.tar.xz
+sha512sums="d09183bee13ae9f7c6c5114b76eeeb959a184def559ae239bb880ef9be964e33878530e9c4c0d3baa6f872bf8db155dffb94592e3a857623ab131d2f28f1f139 tellico-3.1.4.tar.xz
4627e717d67340de6d88f7a21604a66ba236c651a0ae38d9d3569b76ad58c79f046cfd5686dd688de86d6acafc17ba3959902babdc7f00ab8e9d65717c4fab4a btparse-strcasecmp.patch"
diff --git a/user/terminus-font/75-yes-terminus.conf b/user/terminus-font/75-yes-terminus.conf
new file mode 100644
index 000000000..84b0a95a0
--- /dev/null
+++ b/user/terminus-font/75-yes-terminus.conf
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!-- Accept terminus font -->
+ <selectfont>
+ <acceptfont>
+ <pattern>
+ <patelt name="family"><string>Terminus</string></patelt>
+ </pattern>
+ </acceptfont>
+ </selectfont>
+ <alias>
+ <family>xos4 Terminus</family>
+ <prefer><family>Terminus</family></prefer>
+ <default><family>fixed</family></default>
+ </alias>
+</fontconfig>
diff --git a/user/terminus-font/APKBUILD b/user/terminus-font/APKBUILD
index 10ebdd481..c3fc0fd6f 100644
--- a/user/terminus-font/APKBUILD
+++ b/user/terminus-font/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Max Rees <maxcrees@me.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=terminus-font
-pkgver=4.46
-pkgrel=1
+pkgver=4.47
+pkgrel=0
pkgdesc="Monospace bitmap font (for X11 and console)"
url="http://terminus-font.sourceforge.net/" # No HTTPS
arch="noarch"
@@ -10,10 +10,10 @@ options="!check" # Fonts have no test suite
license="OFL-1.1"
depends=""
makedepends="bdftopcf python3"
-source="https://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz"
+source="https://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz
+ 75-yes-terminus.conf"
build() {
- cd "$builddir"
./configure \
--prefix=/usr \
--psfdir=/usr/share/consolefonts \
@@ -22,14 +22,16 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 75-yes-terminus.conf \
+ # Use custom fontconfig since the shipped one doesn't provide
+ # a correct alias
+ install -Dm644 "$srcdir"/75-yes-terminus.conf \
"$pkgdir/etc/fonts/conf.avail/75-yes-terminus.conf"
install -d "$pkgdir/etc/fonts/conf.d"
cd "$pkgdir/etc/fonts/conf.d"
ln -s /etc/fonts/conf.avail/75-yes-terminus.conf .
}
-sha512sums="ae221920ecff54b9575a25d30a429feee6e19ef1e9669896c34f86f80d5495c3654f5423ff1df76e86bc999d1f37c306048b44d8ca55144f0f299926d3d33b58 terminus-font-4.46.tar.gz"
+sha512sums="09455d107a09c422f4fedfcc70ae1483063c844fb01b0adfa3d2a0e28c9502e9ca922542b5ad735cbebb491d148c453d0213d61ebebf64c79f16cb582964fa47 terminus-font-4.47.tar.gz
+ac7bdf367bbff1e5735b5bd65fc1bc06b55bcb72aaafeb08c7d8e969aabad863474b1104faa42ead7d838433c80cfc50f05578dad03c8081cd82cfda0af86a83 75-yes-terminus.conf"
diff --git a/user/thunar-volman/APKBUILD b/user/thunar-volman/APKBUILD
index 38c088160..b2f0fa449 100644
--- a/user/thunar-volman/APKBUILD
+++ b/user/thunar-volman/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=thunar-volman
-pkgver=0.9.1
+pkgver=0.9.2
pkgrel=0
pkgdesc="Volume manager for Thunar"
url="https://xfce.org"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="73d9884dc667e4f8554d2b06f7116bbe25fa4e113300f0cd32bc2229c22001cc709333d5ac5618f7d5c8a35e58fb7a61e48ecafa634c7e239e9af329dc4149bc thunar-volman-0.9.1.tar.bz2"
+sha512sums="808f3dfdf105911275b0c96705604bd1575cd9c5bddaaae96583949c995a3bc84a71ce154c05ed3ce395d4b4d78e4d67770f79b3226fd4a35c509f5e612de72f thunar-volman-0.9.2.tar.bz2"
diff --git a/user/thunar/APKBUILD b/user/thunar/APKBUILD
index 2cc4590c0..0f92f1070 100644
--- a/user/thunar/APKBUILD
+++ b/user/thunar/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=thunar
-pkgver=1.8.4
+pkgver=1.8.6
pkgrel=0
pkgdesc="File manager for the XFCE desktop environment"
url="https://xfce.org"
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="886c0789aa19c2ab2ef34892c4afd09c857585b4796140ea3c84ccb9e1e1ca2935cf7e3a760a6ca8d8c68a5866663412500b4779878c7f48c9365c3ac7bf0eec Thunar-1.8.4.tar.bz2"
+sha512sums="086dc139627d8f11341b2db91358ef1831d2b8494d34abac49355dbaf850a21c30f979294f9adf2bc8548e5f817a4e165803a3db74cd989cd3867a4e228d74db Thunar-1.8.6.tar.bz2"
diff --git a/user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch b/user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch
deleted file mode 100644
index 3072ca020..000000000
--- a/user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From f01feaa6d235b40e659bf808ce66acc2b9a93da1 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Wed, 20 Mar 2019 13:28:36 -0500
-Subject: [PATCH 2/2] vncviewer: Ensure buffer always has \0 termination
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Building from the 1.9.0 tarball using GCC 8.3.0 on Linux yields the following:
-
-tigervnc-1.9.0/vncviewer/vncviewer.cxx: In function ‘int main(int, char**)’:
-tigervnc-1.9.0/vncviewer/vncviewer.cxx:527:14: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 64 equals destination size [-Werror=stringop-truncation]
- strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN);
- ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In function ‘void potentiallyLoadConfigurationFile(char*)’,
- inlined from ‘int main(int, char**)’ at tigervnc-1.9.0/vncviewer/vncviewer.cxx:557:35:
-tigervnc-1.9.0/vncviewer/vncviewer.cxx:396:14: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 64 equals destination size [-Werror=stringop-truncation]
- strncpy(vncServerName, newServerName, VNCSERVERNAMELEN);
- ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This commit ensures the buffer always has the null terminator.
----
- vncviewer/vncviewer.cxx | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
-index d2fe7e00..8ccfe563 100644
---- a/vncviewer/vncviewer.cxx
-+++ b/vncviewer/vncviewer.cxx
-@@ -402,7 +402,7 @@ potentiallyLoadConfigurationFile(char *vncServerName)
- newServerName = loadViewerParameters(vncServerName);
- // This might be empty, but we still need to clear it so we
- // don't try to connect to the filename
-- strncpy(vncServerName, newServerName, VNCSERVERNAMELEN);
-+ strncpy(vncServerName, newServerName, VNCSERVERNAMELEN-1);
- } catch (rfb::Exception& e) {
- vlog.error("%s", e.str());
- if (alertOnFatalError)
-@@ -533,7 +533,7 @@ int main(int argc, char** argv)
- const char* configServerName;
- configServerName = loadViewerParameters(NULL);
- if (configServerName != NULL)
-- strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN);
-+ strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN-1);
- } catch (rfb::Exception& e) {
- vlog.error("%s", e.str());
- if (alertOnFatalError)
---
-2.19.2
-
diff --git a/user/tigervnc/APKBUILD b/user/tigervnc/APKBUILD
index 59da8dae1..3acea2e2d 100644
--- a/user/tigervnc/APKBUILD
+++ b/user/tigervnc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=tigervnc
pkgver=1.9.0
-pkgrel=2
+pkgrel=4
pkgdesc="High-performance, platform-neutral VNC remote desktop application"
url="https://tigervnc.org/"
arch="all"
@@ -17,7 +17,9 @@ source="tigervnc-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/v$
use-intltool.patch
endian.patch
0001-CSecurityTLS-Use-size_t-as-argument-for-new.patch
- 0002-vncviewer-Ensure-buffer-always-has-0-termination.patch
+ null-termination.patch
+ initialise-var.patch
+ ensure-throw.patch
"
build() {
@@ -45,4 +47,6 @@ sha512sums="333910f567e6b5e4a5a22d898b2d4c3f4b834cb4cc8fc13ff55d31401894c0d5122a
5c1cee98b7ba41c7cf121480fdfe16d5ef17c9562ff2ba3ea4e74235161fc63e2e3ed63e788c0aa999610b660b394c1269d6fdcc9716c5563651fd67d723f619 use-intltool.patch
189a51a542b368e4db22174d09f5b656848e94577bbf93b2388f54529f1c7c2d32e5b5283551b3fb067ba21f6464f60989e22d4cd11ed3d87d5c931301555b49 endian.patch
f95328f6b669e6608b9971de3db25d5eb26a733fbe32f13291c309ed57eacba6c86461a516c3b8cdc12ff7482ee0249a45189864d473d52df81df0a3541d95b9 0001-CSecurityTLS-Use-size_t-as-argument-for-new.patch
-f7282c7c12e51878540be7dd45b9a00ea5d54fa13fe0cfe90f003c1b36f410ce023dfa64c64d1fb3923955c6459d25e1afe7b504651b4e9e8a2f6f9ac9e51b83 0002-vncviewer-Ensure-buffer-always-has-0-termination.patch"
+82566734e5288e899048b918ce47f5abc3b94196e88d54fa0b0ef68c20d1fcd9d5854f36a0043d28f81dc6213c9ee8cf55fb187aeeb8add5fc31765f6a5b23bb null-termination.patch
+a7fb612d7e3625b66db66ffc7e3f28f2e47f79b858ff1fd9e403576ef2b8ff7bc8cf83a6f67439de6242e4a11a0144119d040f8f9e917e17a8af512b47067360 initialise-var.patch
+4656a617dcb2bd28b653932fa034b7d46c49a08be4ba90501a9d1ddfad2130209664abf7bf5227f0afc926a568eb83e8e5f25e73887bf2561b2077fb1dab84c9 ensure-throw.patch"
diff --git a/user/tigervnc/ensure-throw.patch b/user/tigervnc/ensure-throw.patch
new file mode 100644
index 000000000..da873fe21
--- /dev/null
+++ b/user/tigervnc/ensure-throw.patch
@@ -0,0 +1,59 @@
+From 78bdd1700c4e42b492286a2af25bea0825848f99 Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <ossman@cendio.se>
+Date: Tue, 26 Mar 2019 11:10:28 +0100
+Subject: [PATCH] Add missing throws for exception
+
+It is not enough to create an exception object, you need to throw
+it as well.
+---
+ common/rfb/CSecurityTLS.cxx | 10 +++++-----
+ win/rfb_win32/Registry.cxx | 2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/common/rfb/CSecurityTLS.cxx b/common/rfb/CSecurityTLS.cxx
+index c6d1e3103..aa1910909 100644
+--- a/common/rfb/CSecurityTLS.cxx
++++ b/common/rfb/CSecurityTLS.cxx
+@@ -391,7 +391,7 @@ void CSecurityTLS::checkSession()
+ "authority:\n\n%s\n\nDo you want to save it and "
+ "continue?\n ", info.data);
+ if (len < 0)
+- AuthFailureException("certificate decoding error");
++ throw AuthFailureException("certificate decoding error");
+
+ vlog.debug("%s", info.data);
+
+@@ -417,16 +417,16 @@ void CSecurityTLS::checkSession()
+
+ if (gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, NULL, &out_size)
+ == GNUTLS_E_SHORT_MEMORY_BUFFER)
+- AuthFailureException("Out of memory");
++ throw AuthFailureException("Out of memory");
+
+ // Save cert
+ out_buf = new char[out_size];
+ if (out_buf == NULL)
+- AuthFailureException("Out of memory");
++ throw AuthFailureException("Out of memory");
+
+ if (gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, out_buf, &out_size) < 0)
+- AuthFailureException("certificate issuer unknown, and certificate "
+- "export failed");
++ throw AuthFailureException("certificate issuer unknown, and certificate "
++ "export failed");
+
+ char *homeDir = NULL;
+ if (getvnchomedir(&homeDir) == -1)
+diff --git a/win/rfb_win32/Registry.cxx b/win/rfb_win32/Registry.cxx
+index 963a36a29..9cd501842 100644
+--- a/win/rfb_win32/Registry.cxx
++++ b/win/rfb_win32/Registry.cxx
+@@ -254,7 +254,7 @@ TCHAR* RegKey::getRepresentation(const TCHAR* valname) const {
+ TCharArray result(required);
+ length = ExpandEnvironmentStrings(str.buf, result.buf, required);
+ if (required<length)
+- rdr::Exception("unable to expand environment strings");
++ throw rdr::Exception("unable to expand environment strings");
+ return result.takeBuf();
+ } else {
+ return tstrDup(_T(""));
diff --git a/user/tigervnc/initialise-var.patch b/user/tigervnc/initialise-var.patch
new file mode 100644
index 000000000..f58a4dadc
--- /dev/null
+++ b/user/tigervnc/initialise-var.patch
@@ -0,0 +1,24 @@
+From 44cf1d64ecf80c061c0a2b0f0167094e58782102 Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <ossman@cendio.se>
+Date: Mon, 25 Mar 2019 16:14:49 +0100
+Subject: [PATCH] Don't use un-initialized stride to base constructor
+
+We can use a dummy value here as we set up the buffer and stride
+further down in the constructor.
+---
+ vncviewer/PlatformPixelBuffer.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vncviewer/PlatformPixelBuffer.cxx b/vncviewer/PlatformPixelBuffer.cxx
+index 1e9803eb2..ff1935e74 100644
+--- a/vncviewer/PlatformPixelBuffer.cxx
++++ b/vncviewer/PlatformPixelBuffer.cxx
+@@ -36,7 +36,7 @@ static rfb::LogWriter vlog("PlatformPixelBuffer");
+ PlatformPixelBuffer::PlatformPixelBuffer(int width, int height) :
+ FullFramePixelBuffer(rfb::PixelFormat(32, 24, false, true,
+ 255, 255, 255, 16, 8, 0),
+- width, height, 0, stride),
++ width, height, NULL, 0),
+ Surface(width, height)
+ #if !defined(WIN32) && !defined(__APPLE__)
+ , shminfo(NULL), xim(NULL)
diff --git a/user/tigervnc/null-termination.patch b/user/tigervnc/null-termination.patch
new file mode 100644
index 000000000..e80a4f62d
--- /dev/null
+++ b/user/tigervnc/null-termination.patch
@@ -0,0 +1,39 @@
+From 7240f62ddc06643f982456c05c11d8afe5422069 Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <ossman@cendio.se>
+Date: Tue, 26 Mar 2019 11:11:20 +0100
+Subject: [PATCH] Handle server name overflow properly
+
+We need to make sure it is null terminated on truncation. We also
+need to avoid giving a too large size argument or modern gcc will
+complain.
+---
+ vncviewer/vncviewer.cxx | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
+index d7cbd6e36..4a8370b95 100644
+--- a/vncviewer/vncviewer.cxx
++++ b/vncviewer/vncviewer.cxx
+@@ -411,7 +411,8 @@ potentiallyLoadConfigurationFile(char *vncServerName)
+ newServerName = loadViewerParameters(vncServerName);
+ // This might be empty, but we still need to clear it so we
+ // don't try to connect to the filename
+- strncpy(vncServerName, newServerName, VNCSERVERNAMELEN);
++ strncpy(vncServerName, newServerName, VNCSERVERNAMELEN-1);
++ vncServerName[VNCSERVERNAMELEN-1] = '\0';
+ } catch (rfb::Exception& e) {
+ vlog.error("%s", e.str());
+ if (alertOnFatalError)
+@@ -541,8 +542,10 @@ int main(int argc, char** argv)
+ try {
+ const char* configServerName;
+ configServerName = loadViewerParameters(NULL);
+- if (configServerName != NULL)
+- strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN);
++ if (configServerName != NULL) {
++ strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN-1);
++ defaultServerName[VNCSERVERNAMELEN-1] = '\0';
++ }
+ } catch (rfb::Exception& e) {
+ vlog.error("%s", e.str());
+ if (alertOnFatalError)
diff --git a/user/tinyxml2/APKBUILD b/user/tinyxml2/APKBUILD
new file mode 100644
index 000000000..b210bfb7d
--- /dev/null
+++ b/user/tinyxml2/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=tinyxml2
+pkgver=7.0.1
+pkgrel=0
+pkgdesc="Small, efficient C++ XML parser"
+url=" "
+arch="all"
+license="Zlib"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev"
+source="tinyxml2-$pkgver.tar.gz::https://github.com/leethomason/tinyxml2/archive/$pkgver.tar.gz"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="623cd7eff542d20b434a67111ac98110101c95a18767318bf906e5e56d8cc25622269f740f50477fe907a4c52d875b614cb6167f4760d42ab18dc55b9d4bf380 tinyxml2-7.0.1.tar.gz"
diff --git a/user/tlp/APKBUILD b/user/tlp/APKBUILD
index 54f478361..d1bdefb23 100644
--- a/user/tlp/APKBUILD
+++ b/user/tlp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=tlp
_pkgname=TLP
-pkgver=1.1
+pkgver=1.2.1
pkgrel=0
pkgdesc="Linux Advanced Power Management"
url="https://linrunner.de/en/tlp/tlp.html"
@@ -18,14 +18,11 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/linrunner/$_pkgname/archive/
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- cd "$builddir"
make
}
package() {
- cd "$builddir"
-
- make DESTDIR="$pkgdir" install-tlp install-man
+ make DESTDIR="$pkgdir" TLP_WITH_SYSTEMD=0 install-tlp install-man
install -Dm755 "$srcdir"/tlp.initd "$pkgdir"/etc/init.d/"$pkgname"
# We don't ship systemd
find "$pkgdir"/usr/share/man/man8 -name '*.service*' -delete
@@ -36,7 +33,7 @@ rdw() {
depends="tlp"
cd "$builddir"
- make DESTDIR="$subpkgdir" install-rdw
+ make DESTDIR="$subpkgdir" TLP_WITH_SYSTEMD=0 install-rdw
}
bashcomp() {
@@ -44,9 +41,12 @@ bashcomp() {
depends=""
install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/share/bash-completion "$subpkgdir"/usr/share
+ mkdir -p "$subpkgdir"/usr/share/bash-completion/completions
+ mv "$pkgdir"/usr/share/bash-completion/completions/* \
+ "$subpkgdir"/usr/share/bash-completion/completions
+ mv "$pkgbasedir/$pkgname-rdw"/usr/share/bash-completion/completions/* \
+ "$subpkgdir"/usr/share/bash-completion/completions
}
-sha512sums="3400f2b6c249fd2e1bbbc61f23e3450ff90fabb8dd74f2903ce1f0d07e7ce3d1e61b07295736138d4697235dbee9157d3f32a8d296a649c93f73e03e3555af1e tlp-1.1.tar.gz
+sha512sums="c5cf2c9cb4d5e1e0ad693ab73f7971486671dab9b785a4e121b3550f5b096a8b028bd9d116851db6402ab7ccd9b3fe944d138fd35dc17d826482c59257f12c9f tlp-1.2.1.tar.gz
e6de216b2540413812711b3304cdc29c8729d527080cfd747ba382db50166dd21c6c27ff467f9f2a967e92007c7a311b00e88262952c34a22f417578c66cf4e7 tlp.initd"
diff --git a/user/trigger-rally/APKBUILD b/user/trigger-rally/APKBUILD
index 3b1c6c29d..07e4de092 100644
--- a/user/trigger-rally/APKBUILD
+++ b/user/trigger-rally/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=trigger-rally
-pkgver=0.6.5
+pkgver=0.6.6.1
pkgrel=0
pkgdesc="Fast-paced rally racing game"
url="http://trigger-rally.sourceforge.net/"
@@ -10,7 +10,7 @@ options="!check" # No test suite.
license="GPL-2.0-only"
depends=""
makedepends="freealut-dev glew-dev glu-dev openal-soft-dev physfs-dev sdl2-dev
- sdl2_image-dev"
+ sdl2_image-dev tinyxml2-dev"
subpackages="$pkgname-doc"
source="https://downloads.sourceforge.net/trigger-rally/trigger-rally-$pkgver.tar.gz
dont-strip.patch
@@ -39,6 +39,6 @@ package() {
"$pkgdir"/usr/share/icons/hicolor/scalable/apps/trigger.svg
}
-sha512sums="59f48c116b20e47559b4c07107fa4055a9ad516e9c147763e4ba5d2ead3a4a5101f7d690483a1ef0df847ca647c0f750937512ee579f4ae06908157d9eabf184 trigger-rally-0.6.5.tar.gz
+sha512sums="feed805858ef63907bb10088761f1219b22fe55ead268511ef73b18aa0f18d79e87d4e2cbfb76361b1dec3949b59464af33efe31e81f06ae7e163430f3336669 trigger-rally-0.6.6.1.tar.gz
a81781058177e012daaad58d72e4bdbdbc2730b1df76941ba03f06367545b213ba82a33bab46deba31570973deb1802a3d459704c3a963c38eec69ef82f228d5 dont-strip.patch
-807f0c99cc148e34cfe29af13f62375ee7f79f079f29cfda3b90045e0ad8676944d9e8031ab7037429a93d7547da53740e8ce002c4d3c46d93c3d8c9eb2e4ae9 trigger-rally.desktop"
+ddaf7d89353280f7952d6cffd06182ea28640473e18eff06809c48477349248f57922eaff9bf816261c32f8fdc167d933f345422f9885638041dd9f5e5ac0524 trigger-rally.desktop"
diff --git a/user/trigger-rally/trigger-rally.desktop b/user/trigger-rally/trigger-rally.desktop
index 74b67da0f..5802b2fee 100644
--- a/user/trigger-rally/trigger-rally.desktop
+++ b/user/trigger-rally/trigger-rally.desktop
@@ -5,4 +5,4 @@ Name=Trigger
Comment=Fast-paced rally racing game
Icon=trigger
Exec=/usr/games/trigger-rally
-Category=Game;Simlulation
+Categories=Game;Simulation;
diff --git a/user/ttc-iosevka/APKBUILD b/user/ttc-iosevka/APKBUILD
index 65708fe74..4d0ea71b1 100644
--- a/user/ttc-iosevka/APKBUILD
+++ b/user/ttc-iosevka/APKBUILD
@@ -1,18 +1,18 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ttc-iosevka
-pkgver=2.0.2
+pkgver=2.2.1
pkgrel=0
pkgdesc="Monospace sans-serif typeface"
-url="http://typeof.net/Iosevka/"
+url="https://typeof.net/Iosevka/"
arch="noarch"
options="!check" # No test suite.
license="OFL-1.1"
depends="fontconfig"
makedepends=""
subpackages=""
-source="https://github.com/be5invis/Iosevka/releases/download/v2.0.2/ttc-iosevka-$pkgver.zip
- https://github.com/be5invis/Iosevka/releases/download/v2.0.2/ttc-iosevka-slab-$pkgver.zip"
+source="https://github.com/be5invis/Iosevka/releases/download/v$pkgver/ttc-iosevka-$pkgver.zip
+ https://github.com/be5invis/Iosevka/releases/download/v$pkgver/ttc-iosevka-slab-$pkgver.zip"
builddir="$srcdir"
package() {
@@ -20,5 +20,5 @@ package() {
install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/TTF *.ttc
}
-sha512sums="8dbb60b94ade9212a7dbcfaf3a4dfba3f7d148ad78cf6f658ec3d471a799b172815ff43a6fe4e3916e2d0790c9097d3d452e56ded052f7c9e1fd0d69af8c6bd4 ttc-iosevka-2.0.2.zip
-92baa82979901b895d8038b020a47697b749e9600422236f02ad93381c8af8efb16978798bec38edeed0a8ad9a10f43f4879702936c885d8c21b700cd8f6e3cf ttc-iosevka-slab-2.0.2.zip"
+sha512sums="61c43613f687edea1fe5b1cd2545c7b18a3a274b6106d6c6d083322ebd40f7da8f5a1f6ed84410108f099c55dab988b340c516e87476ee71567a5a034b988abb ttc-iosevka-2.2.1.zip
+80aafe3b6e1d708abf5dd6922b3ce735c8f4b17afefbcd14bcc65e27f8463cff8392ea90bbb40f872369ee5f096fd391fcb4a1fafc166e96f689d59b56c909cb ttc-iosevka-slab-2.2.1.zip"
diff --git a/user/ttf-alee/APKBUILD b/user/ttf-alee/APKBUILD
index 658060518..ffbf879a2 100644
--- a/user/ttf-alee/APKBUILD
+++ b/user/ttf-alee/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ttf-alee
-pkgver=13
+pkgver=13.3
pkgrel=0
pkgdesc="Hangul fonts"
url=" "
@@ -11,11 +11,12 @@ license="Artistic-1.0-cl8"
depends="fontconfig"
makedepends=""
subpackages=""
-source="http://turul.canonical.com/pool/main/t/ttf-alee/ttf-alee_$pkgver.tar.gz"
+source="http://deb.debian.org/debian/pool/main/f/fonts-alee/fonts-alee_$pkgver.tar.xz"
+builddir="$srcdir"/fonts-alee-$pkgver
package() {
cd "$builddir"
install -m644 -Dt "$pkgdir"/usr/share/fonts/X11/TTF *.ttf
}
-sha512sums="2f72067ccb3264c5847639d9b9db4c820ad65bf2b2bfef710fbc42463e4b091dedc004281d05694a92680fde01c56edeb40ca78cd2a659533e22b17bd14b4b2c ttf-alee_13.tar.gz"
+sha512sums="fc91a018c0757fce1b899ecf736260b96c7acc9c8ec626fb8d53f8e002d89ca23bdaf3a5712e747cfa63f53463c5471da292af715968a5612a17d7499222bc45 fonts-alee_13.3.tar.xz"
diff --git a/user/ttf-liberation/APKBUILD b/user/ttf-liberation/APKBUILD
index eb25558c8..8f32d7c31 100644
--- a/user/ttf-liberation/APKBUILD
+++ b/user/ttf-liberation/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ttf-liberation
-pkgver=2.00.4
+pkgver=2.00.5
# Note: 2.00.0 onward releases does not includes Liberation Sans Narrow font due to licensing problems.
# we use narrowver to grab older release which does include narrow fonts
_narrowver=1.07.4
@@ -14,7 +14,7 @@ depends="fontconfig"
makedepends=""
# added fontconfig configuration from:
# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
-source="https://github.com/liberationfonts/liberation-fonts/files/2012634/liberation-fonts-ttf-$pkgver.tar.gz
+source="https://github.com/liberationfonts/liberation-fonts/files/2926169/liberation-fonts-ttf-$pkgver.tar.gz
https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-$_narrowver.tar.gz
30-liberation-mono.conf
30-liberation-sans-narrow.conf
@@ -29,7 +29,7 @@ package() {
"$pkgdir"/etc/fonts/conf.d
install -m644 "$srcdir"/liberation-fonts-ttf-$_narrowver/*.ttf \
"$pkgdir"/usr/share/fonts/$pkgname
- install -m644 "$srcdir"/liberation-fonts-ttf-2.00.3/*.ttf \
+ install -m644 "$srcdir"/liberation-fonts-ttf-$pkgver/*.ttf \
"$pkgdir"/usr/share/fonts/$pkgname
for j in "$srcdir"/*.conf; do
@@ -40,7 +40,7 @@ package() {
done
}
-sha512sums="a83ab0c05bfa97ec30a946ff4b2d23dd1e29974999241b2a058f3c052879eb48e818e09a42a7fe27f04728fea56ddbbf67c60820b10e93e3b99f50892372565d liberation-fonts-ttf-2.00.4.tar.gz
+sha512sums="fc00494842475d040c01029b6fb134fec9a37516a5e8e1b9ba945a2b38fe2ef3df6a0acfc00dc024cf2019f1106092d063c8322eece1be1cf8690db4ed8a653f liberation-fonts-ttf-2.00.5.tar.gz
0906151d111fd660c8cb90dfcb39e0a38805aa53cac162def5240ff3a75c40f6195e6876d09a2f7081913bfe732550b670d197f0e10598c463186fe3bc229b9f liberation-fonts-ttf-1.07.4.tar.gz
585b74555132098d1d89b118b92fb843471ae2882622dec16178f8e7690fe6b5d8bf46e27e59fc3324aebfbd52a4b511d2ad77a8ddf8ef319cbe89b1a2dac91a 30-liberation-mono.conf
cf017383d4390d52bef7c79abb2f48fc4440880ca03ee4dc11647ced524e45a944c4c3e3b318837bef9632b5aa1445e8f29e87f2ea195a8a47899cdeef67aae7 30-liberation-sans-narrow.conf
diff --git a/user/tumbler/APKBUILD b/user/tumbler/APKBUILD
index fbf615688..5c400ece4 100644
--- a/user/tumbler/APKBUILD
+++ b/user/tumbler/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=tumbler
-pkgver=0.2.3
-pkgrel=1
+pkgver=0.2.4
+pkgrel=0
pkgdesc="Thumbnail generation service for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="aefe284c3baa1d8eaf79c9bdb3cfc044ee6a1f36be34efd67541e6310aa275b5235b29f68483b7b7b5a8df699a8b3db8dc75569ec2b90253756fd6285a2e3816 tumbler-0.2.3.tar.bz2"
+sha512sums="cf1d9499ff293086176a0e5055181e5527d9ae39a7786d9fe15a47202e1b02218981c072229e736a7057e85bf0c6ceff34c1f55a12396b3df0b3ab9fda822d02 tumbler-0.2.4.tar.bz2"
diff --git a/user/udisks2/APKBUILD b/user/udisks2/APKBUILD
index 66af86bad..2374ff4ea 100644
--- a/user/udisks2/APKBUILD
+++ b/user/udisks2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=udisks2
-pkgver=2.8.1
+pkgver=2.8.2
pkgrel=0
pkgdesc="A Disk Manager"
url="https://www.freedesktop.org/wiki/Software/udisks"
@@ -18,7 +18,6 @@ source="https://github.com/storaged-project/udisks/releases/download/udisks-$pkg
builddir="$srcdir"/udisks-$pkgver
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -28,16 +27,16 @@ build() {
--infodir=/usr/share/info \
--localstatedir=/var \
--enable-compile-warnings=minimum
+ cp "$builddir"/data/org.freedesktop.UDisks2.policy.in \
+ "$builddir"/data/org.freedesktop.UDisks2.policy
make
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
@@ -50,5 +49,5 @@ libs() {
"$subpkgdir"/usr/lib/
}
-sha512sums="a3c7d26cd1bbd9cce59b25d118076c34482a698d7dca9e0468b6f9c928f40c8dbdd0b1cb61cf288ae77151643dc4a3eacf31e22af2c7b35a2828e49ee335e70b udisks-2.8.1.tar.bz2
+sha512sums="dc0087ed2d3ab71dc66f63f868a6e2cd0e4e7578c40b2240739cecaffd6f50f5a2cecfc7ef7df9304e291d84ab12f59a940b9fb42b34a5a60d12061e6aaffc1a udisks-2.8.2.tar.bz2
269ba55cc755e2a484670258bc530790691b66c9fce9479a2a17d78cff5d52dd1be89290979efd44a0ba82be665f52a356a57f2cbb67951d91fe09d4e24c2a6a O_CLOEXEC.patch"
diff --git a/user/umbrello/APKBUILD b/user/umbrello/APKBUILD
index 33b82b783..6b2e8cfb0 100644
--- a/user/umbrello/APKBUILD
+++ b/user/umbrello/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=umbrello
-pkgver=18.12.3
+pkgver=19.04.1
pkgrel=0
pkgdesc="Software modelling tool and code generator"
url="https://umbrello.kde.org/"
@@ -44,5 +44,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b7ba29b05e5997d9e7ef07c261198bc47910e75668bd619e1f14bb850d5e09fd07948e7d56e2604287384e1c331a882f40b4540c116e9a7b2cfa2078f57b4a90 umbrello-18.12.3.tar.xz
+sha512sums="5efac3aa2a2ac6d135562503da7923c530cf74816f1c2fc4c580bf7f8b3f4cc0a50b76f1f64d3393e131ed47c5ab3fcef44f558cb056f83d0b75b38d5d5865c8 umbrello-19.04.1.tar.xz
fcbe03a49d5420bf17383e5e6d4bac4377c1abfcafacea20ac37409457471537067efe3236647fb3570abfa410a4a3870b1638bb1ef880a24e6f60e2b189a562 hax.patch"
diff --git a/user/unicode-data/APKBUILD b/user/unicode-data/APKBUILD
new file mode 100644
index 000000000..5cbd55565
--- /dev/null
+++ b/user/unicode-data/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=unicode-data
+pkgver=12.0.0
+pkgrel=0
+pkgdesc="Unicode data files"
+url="https://unicode.org"
+arch="noarch"
+options="!check" # no testsuite
+license="Unicode-TOU"
+depends=""
+makedepends=""
+source="https://unicode.org/Public/$pkgver/ucd/Blocks.txt
+ https://unicode.org/Public/$pkgver/ucd/DerivedAge.txt
+ https://unicode.org/Public/$pkgver/ucd/NamesList.txt
+ https://unicode.org/Public/$pkgver/ucd/Scripts.txt
+ https://unicode.org/Public/$pkgver/ucd/UnicodeData.txt
+ https://unicode.org/Public/$pkgver/ucd/Unihan.zip
+ "
+
+package() {
+ cd "$srcdir"
+ mkdir -p "$pkgdir"/usr/share/unicode/$pkgver
+ install -m644 -t "$pkgdir"/usr/share/unicode/$pkgver \
+ Blocks.txt \
+ DerivedAge.txt \
+ NamesList.txt \
+ Scripts.txt \
+ UnicodeData.txt \
+ Unihan.zip
+}
+
+sha512sums="e3ead1233c29a13d46ffcc4b1c8b685144444579fb9231189f2724d9161adcdba39e9dd468c2d791af32538aa6d3f39f1e3f19c6d73eab432ac006526dc6c3ae Blocks.txt
+2cfe840bd5c72a7a47a15123e936cf96677ad66e2caecb7f580b98de83054a17cf49cd26b6470084979bdb3cf8818ea9799dab220108b7bf3a813f65bb1ed86e DerivedAge.txt
+de087e89be129928de87ebb9370f95ab9964c491a41f306791884c6d0452407b8530b7d47804cb3f0442e29d4c98d84867c82c90b46f3fbc1a7ee3fb6ce97005 NamesList.txt
+d25c87b58df3096d1dc26a81edc01eb1d08c62510b38854683ca91978a2a4df12ca0b29731c8d0211555387da604b5e8da7d5f5a5f9d57052f1bc502ecd2154e Scripts.txt
+be1844662041d022c57c2f81b971d395a0ba3a5824de4a5c1c8076ed66955f590a9d624d8abc189a66b7d35ba7fa7d63be727e8bdd9c3dff01251a34f2b84729 UnicodeData.txt
+7fdefad078284c14a9105655d1cb4d2b0dc1c89c56effe92ffcbd5a30b325559a56d97574b6077144d7a4ed02df6e6a402a2a5360e4abc0c84bae5c589044375 Unihan.zip"
diff --git a/user/unifont/APKBUILD b/user/unifont/APKBUILD
index fc71d4326..67e99c144 100644
--- a/user/unifont/APKBUILD
+++ b/user/unifont/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Breno Leitao <breno.leitao@gmail.com>
# Maintainer:
pkgname=unifont
-pkgver=11.0.03
+pkgver=12.1.02
pkgrel=0
pkgdesc="GNU font package with all Unicode 11 characters"
url="http://unifoundry.com/unifont.html"
@@ -24,4 +24,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fd24e48630acb4bac5e3a05aa541c5c93cbdda95ce162f62e05bc860a686f025e67af3c2e577bf96991119b70b2e3a0d1ef170466af3b8037df5a7014d009982 unifont-11.0.03.tar.gz"
+sha512sums="031336c5811957f211e442c9d3a3920cc3149f80681802a0f9e2a9c905ccce8f0434bf37f6000d30ff568aa5020d4017034906be2b38ead7ebb35b7dc8d47299 unifont-12.1.02.tar.gz"
diff --git a/user/upower/APKBUILD b/user/upower/APKBUILD
index 05c783cee..ea8652b3e 100644
--- a/user/upower/APKBUILD
+++ b/user/upower/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=upower
-pkgver=0.99.9
+pkgver=0.99.10
pkgrel=0
pkgdesc="Power Management Services"
url="https://upower.freedesktop.org"
@@ -11,10 +11,9 @@ depends=""
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
makedepends="dbus-glib-dev docbook-xsl gobject-introspection-dev gtk+-dev
intltool libgudev-dev libusb-dev libxslt linux-headers polkit-dev"
-source="https://gitlab.freedesktop.org/upower/upower/uploads/2282c7c0e53fb31816b824c9d1f547e8/upower-0.99.9.tar.xz"
+source="https://gitlab.freedesktop.org/upower/upower/uploads/c438511024b9bc5a904f8775cfc8e4c4/upower-0.99.10.tar.xz"
build() {
- cd "$builddir"
DATADIRNAME=share ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -28,13 +27,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="45eb587b0e5ffcce88bad8c56bc5efa30559748913016a55d58313280f5159378e5fbb4a9842c3a6409257bb97822d235f96b03704268b8471455c93eb05fe2f upower-0.99.9.tar.xz"
+sha512sums="aefe1b2ff5a390f1ea9676fe7e753750bebc56034365a9183e946a8463904047da0a4ac71340eb2efedc16bce6f6d9ef4609ddca37dc1fc31b56bcdbfbbfa59d upower-0.99.10.tar.xz"
diff --git a/user/utf8proc/APKBUILD b/user/utf8proc/APKBUILD
index 8be033ef7..8b3234adb 100644
--- a/user/utf8proc/APKBUILD
+++ b/user/utf8proc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=utf8proc
-pkgver=2.2.0
+pkgver=2.3.0
pkgrel=0
pkgdesc="C library for processing UTF-8 data"
url=" "
@@ -13,7 +13,6 @@ subpackages="$pkgname-dev"
source="utf8proc-$pkgver.tar.gz::https://github.com/JuliaStrings/utf8proc/archive/v$pkgver.tar.gz"
prepare() {
- cd "$builddir"
default_prepare
mkdir build
}
@@ -43,4 +42,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ae19287e33bc4807475063963557c4d1d2f7d95577d61882ba8df380883662860eeb868e7391ac1b8111614ca2c1855f631925ade6eaa827d07d28cc4cdbab9c utf8proc-2.2.0.tar.gz"
+sha512sums="3935cd280e14ed570caa89a983b2d56a981e74da9298a1ea26064da78ece288ff48a73306446d3e1d777e6ecd8ea881f7a29169eaae2153cb015daefb8df8656 utf8proc-2.3.0.tar.gz"
diff --git a/user/uwsgi/APKBUILD b/user/uwsgi/APKBUILD
index 3ec869b6e..c009e1ff2 100644
--- a/user/uwsgi/APKBUILD
+++ b/user/uwsgi/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=uwsgi
-pkgver=2.0.17.1
+pkgver=2.0.18
pkgrel=0
pkgdesc="Web application server"
url="https://projects.unbit.it/uwsgi"
@@ -20,8 +20,6 @@ done
source="https://projects.unbit.it/downloads/uwsgi-$pkgver.tar.gz"
build() {
- cd "$builddir"
-
echo 'plugin_dir = /usr/lib/uwsgi/plugins' >> buildconf/core.ini
echo 'plugin_build_dir = .' >> buildconf/core.ini
@@ -34,12 +32,10 @@ build() {
}
check() {
- cd "$builddir"
python3 uwsgiconfig.py --check
}
package() {
- cd "$builddir"
install -D -m755 "$builddir"/uwsgi "$pkgdir"/usr/bin/uwsgi
}
@@ -87,4 +83,4 @@ rack() {
_plugpack rack "Ruby Rack"
}
-sha512sums="10d357961fde3a3f5f8e77986cc647313f95a33243e24c2afc482fce21df68a8ae48f90e7b5b76d7edc3cf8fd474d99823d6d60ef7477349abc65a319222f11b uwsgi-2.0.17.1.tar.gz"
+sha512sums="6561703279bcc4a81311d033810ac066d0f113bab13b0942f3eef86cac29c584a6641b52476840d6895151aee5ed064ae2d03b18932cf7f47e62f4eeed76da61 uwsgi-2.0.18.tar.gz"
diff --git a/user/v4l-utils/APKBUILD b/user/v4l-utils/APKBUILD
index 389c4f9ad..bf53d6890 100644
--- a/user/v4l-utils/APKBUILD
+++ b/user/v4l-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer:
pkgname=v4l-utils
-pkgver=1.16.3
+pkgver=1.16.4
pkgrel=0
pkgdesc="Userspace tools and conversion library for Video 4 Linux"
url="https://www.linuxtv.org/wiki/index.php/V4l-utils"
@@ -76,7 +76,7 @@ ir_keytable() {
"$subpkgdir"/etc
}
-sha512sums="404672d18d94861c6957ea3a15a6a48f238d3859940810952a5a8cc33b57f1a360d1a19af28405c01b073c0ece90c5995a71dbe6544b30bdb8eace7daeb4bc0b v4l-utils-1.16.3.tar.bz2
+sha512sums="451e3af203b43fcf9fc61e00a236c030c932eabc0b749269277fc42da05464a2b74581255e7d9bbbac35b43ece318b640c3fde8d074c71723a3594a27ee982ff v4l-utils-1.16.4.tar.bz2
bc18280046c15b19984103f7c2bb44a0aea79715803c64f0c64bc932499c09022c956914c3b15ae59499adc09f6fbff5378be45707fe851250f495a26b63d682 qv4l2.svg
6f74aa524b3de420eeb8de788ff3f717020732a3f1f6530caee50e63aae7eddbe5f551ffc50065c9f5d6078c13bace089948ecdcacf01f8b82c1a44960e06315 qv4l2.desktop
9a4f6d0a44d30bb7afe4db8b40074d362f240cae1f1b13feb0eb2b1b666479fc6f73ef27542f6f80fb1b922c9540feadc9ff8563890ff3041d3f7fc62e504e29 getsubopt.patch"
diff --git a/user/vala/APKBUILD b/user/vala/APKBUILD
index e8bbd399e..3e6b0d5b0 100644
--- a/user/vala/APKBUILD
+++ b/user/vala/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=vala
-pkgver=0.44.0
+pkgver=0.44.3
pkgrel=0
pkgdesc="Compiler for the Vala programming language"
url="https://wiki.gnome.org/Projects/Vala"
@@ -30,4 +30,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1c2e962e849fbf7f3a2be56cca3f26770f6f754f403f7ff7dc8a7ed28bba212d3b704313e02cce86a27432b9b3b918009f59155398ca3be26afc698cc3952b3d vala-0.44.0.tar.xz"
+sha512sums="f074d537db94772565003a097c6a29e0dfcd58680baeb321ad04dec8ea056319eb8b7059117c259523b7570841651c2935feef06c03e3d82a11a94a293349b5a vala-0.44.3.tar.xz"
diff --git a/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch b/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch
index 5272406ec..5d7dbe29c 100644
--- a/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch
+++ b/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch
@@ -1,35 +1,35 @@
-From a5224eb31a4c8a680587e74cc402e5ed92ead216 Mon Sep 17 00:00:00 2001
+From 1278e5015f6925d86274d6363c4cedf2ce47bfcb Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Thu, 27 Sep 2018 15:42:40 -0500
-Subject: [PATCH] Ensure ELFv2 is supported on PPC64
+Date: Tue, 14 May 2019 14:07:50 +0200
+Subject: [PATCH] [PATCH] Ensure ELFv2 is supported on PPC64
---
- coregrind/m_dispatch/dispatch-ppc64be-linux.S | 107 ++++++++++++++++--
- coregrind/m_initimg/initimg-linux.c | 5 +-
+ coregrind/m_dispatch/dispatch-ppc64be-linux.S | 101 ++++++++++++++++--
+ coregrind/m_initimg/initimg-linux.c | 3 +-
coregrind/m_libcsetjmp.c | 7 +-
coregrind/m_machine.c | 3 +-
- coregrind/m_main.c | 19 ++--
+ coregrind/m_main.c | 21 ++--
coregrind/m_sigframe/sigframe-ppc64-linux.c | 3 +-
coregrind/m_signals.c | 11 +-
- coregrind/m_stacktrace.c | 12 +-
+ coregrind/m_stacktrace.c | 12 ++-
coregrind/m_syscall.c | 9 +-
coregrind/m_syswrap/syscall-ppc64be-linux.S | 19 +++-
coregrind/m_syswrap/syswrap-ppc64-linux.c | 9 +-
coregrind/m_trampoline.S | 4 +-
- coregrind/m_translate.c | 23 ++--
+ coregrind/m_translate.c | 26 ++---
coregrind/m_ume/elf.c | 8 +-
- coregrind/pub_core_machine.h | 12 +-
+ coregrind/pub_core_machine.h | 12 ++-
coregrind/vg_preloaded.c | 3 +-
include/valgrind.h | 16 ++-
memcheck/mc_leakcheck.c | 2 +-
memcheck/mc_machine.c | 3 +-
- 19 files changed, 206 insertions(+), 69 deletions(-)
+ 19 files changed, 205 insertions(+), 67 deletions(-)
diff --git a/coregrind/m_dispatch/dispatch-ppc64be-linux.S b/coregrind/m_dispatch/dispatch-ppc64be-linux.S
-index 91bd3b236..eb8026c7c 100644
+index c5592d4..292b236 100644
--- a/coregrind/m_dispatch/dispatch-ppc64be-linux.S
+++ b/coregrind/m_dispatch/dispatch-ppc64be-linux.S
-@@ -75,14 +75,26 @@ void VG_(disp_run_translations)( UWord* two_words,
+@@ -88,14 +88,26 @@ void VG_(disp_run_translations)( UWord* two_words,
.section ".text"
.align 2
.globl VG_(disp_run_translations)
@@ -56,7 +56,7 @@ index 91bd3b236..eb8026c7c 100644
/* r3 holds two_words */
/* r4 holds guest_state */
/* r5 holds host_addr */
-@@ -231,6 +243,11 @@ VG_(disp_run_translations):
+@@ -244,6 +256,11 @@ VG_(disp_run_translations):
/* Set up the guest state ptr */
mr 31,4 /* r31 (generated code gsp) = r4 */
@@ -68,7 +68,7 @@ index 91bd3b236..eb8026c7c 100644
/* and jump into the code cache. Chained translations in
the code cache run, until for whatever reason, they can't
-@@ -385,7 +402,9 @@ VG_(disp_run_translations):
+@@ -398,7 +415,9 @@ VG_(disp_run_translations):
mtlr 0
addi 1,1,624 /* stack_size */
blr
@@ -79,7 +79,7 @@ index 91bd3b236..eb8026c7c 100644
/*----------------------------------------------------*/
/*--- Continuation points ---*/
-@@ -395,15 +414,25 @@ VG_(disp_run_translations):
+@@ -408,14 +427,24 @@ VG_(disp_run_translations):
.section ".text"
.align 2
.globl VG_(disp_cp_chain_me_to_slowEP)
@@ -97,17 +97,15 @@ index 91bd3b236..eb8026c7c 100644
.type .VG_(disp_cp_chain_me_to_slowEP),@function
.globl .VG_(disp_cp_chain_me_to_slowEP)
.VG_(disp_cp_chain_me_to_slowEP):
-- /* We got called. The return address indicates
+#if _CALL_ELF == 2
+0: addis 2, 12,.TOC.-0b@ha
+ addi 2,2,.TOC.-0b@l
+ .localentry VG_(disp_cp_chain_me_to_slowEP), .-VG_(disp_cp_chain_me_to_slowEP)
+#endif
-+ /* We got called. The return address indicates
+ /* We got called. The return address indicates
where the patching needs to happen. Collect
the return address and, exit back to C land,
- handing the caller the pair (Chain_me_S, RA) */
-@@ -415,20 +444,33 @@ VG_(disp_cp_chain_me_to_slowEP):
+@@ -428,20 +457,33 @@ VG_(disp_cp_chain_me_to_slowEP):
*/
subi 7,7,20+4+4
b .postamble
@@ -143,7 +141,7 @@ index 91bd3b236..eb8026c7c 100644
where the patching needs to happen. Collect
the return address and, exit back to C land,
handing the caller the pair (Chain_me_S, RA) */
-@@ -440,20 +482,33 @@ VG_(disp_cp_chain_me_to_fastEP):
+@@ -453,19 +495,32 @@ VG_(disp_cp_chain_me_to_fastEP):
*/
subi 7,7,20+4+4
b .postamble
@@ -155,12 +153,11 @@ index 91bd3b236..eb8026c7c 100644
.section ".text"
.align 2
.globl VG_(disp_cp_xindir)
-- .section ".opd","aw"
+#if _CALL_ELF == 2
+ .type VG_(disp_cp_xindir),@function
+VG_(disp_cp_xindir):
+#else
-+ .section ".opd","aw"
+ .section ".opd","aw"
.align 3
VG_(disp_cp_xindir):
.quad .VG_(disp_cp_xindir),.TOC.@tocbase,0
@@ -169,27 +166,23 @@ index 91bd3b236..eb8026c7c 100644
.type .VG_(disp_cp_xindir),@function
.globl .VG_(disp_cp_xindir)
.VG_(disp_cp_xindir):
-- /* Where are we going? */
+#if _CALL_ELF == 2
+0: addis 2, 12,.TOC.-0b@ha
+ addi 2,2,.TOC.-0b@l
+ .localentry VG_(disp_cp_xindir), .-VG_(disp_cp_xindir)
+#endif
-+ /* Where are we going? */
- ld 3,OFFSET_ppc64_CIA(31)
-
- /* stats only */
-@@ -479,6 +534,9 @@ VG_(disp_cp_xindir):
- /* Found a match. Jump to .host. */
- mtctr 7
- bctr
+ /* Where are we going? */
+ ld 20, OFFSET_ppc64_CIA(31)
+
+@@ -584,44 +639,72 @@ VG_(disp_cp_xindir):
+ li 7,0
+ b .postamble
+ /*NOTREACHED*/
+#if _CALL_ELF == 2
+ .size VG_(disp_cp_xindir),.-VG_(disp_cp_xindir)
+#endif
- .fast_lookup_failed:
- /* stats only */
-@@ -496,39 +554,64 @@ VG_(disp_cp_xindir):
+ /* ------ Assisted jump ------ */
.section ".text"
.align 2
.globl VG_(disp_cp_xassisted)
@@ -260,7 +253,7 @@ index 91bd3b236..eb8026c7c 100644
/* Let the linker know we don't need an executable stack */
MARK_STACK_NO_EXEC
diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c
-index 61cc458bc..19df79705 100644
+index 8a7f0d0..6891641 100644
--- a/coregrind/m_initimg/initimg-linux.c
+++ b/coregrind/m_initimg/initimg-linux.c
@@ -1117,7 +1117,8 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
@@ -274,7 +267,7 @@ index 61cc458bc..19df79705 100644
#endif
diff --git a/coregrind/m_libcsetjmp.c b/coregrind/m_libcsetjmp.c
-index c73180640..ed96f4739 100644
+index 85ffc12..51273a0 100644
--- a/coregrind/m_libcsetjmp.c
+++ b/coregrind/m_libcsetjmp.c
@@ -35,6 +35,7 @@
@@ -306,10 +299,10 @@ index c73180640..ed96f4739 100644
".section \".toc\",\"aw\"" "\n"
diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c
-index 31b0e1b6b..eb3e6a4e1 100644
+index df842aa..de37070 100644
--- a/coregrind/m_machine.c
+++ b/coregrind/m_machine.c
-@@ -2035,7 +2035,8 @@ void* VG_(fnptr_to_fnentry)( void* f )
+@@ -2073,7 +2073,8 @@ void* VG_(fnptr_to_fnentry)( void* f )
|| defined(VGP_ppc32_linux) || defined(VGP_ppc64le_linux) \
|| defined(VGP_s390x_linux) || defined(VGP_mips32_linux) \
|| defined(VGP_mips64_linux) || defined(VGP_arm64_linux) \
@@ -320,33 +313,38 @@ index 31b0e1b6b..eb3e6a4e1 100644
# elif defined(VGP_ppc64be_linux)
/* ppc64-linux uses the AIX scheme, in which f is a pointer to a
diff --git a/coregrind/m_main.c b/coregrind/m_main.c
-index bf4a71284..102235dca 100644
+index 21df679..855c933 100644
--- a/coregrind/m_main.c
+++ b/coregrind/m_main.c
-@@ -2274,7 +2274,7 @@ static void final_tidyup(ThreadId tid)
+@@ -2303,7 +2303,7 @@ static void final_tidyup(ThreadId tid)
return; /* won't do it */
}
-# if defined(VGP_ppc64be_linux)
+# if defined(VGP_ppc64be_linux) && defined(VG_PLAT_USES_PPCTOC)
- Addr r2 = VG_(get_tocptr)(freeres_wrapper);
+ Addr r2 = VG_(get_tocptr)(VG_(current_DiEpoch)(),
+ freeres_wrapper);
if (r2 == 0) {
- VG_(message)(Vg_UserMsg,
-@@ -2306,9 +2306,11 @@ static void final_tidyup(ThreadId tid)
- directly. However, we need to set R2 (the toc pointer)
+@@ -2336,13 +2336,15 @@ static void final_tidyup(ThreadId tid)
appropriately. */
VG_(set_IP)(tid, freeres_wrapper);
+
-# if defined(VGP_ppc64be_linux)
+# if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \
+ && defined(VG_PLAT_USES_PPCTOC)
VG_(threads)[tid].arch.vex.guest_GPR2 = r2;
+ VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
+ offsetof(VexGuestPPC64State, guest_GPR2),
+ sizeof(VG_(threads)[tid].arch.vex.guest_GPR2));
-# elif defined(VGP_ppc64le_linux)
+- /* setting GPR2 but not really needed, GPR12 is needed */
+# elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \
+ && !defined(VG_PLAT_USES_PPCTOC)
- /* setting GPR2 but not really needed, GPR12 is needed */
++ /* setting GPR2 but not really needed, GPR12 is needed */
VG_(threads)[tid].arch.vex.guest_GPR2 = freeres_wrapper;
- VG_(threads)[tid].arch.vex.guest_GPR12 = freeres_wrapper;
-@@ -2610,9 +2612,10 @@ asm("\n"
+ VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
+ offsetof(VexGuestPPC64State, guest_GPR2),
+@@ -2657,9 +2659,10 @@ asm("\n"
"\ttrap\n"
".previous\n"
);
@@ -359,7 +357,7 @@ index bf4a71284..102235dca 100644
So we must have one, and that is what goes into the .opd section. */
"\t.align 2\n"
"\t.global _start\n"
-@@ -2656,9 +2659,9 @@ asm("\n"
+@@ -2703,9 +2706,9 @@ asm("\n"
"\tnop\n"
"\ttrap\n"
);
@@ -373,7 +371,7 @@ index bf4a71284..102235dca 100644
asm("\n"
"\t.align 2\n"
diff --git a/coregrind/m_sigframe/sigframe-ppc64-linux.c b/coregrind/m_sigframe/sigframe-ppc64-linux.c
-index b16606c22..cc657838f 100644
+index b16606c..cc65783 100644
--- a/coregrind/m_sigframe/sigframe-ppc64-linux.c
+++ b/coregrind/m_sigframe/sigframe-ppc64-linux.c
@@ -263,7 +263,8 @@ void VG_(sigframe_create)( ThreadId tid,
@@ -387,10 +385,10 @@ index b16606c22..cc657838f 100644
tst->arch.vex.guest_CIA = (Addr) ((ULong*)handler)[0];
#else
diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c
-index e572f17cc..52d939057 100644
+index 7591eb3..51fce79 100644
--- a/coregrind/m_signals.c
+++ b/coregrind/m_signals.c
-@@ -889,7 +889,9 @@ extern void my_sigreturn(void);
+@@ -897,7 +897,9 @@ extern void my_sigreturn(void);
" sc\n" \
".previous\n"
@@ -401,7 +399,7 @@ index e572f17cc..52d939057 100644
# define _MY_SIGRETURN(name) \
".align 2\n" \
".globl my_sigreturn\n" \
-@@ -904,9 +906,10 @@ extern void my_sigreturn(void);
+@@ -912,9 +914,10 @@ extern void my_sigreturn(void);
" li 0, " #name "\n" \
" sc\n"
@@ -416,7 +414,7 @@ index e572f17cc..52d939057 100644
# define _MY_SIGRETURN(name) \
".align 2\n" \
diff --git a/coregrind/m_stacktrace.c b/coregrind/m_stacktrace.c
-index 24f1409dd..9be4c6da9 100644
+index b3ac89f..5ff90ef 100644
--- a/coregrind/m_stacktrace.c
+++ b/coregrind/m_stacktrace.c
@@ -726,7 +726,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
@@ -460,7 +458,7 @@ index 24f1409dd..9be4c6da9 100644
ppc64-linux. If LR points to our magic return stub,
then we are in a wrapped or intercepted function, in
diff --git a/coregrind/m_syscall.c b/coregrind/m_syscall.c
-index 5948cecf5..c1cdfab27 100644
+index 5948cec..c1cdfab 100644
--- a/coregrind/m_syscall.c
+++ b/coregrind/m_syscall.c
@@ -470,7 +470,8 @@ asm(
@@ -493,7 +491,7 @@ index 5948cecf5..c1cdfab27 100644
asm(
".align 2\n"
diff --git a/coregrind/m_syswrap/syscall-ppc64be-linux.S b/coregrind/m_syswrap/syscall-ppc64be-linux.S
-index 16e9cedc0..db0d8b4aa 100644
+index 16e9ced..db0d8b4 100644
--- a/coregrind/m_syswrap/syscall-ppc64be-linux.S
+++ b/coregrind/m_syswrap/syscall-ppc64be-linux.S
@@ -76,11 +76,24 @@
@@ -534,7 +532,7 @@ index 16e9cedc0..db0d8b4aa 100644
/* export the ranges so that
VG_(fixup_guest_state_after_syscall_interrupted) can do the
diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
-index 6549dd1b3..4ecbe38a6 100644
+index eada099..7186fe3 100644
--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
@@ -41,6 +41,7 @@
@@ -575,7 +573,7 @@ index 6549dd1b3..4ecbe38a6 100644
" .globl do_syscall_clone_ppc64_linux\n"
" .section \".opd\",\"aw\"\n"
diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S
-index 0488b54bd..d00916aef 100644
+index 0488b54..d00916a 100644
--- a/coregrind/m_trampoline.S
+++ b/coregrind/m_trampoline.S
@@ -469,11 +469,11 @@ VG_(ppctoc_magic_redirect_return_stub):
@@ -593,7 +591,7 @@ index 0488b54bd..d00916aef 100644
.align 3
VG_(ppc64_linux_REDIR_FOR_strlen):
diff --git a/coregrind/m_translate.c b/coregrind/m_translate.c
-index 3602a4663..bdd1d50ee 100644
+index 3602a46..6dd2845 100644
--- a/coregrind/m_translate.c
+++ b/coregrind/m_translate.c
@@ -1006,7 +1006,8 @@ static IRExpr* mkU32 ( UInt n ) {
@@ -606,7 +604,7 @@ index 3602a4663..bdd1d50ee 100644
static IRExpr* mkU8 ( UChar n ) {
return IRExpr_Const(IRConst_U8(n));
}
-@@ -1234,7 +1234,8 @@ static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr new_R2_value )
+@@ -1234,7 +1235,8 @@ static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr new_R2_value )
}
#endif
@@ -616,7 +614,7 @@ index 3602a4663..bdd1d50ee 100644
static void gen_pop_R2_LR_then_bLR ( IRSB* bb )
{
-@@ -1263,7 +1264,8 @@ static void gen_pop_R2_LR_then_bLR ( IRSB* bb )
+@@ -1263,7 +1265,8 @@ static void gen_pop_R2_LR_then_bLR ( IRSB* bb )
}
#endif
@@ -626,7 +624,7 @@ index 3602a4663..bdd1d50ee 100644
static
Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb )
-@@ -1285,7 +1287,7 @@ Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb )
+@@ -1285,7 +1288,7 @@ Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb )
}
#endif
@@ -635,7 +633,7 @@ index 3602a4663..bdd1d50ee 100644
/* Generate code to push LR and R2 onto this thread's redir stack.
Need to save R2 in case we redirect to a global entry point. The
value of R2 is not preserved when entering the global entry point.
-@@ -1366,9 +1368,7 @@ Bool mk_preamble__set_NRADDR_to_zero ( void* closureV, IRSB* bb )
+@@ -1366,9 +1369,7 @@ Bool mk_preamble__set_NRADDR_to_zero ( void* closureV, IRSB* bb )
gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( VG_(current_DiEpoch)(),
closure->readdr ) );
}
@@ -646,16 +644,17 @@ index 3602a4663..bdd1d50ee 100644
VgCallbackClosure* closure = (VgCallbackClosure*)closureV;
Int offB_GPR12 = offsetof(VexGuestArchState, guest_GPR12);
addStmtToIRSB(bb, IRStmt_Put(offB_GPR12, mkU64(closure->readdr)));
-@@ -1424,7 +1424,6 @@ Bool mk_preamble__set_NRADDR_to_nraddr ( void* closureV, IRSB* bb )
+@@ -1424,8 +1425,7 @@ Bool mk_preamble__set_NRADDR_to_nraddr ( void* closureV, IRSB* bb )
);
- gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( closure->readdr ) );
+ gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( VG_(current_DiEpoch)(),
+ closure->readdr ) );
-# endif
-#if defined(VGP_ppc64le_linux)
+#elif defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)
/* This saves the r2 before leaving the function. We need to move
* guest_NRADDR_GPR2 back to R2 on return.
*/
-@@ -1648,7 +1647,8 @@ Bool VG_(translate) ( ThreadId tid,
+@@ -1648,7 +1648,8 @@ Bool VG_(translate) ( ThreadId tid,
preamble_fn = mk_preamble__set_NRADDR_to_nraddr;
/* LE we setup the LR */
@@ -665,7 +664,7 @@ index 3602a4663..bdd1d50ee 100644
if (nraddr == (Addr)&VG_(ppctoc_magic_redirect_return_stub)) {
/* If entering the special return stub, this means a wrapped or
redirected function is returning. Make this translation one
-@@ -1692,13 +1692,14 @@ Bool VG_(translate) ( ThreadId tid,
+@@ -1692,13 +1693,14 @@ Bool VG_(translate) ( ThreadId tid,
vex_abiinfo.guest_ppc_zap_RZ_at_bl = NULL;
# endif
@@ -683,7 +682,7 @@ index 3602a4663..bdd1d50ee 100644
vex_abiinfo.guest_ppc_zap_RZ_at_bl = const_True;
vex_abiinfo.host_ppc_calls_use_fndescrs = False;
diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c
-index 21eb52bcb..f1e6b4728 100644
+index 21eb52b..f1e6b47 100644
--- a/coregrind/m_ume/elf.c
+++ b/coregrind/m_ume/elf.c
@@ -847,8 +847,8 @@ Int VG_(load_ELF)(Int fd, const HChar* name, /*MOD*/ExeInfo* info)
@@ -709,7 +708,7 @@ index 21eb52bcb..f1e6b4728 100644
info->init_toc = 0; /* meaningless on this platform */
#else
diff --git a/coregrind/pub_core_machine.h b/coregrind/pub_core_machine.h
-index d6af843df..400148d57 100644
+index d6af843..400148d 100644
--- a/coregrind/pub_core_machine.h
+++ b/coregrind/pub_core_machine.h
@@ -60,12 +60,20 @@
@@ -736,7 +735,7 @@ index d6af843df..400148d57 100644
# define VG_ELF_DATA2XXX ELFDATA2LSB
# define VG_ELF_MACHINE EM_ARM
diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c
-index ad033432a..f300fbe80 100644
+index ad03343..f300fbe 100644
--- a/coregrind/vg_preloaded.c
+++ b/coregrind/vg_preloaded.c
@@ -45,6 +45,7 @@
@@ -757,7 +756,7 @@ index ad033432a..f300fbe80 100644
address for the client request, but return the function descriptor
from this function.
diff --git a/include/valgrind.h b/include/valgrind.h
-index 577c8f05e..99e058ccf 100644
+index cc8c2b8..3d30e7f 100644
--- a/include/valgrind.h
+++ b/include/valgrind.h
@@ -143,12 +143,20 @@
@@ -786,7 +785,7 @@ index 577c8f05e..99e058ccf 100644
# define PLAT_arm_linux 1
#elif defined(__linux__) && defined(__aarch64__) && !defined(__arm__)
diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c
-index 782244481..c239f5b10 100644
+index 7822444..c239f5b 100644
--- a/memcheck/mc_leakcheck.c
+++ b/memcheck/mc_leakcheck.c
@@ -653,7 +653,7 @@ static Bool aligned_ptr_above_page0_is_vtable_addr(Addr ptr)
@@ -799,19 +798,19 @@ index 782244481..c239f5b10 100644
// more level of indirection to follow.
if (seg == NULL
diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c
-index 5ed101fca..70c64b361 100644
+index 4ce746e..e03ab33 100644
--- a/memcheck/mc_machine.c
+++ b/memcheck/mc_machine.c
@@ -132,7 +132,8 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB )
return GOF(GPRn);
by testing ox instead of o, and setting ox back 4 bytes when sz == 4.
*/
--#if defined(VGA_ppc64le)
-+#if (defined(VGA_ppc64be) && (defined(_CALL_ELF) && _CALL_ELF == 2)) \
-+ || defined(VGA_ppc64le)
+-# if defined(VGA_ppc64le)
++# if (defined(VGA_ppc64be) && (defined(_CALL_ELF) && _CALL_ELF == 2)) \
++ || defined(VGA_ppc64le)
Int ox = o;
- #else
+ # else
Int ox = sz == 8 ? o : (o - 4);
--
-2.18.0
+2.21.0
diff --git a/user/valgrind/APKBUILD b/user/valgrind/APKBUILD
index fc710b4b2..f676d18e8 100644
--- a/user/valgrind/APKBUILD
+++ b/user/valgrind/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=valgrind
-pkgver=3.13.0
-pkgrel=5
+pkgver=3.15.0
+pkgrel=0
pkgdesc="A tool to help find memory-management problems in programs"
url="http://valgrind.org/"
arch="all"
@@ -65,8 +65,8 @@ package() {
fi
}
-sha512sums="34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009 valgrind-3.13.0.tar.bz2
-71afb12748f69f0976a299c65572818b70cbce5d04f230a49a50f114351d8083c59a9e197cefbcb9145806797ff4d1d54488f50342b680c9a2b76e4a7f7cf305 0001-Ensure-ELFv2-is-supported-on-PPC64.patch
+sha512sums="5695d1355226fb63b0c80809ed43bb077b6eed4d427792d9d7ed944c38b557a84fe3c783517b921e32f161228e10e4625bea0550faa4685872bb4454450cfa7f valgrind-3.15.0.tar.bz2
+250177c3f50940560de9ad885cf5d9d7aa060ac832ced04875e1109b9114ec34e358a5c2309c8548f657e293cf50d980306d47b2cdf5e429aeabd10ffe666104 0001-Ensure-ELFv2-is-supported-on-PPC64.patch
9ee297d1b2b86891584443ad0caadc4977e1447979611ccf1cc55dbee61911b0b063bc4ad936d86c451cedae410cb3219b5a088b2ad0aa17df182d564fe36cfe arm.patch
57086a768f3876b26b0e507bc159a73f0955f03d5af8cc30e21103e348ca67f2e58b5555a5a97f299751c6602692ad43d8346bb68a80917d740fb4d65bba9665 realloc.patch
d011b2769d35ca3206967e6dac9f3fb24a6496e5bbfdc73342382245c89375b09d6948b10ba3cf8aa0050c79c0dd13b75764aec0ec5c6ac479fa930941067747 suppressions.patch
diff --git a/user/vlc/APKBUILD b/user/vlc/APKBUILD
index a06e293ed..31a7b2975 100644
--- a/user/vlc/APKBUILD
+++ b/user/vlc/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=vlc
pkgver=3.0.6
-pkgrel=1
+pkgrel=2
pkgdesc="Multi-platform MPEG, VCD/DVD, and DivX player"
triggers="vlc-libs.trigger=/usr/lib/vlc/plugins"
pkgusers="vlc"
@@ -12,34 +12,9 @@ url="https://www.videolan.org/vlc/"
arch="all"
license="GPL-2.0+"
options="!checkroot textrel"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg
- $pkgname-daemon::noarch $pkgname-libs $pkgname-plugins
- $pkgname-lang
-
- $pkgname-plugins-access:plugins_access
- $pkgname-plugins-access_output:plugins_access_output
- $pkgname-plugins-audio_filter:plugins_audio_filter
- $pkgname-plugins-audio_mixer:plugins_audio_mixer
- $pkgname-plugins-audio_output:plugins_audio_output
- $pkgname-plugins-codec:plugins_codec
- $pkgname-plugins-control:plugins_control
- $pkgname-plugins-demux:plugins_demux
- $pkgname-plugins-gui:plugins_gui
- $pkgname-plugins-lua:plugins_lua
- $pkgname-plugins-meta_engine:plugins_meta_engine
- $pkgname-plugins-misc:plugins_misc
- $pkgname-plugins-mux:plugins_mux
- $pkgname-plugins-notify:plugins_notify
- $pkgname-plugins-packetizer:plugins_packetizer
- $pkgname-plugins-services_discovery:plugins_services_discovery
- $pkgname-plugins-stream_filter:plugins_stream_filter
- $pkgname-plugins-stream_out:plugins_stream_out
- $pkgname-plugins-text_renderer:plugins_text_renderer
- $pkgname-plugins-video_chroma:plugins_video_chroma
- $pkgname-plugins-video_filter:plugins_video_filter
- $pkgname-plugins-video_output:plugins_video_output
- $pkgname-plugins-visualization:plugins_visualization"
-depends="ttf-dejavu $pkgname-plugins"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-pulse
+ $pkgname-daemon::noarch $pkgname-libs $pkgname-lang"
+depends="ttf-dejavu xdg-utils"
# Generic dependencies, then X11, then multimedia libraries
makedepends="autoconf automake bison eudev-dev flex libarchive-dev
libgcrypt-dev libtool libxml2-dev lua5.3-dev ncurses-dev sysfsutils-dev
@@ -58,6 +33,7 @@ makedepends="autoconf automake bison eudev-dev flex libarchive-dev
libraw1394-dev>=2.0.1 librsvg-dev libshout-dev libtheora-dev libva-dev
libvdpau-dev libvorbis-dev live-media-dev opus-dev pulseaudio-dev
speex-dev speexdsp-dev taglib-dev v4l-utils-dev x264-dev x265-dev"
+replaces="vlc-plugins vlc-xorg"
source="https://get.videolan.org/vlc/$pkgver/vlc-$pkgver.tar.xz
check-headless.patch
disable-sub-autodetect-fuzzy-1-test.patch
@@ -165,43 +141,23 @@ check() {
make check
}
-plugins() {
- pkgdesc="$pkgname all plugins meta package"
- depends="$pkgname-plugins-access
- $pkgname-plugins-access_output
- $pkgname-plugins-audio_filter
- $pkgname-plugins-audio_mixer
- $pkgname-plugins-audio_output
- $pkgname-plugins-codec
- $pkgname-plugins-control
- $pkgname-plugins-demux
- $pkgname-plugins-gui
- $pkgname-plugins-lua
- $pkgname-plugins-meta_engine
- $pkgname-plugins-misc
- $pkgname-plugins-mux
- $pkgname-plugins-notify
- $pkgname-plugins-packetizer
- $pkgname-plugins-services_discovery
- $pkgname-plugins-stream_filter
- $pkgname-plugins-stream_out
- $pkgname-plugins-text_renderer
- $pkgname-plugins-video_chroma
- $pkgname-plugins-video_filter
- $pkgname-plugins-video_output
- $pkgname-plugins-visualization"
- mkdir -p "$subpkgdir"
-}
-
_mv() {
local dir=${1%/*}
mkdir -p "$subpkgdir"/$dir
mv "$1" "$subpkgdir"/$dir/
}
+pulse() {
+ pkgdesc="PulseAudio support for VLC"
+ depends=""
+ install_if="vlc pulseaudio"
+ mkdir -p "$subpkgdir"/usr/lib/vlc
+ mv "$pkgdir"/usr/lib/vlc/libvlc_pulse* "$subpkgdir"/usr/lib/vlc/
+}
+
qt() {
pkgdesc="Qt frontend for VLC"
- depends="vlc-xorg=$pkgver-r$pkgrel"
+ depends="vlc=$pkgver-r$pkgrel"
cd "$pkgdir"
# scan for elf files that directly or indirectly depends on
# libQt* libraries
@@ -216,32 +172,6 @@ qt() {
"$subpkgdir"/usr/bin/
}
-xorg() {
- pkgdesc="Video LAN X.org support"
- depends="xdg-utils vlc=$pkgver-r$pkgrel"
-
- # scan for elf files that directly or indirectly depends on
- # libX* libraries
- cd "$pkgdir"
- for i in $(find . -type f ); do
- if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb|libGL"; then
- echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1
- fi
- done
-
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/svlc \
- "$subpkgdir"/usr/bin
-
- mkdir -p "$subpkgdir"/usr/share/vlc
- mv "$pkgdir"/usr/share/applications \
- "$pkgdir"/usr/share/icons \
- "$subpkgdir"/usr/share/
-
- mv "$pkgdir"/usr/share/vlc/skins2 \
- "$subpkgdir"/usr/share/vlc
-}
-
daemon() {
pkgdesc="Support for running VLC as a daemon"
install="vlc-daemon.pre-install"
@@ -262,39 +192,6 @@ libs() {
default_libs
}
-_mv_plugins() {
- local plugin=$1
- pkgdesc="$pkgname $plugin plugin"
- depends=
- mkdir -p "$subpkgdir"/usr/lib/vlc/plugins
- mv "$pkgdir"/usr/lib/vlc/plugins/"$plugin" \
- "$subpkgdir"/usr/lib/vlc/plugins
-}
-
-plugins_access() { _mv_plugins access; }
-plugins_access_output() { _mv_plugins access_output; }
-plugins_audio_filter() { _mv_plugins audio_filter; }
-plugins_audio_mixer() { _mv_plugins audio_mixer; }
-plugins_audio_output() { _mv_plugins audio_output; }
-plugins_codec() { _mv_plugins codec; }
-plugins_control() { _mv_plugins control; }
-plugins_demux() { _mv_plugins demux; }
-plugins_gui() { _mv_plugins gui; }
-plugins_lua() { _mv_plugins lua; }
-plugins_meta_engine() { _mv_plugins meta_engine; }
-plugins_misc() { _mv_plugins misc; }
-plugins_mux() { _mv_plugins mux; }
-plugins_notify() { _mv_plugins notify; }
-plugins_packetizer() { _mv_plugins packetizer; }
-plugins_services_discovery() { _mv_plugins services_discovery; }
-plugins_stream_filter() { _mv_plugins stream_filter; }
-plugins_stream_out() { _mv_plugins stream_out; }
-plugins_text_renderer() { _mv_plugins text_renderer; }
-plugins_video_chroma() { _mv_plugins video_chroma; }
-plugins_video_filter() { _mv_plugins video_filter; }
-plugins_video_output() { _mv_plugins video_output; }
-plugins_visualization() { _mv_plugins visualization; }
-
sha512sums="7c72e98f30ce5c5a94d74e097fa9960442f89240079b042a729f8a33dd7fedee2538c86c99738ccef2eb27f29055f0221d4c70316e3312c5ebba9565eaa15c52 vlc-3.0.6.tar.xz
22d80df599b8b65a5439cefbb7140af8e9530f326d54945da3769af65f37518b99ec2cc8647aafd2763324a0698280915afe043cc87e5720c4694881ed35bffa check-headless.patch
e214b407235cb3afb8bec93f20c9b42957b57e6fd3960679d3d4235e77762e03e64d03c01f00ef63d589e7c85aaad02ce6abbeeccd66b1867bc92451a5b5e9b0 disable-sub-autodetect-fuzzy-1-test.patch
diff --git a/user/vte/APKBUILD b/user/vte/APKBUILD
index 0808c026e..bd9e7c4a5 100644
--- a/user/vte/APKBUILD
+++ b/user/vte/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=vte
-pkgver=0.54.3
-pkgrel=1
+pkgver=0.56.2
+pkgrel=0
pkgdesc="Virtual terminal emulator library for Gnome"
url="https://www.gnome.org"
arch="all"
@@ -10,9 +10,8 @@ license="LGPL-2.1+ AND GPL-3.0+ AND LGPL-3.0+ AND MIT AND LGPL-2.0+"
makedepends="intltool gtk+3.0-dev gnutls-dev zlib-dev pcre2-dev
gobject-introspection-dev vala vala-dev libxml2-utils"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.gnome.org/sources/vte/0.54/vte-$pkgver.tar.xz
+source="https://download.gnome.org/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz
exitcode.patch
- vala.patch
"
build() {
@@ -34,6 +33,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="dd7d2ac361ed9ac0550599bb3164a3bd6ba95535275c9b559c81ce0af1bbf4b3d150a7489f987b2e626b32d4a8adc82d1ff78e8c8640e5b1c036fe4076c5d8ce vte-0.54.3.tar.xz
-4987254439a136f66a7b7be1300f5efbf85db74bdb64fdd8d0c9a555173a172b4fd519174f932e73d58a2618ef37273e82fe681bb129891f2792a414025f6c61 exitcode.patch
-6f699507326dcef82ab2eb1b94eb0a21255e90053d27db24c38e0dd1ec389ed7710b8032b4c12374448b59ff5b73852bbdd5ce0f5e5cdd4c84be290c7203aafc vala.patch"
+sha512sums="8327a77abdfd97d7feda358e767046054ee24f9302c9187f2979e22c0034d4a6e9bf271fc327b866a43b404d7fe50ac36d1a4aebd58340744bdde24ecaa415ad vte-0.56.2.tar.xz
+4987254439a136f66a7b7be1300f5efbf85db74bdb64fdd8d0c9a555173a172b4fd519174f932e73d58a2618ef37273e82fe681bb129891f2792a414025f6c61 exitcode.patch"
diff --git a/user/vte/vala.patch b/user/vte/vala.patch
deleted file mode 100644
index fe07dbbf0..000000000
--- a/user/vte/vala.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 53690d5cee51bdb7c3f7680d3c22b316b1086f2c Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Sat, 1 Dec 2018 19:04:59 +0100
-Subject: [PATCH] vala: Fix build with vala 0.43+ git master due to empty
- struct definition
-
-This should get a proper refactoring as the FIXME suggests.
-
-See https://gitlab.gnome.org/GNOME/vte/issues/76
----
- bindings/vala/app.vala | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/bindings/vala/app.vala b/bindings/vala/app.vala
-index 8663d63c..a534e76b 100644
---- a/bindings/vala/app.vala
-+++ b/bindings/vala/app.vala
-@@ -819,6 +819,8 @@ class App : Gtk.Application
-
- public struct Options
- {
-+ //FIXME Merge this struct into App class
-+ public int dummy;
- public static bool audible = false;
- public static string? command = null;
- private static string? cjk_ambiguous_width_string = null;
---
-2.18.1
-
diff --git a/user/wine/APKBUILD b/user/wine/APKBUILD
index 99cf1f2dd..ea9384603 100644
--- a/user/wine/APKBUILD
+++ b/user/wine/APKBUILD
@@ -4,7 +4,7 @@
# Contributor: Martell Malone <martell@marinelayer.io>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=wine
-pkgver=3.0.2
+pkgver=4.0.1
pkgrel=0
pkgdesc="A compatibility layer for running Windows programs"
url="http://www.winehq.com"
@@ -20,7 +20,7 @@ makedepends="fontconfig-dev openldap-dev libxslt-dev libxxf86dga-dev
libxcomposite-dev libxrender-dev libxinerama-dev zlib-dev
cups-dev alsa-lib-dev libxml2-dev dbus-dev libxi-dev
gnutls-dev tiff-dev v4l-utils-dev udisks2-dev autoconf automake
- openal-soft-dev pulseaudio-dev sane-dev eudev-dev
+ openal-soft-dev pulseaudio-dev sane-dev eudev-dev mpg123-dev
"
source="http://dl.winehq.org/$pkgname/source/${pkgver%.[1-9]}/$pkgname-$pkgver.tar.xz
no-pie.patch
@@ -53,6 +53,7 @@ build() {
--with-fontconfig \
--with-freetype \
--with-jpeg \
+ --with-mpg123 \
--with-openal \
--with-opengl \
--with-png \
@@ -64,7 +65,7 @@ build() {
--with-xcomposite \
--with-xinerama \
--with-xslt \
- $_win64
+ $_win64
make
}
@@ -129,6 +130,6 @@ libs() {
done
}
-sha512sums="dbd0f242c5eace297ad16e314b8ad139e7d430de7eb8ca52b2006d0b80db4809e28a0e785d404a65ea1acdb56e7f06ebfc9a50071db1edaa6180c8835e7c4b13 wine-3.0.2.tar.xz
-d853875f7d659617bdfba364704abd75b760d12977f1f13acc73acb3c8fefec0549677fb79a4f8955e073d64078b3071d63d97262522e22b7832a66d3d820a9c no-pie.patch
+sha512sums="dd240525e389f841123a569fd2f9b8da698b7707bc0de408dfd60ae73c5e24d522abb42b76571c840df52c686fdeae56e0a9c69db2cd31f04cdb345feeacf1dc wine-4.0.1.tar.xz
+a96b1e248447912ba522067b67fc920063f355f326eaf3fec760c79a1c6e46019fbdcfa8b95b9d389959a7e3d3ab794f9aaf78913ad6a73be32b5d34ca8a2267 no-pie.patch
522a94a31fc459e80ea7dd05f7aee64f6ae666ec05236d06614acde118d5c60002e0f253ae75edb5f02164f22937ca89578504b690d1a5611bd60f703c8f0c00 winhlp32-flex.patch"
diff --git a/user/wine/no-pie.patch b/user/wine/no-pie.patch
index 5fb5d87b6..2874e0af8 100644
--- a/user/wine/no-pie.patch
+++ b/user/wine/no-pie.patch
@@ -1,14 +1,11 @@
-diff --git a/loader/Makefile.in b/loader/Makefile.in
-index 8190037..437d4d9 100644
---- a/loader/Makefile.in
-+++ b/loader/Makefile.in
-@@ -26,7 +26,7 @@ wine64_DEPS = $(WINELOADER_DEPENDS)
- wine64_LDFLAGS = $(LDEXECFLAGS) -lwine $(PTHREAD_LIBS)
+--- wine-4.0.1/configure.ac
++++ wine-4.0.1/configure.ac
+@@ -955,7 +955,7 @@
- wine_preloader_OBJS = preloader.o
--wine_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
-+wine_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie
+ WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
+ [WINELOADER_LDFLAGS="-Wl,--export-dynamic"])
+- WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000"
++ WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie"
- wine64_preloader_OBJS = preloader.o
--wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
-+wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie
+ WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
diff --git a/user/wine/nopie.patch b/user/wine/nopie.patch
deleted file mode 100644
index 54eb141be..000000000
--- a/user/wine/nopie.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/loader/Makefile.in b/loader/Makefile.in
-index 8190037..b4f2902 100644
---- a/loader/Makefile.in
-+++ b/loader/Makefile.in
-@@ -29,4 +29,4 @@ wine_preloader_OBJS = preloader.o
- wine_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
-
- wine64_preloader_OBJS = preloader.o
--wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000
-+wine64_preloader_LDFLAGS = -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 -no-pie
diff --git a/user/wireguard-module-power8-64k/APKBUILD b/user/wireguard-module-power8-64k/APKBUILD
index 0e08c993f..487d722c0 100644
--- a/user/wireguard-module-power8-64k/APKBUILD
+++ b/user/wireguard-module-power8-64k/APKBUILD
@@ -3,7 +3,7 @@
# KEEP THIS IN SYNC with the other wireguard-module packages.
_kflavour="-power8-64k"
_kver="4.14.88-mc13"
-pkgver=0.0.20190227
+pkgver=0.0.20190601
pkgrel=0
_pkgname="wireguard-module$_kflavour"
pkgname="$_pkgname-$_kver"
@@ -29,4 +29,4 @@ package() {
make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install
}
-sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz"
+sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz"
diff --git a/user/wireguard-module-power8/APKBUILD b/user/wireguard-module-power8/APKBUILD
index 6ea11b28c..da2e52d80 100644
--- a/user/wireguard-module-power8/APKBUILD
+++ b/user/wireguard-module-power8/APKBUILD
@@ -3,7 +3,7 @@
# KEEP THIS IN SYNC with the other wireguard-module packages.
_kflavour="-power8"
_kver="4.14.88-mc13"
-pkgver=0.0.20190227
+pkgver=0.0.20190601
pkgrel=0
_pkgname="wireguard-module$_kflavour"
pkgname="$_pkgname-$_kver"
@@ -29,4 +29,4 @@ package() {
make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install
}
-sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz"
+sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz"
diff --git a/user/wireguard-module/APKBUILD b/user/wireguard-module/APKBUILD
index b85581303..cb3bfaf98 100644
--- a/user/wireguard-module/APKBUILD
+++ b/user/wireguard-module/APKBUILD
@@ -3,7 +3,7 @@
# KEEP THIS IN SYNC with the other wireguard-module packages.
_kflavour=""
_kver="4.14.88-mc13"
-pkgver=0.0.20190227
+pkgver=0.0.20190601
pkgrel=0
_pkgname="wireguard-module$_kflavour"
pkgname="$_pkgname-$_kver"
@@ -29,4 +29,4 @@ package() {
make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install
}
-sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz"
+sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz"
diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD
index c14471f7f..2ae8d845b 100644
--- a/user/wireguard-tools/APKBUILD
+++ b/user/wireguard-tools/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Luis Ressel <aranea@aixah.de>
pkgname=wireguard-tools
_pkgreal=WireGuard
-pkgver=0.0.20190227
+pkgver=0.0.20190601
pkgrel=0
pkgdesc="Userland tools for the WireGuard VPN"
url="https://www.wireguard.com/"
@@ -43,4 +43,4 @@ _patch() {
}
-sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz"
+sha512sums="d667e42b90fbda85b005ae2966689dadc9975c1a53ca5ddfff44214ed55ad7d55d451008c225a4619c834bd7af598af1f127d76a8a3a86cf2e6d886ea0638cf3 WireGuard-0.0.20190601.tar.xz"
diff --git a/user/wireless-regdb/APKBUILD b/user/wireless-regdb/APKBUILD
new file mode 100644
index 000000000..610629eb5
--- /dev/null
+++ b/user/wireless-regdb/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Luis Ressel <aranea@aixah.de>
+# Maintainer: Luis Ressel <aranea@aixah.de>
+pkgname=wireless-regdb
+pkgver=2019.06.03
+pkgrel=0
+pkgdesc="Database of regulatory radio restrictions"
+url="https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb"
+arch="noarch"
+options="!check" # no test suite
+license="ISC"
+depends=""
+makedepends=""
+subpackages="$pkgname-doc"
+source="https://kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.xz"
+
+package() {
+ install -Dm644 -t "$pkgdir/lib/firmware" regulatory.db regulatory.db.p7s
+ install -Dm644 -t "$pkgdir/usr/share/man/man5" regulatory.bin.5 regulatory.db.5
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" db.txt
+}
+
+sha512sums="73209ca28c59d6760349ffb713f550300e80db1592bae52b6d252ac9401fa2bb2ace7e6c30cf55df7541da9cef4c8587f3790f7aa34529552468e4b63a3d8fdb wireless-regdb-2019.06.03.tar.xz"
diff --git a/user/wpa_supplicant/APKBUILD b/user/wpa_supplicant/APKBUILD
index ba297f885..549bc4181 100644
--- a/user/wpa_supplicant/APKBUILD
+++ b/user/wpa_supplicant/APKBUILD
@@ -1,28 +1,20 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=wpa_supplicant
-pkgver=2.6
-pkgrel=11
+pkgver=2.8
+pkgrel=0
pkgdesc="Utility providing key negotiation for WPA wireless networks"
url="https://w1.fi/wpa_supplicant/"
arch="all"
license="BSD-3-Clause AND Public-Domain AND (GPL-2.0+ OR BSD-3-Clause)"
options="!check" # No test suite
-subpackages="$pkgname-doc $pkgname-openrc wpa_gui"
-depends="dbus"
+subpackages="$pkgname-dbus::noarch $pkgname-doc $pkgname-openrc wpa_gui"
+depends=""
makedepends="linux-headers openssl-dev dbus-dev libnl3-dev qt5-qtbase-dev"
-source="http://w1.fi/releases/$pkgname-$pkgver.tar.gz
- rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
- rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
- rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
- rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
- rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
- rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
- rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
- rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
-
+source="https://w1.fi/releases/$pkgname-$pkgver.tar.gz
wpa_supplicant.initd
wpa_supplicant.confd
+ dbus.patch
eloop.patch
config
@@ -41,7 +33,6 @@ source="http://w1.fi/releases/$pkgname-$pkgver.tar.gz
# - CVE-2017-13088
prepare() {
- cd "$builddir"
default_prepare
# Copy our configuration file to the build directory
@@ -72,15 +63,6 @@ package() {
done
install -Dm755 eapol_test "$pkgdir"/sbin/eapol_test
- # dbus
- cd dbus
- install -d "$pkgdir"/etc/dbus-1/system.d
- install -m644 dbus-wpa_supplicant.conf \
- "$pkgdir"/etc/dbus-1/system.d/wpa_supplicant.conf
- install -d "$pkgdir"/usr/share/dbus-1/system-services
- install fi.epitest.hostap.WPASupplicant.service \
- "$pkgdir"/usr/share/dbus-1/system-services
- install -d "$pkgdir"/var/run/wpa_supplicant
install -Dm755 "$srcdir"/wpa_supplicant.initd \
"$pkgdir"/etc/init.d/wpa_supplicant
install -Dm644 "$srcdir"/wpa_supplicant.confd \
@@ -91,6 +73,20 @@ package() {
ln -s ../sbin/wpa_cli "$pkgdir"/bin/wpa_cli
}
+dbus() {
+ pkgdesc="$pkgdesc (dbus services)"
+ depends="$pkgname dbus"
+ install_if="$pkgname=$pkgver-r$pkgrel dbus"
+
+ cd "$builddir/wpa_supplicant/dbus"
+ install -d "$subpkgdir"/etc/dbus-1/system.d
+ install -m644 dbus-wpa_supplicant.conf \
+ "$subpkgdir"/etc/dbus-1/system.d/wpa_supplicant.conf
+ install -d "$subpkgdir"/usr/share/dbus-1/system-services
+ install fi.w1.wpa_supplicant1.service \
+ "$subpkgdir"/usr/share/dbus-1/system-services
+}
+
wpa_gui() {
pkgdesc="Graphical User Interface for wpa_supplicant"
depends="$pkgname"
@@ -99,17 +95,10 @@ wpa_gui() {
install -Dm755 wpa_gui-qt4/wpa_gui "$subpkgdir"/usr/bin/wpa_gui
}
-sha512sums="46442cddb6ca043b8b08d143908f149954c238e0f3a57a0df73ca4fab9c1acd91b078f3f26375a1d99cd1d65625986328018c735d8705882c8f91e389cad28a6 wpa_supplicant-2.6.tar.gz
-f855fa792425f175ccc800eb49df42067b1c1f4b52ba2d24160af4dfbb74dcf8e81661b7e6c8d92fa408938b8a559fc74557d1677913e4a751bfd43706c14bb6 rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
-b4e413aa815572ea0002d33d24b69cd499aebb5efebed8fcaade8b29324bb5853a5db64e8b1dfdf24478e02c66196238b81a6ec777a7a28610435dce4d2c344e rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
-a6382d8e84b4829be33c46bf2f4c6f3232c9d924a4547a21dfe023bf5be8ee1c635920295f52be285359efaae95bcc1f12b512659cfd1653b871dd0bea7e5ace rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
-51ed806f0d5b3f588e26d4db4dcfc6be2cfb12002e26893a6cedd62c7cad0d0de75aed4a666223c4877fc1854b08dce6ddf6f6c4cfd752a5d8d58ad4a968b553 rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
-8707a123cd78149dfee9f5bd791761ee1eca605ef96580167044c2339c896920cf0e030b184a5afa9e310f5755afb30bef8ebd4522fc52753f3fbd6acead2cdf rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
-37d050b2e4a3598484912667d8b2705fbe84c5c562267f900d42b0c7b606fb1fed09ddca8b80e2131768baa8f3690aab6ba7a232dee6ff1e66150fdb8816c927 rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
-111e655cfbb3a86e3792040e0ea375490d31c42c9d43cbe911290d54df5f4db437e4c8ad0e937c51729dcefeb0db0989b8ab55b9523398683abd08ebfec18076 rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
-fc84edd8b30305cc42053c872554098f3f077292ec980ed6a442f37884087ff2f055738fd55977ed792bef1887dcc8c4626586465d78dd0258edb83dcd50a65a rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
+sha512sums="b37d254d32a4b7a1f95fcb18ec1be0ffb9d025e0b21c42c53acc4cd839be355df1b125b32cc073f9fe09b746807321e23dbe25dc2fc8a7cafa1e71add69f245b wpa_supplicant-2.8.tar.gz
11eed22f6e793f40c788d586c715deecae03c421d11761b7b4a376660bce812c54cc6f353c7d4d5da9c455aeffd778baefb9e76d380027a729574a756e54ddcc wpa_supplicant.initd
29103161ec2b9631fca9e8d9a97fafd60ffac3fe78cf613b834395ddcaf8be1e253c22e060d7d9f9b974b2d7ce794caa932a2125e29f6494b75bce475f7b30e1 wpa_supplicant.confd
+dac56bc505a51167042ebe548f0e81a20a5578f753af9bb7ec3335a542d799c6e8739681ef7c8f7747a9bc954f8aa6f1a147250eacba17fd7fff80c4e53638ed dbus.patch
2be055dd1f7da5a3d8e79c2f2c0220ddd31df309452da18f290144d2112d6dbde0fc633bb2ad02c386a39d7785323acaf5f70e5969995a1e8303a094eb5fe232 eloop.patch
221660fa0350442a7d8371686b2118861052a4613fb352b7f80079e3750b82f4e48efc378b9d617455007d1106552b695fdca506a3c338283986641f3848b202 config
45d3e70c47d0f7d6dc6730853af8cbcb40ed0713ee7b1069698f5a635939f273f66e72d4221e064c3c71a92154cf07841c8c0d4fc14d796dbb6fe0d92776ee2b wpa_cli.sh"
diff --git a/user/wpa_supplicant/dbus.patch b/user/wpa_supplicant/dbus.patch
new file mode 100644
index 000000000..0f340c956
--- /dev/null
+++ b/user/wpa_supplicant/dbus.patch
@@ -0,0 +1,13 @@
+diff --git a/wpa_supplicant/dbus/dbus_new_helpers.c b/wpa_supplicant/dbus/dbus_new_helpers.c
+index 45623f3..0fc3d08 100644
+--- a/wpa_supplicant/dbus/dbus_new_helpers.c
++++ b/wpa_supplicant/dbus/dbus_new_helpers.c
+@@ -847,7 +847,7 @@ void wpa_dbus_mark_property_changed(struct wpas_dbus_priv *iface,
+ const struct wpa_dbus_property_desc *dsc;
+ int i = 0;
+
+- if (iface == NULL)
++ if (iface == NULL || path == NULL)
+ return;
+
+ dbus_connection_get_object_path_data(iface->con, path,
diff --git a/user/wpa_supplicant/libressl.patch b/user/wpa_supplicant/libressl.patch
deleted file mode 100644
index 56146eab5..000000000
--- a/user/wpa_supplicant/libressl.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/src/crypto/crypto_openssl.c.orig
-+++ b/src/crypto/crypto_openssl.c
-@@ -611,7 +611,7 @@
-
- void * dh5_init(struct wpabuf **priv, struct wpabuf **publ)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- DH *dh;
- struct wpabuf *pubkey = NULL, *privkey = NULL;
- size_t publen, privlen;
-@@ -712,7 +712,7 @@
-
- void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- DH *dh;
-
- dh = DH_new();
---- a/src/crypto/tls_openssl.c.orig
-+++ b/src/crypto/tls_openssl.c
-@@ -919,7 +919,7 @@
- }
- #endif /* OPENSSL_FIPS */
- #endif /* CONFIG_FIPS */
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- SSL_load_error_strings();
- SSL_library_init();
- #ifndef OPENSSL_NO_SHA256
-@@ -1043,7 +1043,7 @@
-
- tls_openssl_ref_count--;
- if (tls_openssl_ref_count == 0) {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- #ifndef OPENSSL_NO_ENGINE
- ENGINE_cleanup();
- #endif /* OPENSSL_NO_ENGINE */
-@@ -2334,7 +2334,7 @@
- return 0;
-
- #ifdef PKCS12_FUNCS
--#if OPENSSL_VERSION_NUMBER < 0x10002000L
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
- /*
- * Clear previously set extra chain certificates, if any, from PKCS#12
- * processing in tls_parse_pkcs12() to allow OpenSSL to build a new
diff --git a/user/wpa_supplicant/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch b/user/wpa_supplicant/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
deleted file mode 100644
index 727684865..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 14 Jul 2017 15:15:35 +0200
-Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake
-
-Do not reinstall TK to the driver during Reassociation Response frame
-processing if the first attempt of setting the TK succeeded. This avoids
-issues related to clearing the TX/RX PN that could result in reusing
-same PN values for transmitted frames (e.g., due to CCM nonce reuse and
-also hitting replay protection on the receiver) and accepting replayed
-frames on RX side.
-
-This issue was introduced by the commit
-0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
-authenticator') which allowed wpa_ft_install_ptk() to be called multiple
-times with the same PTK. While the second configuration attempt is
-needed with some drivers, it must be done only if the first attempt
-failed.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/ap/ieee802_11.c | 16 +++++++++++++---
- src/ap/wpa_auth.c | 11 +++++++++++
- src/ap/wpa_auth.h | 3 ++-
- src/ap/wpa_auth_ft.c | 10 ++++++++++
- src/ap/wpa_auth_i.h | 1 +
- 5 files changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index 4e04169..333035f 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
- {
- struct ieee80211_ht_capabilities ht_cap;
- struct ieee80211_vht_capabilities vht_cap;
-+ int set = 1;
-
- /*
- * Remove the STA entry to ensure the STA PS state gets cleared and
-@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
- * FT-over-the-DS, where a station re-associates back to the same AP but
- * skips the authentication flow, or if working with a driver that
- * does not support full AP client state.
-+ *
-+ * Skip this if the STA has already completed FT reassociation and the
-+ * TK has been configured since the TX/RX PN must not be reset to 0 for
-+ * the same key.
- */
-- if (!sta->added_unassoc)
-+ if (!sta->added_unassoc &&
-+ (!(sta->flags & WLAN_STA_AUTHORIZED) ||
-+ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
- hostapd_drv_sta_remove(hapd, sta->addr);
-+ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
-+ set = 0;
-+ }
-
- #ifdef CONFIG_IEEE80211N
- if (sta->flags & WLAN_STA_HT)
-@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
- sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
- sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
- sta->vht_opmode, sta->p2p_ie ? 1 : 0,
-- sta->added_unassoc)) {
-+ set)) {
- hostapd_logger(hapd, sta->addr,
- HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
- "Could not %s STA to kernel driver",
-- sta->added_unassoc ? "set" : "add");
-+ set ? "set" : "add");
-
- if (sta->added_unassoc) {
- hostapd_drv_sta_remove(hapd, sta->addr);
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 3587086..707971d 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
- #else /* CONFIG_IEEE80211R */
- break;
- #endif /* CONFIG_IEEE80211R */
-+ case WPA_DRV_STA_REMOVED:
-+ sm->tk_already_set = FALSE;
-+ return 0;
- }
-
- #ifdef CONFIG_IEEE80211R
-@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
- }
-
-
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
-+{
-+ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
-+ return 0;
-+ return sm->tk_already_set;
-+}
-+
-+
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- struct rsn_pmksa_cache_entry *entry)
- {
-diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
-index 0de8d97..97461b0 100644
---- a/src/ap/wpa_auth.h
-+++ b/src/ap/wpa_auth.h
-@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
- u8 *data, size_t data_len);
- enum wpa_event {
- WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
-- WPA_REAUTH_EAPOL, WPA_ASSOC_FT
-+ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
- };
- void wpa_remove_ptk(struct wpa_state_machine *sm);
- int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
-@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
- int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
- int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
- int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- struct rsn_pmksa_cache_entry *entry);
- struct rsn_pmksa_cache_entry *
-diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
-index 42242a5..e63b99a 100644
---- a/src/ap/wpa_auth_ft.c
-+++ b/src/ap/wpa_auth_ft.c
-@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
- return;
- }
-
-+ if (sm->tk_already_set) {
-+ /* Must avoid TK reconfiguration to prevent clearing of TX/RX
-+ * PN in the driver */
-+ wpa_printf(MSG_DEBUG,
-+ "FT: Do not re-install same PTK to the driver");
-+ return;
-+ }
-+
- /* FIX: add STA entry to kernel/driver here? The set_key will fail
- * most likely without this.. At the moment, STA entry is added only
- * after association has been completed. This function will be called
-@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
-
- /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
- sm->pairwise_set = TRUE;
-+ sm->tk_already_set = TRUE;
- }
-
-
-@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
-
- sm->pairwise = pairwise;
- sm->PTK_valid = TRUE;
-+ sm->tk_already_set = FALSE;
- wpa_ft_install_ptk(sm);
-
- buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
-diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
-index 72b7eb3..7fd8f05 100644
---- a/src/ap/wpa_auth_i.h
-+++ b/src/ap/wpa_auth_i.h
-@@ -65,6 +65,7 @@ struct wpa_state_machine {
- struct wpa_ptk PTK;
- Boolean PTK_valid;
- Boolean pairwise_set;
-+ Boolean tk_already_set;
- int keycount;
- Boolean Pair;
- struct wpa_key_replay_counter {
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch b/user/wpa_supplicant/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
deleted file mode 100644
index 1802d664a..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Wed, 12 Jul 2017 16:03:24 +0200
-Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key
-
-Track the current GTK and IGTK that is in use and when receiving a
-(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
-not install the given key if it is already in use. This prevents an
-attacker from trying to trick the client into resetting or lowering the
-sequence counter associated to the group key.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/common/wpa_common.h | 11 +++++
- src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------
- src/rsn_supp/wpa_i.h | 4 ++
- 3 files changed, 87 insertions(+), 44 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index af1d0f0..d200285 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -217,6 +217,17 @@ struct wpa_ptk {
- size_t tk_len;
- };
-
-+struct wpa_gtk {
-+ u8 gtk[WPA_GTK_MAX_LEN];
-+ size_t gtk_len;
-+};
-+
-+#ifdef CONFIG_IEEE80211W
-+struct wpa_igtk {
-+ u8 igtk[WPA_IGTK_MAX_LEN];
-+ size_t igtk_len;
-+};
-+#endif /* CONFIG_IEEE80211W */
-
- /* WPA IE version 1
- * 00-50-f2:1 (OUI:OUI type)
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 3c47879..95bd7be 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- const u8 *_gtk = gd->gtk;
- u8 gtk_buf[32];
-
-+ /* Detect possible key reinstallation */
-+ if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
-+ gd->keyidx, gd->tx, gd->gtk_len);
-+ return 0;
-+ }
-+
- wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
-@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- }
- os_memset(gtk_buf, 0, sizeof(gtk_buf));
-
-+ sm->gtk.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+
- return 0;
- }
-
-@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- }
-
-
-+#ifdef CONFIG_IEEE80211W
-+static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-+ const struct wpa_igtk_kde *igtk)
-+{
-+ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
-+ u16 keyidx = WPA_GET_LE16(igtk->keyid);
-+
-+ /* Detect possible key reinstallation */
-+ if (sm->igtk.igtk_len == len &&
-+ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
-+ keyidx);
-+ return 0;
-+ }
-+
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
-+ keyidx, MAC2STR(igtk->pn));
-+ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
-+ if (keyidx > 4095) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Invalid IGTK KeyID %d", keyidx);
-+ return -1;
-+ }
-+ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-+ broadcast_ether_addr,
-+ keyidx, 0, igtk->pn, sizeof(igtk->pn),
-+ igtk->igtk, len) < 0) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Failed to configure IGTK to the driver");
-+ return -1;
-+ }
-+
-+ sm->igtk.igtk_len = len;
-+ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+
-+ return 0;
-+}
-+#endif /* CONFIG_IEEE80211W */
-+
-+
- static int ieee80211w_set_keys(struct wpa_sm *sm,
- struct wpa_eapol_ie_parse *ie)
- {
-@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- if (ie->igtk) {
- size_t len;
- const struct wpa_igtk_kde *igtk;
-- u16 keyidx;
-+
- len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
- return -1;
-+
- igtk = (const struct wpa_igtk_kde *) ie->igtk;
-- keyidx = WPA_GET_LE16(igtk->keyid);
-- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
-- "pn %02x%02x%02x%02x%02x%02x",
-- keyidx, MAC2STR(igtk->pn));
-- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
-- igtk->igtk, len);
-- if (keyidx > 4095) {
-- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-- "WPA: Invalid IGTK KeyID %d", keyidx);
-- return -1;
-- }
-- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-- broadcast_ether_addr,
-- keyidx, 0, igtk->pn, sizeof(igtk->pn),
-- igtk->igtk, len) < 0) {
-- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-- "WPA: Failed to configure IGTK to the driver");
-+ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- return -1;
-- }
- }
-
- return 0;
-@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
- */
- void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- {
-- int clear_ptk = 1;
-+ int clear_keys = 1;
-
- if (sm == NULL)
- return;
-@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- /* Prepare for the next transition */
- wpa_ft_prepare_auth_request(sm, NULL);
-
-- clear_ptk = 0;
-+ clear_keys = 0;
- }
- #endif /* CONFIG_IEEE80211R */
-
-- if (clear_ptk) {
-+ if (clear_keys) {
- /*
- * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
- * this is not part of a Fast BSS Transition.
-@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- sm->tptk_set = 0;
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- }
-
- #ifdef CONFIG_TDLS
-@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- os_memset(sm->pmk, 0, sizeof(sm->pmk));
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
- os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
-@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- os_memset(&gd, 0, sizeof(gd));
- #ifdef CONFIG_IEEE80211W
- } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
-- struct wpa_igtk_kde igd;
-- u16 keyidx;
--
-- os_memset(&igd, 0, sizeof(igd));
-- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
-- os_memcpy(igd.keyid, buf + 2, 2);
-- os_memcpy(igd.pn, buf + 4, 6);
--
-- keyidx = WPA_GET_LE16(igd.keyid);
-- os_memcpy(igd.igtk, buf + 10, keylen);
--
-- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
-- igd.igtk, keylen);
-- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-- broadcast_ether_addr,
-- keyidx, 0, igd.pn, sizeof(igd.pn),
-- igd.igtk, keylen) < 0) {
-- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
-- "WNM mode");
-- os_memset(&igd, 0, sizeof(igd));
-+ const struct wpa_igtk_kde *igtk;
-+
-+ igtk = (const struct wpa_igtk_kde *) (buf + 2);
-+ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- return -1;
-- }
-- os_memset(&igd, 0, sizeof(igd));
- #endif /* CONFIG_IEEE80211W */
- } else {
- wpa_printf(MSG_DEBUG, "Unknown element id");
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index f653ba6..afc9e37 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -31,6 +31,10 @@ struct wpa_sm {
- u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
- int rx_replay_counter_set;
- u8 request_counter[WPA_REPLAY_COUNTER_LEN];
-+ struct wpa_gtk gtk;
-+#ifdef CONFIG_IEEE80211W
-+ struct wpa_igtk igtk;
-+#endif /* CONFIG_IEEE80211W */
-
- struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
-
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch b/user/wpa_supplicant/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
deleted file mode 100644
index e2937b851..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:12:24 +0300
-Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
- Mode cases
-
-This extends the protection to track last configured GTK/IGTK value
-separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
-corner case where these two different mechanisms may get used when the
-GTK/IGTK has changed and tracking a single value is not sufficient to
-detect a possible key reconfiguration.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++---------------
- src/rsn_supp/wpa_i.h | 2 ++
- 2 files changed, 40 insertions(+), 15 deletions(-)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 95bd7be..7a2c68d 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -709,14 +709,17 @@ struct wpa_gtk_data {
-
- static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- const struct wpa_gtk_data *gd,
-- const u8 *key_rsc)
-+ const u8 *key_rsc, int wnm_sleep)
- {
- const u8 *_gtk = gd->gtk;
- u8 gtk_buf[32];
-
- /* Detect possible key reinstallation */
-- if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
-+ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+ sm->gtk_wnm_sleep.gtk_len) == 0)) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
- gd->keyidx, gd->tx, gd->gtk_len);
-@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- }
- os_memset(gtk_buf, 0, sizeof(gtk_buf));
-
-- sm->gtk.gtk_len = gd->gtk_len;
-- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+ if (wnm_sleep) {
-+ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+ sm->gtk_wnm_sleep.gtk_len);
-+ } else {
-+ sm->gtk.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+ }
-
- return 0;
- }
-@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
- gtk_len, gtk_len,
- &gd.key_rsc_len, &gd.alg) ||
-- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
-+ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "RSN: Failed to install GTK");
- os_memset(&gd, 0, sizeof(gd));
-@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
-
- #ifdef CONFIG_IEEE80211W
- static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-- const struct wpa_igtk_kde *igtk)
-+ const struct wpa_igtk_kde *igtk,
-+ int wnm_sleep)
- {
- size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- u16 keyidx = WPA_GET_LE16(igtk->keyid);
-
- /* Detect possible key reinstallation */
-- if (sm->igtk.igtk_len == len &&
-- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+ if ((sm->igtk.igtk_len == len &&
-+ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
-+ (sm->igtk_wnm_sleep.igtk_len == len &&
-+ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+ sm->igtk_wnm_sleep.igtk_len) == 0)) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
- keyidx);
-@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
- return -1;
- }
-
-- sm->igtk.igtk_len = len;
-- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+ if (wnm_sleep) {
-+ sm->igtk_wnm_sleep.igtk_len = len;
-+ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+ sm->igtk_wnm_sleep.igtk_len);
-+ } else {
-+ sm->igtk.igtk_len = len;
-+ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+ }
-
- return 0;
- }
-@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- return -1;
-
- igtk = (const struct wpa_igtk_kde *) ie->igtk;
-- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
- return -1;
- }
-
-@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
- if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
- key_rsc = null_rsc;
-
-- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
-+ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
- wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
- goto failed;
- os_memset(&gd, 0, sizeof(gd));
-@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- sm->tptk_set = 0;
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- }
-
-@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
-@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
-
- wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
- gd.gtk, gd.gtk_len);
-- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
-+ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
- os_memset(&gd, 0, sizeof(gd));
- wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
- "WNM mode");
-@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- const struct wpa_igtk_kde *igtk;
-
- igtk = (const struct wpa_igtk_kde *) (buf + 2);
-- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
- return -1;
- #endif /* CONFIG_IEEE80211W */
- } else {
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index afc9e37..9a54631 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -32,8 +32,10 @@ struct wpa_sm {
- int rx_replay_counter_set;
- u8 request_counter[WPA_REPLAY_COUNTER_LEN];
- struct wpa_gtk gtk;
-+ struct wpa_gtk gtk_wnm_sleep;
- #ifdef CONFIG_IEEE80211W
- struct wpa_igtk igtk;
-+ struct wpa_igtk igtk_wnm_sleep;
- #endif /* CONFIG_IEEE80211W */
-
- struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch b/user/wpa_supplicant/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
deleted file mode 100644
index 22ee21794..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 29 Sep 2017 04:22:51 +0200
-Subject: [PATCH 4/8] Prevent installation of an all-zero TK
-
-Properly track whether a PTK has already been installed to the driver
-and the TK part cleared from memory. This prevents an attacker from
-trying to trick the client into installing an all-zero TK.
-
-This fixes the earlier fix in commit
-ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
-driver in EAPOL-Key 3/4 retry case') which did not take into account
-possibility of an extra message 1/4 showing up between retries of
-message 3/4.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/common/wpa_common.h | 1 +
- src/rsn_supp/wpa.c | 5 ++---
- src/rsn_supp/wpa_i.h | 1 -
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index d200285..1021ccb 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -215,6 +215,7 @@ struct wpa_ptk {
- size_t kck_len;
- size_t kek_len;
- size_t tk_len;
-+ int installed; /* 1 if key has already been installed to driver */
- };
-
- struct wpa_gtk {
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 7a2c68d..0550a41 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
- os_memset(buf, 0, sizeof(buf));
- }
- sm->tptk_set = 1;
-- sm->tk_to_set = 1;
-
- kde = sm->assoc_wpa_ie;
- kde_len = sm->assoc_wpa_ie_len;
-@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
- enum wpa_alg alg;
- const u8 *key_rsc;
-
-- if (!sm->tk_to_set) {
-+ if (sm->ptk.installed) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Do not re-install same PTK to the driver");
- return 0;
-@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
-
- /* TK is not needed anymore in supplicant */
- os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
-- sm->tk_to_set = 0;
-+ sm->ptk.installed = 1;
-
- if (sm->wpa_ptk_rekey) {
- eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 9a54631..41f371f 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -24,7 +24,6 @@ struct wpa_sm {
- struct wpa_ptk ptk, tptk;
- int ptk_set, tptk_set;
- unsigned int msg_3_of_4_ok:1;
-- unsigned int tk_to_set:1;
- u8 snonce[WPA_NONCE_LEN];
- u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
- int renew_snonce;
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch b/user/wpa_supplicant/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
deleted file mode 100644
index c19c4c710..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:32:57 +0300
-Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce
-
-The Authenticator state machine path for PTK rekeying ended up bypassing
-the AUTHENTICATION2 state where a new ANonce is generated when going
-directly to the PTKSTART state since there is no need to try to
-determine the PMK again in such a case. This is far from ideal since the
-new PTK would depend on a new nonce only from the supplicant.
-
-Fix this by generating a new ANonce when moving to the PTKSTART state
-for the purpose of starting new 4-way handshake to rekey PTK.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
- 1 file changed, 21 insertions(+), 3 deletions(-)
-
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 707971d..bf10cc1 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
- }
-
-
-+static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
-+{
-+ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
-+ wpa_printf(MSG_ERROR,
-+ "WPA: Failed to get random data for ANonce");
-+ sm->Disconnect = TRUE;
-+ return -1;
-+ }
-+ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
-+ WPA_NONCE_LEN);
-+ sm->TimeoutCtr = 0;
-+ return 0;
-+}
-+
-+
- SM_STATE(WPA_PTK, INITPMK)
- {
- u8 msk[2 * PMK_LEN];
-@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
- SM_ENTER(WPA_PTK, AUTHENTICATION);
- else if (sm->ReAuthenticationRequest)
- SM_ENTER(WPA_PTK, AUTHENTICATION2);
-- else if (sm->PTKRequest)
-- SM_ENTER(WPA_PTK, PTKSTART);
-- else switch (sm->wpa_ptk_state) {
-+ else if (sm->PTKRequest) {
-+ if (wpa_auth_sm_ptk_update(sm) < 0)
-+ SM_ENTER(WPA_PTK, DISCONNECTED);
-+ else
-+ SM_ENTER(WPA_PTK, PTKSTART);
-+ } else switch (sm->wpa_ptk_state) {
- case WPA_PTK_INITIALIZE:
- break;
- case WPA_PTK_DISCONNECT:
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch b/user/wpa_supplicant/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
deleted file mode 100644
index e1bd5a572..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 11:03:15 +0300
-Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration
-
-Do not try to reconfigure the same TPK-TK to the driver after it has
-been successfully configured. This is an explicit check to avoid issues
-related to resetting the TX/RX packet number. There was already a check
-for this for TPK M2 (retries of that message are ignored completely), so
-that behavior does not get modified.
-
-For TPK M3, the TPK-TK could have been reconfigured, but that was
-followed by immediate teardown of the link due to an issue in updating
-the STA entry. Furthermore, for TDLS with any real security (i.e.,
-ignoring open/WEP), the TPK message exchange is protected on the AP path
-and simple replay attacks are not feasible.
-
-As an additional corner case, make sure the local nonce gets updated if
-the peer uses a very unlikely "random nonce" of all zeros.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 36 insertions(+), 2 deletions(-)
-
-diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
-index e424168..9eb9738 100644
---- a/src/rsn_supp/tdls.c
-+++ b/src/rsn_supp/tdls.c
-@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
- u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
- } tpk;
- int tpk_set;
-+ int tk_set; /* TPK-TK configured to the driver */
- int tpk_success;
- int tpk_in_progress;
-
-@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- u8 rsc[6];
- enum wpa_alg alg;
-
-+ if (peer->tk_set) {
-+ /*
-+ * This same TPK-TK has already been configured to the driver
-+ * and this new configuration attempt (likely due to an
-+ * unexpected retransmitted frame) would result in clearing
-+ * the TX/RX sequence number which can break security, so must
-+ * not allow that to happen.
-+ */
-+ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
-+ " has already been configured to the driver - do not reconfigure",
-+ MAC2STR(peer->addr));
-+ return -1;
-+ }
-+
- os_memset(rsc, 0, 6);
-
- switch (peer->cipher) {
-@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- return -1;
- }
-
-+ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
-+ MAC2STR(peer->addr));
- if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
- rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
- wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
- "driver");
- return -1;
- }
-+ peer->tk_set = 1;
- return 0;
- }
-
-@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- peer->cipher = 0;
- peer->qos_info = 0;
- peer->wmm_capable = 0;
-- peer->tpk_set = peer->tpk_success = 0;
-+ peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
- peer->chan_switch_enabled = 0;
- os_memset(&peer->tpk, 0, sizeof(peer->tpk));
- os_memset(peer->inonce, 0, WPA_NONCE_LEN);
-@@ -1159,6 +1177,7 @@ skip_rsnie:
- wpa_tdls_peer_free(sm, peer);
- return -1;
- }
-+ peer->tk_set = 0; /* A new nonce results in a new TK */
- wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
- peer->inonce, WPA_NONCE_LEN);
- os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
-@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
- }
-
-
-+static int tdls_nonce_set(const u8 *nonce)
-+{
-+ int i;
-+
-+ for (i = 0; i < WPA_NONCE_LEN; i++) {
-+ if (nonce[i])
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+
- static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
- const u8 *buf, size_t len)
- {
-@@ -2004,7 +2036,8 @@ skip_rsn:
- peer->rsnie_i_len = kde.rsn_ie_len;
- peer->cipher = cipher;
-
-- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
-+ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
-+ !tdls_nonce_set(peer->inonce)) {
- /*
- * There is no point in updating the RNonce for every obtained
- * TPK M1 frame (e.g., retransmission due to timeout) with the
-@@ -2020,6 +2053,7 @@ skip_rsn:
- "TDLS: Failed to get random data for responder nonce");
- goto error;
- }
-+ peer->tk_set = 0; /* A new nonce results in a new TK */
- }
-
- #if 0
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch b/user/wpa_supplicant/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
deleted file mode 100644
index 85ea1d62b..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 53c5eb58e95004f86e65ee9fbfccbc291b139057 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 11:25:02 +0300
-Subject: [PATCH 7/8] WNM: Ignore WNM-Sleep Mode Response without pending
- request
-
-Commit 03ed0a52393710be6bdae657d1b36efa146520e5 ('WNM: Ignore WNM-Sleep
-Mode Response if WNM-Sleep Mode has not been used') started ignoring the
-response when no WNM-Sleep Mode Request had been used during the
-association. This can be made tighter by clearing the used flag when
-successfully processing a response. This adds an additional layer of
-protection against unexpected retransmissions of the response frame.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- wpa_supplicant/wnm_sta.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
-index 1b3409c..67a07ff 100644
---- a/wpa_supplicant/wnm_sta.c
-+++ b/wpa_supplicant/wnm_sta.c
-@@ -260,7 +260,7 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
-
- if (!wpa_s->wnmsleep_used) {
- wpa_printf(MSG_DEBUG,
-- "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode has not been used in this association");
-+ "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode operation has not been requested");
- return;
- }
-
-@@ -299,6 +299,8 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
- return;
- }
-
-+ wpa_s->wnmsleep_used = 0;
-+
- if (wnmsleep_ie->status == WNM_STATUS_SLEEP_ACCEPT ||
- wnmsleep_ie->status == WNM_STATUS_SLEEP_EXIT_ACCEPT_GTK_UPDATE) {
- wpa_printf(MSG_DEBUG, "Successfully recv WNM-Sleep Response "
---
-2.7.4
-
diff --git a/user/wpa_supplicant/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch b/user/wpa_supplicant/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
deleted file mode 100644
index b9678f681..000000000
--- a/user/wpa_supplicant/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 12:06:37 +0300
-Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames
-
-The driver is expected to not report a second association event without
-the station having explicitly request a new association. As such, this
-case should not be reachable. However, since reconfiguring the same
-pairwise or group keys to the driver could result in nonce reuse issues,
-be extra careful here and do an additional state check to avoid this
-even if the local driver ends up somehow accepting an unexpected
-Reassociation Response frame.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/wpa.c | 3 +++
- src/rsn_supp/wpa_ft.c | 8 ++++++++
- src/rsn_supp/wpa_i.h | 1 +
- 3 files changed, 12 insertions(+)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 0550a41..2a53c6f 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
- #ifdef CONFIG_TDLS
- wpa_tdls_disassoc(sm);
- #endif /* CONFIG_TDLS */
-+#ifdef CONFIG_IEEE80211R
-+ sm->ft_reassoc_completed = 0;
-+#endif /* CONFIG_IEEE80211R */
-
- /* Keys are not needed in the WPA state machine anymore */
- wpa_sm_drop_sa(sm);
-diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
-index 205793e..d45bb45 100644
---- a/src/rsn_supp/wpa_ft.c
-+++ b/src/rsn_supp/wpa_ft.c
-@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
- u16 capab;
-
- sm->ft_completed = 0;
-+ sm->ft_reassoc_completed = 0;
-
- buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
- 2 + sm->r0kh_id_len + ric_ies_len + 100;
-@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- return -1;
- }
-
-+ if (sm->ft_reassoc_completed) {
-+ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
-+ return 0;
-+ }
-+
- if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
- wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
- return -1;
-@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- return -1;
- }
-
-+ sm->ft_reassoc_completed = 1;
-+
- if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
- return -1;
-
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 41f371f..56f88dc 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -128,6 +128,7 @@ struct wpa_sm {
- size_t r0kh_id_len;
- u8 r1kh_id[FT_R1KH_ID_LEN];
- int ft_completed;
-+ int ft_reassoc_completed;
- int over_the_ds_in_progress;
- u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
- int set_ptk_after_assoc;
---
-2.7.4
-
diff --git a/user/x11perf/APKBUILD b/user/x11perf/APKBUILD
index 2c3d265bb..eb39a1193 100644
--- a/user/x11perf/APKBUILD
+++ b/user/x11perf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=x11perf
-pkgver=1.6.0
+pkgver=1.6.1
pkgrel=0
pkgdesc="X11 server benchmarking utility"
url="https://www.X.Org/"
@@ -14,7 +14,6 @@ subpackages="$pkgname-doc"
source="https://www.x.org/releases/individual/app/x11perf-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="a9508c9dd6db2663b5bd30f5e1f5f80b1d22ce5221ae3dc292e746f8e554fda2d3130f7311f2545e20244dceb51e867fe80fec82c9ac5911dcdc90a73b231623 x11perf-1.6.0.tar.bz2"
+sha512sums="b386151bfe3d7c04ab9953ae1882f3c5b627d6d1afb9a8cfe87c58236a88883fc11bbadb2226b9aa61df84b4fce625a1c9e3d146a124ac17e8d7d605b35d9c0b x11perf-1.6.1.tar.bz2"
diff --git a/user/xcalc/APKBUILD b/user/xcalc/APKBUILD
index d15d905fc..752b66ba9 100644
--- a/user/xcalc/APKBUILD
+++ b/user/xcalc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xcalc
-pkgver=1.0.6
+pkgver=1.0.7
pkgrel=0
pkgdesc="Graphical scientific calculator for X11"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11"
depends=""
makedepends="libx11-dev libxaw-dev libxt-dev util-macros xorgproto-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xcalc-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xcalc-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="61b921b6a3fefea20bd9e7ad0b308f589f2aeaafe9316df94cc739a005be6c180bdafc981b8957230f46c9fc1c0e266829a55b473ae26b1377c705796175c908 xcalc-1.0.6.tar.bz2"
+sha512sums="890cb9399e3c55816318ab5f0152ddba05ee141cbae6032759a3b762742ab54df8fcf0394dacc539299f93f27cbbb17aee5cbda5dde8b169a7099f20a1a38388 xcalc-1.0.7.tar.bz2"
diff --git a/user/xclock/APKBUILD b/user/xclock/APKBUILD
index f8b9e4a22..e2f55308a 100644
--- a/user/xclock/APKBUILD
+++ b/user/xclock/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xclock
-pkgver=1.0.7
+pkgver=1.0.8
pkgrel=0
pkgdesc="Clock applet for X11"
url="https://www.X.Org/"
@@ -11,10 +11,9 @@ depends=""
makedepends="libx11-dev libxaw-dev libxkbfile-dev libxft-dev libxmu-dev
libxrender-dev util-macros xorgproto-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xclock-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xclock-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="56689bdae6c83e9e1da5c4c48cf1136ca8b4f45b177f27bc1deeb24758e2c180035b639e8df72e3ebf32dc301bceb59118309fcce2ffab54e5abe9bfa645e607 xclock-1.0.7.tar.bz2"
+sha512sums="1272221ace3657505bae1b22f181e9ecbf1710900c89a860c8ceae47ae31ca5e75b6557c37dc0a881a0a24c9597b9a07f46200926feb1013f1e2e995111a7646 xclock-1.0.8.tar.bz2"
diff --git a/user/xcompmgr/APKBUILD b/user/xcompmgr/APKBUILD
index 27c149441..6149de629 100644
--- a/user/xcompmgr/APKBUILD
+++ b/user/xcompmgr/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xcompmgr
-pkgver=1.1.7
+pkgver=1.1.8
pkgrel=0
pkgdesc="Small compositing manager for X11"
url="https://www.X.Org/"
@@ -11,10 +11,9 @@ depends=""
makedepends="libxcomposite-dev libxdamage-dev libxext-dev libxfixes-dev
libxrender-dev util-macros"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xcompmgr-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xcompmgr-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="f93a6be78169dd41ff08d71409e28746fd62902810a2f6930c0ac44f1415bc7391a8fb885b074fd40afedd7f1c1590aa7c67fc101c3b6488ddaa74495b42149c xcompmgr-1.1.7.tar.bz2"
+sha512sums="ccf29426ffb0797a53653d1ce152de5eee0cec284811fed4b8e634ea0d948180531e4619d96f47e4f9594432c57322624fe0fdaee2c9200efac427fc0904953d xcompmgr-1.1.8.tar.bz2"
diff --git a/user/xcursor-themes/APKBUILD b/user/xcursor-themes/APKBUILD
index e61f4a537..72a65a9b9 100644
--- a/user/xcursor-themes/APKBUILD
+++ b/user/xcursor-themes/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xcursor-themes
-pkgver=1.0.5
+pkgver=1.0.6
pkgrel=0
pkgdesc="Built-in cursor themes for X11"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11"
depends=""
makedepends="libxcursor-dev util-macros xcursorgen"
subpackages=""
-source="https://www.x.org/releases/individual/data/xcursor-themes-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/data/xcursor-themes-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="f41e1de0d5deafba33106dcad81576d1888fca052a962c202f2221104aa2d8236b066d8d8fc3dcfbdc166db63f84e60980dfc54059b20a26c7415de71ed07a5b xcursor-themes-1.0.5.tar.bz2"
+sha512sums="2ad3586a5571a5ddc0001187362b54b839644916164834213af98e58698044aec4392dd6e1e42f1794fda85c8fedf259b09214a9636bd0e71a1629c710f198d3 xcursor-themes-1.0.6.tar.bz2"
diff --git a/user/xcursorgen/APKBUILD b/user/xcursorgen/APKBUILD
index 395dfb95b..7e00406e0 100644
--- a/user/xcursorgen/APKBUILD
+++ b/user/xcursorgen/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xcursorgen
-pkgver=1.0.6
+pkgver=1.0.7
pkgrel=0
pkgdesc="Cursor generator for X11"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="MIT"
depends=""
makedepends="libpng-dev libx11-dev libxcursor-dev util-macros"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xcursorgen-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xcursorgen-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="3b464b7be3cec8c6d2bf4538266108bdc09e1dae4053d573f7f38e004929b41be0d996aa54918490fa040655644e2b0d4fab1ec24cca014d77bdb91c41ab1db4 xcursorgen-1.0.6.tar.bz2"
+sha512sums="bd13ad23691d3daa2d5dcdc5902cf62e3dcb97a0289aff362e6cd85866a1d8cafb64f98800a75bfb4cf1f3c76244ca20201847dff594543d136d0abaec7011d2 xcursorgen-1.0.7.tar.bz2"
diff --git a/user/xditview/APKBUILD b/user/xditview/APKBUILD
index 6902402e2..7de93902e 100644
--- a/user/xditview/APKBUILD
+++ b/user/xditview/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xditview
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=0
pkgdesc="X11 ditroff viewer"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11"
depends=""
makedepends="libx11-dev libxaw-dev libxmu-dev libxt-dev util-macros"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xditview-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xditview-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="7a0d023cd28ffc63c771814e028e79d20f8b56671a7a558c41ef062ef2d40079b5d37a5cf026b7ad3670da6866a087ae4888cea96d6d9e8a137e115174d637d2 xditview-1.0.4.tar.bz2"
+sha512sums="e20c903f38394b496111267e142d84d11e69a3b89f91869652d1f2ee5c997a13f90bfa2966651b42cd3979a330b348a6e397cc6a74c45b1f3f91643e7c06765d xditview-1.0.5.tar.bz2"
diff --git a/user/xev/APKBUILD b/user/xev/APKBUILD
index 951fb10c4..ba8aafedd 100644
--- a/user/xev/APKBUILD
+++ b/user/xev/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xev
-pkgver=1.2.2
+pkgver=1.2.3
pkgrel=0
pkgdesc="X11 input event monitor"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11"
depends=""
makedepends="libx11-dev libxrandr-dev util-macros xorgproto-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xev-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xev-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="453fc18072e4d4fd088a1b2e918f3772aaa2c56b36c082deb41ec4d434d1579de75f447fc4e0507086c170152e02d6db8b60dc7fd87ae18a2e817448bd628fca xev-1.2.2.tar.bz2"
+sha512sums="47cc7ac096e77cfa4e687914d767263cf3e1dca5bffd0f68c7ba0fe751b248c8a16525bd2da4d6efa0ea8d637831c893d41c9687cace4aaa9c0909a45ef1943e xev-1.2.3.tar.bz2"
diff --git a/user/xf86-input-libinput/APKBUILD b/user/xf86-input-libinput/APKBUILD
index 655c9319f..4c168bea9 100644
--- a/user/xf86-input-libinput/APKBUILD
+++ b/user/xf86-input-libinput/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xf86-input-libinput
-pkgver=0.28.1
+pkgver=0.28.2
pkgrel=0
pkgdesc="X.Org generic input driver using libinput"
url="https://www.X.Org/"
@@ -14,7 +14,6 @@ subpackages="$pkgname-dev $pkgname-doc"
source="https://www.X.Org/releases/individual/driver/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,14 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="2b8cabfbc3490edbe928771ed9d62a0d4a423bc1373fc6cf9d3a6b5937e17ddc48ebb1b70f1191e507024e4b8220c137495cbba825292b51e50709daa7d31623 xf86-input-libinput-0.28.1.tar.bz2"
+sha512sums="da6eb632180649853b3aa2fb88debd6aafe5ede24a5f4a04a21cf18fa97fd414d300b86cdf8a42027c98ac89f1b9f88034fc9e364ac3a02fa38872e57b542a84 xf86-input-libinput-0.28.2.tar.bz2"
diff --git a/user/xf86-video-ati/APKBUILD b/user/xf86-video-ati/APKBUILD
index d1a8d21c7..4212237c5 100644
--- a/user/xf86-video-ati/APKBUILD
+++ b/user/xf86-video-ati/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xf86-video-ati
-pkgver=18.1.0
+pkgver=19.0.1
pkgrel=0
pkgdesc="ATI video driver for X11"
url="https://www.X.Org/"
@@ -14,7 +14,6 @@ makedepends="eudev-dev libdrm-dev libxi-dev mesa-dev pixman-dev util-macros
source="https://www.X.Org/releases/individual/driver/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
./configure \
@@ -26,9 +25,7 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="7a58c9a6cb4876bd2ff37d837372b4e360e81fec7de6a6c7a48d70a5338d62745f734f5d4207f30aa368ff2d9ef44f5f1ef36afd73802a618998c16fe395ed53 xf86-video-ati-18.1.0.tar.bz2"
+sha512sums="e04c5395e3a49d81b8f7a4b0e11fe8c9ebd17af056a4eab4541873796dce05b103c93fb185f3a00873010df0655cd7311e6d27e177aeb7345c4c8017bbd1eb17 xf86-video-ati-19.0.1.tar.bz2"
diff --git a/user/xf86-video-intel/APKBUILD b/user/xf86-video-intel/APKBUILD
index d65be06d8..6727ce394 100644
--- a/user/xf86-video-intel/APKBUILD
+++ b/user/xf86-video-intel/APKBUILD
@@ -14,7 +14,9 @@ depends="mesa-dri-intel"
makedepends="xorg-server-dev libxi-dev libdrm-dev mesa-dev libxvmc-dev
xcb-util-dev eudev-dev util-macros autoconf automake libtool xorgproto
"
-source="https://dev.sick.bike/$pkgname-$pkgver.tar.gz"
+source="https://dev.sick.bike/$pkgname-$pkgver.tar.gz
+ pmmx.patch
+ "
giturl="https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git"
reporev="3d395062ce73f85e8340218df01c2ebf4bc25023"
@@ -44,4 +46,5 @@ package() {
rm "$pkgdir"/usr/libexec/xf86-video-intel-backlight-helper
}
-sha512sums="a96e627ed1b3fb6b66f02caaafb0f94967df9a2409158aacc9d8958538ef47bd84176ce71a4785f21944beb764450b1560c6dc59eef435f75959e27704be41f1 xf86-video-intel-2.99.917_git20180803.tar.gz"
+sha512sums="a96e627ed1b3fb6b66f02caaafb0f94967df9a2409158aacc9d8958538ef47bd84176ce71a4785f21944beb764450b1560c6dc59eef435f75959e27704be41f1 xf86-video-intel-2.99.917_git20180803.tar.gz
+13694f8829ec59773f764817467052d5d4b93b5de16d8cdacc08ced48608b46008414be1f5f118e5f327c401541477c3418f510ada9cfb290a11ac2e5590b0f3 pmmx.patch"
diff --git a/user/xf86-video-intel/pmmx.patch b/user/xf86-video-intel/pmmx.patch
new file mode 100644
index 000000000..7edddfb96
--- /dev/null
+++ b/user/xf86-video-intel/pmmx.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sna/compiler.h b/src/sna/compiler.h
+index 0f3775ec..c4056913 100644
+--- a/src/sna/compiler.h
++++ b/src/sna/compiler.h
+@@ -32,7 +32,7 @@
+ #define likely(expr) (__builtin_expect (!!(expr), 1))
+ #define unlikely(expr) (__builtin_expect (!!(expr), 0))
+ #define noinline __attribute__((noinline))
+-#define force_inline inline __attribute__((always_inline))
++#define force_inline inline
+ #define fastcall __attribute__((regparm(3)))
+ #define must_check __attribute__((warn_unused_result))
+ #define constant __attribute__((const))
diff --git a/user/xf86-video-nouveau/APKBUILD b/user/xf86-video-nouveau/APKBUILD
index dd6bd27cd..40c9b8f82 100644
--- a/user/xf86-video-nouveau/APKBUILD
+++ b/user/xf86-video-nouveau/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xf86-video-nouveau
-pkgver=1.0.15
-pkgrel=2
+pkgver=1.0.16
+pkgrel=0
pkgdesc="Libre Nvidia video driver for X11"
url="https://nouveau.freedesktop.org/"
arch="all"
@@ -10,12 +10,9 @@ license="MIT"
depends="mesa-dri-nouveau"
makedepends="eudev-dev libdrm-dev util-macros xorgproto-dev xorg-server-dev"
subpackages="$pkgname-doc"
-source="https://www.X.Org/archive/individual/driver/$pkgname-$pkgver.tar.bz2
- dont-strcmp-null.patch
- "
+source="https://www.X.Org/archive/individual/driver/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
./configure \
--build=$CBUILD \
@@ -28,14 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="69a8f8e7920d893f17d14fd9f05e35de246d980a243f3b3b00c05deae7f6bd97e0f51e6ddfa322b4d0815233fe5f656d4e55f54461249f3f24c3bc025a682285 xf86-video-nouveau-1.0.15.tar.bz2
-4cd8b3b9996989a8c9302a5ba77aa9f794fde7559d9f131d5bb4b3174d68be85140834719384c22686b63c89242bdf09696c0c1a98b632f7e3a4f46522f49c3b dont-strcmp-null.patch"
+sha512sums="41b7839c37372660968ab7da2bc3d9feef3cab4e994d05d4ba6e59071f0d1b1f8d7dcdbcb15a42a375a556d28dc067f9ffe45d73c1d121ad307d199107ade3e0 xf86-video-nouveau-1.0.16.tar.bz2"
diff --git a/user/xf86-video-nouveau/dont-strcmp-null.patch b/user/xf86-video-nouveau/dont-strcmp-null.patch
deleted file mode 100644
index 23c4fd216..000000000
--- a/user/xf86-video-nouveau/dont-strcmp-null.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 69aecdd305defdd014bc92b82acc6000988511cf Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Tue, 13 Jun 2017 09:23:42 -0400
-Subject: modesetting: Validate the atom for enum properties
-
-The client could have said anything here, and if what they said doesn't
-actually name an atom NameForAtom() will return NULL, and strcmp() will
-be unhappy about that.
-
-[copied from xserver d4995a3936ae283b9080fdaa0905daa669ebacfc]
-
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- src/drmmode_display.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/drmmode_display.c b/src/drmmode_display.c
-index 2b71c9c..04a0b57 100644
---- a/src/drmmode_display.c
-+++ b/src/drmmode_display.c
-@@ -1081,7 +1081,8 @@ drmmode_output_set_property(xf86OutputPtr output, Atom property,
- if (value->type != XA_ATOM || value->format != 32 || value->size != 1)
- return FALSE;
- memcpy(&atom, value->data, 4);
-- name = NameForAtom(atom);
-+ if (!(name = NameForAtom(atom)))
-+ return FALSE;
-
- /* search for matching name string, then set its value down */
- for (j = 0; j < p->mode_prop->count_enums; j++) {
---
-cgit v1.1
-
diff --git a/user/xf86-video-tdfx/APKBUILD b/user/xf86-video-tdfx/APKBUILD
index 62b9217cc..7f8252934 100644
--- a/user/xf86-video-tdfx/APKBUILD
+++ b/user/xf86-video-tdfx/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xf86-video-tdfx
-pkgver=1.4.7
+pkgver=1.5.0
pkgrel=0
pkgdesc="3Dfx video driver for X11"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="MIT"
depends=""
makedepends="util-macros xorgproto-dev xorg-server-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/driver/xf86-video-tdfx-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/driver/xf86-video-tdfx-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="573eea7a6b05ed33a963f8e2f80ac1cb14632b7fd10d8d90da16c07db432e73641ced885ee979f68e4ead8429b39506b2f231ca4ac296a0780c9f6d223c3b405 xf86-video-tdfx-1.4.7.tar.bz2"
+sha512sums="eca3359c7db56183a1cfcce7295e41ccc349005ee1cbcf75209f1e4e8e04e887ba511712ef35efc11c940713c8327b0b8ab8b6c86facf02062b3e84c0b1af5ff xf86-video-tdfx-1.5.0.tar.bz2"
diff --git a/user/xfce4-appfinder/APKBUILD b/user/xfce4-appfinder/APKBUILD
index 575436450..92a917018 100644
--- a/user/xfce4-appfinder/APKBUILD
+++ b/user/xfce4-appfinder/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-appfinder
-pkgver=4.13.2
+pkgver=4.13.3
pkgrel=0
pkgdesc="An application finder for the XFCE desktop environment"
url="https://xfce.org"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="96ac782c785649ddf75f8659f9cf10f42c37bab647824f0c76714baca0b61904fa8ba6d23dc1574aae5fdf2538201936d26b42ea6c0f5d5f0f9d71c8ba0a51b8 xfce4-appfinder-4.13.2.tar.bz2"
+sha512sums="47f69e8daf6f963b8130c0380f2201cdb2d02212cfb8b5c05fedbebb78222d3bd35db0fd422418cf3f9d1f2b90e66ee4d143bed57881f5673aefca8bc58e059a xfce4-appfinder-4.13.3.tar.bz2"
diff --git a/user/xfce4-notifyd/APKBUILD b/user/xfce4-notifyd/APKBUILD
index 8f0240ab0..29a9bcee3 100644
--- a/user/xfce4-notifyd/APKBUILD
+++ b/user/xfce4-notifyd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-notifyd
-pkgver=0.4.3
+pkgver=0.4.4
pkgrel=0
pkgdesc="Notification service for the XFCE desktop environment"
url="https://xfce.org"
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="eed16d863dddfe29ce6dd1e34260ae64f558bc5ffe5af837e293a9492b728a400338b950116fb934f0b3d0a76ed8fd280aacd075d44524be614bb27257b99a9e xfce4-notifyd-0.4.3.tar.bz2"
+sha512sums="546a5063673e36ef26bcdac624bfcef41a14918dbb496fb3d282613334f173b51669184b6bcfbee0f07a17863620898be2f464e487ca9755abe7285d6a43d8d5 xfce4-notifyd-0.4.4.tar.bz2"
diff --git a/user/xfce4-panel/APKBUILD b/user/xfce4-panel/APKBUILD
index 4e70ac9d3..9594fc9a8 100644
--- a/user/xfce4-panel/APKBUILD
+++ b/user/xfce4-panel/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-panel
-pkgver=4.13.4
+pkgver=4.13.5
pkgrel=0
pkgdesc="Panel for the XFCE desktop environment"
url="https://xfce.org"
@@ -35,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="16a3680aa2ab7fa357ca9d477ea0e41ca159a2c626fe65454ccdca339bb501ff0979264f5a4ae4728e3c0efe24e193eb28e7b5d1e003fecad8ab36b8457203c8 xfce4-panel-4.13.4.tar.bz2"
+sha512sums="3eb4034bd6eae38f8f533b8cd2cae4ec8b40cab5f0d6810639baad641b4adaf15d03254ec79cd49d04e3498d3a4752bd9e968a0383468e7337106b3665092c4e xfce4-panel-4.13.5.tar.bz2"
diff --git a/user/xfce4-power-manager/APKBUILD b/user/xfce4-power-manager/APKBUILD
index dc6232180..dd6dab858 100644
--- a/user/xfce4-power-manager/APKBUILD
+++ b/user/xfce4-power-manager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-power-manager
-pkgver=1.6.1
+pkgver=1.6.2
pkgrel=0
pkgdesc="Power management support for the XFCE desktop environment"
url="https://xfce.org"
@@ -12,7 +12,6 @@ makedepends="intltool gtk+3.0-dev libxfce4ui-dev libice-dev libnotify-dev
subpackages="$pkgname-doc $pkgname-lang"
langdir="/usr/lib/locale"
source="http://archive.xfce.org/src/xfce/xfce4-power-manager/1.6/xfce4-power-manager-$pkgver.tar.bz2"
-sha512sums="b81ce1b35892a6cd0b1d4fb590ccc25b906cde6f782de2fffbe78ea89e00df15e51ea1f47576c173b7512cd617f5142868fca8cf81519b6fe165a5ecc67a5478 xfce4-power-manager-1.6.1.tar.bz2"
build() {
cd "$builddir"
@@ -36,3 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
+sha512sums="d1c475ad3cf194c19a2ad1decc4c80a9f504d74b64dec71887c14c576cd5a2932799cd0068f6356a15590fa67c6d0434401ad36b7a2fa6a3b62d51290cd7b68c xfce4-power-manager-1.6.2.tar.bz2"
diff --git a/user/xfce4-screenshooter/APKBUILD b/user/xfce4-screenshooter/APKBUILD
index 47e3f889b..1443db9dd 100644
--- a/user/xfce4-screenshooter/APKBUILD
+++ b/user/xfce4-screenshooter/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-screenshooter
-pkgver=1.9.3
+pkgver=1.9.5
pkgrel=0
pkgdesc="Screenshot tool for the XFCE desktop environment"
url="https://xfce.org"
@@ -10,7 +10,6 @@ license="GPL-2.0+"
makedepends="intltool libxfce4ui-dev xfce4-panel-dev libsoup-dev exo-dev"
subpackages="$pkgname-doc"
source="http://archive.xfce.org/src/apps/xfce4-screenshooter/1.9/xfce4-screenshooter-$pkgver.tar.bz2"
-sha512sums="ba59fdca3900143a50b3b858986b1152d4574d302d2e041a5287933427a67f64542ca691c130030937344433ea893a1f082086f9c02a9edccaeedbdc0a2a50a2 xfce4-screenshooter-1.9.3.tar.bz2"
build() {
cd "$builddir"
@@ -34,3 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
+sha512sums="e5797a6defa4df94c552e8ff39b21f4203b6795669e8145ea5ef609fc7b29bcfa846b19b253b39b12ab0e6c130c7f9e67dd5aa628cefe9b063fb9f74dd2c3ee1 xfce4-screenshooter-1.9.5.tar.bz2"
diff --git a/user/xfce4-session/APKBUILD b/user/xfce4-session/APKBUILD
index 05c391a80..5b431f963 100644
--- a/user/xfce4-session/APKBUILD
+++ b/user/xfce4-session/APKBUILD
@@ -1,18 +1,18 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-session
-pkgver=4.13.1
+pkgver=4.13.2
pkgrel=0
pkgdesc="Session management for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0+ AND LGPL-2.0+"
+depends="iceauth cmd:which xdg-user-dirs"
makedepends="intltool gtk+3.0-dev libice-dev libsm-dev libxfce4util-dev
- libxfce4ui-dev libwnck-dev iceauth dbus-glib-dev"
+ libxfce4ui-dev libwnck-dev iceauth dbus-glib-dev polkit-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
langdir="/usr/lib/locale"
-source="http://archive.xfce.org/src/xfce/xfce4-session/4.13/xfce4-session-$pkgver.tar.bz2"
-sha512sums="5845e3591919e23ca176199e81075a097ef9d65cbcf23b34d84afc649a307bfa8c6492e3a01855cacff9328da809725213ec1fa9d76024c0a0c25cce3c51da1b xfce4-session-4.13.1.tar.bz2"
+source="https://archive.xfce.org/src/xfce/xfce4-session/4.13/xfce4-session-$pkgver.tar.bz2"
build() {
cd "$builddir"
@@ -36,3 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
+sha512sums="cb1e63a3df9c4ac3efcb0cce20cb5528f9d1a46731ad4b32634ad5f4a53711f05b40d98464bfd562b4e3d42b2555827ece03e63c6a433e879fa0f0a4ccda6a57 xfce4-session-4.13.2.tar.bz2"
diff --git a/user/xfce4-settings/APKBUILD b/user/xfce4-settings/APKBUILD
index 4b894e6ee..7fc818d88 100644
--- a/user/xfce4-settings/APKBUILD
+++ b/user/xfce4-settings/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-settings
-pkgver=4.13.5
+pkgver=4.13.6
pkgrel=0
pkgdesc="GUI settings application for the XFCE desktop environment"
url="https://xfce.org"
@@ -37,4 +37,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5e7b13b25767091ab0b1a5683359f33e4a86151dd9321681fc4d896fcd9cc569effaebfbab70bc734e07041e9fbb1c3015f9a177146de8a128c4a539462dba5e xfce4-settings-4.13.5.tar.bz2"
+sha512sums="7fe4655a5644dec8688eebc508e23bace7af76c6b8eeb3821fa9a4ec79862cde64cf59ee2ac70a27ff378ef887ce6d109ef1b1d9e5f7e98f96fdb43604e024b6 xfce4-settings-4.13.6.tar.bz2"
diff --git a/user/xfce4-whiskermenu-plugin/APKBUILD b/user/xfce4-whiskermenu-plugin/APKBUILD
index 726611224..b562d6126 100644
--- a/user/xfce4-whiskermenu-plugin/APKBUILD
+++ b/user/xfce4-whiskermenu-plugin/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfce4-whiskermenu-plugin
-pkgver=2.3.1
+pkgver=2.3.2
_pkgmaj=${pkgver%.*}
pkgrel=0
pkgdesc="Whisker menu plugin for the XFCE panel"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f09a3a496aec5c29e6604657c0eb6dbc1bab731b56b34067dfe2548670dd4837741c55ebbb9f98505c6569effee170936cdd48dd0d79947d50b17f85410a38ea xfce4-whiskermenu-plugin-2.3.1.tar.bz2"
+sha512sums="2b9557b29d1b30b5d46df5f182d64562873defd59cd36e6444da4b73bbdf3835cfb17101f11a3ac6e9f875a9dc4d51e2301a420a888bfa1d7fdc6ae715d92443 xfce4-whiskermenu-plugin-2.3.2.tar.bz2"
diff --git a/user/xfconf/APKBUILD b/user/xfconf/APKBUILD
index 09144df61..74dd12c7d 100644
--- a/user/xfconf/APKBUILD
+++ b/user/xfconf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfconf
-pkgver=4.13.6
+pkgver=4.13.7
pkgrel=0
pkgdesc="Configuration framework for the XFCE desktop environment"
url="https://xfce.org"
@@ -43,4 +43,4 @@ perl() {
mv "$pkgdir"/usr/lib/perl5 "$subpkgdir"/usr/lib
}
-sha512sums="0eaa1ad428be5bea97b891a6bf0488293064e31d4869b70389ded940a23f9d8cffd0801dd98932658a67e57d6a0da95998872202cf7756aa24caa8f9d2c5f755 xfconf-4.13.6.tar.bz2"
+sha512sums="113fb22b449a318b0cca6521914eda6cfeb6b2056a1aad4d49a5e83c28661c843c9912bbf7eddb7d6cd1f172b532c73dd02259bf6fabe60a377024f9f8d5825d xfconf-4.13.7.tar.bz2"
diff --git a/user/xfd/APKBUILD b/user/xfd/APKBUILD
index 5011b28d4..ca4f5188d 100644
--- a/user/xfd/APKBUILD
+++ b/user/xfd/APKBUILD
@@ -1,20 +1,19 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xfd
-pkgver=1.1.2
+pkgver=1.1.3
pkgrel=0
pkgdesc="Display all characters in X11 fonts"
url="https://www.X.Org/"
arch="all"
license="X11"
depends=""
-makedepends="fontconfig-dev libxaw-dev libxft-dev libxmu-dev libxrender-dev
- util-macros xorgproto-dev"
+makedepends="fontconfig-dev libxaw-dev libxft-dev libxkbfile-dev libxmu-dev
+ libxrender-dev util-macros xorgproto-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xfd-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xfd-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -26,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="3a158f697dd40c5b650b3d80ad1692d668d9d9bcf586a437fd3dcebf9e8fffb773855df290260995464d5f36cb22e768d1d71de8e61d7cca80eaa4d25c029745 xfd-1.1.2.tar.bz2"
+sha512sums="68e2d4ce5e24215353b6f3231191d69639c4dd90a703e03ccf152bbfe4012da071c387ba289f918fb0336a3be9ee49dc05cbec7273fa85f5e476ead7e10795f0 xfd-1.1.3.tar.bz2"
diff --git a/user/xfdesktop/APKBUILD b/user/xfdesktop/APKBUILD
index b061e50ff..920f041d3 100644
--- a/user/xfdesktop/APKBUILD
+++ b/user/xfdesktop/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfdesktop
-pkgver=4.13.2
+pkgver=4.13.4
pkgrel=0
pkgdesc="Desktop manager for the XFCE desktop environment"
url="https://xfce.org"
@@ -12,7 +12,6 @@ makedepends="intltool gtk+3.0-dev libxfce4util-dev libxfce4ui-dev libwnck-dev
subpackages="$pkgname-doc $pkgname-lang"
langdir="/usr/lib/locale"
source="http://archive.xfce.org/src/xfce/xfdesktop/4.13/xfdesktop-$pkgver.tar.bz2"
-sha512sums="0002ed639f8554144d8c921ca5bd9d1c2ed634baa11c98f95685c8a636ae6bdc87f8df19aa138fe4eda591facba964451a10aef6ba303be1fad66013bb06ae13 xfdesktop-4.13.2.tar.bz2"
build() {
cd "$builddir"
@@ -36,3 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
+sha512sums="3943fc2af3ca3996a38900fea4a03004e1d3f8728a8517c988bd59744607ed8e4ba3f135d6075833af206df3c35464633f47e374c26fcbb8a20f0f1ecfdb7da6 xfdesktop-4.13.4.tar.bz2"
diff --git a/user/xfsinfo/APKBUILD b/user/xfsinfo/APKBUILD
index 932c744c8..4c3805eff 100644
--- a/user/xfsinfo/APKBUILD
+++ b/user/xfsinfo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xfsinfo
-pkgver=1.0.5
+pkgver=1.0.6
pkgrel=0
pkgdesc="Display information about X11 font servers"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11 AND MIT"
depends=""
makedepends="libfs-dev util-macros xorgproto-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xfsinfo-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xfsinfo-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="49fcbe91ac121022ccecd4a2f0e55a9a5cce7ba12b713be78b3b7f2847e622631bca6f6647256a956910fda591a87b524b966d5c849b8b2526d6f1a1960fe57f xfsinfo-1.0.5.tar.bz2"
+sha512sums="901fc3817d7c95f2ba75ed0c51de91abd8efa67bbb93ad6b7d66e56a2f721af9db364e92f9ef2e719835fd48e934a5ea7402e5565c0ccd9b6b82633e869dc57b xfsinfo-1.0.6.tar.bz2"
diff --git a/user/xfwm4/APKBUILD b/user/xfwm4/APKBUILD
index d560fff66..130fc60d9 100644
--- a/user/xfwm4/APKBUILD
+++ b/user/xfwm4/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xfwm4
-pkgver=4.13.1
-pkgrel=1
+pkgver=4.13.2
+pkgrel=0
pkgdesc="Window manager for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
@@ -11,8 +11,7 @@ makedepends="intltool gtk+3.0-dev libxfce4util-dev libxfce4ui-dev libwnck-dev
gobject-introspection-dev vala-dev"
subpackages="$pkgname-lang"
langdir="/usr/lib/locale"
-source="http://archive.xfce.org/src/xfce/xfwm4/4.13/xfwm4-$pkgver.tar.bz2
- fix-mask-length.patch"
+source="http://archive.xfce.org/src/xfce/xfwm4/4.13/xfwm4-$pkgver.tar.bz2"
build() {
cd "$builddir"
@@ -36,5 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2ac5acdefff3a89b8525719b345dfeb2dc71104b4da341afe99d7c57c049753c4cdb81a512d1f344e5fb463c7143673e83316b63888777bdcf254c4a07ca8320 xfwm4-4.13.1.tar.bz2
-88733a4d69b58b0c98f2f46694ccc8bda4e5bc1b565d952123cee466b3f89f95d72fc28c8e9c173dcc0aee606c9f4b085d891004d769b74ad0c7084d8dec00a9 fix-mask-length.patch"
+sha512sums="85440a377cd7034e986b317e35c25ac6d4723bd4c1ce1e6951d8545a44f3c47340952fd0211f55cf19411539be6d86f4c34fca7b2219b0873654a6d311c95055 xfwm4-4.13.2.tar.bz2"
diff --git a/user/xfwm4/fix-mask-length.patch b/user/xfwm4/fix-mask-length.patch
deleted file mode 100644
index dd050c8dc..000000000
--- a/user/xfwm4/fix-mask-length.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru xfwm4-4.13.1.orig/src/device.c xfwm4-4.13.1/src/device.c
---- xfwm4-4.13.1.orig/src/device.c 2018-07-29 16:08:54.000000000 +0300
-+++ xfwm4-4.13.1/src/device.c 2018-09-12 08:49:18.130254993 +0300
-@@ -301,7 +301,7 @@
- guint i;
-
- xievent_mask->deviceid = XIAllMasterDevices;
-- xievent_mask->mask_len = sizeof (mask);
-+ xievent_mask->mask_len = len;
- xievent_mask->mask = mask;
-
- for (i = 0; i < G_N_ELEMENTS (core_to_xi2); i++)
diff --git a/user/xhost/APKBUILD b/user/xhost/APKBUILD
index f263a2a79..39be52023 100644
--- a/user/xhost/APKBUILD
+++ b/user/xhost/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=xhost
-pkgver=1.0.7
-pkgrel=1
+pkgver=1.0.8
+pkgrel=0
pkgdesc="Controls host and/or user access to a running X server"
url="https://www.X.Org/"
arch="all"
@@ -14,7 +14,6 @@ makedepends="libx11-dev libxmu-dev libxau-dev util-macros"
source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -24,8 +23,7 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="670a8c97291565f6c36c94e135f7bd60a572bb42b4fca9d2460823db0d0576187c64f9b876ed60d348029d3f74a732862eea4ce889a6b6b9c97665746a38b1d7 xhost-1.0.7.tar.bz2"
+sha512sums="55581f9bc45a70a73b13fe718ca83c4cb0a6116d26addc0f07659ebeb5bf7d2379e84cab5a1702ae77a298a66f42ae03f41ddc7d5acd61c6f18448e58ad7cb6b xhost-1.0.8.tar.bz2"
diff --git a/user/xinit/APKBUILD b/user/xinit/APKBUILD
index 0fd2879c0..37556cb27 100644
--- a/user/xinit/APKBUILD
+++ b/user/xinit/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xinit
-pkgver=1.4.0
+pkgver=1.4.1
pkgrel=0
pkgdesc="X.Org initialisation program"
url="https://www.X.Org/"
@@ -17,7 +17,6 @@ source="https://www.X.Org/releases/individual/app/xinit-$pkgver.tar.bz2
xserverrc"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -30,12 +29,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
chmod +x "$pkgdir"/usr/bin/startx
install -m755 -d "$pkgdir"/etc/skel
@@ -46,7 +43,7 @@ package() {
mkdir -p "$pkgdir"/etc/X11/xinit/xinitrc.d
}
-sha512sums="53a29081130c1e195eb441ee77ccaa044b18b4cca3d2d5da3a6d67aa421dfd9718fa18b6be6232a41e40cf260c8190064c4d8d9ab771177bd5cd12e77a8fa79e xinit-1.4.0.tar.bz2
+sha512sums="6cbc5d025a891c419f3f4493381b2fca57a67d78df866d2f16a83426f86bad6eca7f240fac12b25cbcc63df0fec41f625407184e044898602d66483715315340 xinit-1.4.1.tar.bz2
2296c10a5d74bff42d9642a4787dc3f2b77492fc81174af48dc88cd3c8fa49c7f70147b790d8c82c2df6c910d9d412965999e7a342ca28697a97b5d522669edd 06_move_serverauthfile_into_tmp.patch
1b19f800d1f64e49b533929ea6b9580d6dc24b680e1461edcc5784ba9fbb387fef57576b1e3d4bc67cb0ff2b248b670c148a3c7a350e1062bb9b95e9a2ba7805 xinitrc
448bc6c7987a4735b6584e307cd5c53092b1a338043293f5f110d11818dd1b80508401a3b6f09525c82a16a88f293b37011d8ca112460b0f95d26897e3e0619e xsession.skel
diff --git a/user/xkeyboard-config/APKBUILD b/user/xkeyboard-config/APKBUILD
index c884ad87b..9a49f7ffe 100644
--- a/user/xkeyboard-config/APKBUILD
+++ b/user/xkeyboard-config/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xkeyboard-config
-pkgver=2.25
+pkgver=2.26
pkgrel=0
pkgdesc="Keyboard configuration files for X11"
url="https://www.freedesktop.org/wiki/Software/XKeyboardConfig"
@@ -12,8 +12,6 @@ subpackages="$pkgname-lang"
source="https://www.X.Org/releases/individual/data/xkeyboard-config/xkeyboard-config-$pkgver.tar.bz2"
build() {
- cd "$builddir"
-
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,16 +23,13 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
rm -f "$pkgdir"/usr/share/X11/xkb/compiled
install -m755 -d "$pkgdir"/var/lib/xkb
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="2d9d6bdd885edc8e03e5a2c136c3b29b4ea795122709fa210bf151c4e7416a44fa2928bb29137ee8c6691d8646c1f645748576dea3f940ce84c8d4d0f91e09eb xkeyboard-config-2.25.tar.bz2"
+sha512sums="5c8a31f7a6ad5daed8a3fceb56230b2e2fc04a25f52a43b3b4ea81e4a6ab15c52869f749c4b747d855cd4b618c04bcbb40e85dec7eab31fbe3bd45e8c9b755ef xkeyboard-config-2.26.tar.bz2"
diff --git a/user/xlogo/APKBUILD b/user/xlogo/APKBUILD
index 6ed763de5..ff675f734 100644
--- a/user/xlogo/APKBUILD
+++ b/user/xlogo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xlogo
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=0
pkgdesc="Display the X11 logo"
url="https://www.X.Org/"
@@ -13,14 +13,7 @@ makedepends="libsm-dev libx11-dev libxaw-dev libxext-dev libxmu-dev libxt-dev
subpackages="$pkgname-doc"
source="https://www.x.org/releases/individual/app/xlogo-$pkgver.tar.bz2"
-prepare() {
- cd "$builddir"
- default_prepare
- update_config_sub
-}
-
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -32,13 +25,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="cbfcd48425e697950907ddeaec2f06e0607ebf2e93e6799bd263230f036b3021279c2f379de55fae15b403af5f18292caa79159ed544a4a3314b90c85ac9804d xlogo-1.0.4.tar.bz2"
+sha512sums="0d78e269b0be3c5de71de7f362b896bfd9934ecd9d0361b3302399b1269e029c4a9f35418d792121a1edc34405d753f9d69c996cc3a69ac717f2b0d1f736406b xlogo-1.0.5.tar.bz2"
diff --git a/user/xlsatoms/APKBUILD b/user/xlsatoms/APKBUILD
index bc05dceb0..5e9ff64a0 100644
--- a/user/xlsatoms/APKBUILD
+++ b/user/xlsatoms/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xlsatoms
-pkgver=1.1.2
+pkgver=1.1.3
pkgrel=0
pkgdesc="List interned atoms in an X11 server"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11"
depends=""
makedepends="libxcb-dev util-macros"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xlsatoms-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xlsatoms-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="f29001de22818792212312f1b9daee1bf7afa2ef2ae945cd8c14bdc1a7bb40064d3878c5efea60458ac0bf515ab1ece16fa90cbd2b0a879a5f07f3aa3e6a0baa xlsatoms-1.1.2.tar.bz2"
+sha512sums="c267ccfdc5a83e834bfb5c3b144e22642badcadef4eb146eeec2df6fe6f85e9379500ae4219912c70fa2e535036a1a96cf496381f5d814e79af075e03c975f30 xlsatoms-1.1.3.tar.bz2"
diff --git a/user/xmlsec/APKBUILD b/user/xmlsec/APKBUILD
index fb55ea436..171427b55 100644
--- a/user/xmlsec/APKBUILD
+++ b/user/xmlsec/APKBUILD
@@ -1,6 +1,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=xmlsec
-pkgver=1.2.27
+pkgver=1.2.28
+_pkgver=1_2_28
pkgrel=0
pkgdesc="C-based XML signature and encryption syntax and processing library"
url="https://github.com/lsh123/$pkgname/"
@@ -12,17 +13,15 @@ checkdepends="nss-tools"
makedepends="$depends_dev libxml2-dev libxslt-dev nss-dev openssl-dev
autoconf automake libtool"
subpackages="$pkgname-nss $pkgname-dev $pkgname-doc"
-source="$url/archive/$pkgname-${pkgver//./_}.tar.gz"
-builddir="$srcdir/$pkgname-$pkgname-${pkgver//./_}"
+source="$url/archive/$pkgname-$_pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$_pkgver"
prepare() {
- cd "$builddir"
default_prepare
./autogen.sh
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -37,12 +36,10 @@ build() {
}
check() {
- cd "$builddir"
make -k check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
@@ -56,4 +53,4 @@ nss() {
mv "$pkgdir"/usr/lib/libxmlsec1-nss.so* "$subpkgdir"/usr/lib/
}
-sha512sums="261528086adc379942861b5950e5b34ffa52a49d0fedcb46bece50c920fd56af4f0472494419bfa5e3cb40abda335b3e9c11466c42273f125b50d204b4604798 xmlsec-1_2_27.tar.gz"
+sha512sums="fb0c775f6455ce5a5579a69bb91d60fe90c023e538c32bdf2a70aa413a53b22ef938349a3ce6b42bb23f8f70b4e00f1b9917f877487bb1507c927ec70c3d95f5 xmlsec-1_2_28.tar.gz"
diff --git a/user/xmodmap/APKBUILD b/user/xmodmap/APKBUILD
index 58e14c998..abf6c45ba 100644
--- a/user/xmodmap/APKBUILD
+++ b/user/xmodmap/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xmodmap
-pkgver=1.0.9
-pkgrel=3
+pkgver=1.0.10
+pkgrel=0
pkgdesc="Utility for modifying key and mouse button mappings in X11"
url="https://www.X.Org/"
arch="all"
@@ -13,7 +13,6 @@ subpackages="$pkgname-doc"
source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2"
build () {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,14 +24,11 @@ build () {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="6e50f2ba072ec171bd3fc34f75b21c63f9834f3c0f1608c857f80a4b2c8a9696b03dde79f8342bf67504b759297bc24a64056a625d295a4f89dd31eb938400ac xmodmap-1.0.9.tar.bz2"
+sha512sums="324c7dcef843186088f16b3bc47485eb3c9b4331e56ce43b692deb4bb3d4f4f27512480e91a379cceac8383df920dc5e37cd825246b50b6343291cec48134c04 xmodmap-1.0.10.tar.bz2"
diff --git a/user/xmore/APKBUILD b/user/xmore/APKBUILD
index bf2d861bd..75514d1f1 100644
--- a/user/xmore/APKBUILD
+++ b/user/xmore/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xmore
-pkgver=1.0.2
+pkgver=1.0.3
pkgrel=0
pkgdesc="Display text files using X11"
url="https://www.X.Org/"
@@ -10,16 +10,9 @@ license="X11"
depends=""
makedepends="libxaw-dev util-macros"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xmore-$pkgver.tar.bz2"
-
-prepare() {
- cd "$builddir"
- default_prepare
- update_config_sub
-}
+source="https://www.X.Org/releases/individual/app/xmore-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="718ad254beaae57475cead3815fc7625692699c76749c64e3aeb722daf5e1cecbea9d1207e3427d6a5d0aa240a6aaf678ea1656d6731b9f47e1a8045d62c3efb xmore-1.0.2.tar.bz2"
+sha512sums="e3e44831cd87a54bb585f80ef0d87f69dc35f6c834a73241aad9f6e2b0999b53c51a0a3f915a94ae4d6dc9bdfb9f60b6576f0bdcec441443abd98efa6c51b1d3 xmore-1.0.3.tar.bz2"
diff --git a/user/xorg-gtest/APKBUILD b/user/xorg-gtest/APKBUILD
new file mode 100644
index 000000000..572976147
--- /dev/null
+++ b/user/xorg-gtest/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=xorg-gtest
+pkgver=0.7.1
+pkgrel=0
+pkgdesc="X extensions to googletest"
+url="https://gitlab.freedesktop.org/xorg/test/xorg-gtest"
+arch="noarch"
+options="!check" # tests require X
+license="MIT AND BSD-3-Clause"
+depends=""
+makedepends="libx11-dev libxi-dev util-macros xorg-server-dev xf86-video-dummy"
+subpackages="$pkgname-dev"
+source="https://gitlab.freedesktop.org/xorg/test/xorg-gtest/-/archive/xorg-gtest-$pkgver/xorg-gtest-xorg-gtest-$pkgver.tar.bz2
+ remove-ridiculous-va_list-hacks.patch
+ "
+builddir="$srcdir"/$pkgname-$pkgname-$pkgver
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ DESTDIR="$pkgdir" make install
+ for i in gtest gtest-spi; do
+ rm "$pkgdir"/usr/include/gtest/"$i".h
+ done
+}
+
+sha512sums="100746225dd6b24f030893da7b960c2f2562fa9f5d02ee7fca3eb99c40e3ae17d408d5e3c4e99e05e3767984d48648d5a42473a9922d699cf1281290af1eb86c xorg-gtest-xorg-gtest-0.7.1.tar.bz2
+14055ccca54d083d231084acda63b0769946d1d2d8243752842c1043db6638ac3e581021bb61e6e2b97566b075ed345a2949646886281e58a1e3679d949d2f34 remove-ridiculous-va_list-hacks.patch"
diff --git a/user/xorg-gtest/remove-ridiculous-va_list-hacks.patch b/user/xorg-gtest/remove-ridiculous-va_list-hacks.patch
new file mode 100644
index 000000000..b26d6a888
--- /dev/null
+++ b/user/xorg-gtest/remove-ridiculous-va_list-hacks.patch
@@ -0,0 +1,24 @@
+--- xorg-gtest-xorg-gtest-0.7.1/src/process.cpp.old 2013-02-24 22:15:08.000000000 +0000
++++ xorg-gtest-xorg-gtest-0.7.1/src/process.cpp 2019-04-09 16:12:31.822094989 +0000
+@@ -126,15 +126,12 @@
+
+ void xorg::testing::Process::Start(const std::string& program, va_list args) {
+ std::vector<std::string> argv;
+-
+- if (args) {
+- char *arg;
+- do {
+- arg = va_arg(args, char*);
+- if (arg)
+- argv.push_back(std::string(arg));
+- } while (arg);
+- }
++ char *arg;
++ do {
++ arg = va_arg(args, char*);
++ if (arg)
++ argv.push_back(std::string(arg));
++ } while (arg);
+
+ Start(program, argv);
+ }
diff --git a/user/xprop/APKBUILD b/user/xprop/APKBUILD
index 6ea54cbb0..1339105a2 100644
--- a/user/xprop/APKBUILD
+++ b/user/xprop/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xprop
-pkgver=1.2.3
+pkgver=1.2.4
pkgrel=0
pkgdesc="X11 property inspector"
url="https://cgit.freedesktop.org/xorg/app/xprop/"
@@ -13,7 +13,6 @@ subpackages="$pkgname-doc"
source="https://www.X.Org/archive/individual/app/xprop-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -22,13 +21,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="ad7987fec11ae19b7adc3b0f683fc393e95155f3b6c753d1d8744aedcfb360452eee5735a4c380152b286905931515f3e1a28676b5531001eb8dd93b7249916a xprop-1.2.3.tar.bz2"
+sha512sums="6e770cb89ba87ae057858cc9f0f5498979e78c3ef66ce86361b7c646cc0b70c41a18d76e55ed7225fe715b22b62bc07c56272519a2631b92832e9403ce260da7 xprop-1.2.4.tar.bz2"
diff --git a/user/xrdb/APKBUILD b/user/xrdb/APKBUILD
index cf528a143..b82a20f35 100644
--- a/user/xrdb/APKBUILD
+++ b/user/xrdb/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xrdb
-pkgver=1.1.1
+pkgver=1.2.0
pkgrel=0
pkgdesc="Utility to manipulate the X11 server resources database"
url="https://www.X.Org/"
@@ -14,7 +14,6 @@ subpackages="$pkgname-doc"
source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +26,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="20c342004ef911fc4d3ef4ac3ac15d1c30bb946b8156f3a6916c242e470be0cb63261563462fd1e2e07b1a7cc527b8cacf5f913e31b02196629a95043cf8d13f xrdb-1.1.1.tar.bz2"
+sha512sums="14e1cdfb2152fb28f1f4641b177ab236648d7e967a95b952bf4cfce8d3e1ef085e85385354e3381aaf644462e8888a1847f755ab4016ecb4cb4a715b001dd2ef xrdb-1.2.0.tar.bz2"
diff --git a/user/xsane/APKBUILD b/user/xsane/APKBUILD
index 77a83e2d8..05cf220e4 100644
--- a/user/xsane/APKBUILD
+++ b/user/xsane/APKBUILD
@@ -13,7 +13,7 @@ makedepends="gtk+2.0-dev lcms2-dev libjpeg-turbo-dev libpng-dev sane-dev
tiff-dev"
subpackages="$pkgname-doc $pkgname-lang"
langdir="/usr/lib/locale"
-source="https://distfiles.gentoo.org/distfiles/xsane-$pkgver.tar.gz
+source="http://distfiles.gentoo.org/distfiles/xsane-$pkgver.tar.gz
xsane-0.999-lcms2.patch
xsane-0.999-libpng16.patch
"
diff --git a/user/xscreensaver/APKBUILD b/user/xscreensaver/APKBUILD
new file mode 100644
index 000000000..06f648560
--- /dev/null
+++ b/user/xscreensaver/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=xscreensaver
+pkgver=5.42
+pkgrel=0
+pkgdesc="X Screensaver suite"
+url="https://www.jwz.org/xscreensaver/"
+arch="all"
+options="!check suid" # no tests
+license="MIT"
+depends=""
+makedepends="bc gtk+2.0-dev intltool libglade-dev libice-dev libjpeg-turbo-dev
+ libx11-dev libxft-dev libxinerama-dev libxml2-dev libxml2-utils
+ libxrandr-dev libxt-dev linux-pam-dev mesa-dev mesa-glapi"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://www.jwz.org/xscreensaver/xscreensaver-$pkgver.tar.gz
+ xscreensaver-fixes.patch"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$builddir"
+ make install_prefix="$pkgdir" install
+}
+
+sha512sums="84cde9364c933de720acd51a0bf75eb4d0642d60f62b92de89d932233eb5abb51e1edb53cd413b2dc4801a02cb68652a28d7d1f83cdaa8d8cdd1fee7d651eefd xscreensaver-5.42.tar.gz
+1df5d3a1456990eb0b2a9efb65fcd26ce576e470a0d6ee268e84e4b399dda930f5ed0960d185e55a7fdab10e5dc42fa2c90060b16443954ec2fce306c8855b54 xscreensaver-fixes.patch"
diff --git a/user/xscreensaver/xscreensaver-fixes.patch b/user/xscreensaver/xscreensaver-fixes.patch
new file mode 100644
index 000000000..0f5381902
--- /dev/null
+++ b/user/xscreensaver/xscreensaver-fixes.patch
@@ -0,0 +1,14 @@
+diff -Nurd xscreensaver-5.42/hacks/fontglide.c xscreensaver-5.42.new/hacks/fontglide.c
+--- xscreensaver-5.42/hacks/fontglide.c 2018-09-02 17:56:45.000000000 -0500
++++ xscreensaver-5.42.new/hacks/fontglide.c 2019-03-24 14:09:46.559263834 -0500
+@@ -2421,8 +2421,8 @@
+
+ textclient_close (s->tc);
+
+-// if (s->b && s->b != s->window) XFreePixmap (dpy, s->b);
+-// if (s->ba && s->ba != s->b) XFreePixmap (dpy, s->ba);
++/* if (s->b && s->b != s->window) XFreePixmap (dpy, s->b); */
++/* if (s->ba && s->ba != s->b) XFreePixmap (dpy, s->ba); */
+ XFreeGC (dpy, s->bg_gc);
+ if (s->charset) free (s->charset);
+ if (s->font_override) free (s->font_override);
diff --git a/user/xstdcmap/APKBUILD b/user/xstdcmap/APKBUILD
index 5c2622cf3..076ac3256 100644
--- a/user/xstdcmap/APKBUILD
+++ b/user/xstdcmap/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xstdcmap
-pkgver=1.0.3
+pkgver=1.0.4
pkgrel=0
pkgdesc="Define standard X11 colour map properties"
url="https://www.X.Org/"
@@ -10,17 +10,9 @@ license="X11"
depends=""
makedepends="libx11-dev libxmu-dev util-macros xorgproto-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xstdcmap-$pkgver.tar.bz2"
-
-prepare() {
- cd "$builddir"
- default_prepare
- chmod a+w config.sub
- update_config_sub
-}
+source="https://www.X.Org/releases/individual/app/xstdcmap-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -32,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="8037ddb9c6b8f3a65d35637a1fca2b1b6c7e76afce5c13b1947cf72c3ca87679aa2ed05caf308d90549432b7fe029a522a99f32701bd0087c140bf4fafdb4d49 xstdcmap-1.0.3.tar.bz2"
+sha512sums="2adbb0aec1766341e04090efa962241ff6c9e32c612851b7221cec0ee16852107d406a08ec5251070f39df882c13e3c8c9edcd88f278187a9f373e1727643a8f xstdcmap-1.0.4.tar.bz2"
diff --git a/user/xterm/APKBUILD b/user/xterm/APKBUILD
index 5466d1c55..859f3ea61 100644
--- a/user/xterm/APKBUILD
+++ b/user/xterm/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=xterm
-pkgver=344
+pkgver=346
pkgrel=0
pkgdesc="An X-based terminal emulator"
url="https://invisible-island.net/xterm/"
@@ -9,9 +9,10 @@ arch="all"
options="!check" # no tests
license="X11"
makedepends="libx11-dev libsm-dev libice-dev libxt-dev utmps-dev libxaw-dev
- libxext-dev freetype-dev ncurses-dev pcre-dev"
+ libxext-dev libxrender-dev libxft-dev freetype-dev ncurses-dev
+ pcre-dev"
subpackages="$pkgname-doc"
-source="ftp://ftp.invisible-island.net/xterm/xterm-$pkgver.tgz
+source="https://invisible-mirror.net/archives/xterm/xterm-$pkgver.tgz
posix-ptmx.patch
"
@@ -44,5 +45,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="872f69e13ad8e26de355f7611dabc7a66e2f6b00313b440b8054cc4fa0fbde936dd8d54ec09c892e8760080acaccbd8b7e72cdcbebb291dd92e01593eb14e91a xterm-344.tgz
+sha512sums="ef0db8132a88b8bd980343007a61ca3c4c1b7ece23ef8e72245a17fa8305fa4dfed9cdf0613d8daf60da53fb8b03d41acd22aee04f2d51aeffb4a340268f51f7 xterm-346.tgz
e29ef756243faa6f5ced3c74d6879b4fc8f9839501becae49af4f458d0f499bcda40a0eb66dada9cae8bf9789256daf3d1605ac1b5b4301654d8b5ac6eaca81d posix-ptmx.patch"
diff --git a/user/xtrans/APKBUILD b/user/xtrans/APKBUILD
index 7a3a74a93..a65dd7dc3 100644
--- a/user/xtrans/APKBUILD
+++ b/user/xtrans/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xtrans
-pkgver=1.3.5
-pkgrel=1
+pkgver=1.4.0
+pkgrel=0
pkgdesc="X transport library"
url="https://www.X.Org/"
arch="noarch"
@@ -12,7 +12,6 @@ subpackages="$pkgname-doc"
source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -21,14 +20,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="049fb996313e8a1625b66e1645a5f56d8a26c5dd91afe5869269716fce05f6c97c84f8ce4a6df2057106b47982c8291cecc223bef241f694174434c981a7029b xtrans-1.3.5.tar.bz2"
+sha512sums="4fea89a3455c0e13321cbefa43340016dbb59bdd0dbdb5b796c1a6d2a6b1fd63cf1327b769ab426286b9c54b32ec764a50cd2b46228e4e43b841bda6b94de214 xtrans-1.4.0.tar.bz2"
diff --git a/user/xvinfo/APKBUILD b/user/xvinfo/APKBUILD
index 82d0e29ad..311f48b01 100644
--- a/user/xvinfo/APKBUILD
+++ b/user/xvinfo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xvinfo
-pkgver=1.1.3
+pkgver=1.1.4
pkgrel=0
pkgdesc="View information about video adaptors attached to X11"
url="https://www.X.Org/"
@@ -10,10 +10,9 @@ license="X11"
depends=""
makedepends="libxv-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/releases/individual/app/xvinfo-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/app/xvinfo-$pkgver.tar.bz2"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -25,13 +24,11 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="df8356898390d2aec4fbd15cee1627bb86b57ff8af41a527d4f6f6703a81f399a3098da342b94af6d4cf4a817d9fda1946a206bfbe3995e87ceb9910bb8b51bc xvinfo-1.1.3.tar.bz2"
+sha512sums="85e1f936c5c826f0fdde3670bd77d5cde8641c6e8e7849e42142e91b5aa01d7e0e60d2b064eb6fef4f5666321813ca2dc9f9656756ccbe6dcda37b119ee8a63e xvinfo-1.1.4.tar.bz2"
diff --git a/user/youtube-dl/APKBUILD b/user/youtube-dl/APKBUILD
index af5d02712..d7a2f6888 100644
--- a/user/youtube-dl/APKBUILD
+++ b/user/youtube-dl/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=youtube-dl
-pkgver=2018.11.23
+pkgver=2019.04.17
pkgrel=0
pkgdesc="Command-line program to download videos from YouTube and many other sites"
url="https://youtube-dl.org"
@@ -27,12 +27,10 @@ prepare() {
}
check() {
- cd "$builddir"
python3 -m unittest discover
}
package() {
- cd "$builddir"
python3 setup.py install --root="$pkgdir/" --optimize=1
}
@@ -65,4 +63,4 @@ fishcomp() {
"$subpkgdir/usr/share/fish/completions/"
}
-sha512sums="d4d2813657972c37d3493743a44055d7a776aeb5c5a97902e07caa317a3b2db30332507c37b56b3d8554e0bdc2a0ec6a9862977b449b363343a4de2df12bf059 youtube-dl-2018.11.23.tar.gz"
+sha512sums="6277a96a6487d81be23e0772c8e6fa36337d5b2b90a50b9be328579334b92c6e1a6eb9634a66969435c0d47e734fb907e286578cbc2f693565055ed1111b8148 youtube-dl-2019.04.17.tar.gz"
diff --git a/user/z3/APKBUILD b/user/z3/APKBUILD
new file mode 100644
index 000000000..2864319ac
--- /dev/null
+++ b/user/z3/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=z3
+pkgver=4.8.4
+pkgrel=0
+pkgdesc="Mathematical theorem prover"
+url=" "
+arch="all"
+license="MIT"
+depends=""
+makedepends="gmp-dev python3-dev cmd:which"
+subpackages="$pkgname-dev py3-$pkgname:py3:noarch"
+source="https://github.com/Z3Prover/z3/archive/z3-$pkgver.tar.gz"
+builddir="$srcdir/z3-z3-$pkgver"
+
+build() {
+ PYTHON=python3 ./configure \
+ --prefix=/usr \
+ --gmp \
+ --python
+ make -C build
+}
+
+check() {
+ make -C build test-z3
+ build/test-z3 /a
+}
+
+package() {
+ make -C build DESTDIR="$pkgdir" install
+}
+
+py3() {
+ pkgdesc="$pkgdesc (Python bindings)"
+ depends="python3"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib/
+}
+
+sha512sums="4660ba6ab33a6345b2e8396c332d4afcfc73eda66ceb2595a39f152df4d62a9ea0f349b0f9212389ba84ecba6bdae6ad9b62b376ba44dc4d9c74f80d7a818bf4 z3-4.8.4.tar.gz"
diff --git a/user/zenity/APKBUILD b/user/zenity/APKBUILD
new file mode 100644
index 000000000..234508b94
--- /dev/null
+++ b/user/zenity/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
+pkgname=zenity
+pkgver=3.32.0
+pkgrel=0
+pkgdesc="GTK-based dialog utility"
+url="https://gnome.org"
+arch="all"
+license="GPL-2.0+"
+depends=""
+makedepends="gtk+3.0-dev itstool libxml2-utils"
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://download.gnome.org/sources/zenity/${pkgver%.*}/zenity-$pkgver.tar.xz"
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="d057df25dbb2d780c6be184ec167b0f569eadf0ac1c460d63509843157f14dfdcebe46bb6f93b17c6069ef0208902ce9ecbb4025933f7dc7572323032ec34fda zenity-3.32.0.tar.xz"
diff --git a/user/zstd/APKBUILD b/user/zstd/APKBUILD
index b930a1a1e..e47eceb12 100644
--- a/user/zstd/APKBUILD
+++ b/user/zstd/APKBUILD
@@ -1,31 +1,27 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=zstd
-pkgver=1.3.7
+pkgver=1.4.0
pkgrel=0
pkgdesc="Fast real-time compression algorithm"
url="https://facebook.github.io/zstd/"
arch="all"
license="BSD-3-Clause AND GPL-2.0-only"
depends=""
-depends_dev=""
-makedepends="$depends_dev lz4-dev xz-dev zlib-dev"
+makedepends="lz4-dev xz-dev zlib-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/facebook/zstd/releases/download/v$pkgver/zstd-$pkgver.tar.gz"
build() {
- cd "$builddir"
make PREFIX="/usr"
}
check() {
- cd "$builddir"
make PREFIX="/usr" check
}
package() {
- cd "$builddir"
make PREFIX="/usr" DESTDIR="$pkgdir" install
}
-sha512sums="fb9ac61b79b22a628e602e68f7c59c85a00020f7f25b8653076895da7589ca1203adc7fe3d9b865f36648bc30d765b9630cf0955f970596253da74c089b97af1 zstd-1.3.7.tar.gz"
+sha512sums="ef6d95639593fed3cfb9ff4f1527c4ba38658e42f16eb3369b2a4bbe150905751bb71c6e3fe9c8bbdfceee26a540ae3e41bd0f0bc692d36db444b7da65a6e304 zstd-1.4.0.tar.gz"