LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Requests for -current (14.2-->15.0) (https://www.linuxquestions.org/questions/slackware-14/requests-for-current-14-2-15-0-a-4175620463/)

Skaendo 11-23-2018 07:07 PM

If possible when a chance arises, could libsecret be rebuilt with
Code:

--enable-introspection
vala should be picked up when rebuilt since it is set to auto by default.

elcore 11-24-2018 01:52 AM

Quote:

Originally Posted by Skaendo (Post 5929282)
If possible when a chance arises, could libsecret be rebuilt with
Code:

--enable-introspection

Not sure how is that useful for distro which does not ship gnome, and what benefit there is for server to depend on introspection.
So I'll have to recompile a core package libsecret on my server, because you want to depend on gnome components?
Why not just recompile your libsecret locally, and not force introspection on the rest of us?

Skaendo 11-24-2018 04:24 AM

Quote:

Originally Posted by elcore (Post 5929357)
Not sure how is that useful for distro which does not ship gnome, and what benefit there is for server to depend on introspection.
So I'll have to recompile a core package libsecret on my server, because you want to depend on gnome components?
Why not just recompile your libsecret locally, and not force introspection on the rest of us?

libsecret IS a GNOME component, as is GObject Introspection. There are many GNOME components in Slackware, some of which already have introspection enabled, and since they are already in Slackware why can they not be used to their full potential?

I don't believe that having introspection enabled on any given package will affect any other package to the point where a package will need to be rebuilt, or that a package with introspection enabled need rebuilt to turn it off, or cause any breakage.

I am only requesting it, and if PV feels that it is not too much hassle, to enable it. If he does not want to then I will rebuild it locally.

teoberi 11-24-2018 05:52 AM

Dovecot v2.3.4
https://www.dovecot.org/list/dovecot...er/000391.html
https://dovecot.org/releases/2.3/dovecot-2.3.4.tar.gz

USUARIONUEVO 11-24-2018 07:12 PM

bind-9.13.4
https://ftp.isc.org/isc/bind9/9.13.4/bind-9.13.4.tar.gz

elcore 11-24-2018 09:18 PM

Quote:

Originally Posted by Skaendo (Post 5929395)
libsecret IS a GNOME component, as is GObject Introspection. There are many GNOME components in Slackware, some of which already have introspection enabled, and since they are already in Slackware why can they not be used to their full potential?

And I don't install any of them because I don't like GNOME dependencies, however 'libsecret' in particular, is a requirement for certain projects outside of gnome.
So if you were to make introspection a requirement of libsecret without giving a reason, it's just additional testing and compiling work for me (without a reason).
If something doesn't work for you because of lack of introspection in libsecret, then say what. Otherwise I assume it's just; 'hey, can we have gnome forced upon everyone?' etc.

Skaendo 11-24-2018 09:37 PM

Quote:

Originally Posted by elcore (Post 5929659)
And I don't install any of them because I don't like GNOME dependencies, however 'libsecret' in particular, is a requirement for certain projects outside of gnome.
So if you were to make introspection a requirement of libsecret without giving a reason, it's just additional testing and compiling work for me (without a reason).
If something doesn't work for you because of lack of introspection in libsecret, then say what. Otherwise I assume it's just; 'hey, can we have gnome forced upon everyone?' etc.

I do use a package that is on SBo, that when (hopefully) updated for Slackware 15, will need introspection and vala enabled in libsecret.

So while I am asking for introspection to benefit many other people that may use the same package, you are arguing for just yourself because you don't like GNOME?

elcore 11-24-2018 10:24 PM

Quote:

Originally Posted by Skaendo (Post 5929663)
So while I am asking for introspection to benefit many other people that may use the same package, you are arguing for just yourself because you don't like GNOME?

It's true I never did like it, so what? It's not shipped, or supported here. But I'm arguing because I don't want useless requirements for no reason. It undermines stability.

cwizardone 11-24-2018 10:39 PM

Here it is,

Quote:

Sat Nov 24 20:44:07 UTC 2018
..........
l/gobject-introspection-1.58.1-x86_64-1.txz: Upgraded.
..........
l/libsecret-0.18.6-x86_64-3.txz: Rebuilt.
Recompiled with --enable-introspection (also picks up Vala support).
....................

Skaendo 11-24-2018 10:53 PM

Quote:

Originally Posted by elcore (Post 5929670)
But I'm arguing because I don't want useless requirements for no reason.

You are still only arguing for yourself, while others including myself will benefit or never even notice when we install the recommended full installation. And unless you can prove that enabling introspection undermines stability somehow, that is just hearsay.


Thanks PV for the update!

ttk 11-24-2018 11:14 PM

If it doesn't pose too much of a burden, I would appreciate packages built with introspection in general, so that the various dynamic languages (python, perl, ruby, etc) can use them via their GLib bindings.

I have no specific plans for libsecret, but one of my side projects is a perl module which provides Apache-Arrow bindings via GLib (which is available for Arrow only through an unofficial, unsupported arrow-glib project), so it's been on my mind.

Having GLib bindings already there just makes this sort of thing much easier.

Thom1b 11-25-2018 02:58 AM

bind-9.13 = unstable
 
Quote:

Originally Posted by USUARIONUEVO (Post 5929633)

Hi,
bind-9.13 is the unstable branch, bind-9.14 will be the next stable branch.
Now the last stable version is 9.12.3 which is already in slackware.

Thom1b 11-25-2018 02:58 AM

postfix-3.3.2 is released.

https://de.postfix.org/ftpmirror/off...x-3.3.2.tar.gz
https://de.postfix.org/ftpmirror/off....2.tar.gz.gpg2

gmgf 11-25-2018 12:59 PM

sysvinit-2.93:

http://git.savannah.nongnu.org/cgit/sysvinit.git/log/
http://download.savannah.nongnu.org/...it-2.93.tar.xz

USUARIONUEVO 11-25-2018 02:07 PM

what arround "graphviz" ?

I read , some packages like "linux kernel" , check for this to make "enhanced" , documentation files.

ruby , meson ..and others check for graphviz.

Only suggest.

Package list of "check" for graphviz

Quote:

vala
doxygen
dbus
libepoxy
libsigc++
libxkbcommon
linux
ruby
meson

willysr 11-25-2018 04:36 PM

Graphviz is just an optional dependency of vala and since vala can be built without graphviz, it wasn't included in Slackware. IMHO, it's not really worth to add package if it's only to enhance documentation.

slackartist 11-25-2018 05:43 PM

socat-1.7.3.2
http://www.dest-unreach.org/socat/do...1.7.1.0.tar.gz

igadoter 11-26-2018 09:32 AM

Quote:

Originally Posted by slackartist (Post 5929965)

For me this link is dead '404 not found'

Didier Spaier 11-26-2018 09:41 AM

Quote:

Originally Posted by igadoter (Post 5930163)
For me this link is dead '404 not found'

Try instead:
http://www.dest-unreach.org/socat/do...1.7.3.2.tar.gz
Link found on:
http://www.dest-unreach.org/socat/

mats_b_tegner 11-26-2018 12:01 PM

Mutt 1.11
 
http://www.mutt.org/relnotes/1.11/
https://gitlab.com/muttmua/mutt/raw/master/UPDATING
ftp://ftp.mutt.org/pub/mutt/mutt-1.11.0.tar.gz

mats_b_tegner 11-26-2018 07:44 PM

gkrellm-2.3.10-x86_64-5.txz doesnt launch
 
GKrellM still asks for old libsensors.so.4 library:
gkrellm: error while loading shared libraries: libsensors.so.4: cannot open shared object file: No such file or directory
even if I rebuild it. What could cause this?
Quote:

Mon Nov 26 22:58:11 UTC 2018
ap/lm_sensors-3.5.0-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
xap/gkrellm-2.3.10-x86_64-5.txz: Rebuilt.
Recompiled against lm_sensors-3.5.0.
Rebooting doesn't solve it for me...found it I had a copy in /usr/local/bin...

cwizardone 11-26-2018 07:58 PM

Working fine here after today's updates. I did reboot after installing the updates, but don't know if that had anything at all to do with it.

willysr 11-26-2018 08:00 PM

working fine here without reboot

dchmelik 11-26-2018 09:15 PM

Quote:

Originally Posted by Alien Bob (Post 5909175)
I do not have hundreds of files open in a text editor but I do have multiple tens of tabs open in my browser, and I have many Konsole terminals open.

I have 100+ browser tabs open and maybe TB of stuff open in Transmission and two similar programs. I tried KDE5 on a different distribution and it does seem to be improving now even when indexing TB of data. Yes, I was going to retry on Slackware-current, but when I followed the instructions, and uncommented the Slackware-current mirror finder, slackpkg didn't upgrade it, then I needed to temporarily use a different distribution for AMD Radeon RX Vega display/video/graphics card GPU compute support, though have other computers on my desk (laptop, servers) running Slackware.

Quote:

Do you use proprietary video drivers on that computer (Nvidia or AMD)?
no.

I think one of the problems is notifications in the KDE5 system tray will cause the GUI to do something like a 'memory thrashing' problem for user interface input. Ignore a notification (like IRC message with flashing system tray) too long and then soon the mouse will only move a short distance before pausing, again and again. Only restarting X fixes it.

Some other things I'd like to see in Slackware 15 are below.
  • support for OpenCL on Vega cards (needs AMDGPU-PRO)
all the good 'light' window managers, like (maybe mentioned one or two)
  • CDE (my favourite, if it has multi-monitor setup or even scroll wheel, not sure, but maybe not really ready for general modern usage)
  • Enlightenment (what I'd actually use if I could configure monitors and if it had clipboard)
  • FVWM(95)?
  • one or two WMs names that start with I? (ICEWM? I3WM? heard of them)
  • LXDE? (never tried but heard it's faster than XFCE now)
  • TDE (KDE3.5 fork)

birdboy 11-27-2018 12:00 PM

Like Sendmail/Postfix, Courier/Dovecot replacements etc, how about replacing ImageMagick with GraphicsMagick, a much improved fork?

Also, BIND -> nsd/unbound (and maybe add ldns/drill too, as dig substitute).

ntpd is another contender that is long in the tooth. There's NTPsec, but IMO, chrony or OpenNTPD would be better. Ntimed is stalled. chrony is Linux native and looks like the best all around choice.

atelszewski 11-27-2018 12:08 PM

Hi,

I'm all for chrony.

--
Best regards,
Andrzej Telszewski

SCerovec 11-27-2018 01:16 PM

..., and provide symlinks for the transition period?

bassmadrigal 11-27-2018 11:13 PM

I'd like to suggest a minor update to rc.nfsd that was suggested to a user by upnort here 9ish months ago.

I was looking at my dmesg starting up and I was getting an error with nfsd saying: "Unable to end grace period: -110". I had no problems with my nfs shares and there seemed to be no ill effects from this error other than dirtying my dmesg output :D

Essentially, anytime I would start nfsd, I would get the following output:

Code:

[ 7757.071312] NFSD: the nfsdcld client tracking upcall will be removed in 3.10. Please transition to using nfsdcltrack.
[ 7757.071314] NFSD: starting 45-second grace period (net f0000098)
[ 7834.070500] NFSD: Unable to end grace period: -110

There were a bunch of random unrelated suggestions on google, but then I came across upnort's suggestion to add the following to the beginning of the nfsd_start function in rc.nfsd and it got rid of the error message.

Code:

  # Without this directory the logs will complain with
  # 'NFSD: Unable to end grace period'.
  NFSV4RECOVERYDIR=$(cat /proc/fs/nfsd/nfsv4recoverydir)
  if [ -r /proc/fs/nfsd/nfsv4recoverydir ] && [ ! -d "$NFSV4RECOVERYDIR" ]; then
    mkdir "$NFSV4RECOVERYDIR"
    chown -R rpc:rpc "$NFSV4RECOVERYDIR"
  fi

Adding this also gets rid of the nfscld client error (top line above) as well, and now my output when starting is simply:

Code:

[ 7890.376350] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 7890.376359] NFSD: starting 45-second grace period (net f0000098)

Here's a patch:

Code:

diff --git a/rc.nfsd b/rc.nfsd
index 965db6b..d158e57 100644
--- a/rc.nfsd
+++ b/rc.nfsd
@@ -16,6 +16,14 @@ if [ -r /etc/default/nfs ]; then
 fi
 
 nfsd_start() {
+  # Without this directory the logs will complain with
+  # 'NFSD: Unable to end grace period'.
+  NFSV4RECOVERYDIR=$(cat /proc/fs/nfsd/nfsv4recoverydir)
+  if [ -r /proc/fs/nfsd/nfsv4recoverydir ] && [ ! -d "$NFSV4RECOVERYDIR" ]; then
+    mkdir "$NFSV4RECOVERYDIR"
+    chown -R rpc:rpc "$NFSV4RECOVERYDIR"
+  fi
+
  # Sanity checks.  Exit if there's no /etc/exports, or if there aren't any
  # shares defined in it.
  if [ ! -r /etc/exports ]; then # no config file, exit:


gmgf 11-28-2018 02:48 AM

samba-4.9.3:

(many CVE fix)
https://www.samba.org/samba/history/
https://download.samba.org/pub/samba/samba-4.9.3.tar.gz

Didier Spaier 11-28-2018 03:00 AM

FS2FS in Slackware current.
 
Thank your Pat for allowing usage of F2FS to install Slackware current on a flash drive. Although I personally wouldn't advise to do that (I'd rather use a small USB HD or SSD), I know that there are many users wanting to carry Slackware on the go on an USB stick.

GazL 11-28-2018 04:55 AM

May I suggest:

Code:

--- a/rc.S      2018-11-28 10:38:34.015032493 +0000
+++ b/rc.S      2018-11-28 10:48:03.752882922 +0000
@@ -231,7 +231,7 @@
 
 # If we're using F2FS for the root filesystem, don't check it as it doesn't
 # allow checking a read-only filesystem:
-if [ "$(cat /etc/fstab | tr '\t' ' ' | tr -s ' ' | grep ' / ' | cut -f 3 -d ' ')" = "f2fs" ]; then
+if grep -q '^[^#][^[:space:]]*[[:space:]]\+/[[:space:]]\+f2fs[[:space:]]' /etc/fstab ; then
  echo "Remounting root device with read-write enabled."
  /sbin/mount -w -v -n -o remount /
 elif [ ! $READWRITE = yes ]; then

Setting aside the UUOC and all the unnecessary utility calls, yours doesn't ignore commented out lines.


P.S.
Thinking about it a little more, if you used /proc/mounts, instead of /etc/fstab you wouldn't need to worry about the commented lines or repeated spacing, so a '^[^[:space:]]\+ / f2fs ' would suffice.

dugan 11-28-2018 08:49 AM

I see that vulkan-sdk 1.1.92.1 is officially out.

bassmadrigal 11-28-2018 10:09 AM

Quote:

Originally Posted by Didier Spaier (Post 5930986)
Although I personally wouldn't advise to do that (I'd rather use a small USB HD or SSD)

This isn't just for USB sticks, it is for NAND-based flash devices, which includes SSDs and NVMes.

mats_b_tegner 11-28-2018 11:30 AM

cmake 3.13.1
 
https://blog.kitware.com/cmake-3-13-...-for-download/
https://github.com/Kitware/CMake/rel...-3.13.1.tar.gz

upnort 11-28-2018 11:53 AM

Quote:

I'd like to suggest a minor update to rc.nfsd that was suggested to a user by upnort here 9ish months ago.
Thank you for the reference. :D

There is another quirk with NFS. The /var/lib/rmtab file will accumulate stale NFS connections. The man page states that using this file is not dependable. I don't why the file can't be maintained in real-time by NFS, but c'est la vie.

I don't know the rc.nfsd script is an appropriate place for a fix. Probably rc.local or rc.local_shutdown is more appropriate.

Code:

# Clean NFS logs.
cat /dev/null > /var/lib/nfs/rmtab 2>/dev/null

Then again, no argument from me if that snippet was in the rc.nfsd script. :)

