summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2022-06-06 16:37:41 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2022-06-06 16:37:41 -0700
commit3ee70de3d9359485b37785fe28a31b7c87a0f8da (patch)
treea28f328f329e471784b2d2d3e40aaf06a5fbfa98
parentAdd optimizations (diff)
downloadsyncterm-3ee70de3d9359485b37785fe28a31b7c87a0f8da.tar.xz
Rebuild with pthread patches.
-rw-r--r--PKGBUILD46
-rw-r--r--cl-linux-yield.patch12
-rw-r--r--cl-makefile.patch19
-rw-r--r--st_crypt.patch11
4 files changed, 73 insertions, 15 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 96af2bf..c6b8a24 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,38 +1,54 @@
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
-# Maintainer (AUR): chrisl echo archlinux@c2h0r1i2s4t5o6p7h8e9r-l3u4n1a.com|sed 's/[0-9]//g'
+# Maintainer (AUR): Michael Wawrzyniak <arch ismyusernameat cmstactical nexttothecomma net>
+# Contributor (AUR): chrisl echo archlinux@c2h0r1i2s4t5o6p7h8e9r-l3u4n1a.com|sed 's/[0-9]//g'
# Contributor (AUR): Mattias Andrée <`base64 -d`(bWFhbmRyZWUK)@member.fsf.org>
# # I maintain this because:
-# AUR version uses http
-# AUR version uses epoch
-# AUR version has excessive cd commands
# AUR version lacks additional optimization and hardening flags
pkgname=syncterm
pkgver=1.1
-pkgrel=3.2
-pkgdesc="A BBS terminal program, Supports ANSI music and the IBM charset when possible."
+pkgrel=4
+pkgdesc="A BBS terminal program, supporting ANSI music and IBM charset."
url="http://syncterm.bbsdev.net"
license=('GPL')
-depends=('ncurses' 'sdl')
-options=(!buildflags)
-makedepends=(unzip)
+depends=('ncurses')
+makedepends=('unzip')
+optdepends=('hicolor-icon-theme: for GUI icon support'
+ 'sdl2: for SDL GUI support'
+ 'libx11: for X11 GUI support')
arch=('i686' 'x86_64')
-source=("https://phoenixnap.dl.sourceforge.net/project/syncterm/syncterm/$pkgname-${pkgver}$/$pkgname-${pkgver}-src.tgz")
-b2sums=('91043a31374d73d29a447ab425007aad95ee7d22ded3ea4a518c1fa05958b5f20a4a83df9f575e9cb3962301cc31b55ab876e96addd617e045627d34e56fd922')
+source=("https://downloads.sourceforge.net/project/syncterm/syncterm/$pkgname-$pkgver/$pkgname-$pkgver-src.tgz"
+ "cl-linux-yield.patch"
+ "cl-makefile.patch"
+ "st_crypt.patch")
+md5sums=('f528a1fdbe87a69a52582582d99e4032'
+ 'c67ca676bddbbbbefa3fe20cd00ab7e7'
+ '3471ec7748fc0a9d8be12424be7a8ff5'
+ '69f59c1a5f71e44beb6e68644d497418')
+b2sums=('91043a31374d73d29a447ab425007aad95ee7d22ded3ea4a518c1fa05958b5f20a4a83df9f575e9cb3962301cc31b55ab876e96addd617e045627d34e56fd922'
+ '015e96bf2ba557cc2dba0b6c0ddc88af77a397ccd6757a56c58a7a6c2474d7cee7918fac243b4b3e0afb1bdc0521b643cbba6ad4d165545c04da6b03d8a93a31'
+ 'f8823c06267f63d649a5b3065358487f508aa605e02b4f0175f35c2f4932ab5efd3496b5756a6c4739a60a997e8620df68b2d216a2ea2c33bbb412abff41b587'
+ 'c816a89d35b498d9ee50286fc36371e6866289bd7c6ae4ce31e4dc9d54d4fa90a6cbc2972ea520f027111e8f8037ff3188d61ef65350208a4475afe920f55f87')
+prepare() {
+ cp "$srcdir/cl-linux-yield.patch" "$pkgname-$pkgver/3rdp/build/cl-linux-yield.patch"
+ patch -Np1 -d "$pkgname-$pkgver" -i "${srcdir}/cl-makefile.patch"
+ patch -Np1 -d "$pkgname-$pkgver" -i "${srcdir}/st_crypt.patch"
+}
build() {
- cd "$srcdir/$pkgname-${pkgver}/src/syncterm/"
+ cd "$srcdir/$pkgname-${pkgver}/src/syncterm"
export CFLAGS="$CFLAGS -O3 -fstack-protector-all -flto=auto -fPIE"
export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -flto=auto -fPIE"
export LDFLAGS="$LDFLAGS,-pie"
- make MANPREFIX="$pkgdir/usr/share" SRC_ROOT="$(realpath ..)" PREFIX="/usr" RELEASE=1 || true
+ make PREFIX="/usr" MANPREFIX="/usr/share" RELEASE=1
}
package() {
- cd "$srcdir/$pkgname-${pkgver}/src/syncterm/"
- make install MANPREFIX="$pkgdir/usr/share" SRC_ROOT="$(realpath ..)" PREFIX="$pkgdir/usr" RELEASE=1
+ cd "$srcdir/$pkgname-${pkgver}/src/syncterm"
+
+ make PREFIX="$pkgdir/usr" MANPREFIX="$pkgdir/usr/share" RELEASE=1 install
}
diff --git a/cl-linux-yield.patch b/cl-linux-yield.patch
new file mode 100644
index 0000000..5ad87ac
--- /dev/null
+++ b/cl-linux-yield.patch
@@ -0,0 +1,12 @@
+--- kernel/thread.orig 2022-06-01 11:44:29.563747178 -0400
++++ kernel/thread.h 2022-06-01 11:46:19.093752131 -0400
+@@ -3005,7 +3005,8 @@
+ #endif /* Slowaris 5.7 / 7.x or newer */
+ #elif defined( _AIX ) || defined( __Android__ ) || defined( __CYGWIN__ ) || \
+ ( defined( __hpux ) && ( OSVERSION >= 11 ) ) || \
+- defined( __NetBSD__ ) || defined( __QNX__ ) || defined( __UCLIBC__ )
++ defined( __NetBSD__ ) || defined( __QNX__ ) || \
++ defined( __UCLIBC__ ) || defined(__linux__)
+ #define THREAD_YIELD() sched_yield()
+ #elif defined( __XMK__ )
+ /* The XMK underlying scheduling object is the process context, for which
diff --git a/cl-makefile.patch b/cl-makefile.patch
new file mode 100644
index 0000000..1194f25
--- /dev/null
+++ b/cl-makefile.patch
@@ -0,0 +1,19 @@
+--- orig/3rdp/build/GNUmakefile 2022-06-01 11:53:12.460437472 -0400
++++ new/3rdp/build/GNUmakefile 2022-06-01 11:54:38.810441375 -0400
+@@ -67,7 +67,7 @@
+ $(CRYPT_IDIR): | $(3RDPODIR)
+ $(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR)
+
+-$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
++$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-linux-yield.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
+ @echo Creating $@ ...
+ $(QUIET)-rm -rf $(CRYPT_SRC)/*
+ $(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC)
+@@ -112,6 +112,7 @@
+ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-fix-ssh-ecc-ephemeral.patch
+ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-just-use-cc.patch
+ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-learn-numbers.patch
++ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-linux-yield.patch
+ ifeq ($(CC),mingw32-gcc)
+ $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make directories
+ $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make toolscripts
diff --git a/st_crypt.patch b/st_crypt.patch
new file mode 100644
index 0000000..1e366ca
--- /dev/null
+++ b/st_crypt.patch
@@ -0,0 +1,11 @@
+--- orig/src/syncterm/st_crypt.h 2022-06-02 13:05:13.210790443 -0400
++++ new/src/syncterm/st_crypt.h 2022-06-02 13:07:18.857457650 -0400
+@@ -4,7 +4,7 @@
+ #define _ST_CRYPT_H_
+
+ #ifndef WITHOUT_CRYPTLIB
+-#include <cryptlib.h>
++#include "../../3rdp/src/cl/cryptlib.h"
+ #if CRYPTLIB_VERSION < 3400
+ #if CRYPTLIB_VERSION < 340 || CRYPTLIB_VERSION > 999
+ #define CRYPT_ATTRIBUTE_ERRORMESSAGE CRYPT_ATTRIBUTE_INT_ERRORMESSAGE