diff options
Diffstat (limited to 'graphics/brlcad')
-rw-r--r-- | graphics/brlcad/brlcad.SlackBuild | 24 | ||||
-rw-r--r-- | graphics/brlcad/brlcad.info | 6 | ||||
-rw-r--r-- | graphics/brlcad/brlcad_archer.desktop | 3 | ||||
-rw-r--r-- | graphics/brlcad/brlcad_mged.desktop | 3 | ||||
-rw-r--r-- | graphics/brlcad/fix-step-g-segfault.diff | 70 |
5 files changed, 89 insertions, 17 deletions
diff --git a/graphics/brlcad/brlcad.SlackBuild b/graphics/brlcad/brlcad.SlackBuild index f8b0afec0a025..63c694ee67c46 100644 --- a/graphics/brlcad/brlcad.SlackBuild +++ b/graphics/brlcad/brlcad.SlackBuild @@ -15,10 +15,14 @@ # Modified by John Vogel <jvogel4@stny.rr.com> for build with cmake # ... and again to fix tcl/tk breakage +# 20220222 bkw: Modified by SlackBuilds.org: fix build on 15.0. +# Previous version wouldn't build, updated for v7.32.4, and still +# had to patch that. + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=brlcad -VERSION=${VERSION:-7.30.10} +VERSION=${VERSION:-7.32.4} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -31,9 +35,6 @@ if [ -z "$ARCH" ]; then 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 "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -68,9 +69,15 @@ cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ + -o -perm 511 \) -exec chmod 755 {} \+ -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ + +# 20220225 bkw: Fix for null pointer dereference, causes "Error 139" in +# 'Generating ../../share/db/nist/NIST_MBE_PMI_1.g'. Refs: +# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256166 +# https://github.com/BRL-CAD/brlcad/commit/b0dd45620f1ffdd8814069df091b20e8780e1b3e +patch -p1 < $CWD/fix-step-g-segfault.diff mkdir -p build cd build @@ -101,10 +108,7 @@ cmake \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" .. make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +make install/strip DESTDIR=$PKG find $PKG/opt/$PRGNAM/man -type f -exec gzip -9 {} \; for i in $( find $PKG/opt/$PRGNAM/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done diff --git a/graphics/brlcad/brlcad.info b/graphics/brlcad/brlcad.info index 32f398ffb451c..1b33ce7009729 100644 --- a/graphics/brlcad/brlcad.info +++ b/graphics/brlcad/brlcad.info @@ -1,8 +1,8 @@ PRGNAM="brlcad" -VERSION="7.30.10" +VERSION="7.32.4" HOMEPAGE="https://brlcad.org" -DOWNLOAD="https://downloads.sourceforge.net/brlcad/brlcad-7.30.10.tar.bz2" -MD5SUM="534507304b4943b134d2a9ab49b10ae9" +DOWNLOAD="https://github.com/BRL-CAD/brlcad/releases/download/rel-7-32-4/brlcad-7.32.4.tar.bz2" +MD5SUM="5de62ca1c617ee47a5b28313263d5f49" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/graphics/brlcad/brlcad_archer.desktop b/graphics/brlcad/brlcad_archer.desktop index 13a1cbe6a7f89..7f00c1dd32d61 100644 --- a/graphics/brlcad/brlcad_archer.desktop +++ b/graphics/brlcad/brlcad_archer.desktop @@ -5,6 +5,5 @@ Name=BRL-CAD Archer Comment=Constructive Solid Geometry modeling system Categories=Graphics; Exec=/opt/brlcad/bin/archer -Icon=brlcad +Icon=/usr/share/pixmaps/brlcad.png StartupNotify=false - diff --git a/graphics/brlcad/brlcad_mged.desktop b/graphics/brlcad/brlcad_mged.desktop index 696c53191595e..e3553c117b55f 100644 --- a/graphics/brlcad/brlcad_mged.desktop +++ b/graphics/brlcad/brlcad_mged.desktop @@ -5,6 +5,5 @@ Name=BRL-CAD MGED Comment=Constructive Solid Geometry modeling system Categories=Graphics; Exec=xterm -iconic -e /opt/brlcad/bin/mged -Icon=brlcad +Icon=/usr/share/pixmaps/brlcad.png StartupNotify=false - diff --git a/graphics/brlcad/fix-step-g-segfault.diff b/graphics/brlcad/fix-step-g-segfault.diff new file mode 100644 index 0000000000000..6c5048232d394 --- /dev/null +++ b/graphics/brlcad/fix-step-g-segfault.diff @@ -0,0 +1,70 @@ +diff -Naur brlcad-7.32.4/src/other/stepcode/src/clstepcore/complexSupport.h brlcad-7.32.4.patched/src/other/stepcode/src/clstepcore/complexSupport.h +--- brlcad-7.32.4/src/other/stepcode/src/clstepcore/complexSupport.h 2021-07-28 23:11:47.000000000 -0400 ++++ brlcad-7.32.4.patched/src/other/stepcode/src/clstepcore/complexSupport.h 2022-02-25 17:42:27.909342186 -0500 +@@ -208,26 +208,26 @@ + // but all we need. + EntList * firstNot( JoinType ); + EntList * nextNot( JoinType j ) { +- return next->firstNot( j ); ++ return (next) ? next->firstNot(j) : NULL; + } + EntList * firstWanted( MatchType ); + EntList * nextWanted( MatchType mat ) { +- return next->firstWanted( mat ); ++ return (next) ? next->firstWanted(mat) : NULL; + } + EntList * lastNot( JoinType ); + EntList * prevNot( JoinType j ) { +- return prev->lastNot( j ); ++ return (prev) ? prev->lastNot(j) : NULL; + } + EntList * lastWanted( MatchType ); + EntList * prevWanted( MatchType mat ) { +- return prev->lastWanted( mat ); ++ return (prev) ? prev->lastWanted(mat) : NULL; + } + + JoinType join; + int multiple() { + return ( join != SIMPLE ); + } +- EntList * next, *prev; ++ EntList * next = NULL, *prev = NULL; + + protected: + MatchType viable; +diff -Naur brlcad-7.32.4/src/other/stepcode/src/exp2cxx/complexSupport.h brlcad-7.32.4.patched/src/other/stepcode/src/exp2cxx/complexSupport.h +--- brlcad-7.32.4/src/other/stepcode/src/exp2cxx/complexSupport.h 2021-07-28 23:11:48.000000000 -0400 ++++ brlcad-7.32.4.patched/src/other/stepcode/src/exp2cxx/complexSupport.h 2022-02-25 17:40:52.465760163 -0500 +@@ -162,26 +162,26 @@ + // but all we need. + EntList * firstNot( JoinType ); + EntList * nextNot( JoinType j ) { +- return next->firstNot( j ); ++ return (next) ? next->firstNot(j) : NULL; + } + EntList * firstWanted( MatchType ); + EntList * nextWanted( MatchType mat ) { +- return next->firstWanted( mat ); ++ return (next) ? next->firstWanted(mat) : NULL; + } + EntList * lastNot( JoinType ); + EntList * prevNot( JoinType j ) { +- return prev->lastNot( j ); ++ return (prev) ? prev->lastNot(j) : NULL; + } + EntList * lastWanted( MatchType ); + EntList * prevWanted( MatchType mat ) { +- return prev->lastWanted( mat ); ++ return (prev) ? prev->lastWanted(mat) : NULL; + } + + JoinType join; + int multiple() { + return ( join != SIMPLE ); + } +- EntList * next, *prev; ++ EntList * next = NULL, *prev = NULL; + + protected: + MatchType viable; |