While not resolving the file being undependable, the scrubbing at least keeps the file reasonably current for the session. Probably does not help much with servers that are on 24/7.

Of course, the biggest quirk with NFS is how clients utterly freeze when the NFS server disappears. :(

USUARIONUEVO 11-28-2018 03:20 PM

mesa-18.2.6


release note --> https://www.mesa3d.org/relnotes/18.2.6.html
sources --> https://mesa.freedesktop.org/archive/mesa-18.2.6.tar.xz

Didier Spaier 11-28-2018 06:17 PM

Please include the html documentation in the fvwm package.
 
The patch (that I can't attach here as it is too big) modifies fvwm.SlackBuild in order to include the html documentation in the package, also editing or replacing some html documents.

From the patched SlackBuild, with the changes made on Thursday 29 November 2018 12:58 CET applied:
Code:

# Move the html doc into place, as the htmldir configure option is not
# honored (will be in version 2.6.9). Some edit is done in the source
# files to avoid dead links and provide current useful documentation.
# Acces to all the documentation is provided through this command:
# <browser> /usr/doc/$PKGNAM-$VERSION/index.html
mv $PKG/usr/share/doc/fvwm/* $PKG/usr/doc/$PKGNAM-$VERSION
rm -r $PKG/usr/share/doc
(  cd $PKG/usr/doc/$PKGNAM-$VERSION
  for i in $(find -name "*.html"); do
    sed -i "s,faq.html,faq/,;s,links.php,links/,;/.php/d" $i
  done
  sed -i "s,>Modules<,>List of all modules<,;s,>FAQ<,>FAQ (on line)<," commands/*.html
  # Remove the links to non existing files, but highligt the module
  # names as if they were options, to not modify style.css
  sed -i 's@<a href="https://www.linuxquestions.org/questions/slackware-14/modules/[^"]*">\([^<]*\)</a>@<font class="fvwmopt">\1</font>@g' commands/*.html
  # Provide edited files to avoid broken links and insure the
  # documentation correspond to what is actually installed
  rm -f *.html fvwm/*.html
  cp -a $CWD/htmlpages/* .
)

Please find all needed files in http://slint.fr/forSlackware/fvwm/

I intend to also submit the edits of the documents upstream as pull requests.

Best,

Changelog:
Thursday 29 November 2018 12:58 CET
Typo fixed in index.html: Licence -> License
Instead of linking to non existing pages about modules, just highlight
the module name.

dugan 11-28-2018 09:54 PM

Who wants to test out the vulkan-sdk 1.1.92.1 SlackBuild? I've tested it only as far as making sure that it does build a package.

It incorporates the CMake patch from davjon:

https://www.linuxquestions.org/quest...ml#post5925533

Here is the updated fetch-sources.sh:

Code:

#!/bin/sh

# Copyright 2017, 2018  Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

VERSION=${VERSION:-1.1.92.1}
LOADER_TAG=sdk-$VERSION
HEADERS_TAG=${HEADERS_TAG:-sdk-1.1.92.0}
VALIDATIONLAYERS_TAG=${VALIDATIONLAYERS_TAG:-sdk-1.1.92.0}
TOOLS_TAG=${TOOLS_TAG:-sdk-1.1.92.0}

rm -rf Vulkan-*-*.tar.?z glslang* SPIRV-Tools* SPIRV-Headers* \
        Vulkan-Headers-sdk-${HEADERS_TAG}* \
        Vulkan-ValidationLayers-sdk-${VALIDATIONLAYERS_TAG}* \
        Vulkan-Loader-sdk-${LOADER_TAG}* \
        Vulkan-Tools-sdk-${TOOLS_TAG}*

wget --content-disposition https://github.com/KhronosGroup/Vulkan-Headers/archive/$HEADERS_TAG.tar.gz
wget --content-disposition https://github.com/KhronosGroup/Vulkan-Loader/archive/$LOADER_TAG.tar.gz
wget --content-disposition https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/$VALIDATIONLAYERS_TAG.tar.gz
wget --content-disposition https://github.com/KhronosGroup/Vulkan-Tools/archive/$TOOLS_TAG.tar.gz

GLSLANG_COMMIT=$(python3 - << EOF
import json
import tarfile
with tarfile.open('Vulkan-ValidationLayers-$VALIDATIONLAYERS_TAG.tar.gz') as layers:
        known_good = layers.extractfile('Vulkan-ValidationLayers-$VALIDATIONLAYERS_TAG/scripts/known_good.json')
        known_good_info = json.loads(known_good.read())
glslang = next(repo for repo in known_good_info['repos'] if repo['name'] == 'glslang')
print(glslang['commit'])
EOF
)

git clone https://github.com/KhronosGroup/glslang.git
cd glslang || exit
git checkout "$GLSLANG_COMMIT"
GLSLANG_VERSION=$(git rev-parse --short HEAD)
rm -rf .git
cd ..

mv glslang "glslang-$GLSLANG_VERSION"

SPIRV_TOOLS_COMMIT=$(python3 - << EOF
import json
with open('glslang-$GLSLANG_VERSION/known_good.json') as f:
        known_good = json.load(f)
tools = next(commit for commit in known_good['commits'] if commit['name'] == 'spirv-tools')
print(tools['commit'])
EOF
)

git clone https://github.com/KhronosGroup/SPIRV-Tools.git
cd SPIRV-Tools || exit
git checkout "$SPIRV_TOOLS_COMMIT"
SPIRV_TOOLS_VERSION="$(git rev-parse --short HEAD)"
rm -rf .git
cd ..
mv SPIRV-Tools SPIRV-Tools-$SPIRV_TOOLS_VERSION
tar cf SPIRV-Tools-$SPIRV_TOOLS_VERSION.tar SPIRV-Tools-$SPIRV_TOOLS_VERSION
rm -rf SPIRV-Tools-$SPIRV_TOOLS_VERSION
plzip -9 SPIRV-Tools-$SPIRV_TOOLS_VERSION.tar

SPIRV_HEADERS_COMMIT=$(python3 - << EOF
import json
with open('glslang-$GLSLANG_VERSION/known_good.json') as f:
        known_good = json.load(f)
name = 'spirv-tools/external/spirv-headers'
headers = next(commit for commit in known_good['commits'] if commit['name'] == name)
print(headers['commit'])
EOF
)

git clone https://github.com/KhronosGroup/SPIRV-Headers.git
cd SPIRV-Headers || exit
git checkout "$SPIRV_HEADERS_COMMIT"
SPIRV_HEADERS_VERSION="$(git rev-parse --short HEAD)"
rm -rf .git
cd ..
mv SPIRV-Headers SPIRV-Headers-$SPIRV_HEADERS_VERSION
tar cf SPIRV-Headers-$SPIRV_HEADERS_VERSION.tar SPIRV-Headers-$SPIRV_HEADERS_VERSION
rm -rf SPIRV-Headers-$SPIRV_HEADERS_VERSION
plzip -9 SPIRV-Headers-$SPIRV_HEADERS_VERSION.tar

tar cf glslang-$GLSLANG_VERSION.tar glslang-$GLSLANG_VERSION
rm -rf glslang-$GLSLANG_VERSION
plzip -9 glslang-$GLSLANG_VERSION.tar

And the updated vulkan-sdk.SlackBuild:

Code:

#!/bin/bash

# Slackware build script for vulkan-sdk

# Copyright 2016, 2017  Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2016, 2017, 2018  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cd $(dirname $0) ; CWD=$(pwd)

PKGNAM=vulkan-sdk
VERSION=${VERSION:-$(echo Vulkan-Loader-sdk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}

HEADERS_TAG=${HEADERS_TAG:-sdk-1.1.92.0}
VALIDATIONLAYERS_TAG=${VALIDATIONLAYERS_TAG:-sdk-1.1.92.0}
TOOLS_TAG=${TOOLS_TAG:-sdk-1.1.92.0}

BUILD=${BUILD:-1}

NUMJOBS=${NUMJOBS:--j7}

# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
  case "$MARCH" in
    i?86)    export ARCH=i586 ;;
    armv7hl) export ARCH=$MARCH ;;
    arm*)    export ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
    *)      export ARCH=$MARCH ;;
  esac
fi

# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
  exit 0
fi

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
  SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
  LIBDIRSUFFIX=""
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

TMP=${TMP:-/tmp}
PKG=$TMP/package-vulkan-sdk

GLSLANG_VERSION=$(echo glslang-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
SPIRV_HEADERS_VERSION=$(echo SPIRV-Headers-sdk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
SPIRV_TOOLS_VERSION=$(echo SPIRV-Tools-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)

rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf Vulkan-ValidationLayers-sdk-$VERSION Vulkan-Headers-sdk-$VERSION glslang-$GLSLANG_VERSION

tar xvf $CWD/glslang-${GLSLANG_VERSION}.tar.?z || exit 1
cd glslang-$GLSLANG_VERSION/External
tar xvf $CWD/SPIRV-Tools-$SPIRV_TOOLS_VERSION.tar.?z || exit 1
mv SPIRV-Tools-$SPIRV_TOOLS_VERSION spirv-tools
cd spirv-tools/external
tar xvf $CWD/SPIRV-Headers-$SPIRV_HEADERS_VERSION.tar.?z || exit 1
mv SPIRV-Headers-$SPIRV_HEADERS_VERSION spirv-headers

cd $TMP/glslang-${GLSLANG_VERSION}

chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

# Fix LIBDIRSUFFIX
for i in $(find . -name CMakeLists.txt); do
  sed -i "s|DESTINATION lib|DESTINATION \${CMAKE_INSTALL_LIBDIR}|" "$i"
done

mkdir -p build
cd build
cmake \
  -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
  -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
  -DCMAKE_INSTALL_PREFIX=$PKG \
  -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
  -DCMAKE_BUILD_TYPE=Release \
  ..
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1

cd $TMP

tar xvf $CWD/Vulkan-Headers-$HEADERS_TAG.tar.?z || exit 1
cd Vulkan-Headers-$HEADERS_TAG

chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

mkdir -p build
cd build
cmake \
  -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
  -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
  -DCMAKE_INSTALL_PREFIX=/usr\
  -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
  -DCMAKE_BUILD_TYPE=Release \
  ..
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1

cd $TMP/glslang-${GLSLANG_VERSION}/External/spirv-tools/external/spirv-headers
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$PKG/usr .. || exit 1
cmake --build . --target install || exit 1

cd $TMP

tar xvf $CWD/Vulkan-Loader-sdk-$VERSION.tar.?z || exit 1
cd $TMP/Vulkan-Loader-sdk-$VERSION

chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

mkdir -p build
cd build
  cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DGLSLANG_INSTALL_DIR=$PKG/usr \
    -DVULKAN_HEADERS_INSTALL_DIR=$PKG/usr \
    -DBUILD_WSI_WAYLAND_SUPPORT=Off \
    -DBUILD_WSI_MIR_SUPPORT=Off \
    ..

  make $NUMJOBS || make || exit 1
  make install DESTDIR=$PKG || exit 1

cd $TMP

tar xvf $CWD/Vulkan-ValidationLayers-$VALIDATIONLAYERS_TAG.tar.?z || exit 1
cd $TMP/Vulkan-ValidationLayers-$VALIDATIONLAYERS_TAG

chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

mkdir -p build
cd build
  cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_DATADIR=/share \
    -DCMAKE_SKIP_RPATH=True \
    -DBUILD_TESTS=Off \
    -DBUILD_WSI_XLIB_SUPPORT=On \
    -DBUILD_WSI_XCB_SUPPORT=On \
    -DBUILD_WSI_WAYLAND_SUPPORT=Off \
    -DBUILD_WSI_MIR_SUPPORT=Off \
    -DCMAKE_BUILD_TYPE=Release \
    -DGLSLANG_INSTALL_DIR=$PKG/usr \
    -DVULKAN_HEADERS_INSTALL_DIR=$PKG/usr \
    -DVULKAN_LOADER_INSTALL_DIR=$PKG/usr \
    ..

  make $NUMJOBS || make || exit 1
  make install DESTDIR=$PKG || exit 1

cd $TMP

tar xvf $CWD/Vulkan-Tools-$TOOLS_TAG.tar.?z || exit 1
cd $TMP/Vulkan-Tools-$TOOLS_TAG

chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

mkdir -p build
cd build
  cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DVULKAN_HEADERS_INSTALL_DIR=$PKG/usr \
    -DGLSLANG_INSTALL_DIR=$PKG/usr \
    -DVULKAN_LOADER_INSTALL_DIR=$PKG/usr \
    -DBUILD_WSI_WAYLAND_SUPPORT=Off \
    -DBUILD_WSI_MIR_SUPPORT=Off \
    ..

  make $NUMJOBS || make || exit 1
  make install DESTDIR=$PKG || exit 1

cd $TMP

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
  Vulkan-Loader-sdk-$VERSION/*.txt \
  Vulkan-Loader-sdk-$VERSION/loader/LoaderAndLayerInterface.md \
  $PKG/usr/doc/$PKGNAM-$VERSION

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz


ttk 11-29-2018 02:07 AM

Quote:

Originally Posted by dugan (Post 5931406)
Who wants to test out the vulkan-sdk 1.1.92.1 SlackBuild? I've tested it only as far as making sure that it does build a package.

It seems to have worked on an up-to-date slackware64-current, at least as far as installation is concerned. Tomorrow I'll see if vulkan works.

There was a warning, but it's minor:
Quote:

WARNING: zero length file install/slack-desc

orbea 11-29-2018 11:18 AM

I updated my current install and vulkan still works here. :)

dugan 11-29-2018 01:47 PM

Well, it does look like I was too late and the vulkan-sdk was already updated, so whatever.

Skaendo 11-30-2018 07:11 AM

certifi 2018.11.29


https://files.pythonhosted.org/packa...8.11.29.tar.gz

USUARIONUEVO 11-30-2018 03:58 PM

pygobject-3.30.4
http://ftp.gnome.org/pub/gnome/sourc...-3.30.4.tar.xz

gmime-3.2.3
http://ftp.gnome.org/pub/gnome/sourc...e-3.2.3.tar.xz

harfbuzz-2.2.0
https://www.freedesktop.org/software...-2.2.0.tar.bz2

Didier Spaier 11-30-2018 04:09 PM

Quote:

Originally Posted by USUARIONUEVO (Post 5932034)

Code:

didier[~]$ ls /var/log/packages |grep py3gobject
py3gobject-3.31.1-x86_64-1slint

;)

USUARIONUEVO 11-30-2018 05:13 PM

didier

1slint

this is not slackware package , and probably this overlap the original from current.

I ever read unpaired versions are unestable/development versions and no shipped by slackware

1.31 , is unpaired , this is the reason slackware have 3.30.x

In slackware this package name is pygobject3-3.*

Didier Spaier 11-30-2018 05:29 PM

Quote:

Originally Posted by USUARIONUEVO (Post 5932059)
didier

1slint

this is not slackware package , and probably this overlap the original from current.

Of course! I don't expect anyone to install it in -current anyway ;)

Quote:

I ever read unpaired versions are unestable/development versions and no shipped by slackware

1.31 , is unpaired , this is the reason slackware have 3.30.x
Well, for Slackware that's up to Pat but IMO, it depends. In this case that's just Python bindings and I don't think that upgrading hurts. As an aside, I think the same globally for the a11y stack under the GNOME umbrella: atk, at-spi2-core, at-spi2-atk, pyatspi and on top of that, orca. At least I never had an issue upgrading here.

USUARIONUEVO 11-30-2018 05:48 PM

@didier , i think then , you post your output,only to suggest 3.31.x are available =?

Didier Spaier 11-30-2018 05:52 PM

@USARIONUEVO: yes, exactly.

USUARIONUEVO 11-30-2018 06:57 PM

fuse-3.3.0
https://github.com/libfuse/libfuse/r...e-3.3.0.tar.xz

USUARIONUEVO 12-01-2018 02:33 PM

mozilla-nss-3.40.1

BUGFIX RELEASE CVE
Bug 1485864 - Cache side-channel variant of the Bleichenbacher attack (CVE-2018-12404)

release note --> https://developer.mozilla.org/en-US/..._release_notes

Sources --> https://ftp.mozilla.org/pub/security...-3.40.1.tar.gz


All times are GMT -5. The time now is 12:15 PM.