joe: Joe's own editor (#3695)

* joe: Joe's own editor

* fixes

---------

Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com>
This commit is contained in:
Darryl Miles 2025-08-07 07:01:48 +01:00 committed by GitHub
parent b6504b4a3b
commit 56beac0ac1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 63 additions and 0 deletions

11
joe/0001-fix-build.patch Normal file
View File

@ -0,0 +1,11 @@
--- joe-4.6/joe/tty.c.orig 2018-01-10 17:28:34.000000000 +0100
+++ joe-4.6/joe/tty.c 2025-08-07 07:54:23.698861300 +0200
@@ -952,7 +952,7 @@
/* Strange streams way */
-extern char *ptsname();
+extern char *ptsname(int fd);
static char *getpty(int *ptyfd, int *ttyfd)
{

52
joe/PKGBUILD Normal file
View File

@ -0,0 +1,52 @@
# Maintainer: Darryl L. Miles <darryl.miles@darrylmiles.org>
pkgname=joe
pkgver=4.6
pkgrel=1
pkgdesc="Joe's own editor"
arch=('any')
url="https://joe-editor.sourceforge.io/"
license=('spdx:GPL-2.0-or-later')
depends=('ncurses')
makedepends=('make' 'gcc' 'autotools' 'ncurses-devel')
backup=('etc/joe/ftyperc' 'etc/joe/jicerc.ru' 'etc/joe/jmacsrc'
'etc/joe/joerc' 'etc/joe/jpicorc' 'etc/joe/jstarrc' 'etc/joe/rjoerc')
source=("https://downloads.sourceforge.net/joe-editor/${pkgname}-${pkgver}.tar.gz"
"0001-fix-build.patch")
sha256sums=('495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de'
'a771b1a22aeb7baa2640f348f2454338ed71158ba6b7bb764f7e5704dbe60233')
prepare() {
cd "${pkgname}-${pkgver}"
patch -p1 -i "${srcdir}/0001-fix-build.patch"
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
# for grantpt()
CFLAGS+=" -D_GNU_SOURCE"
# Moved joe's configure data into /usr/share/joe otherwise it pollutes the space
./configure --prefix=/usr --sysconfdir=/etc --datarootdir=/usr/share/joe --mandir=/usr/share/man
# This symlink substitute is problematic, disable it.
# LN_S = cp -pR
find -type f -name Makefile -exec sed -i "s/LN_S = .*/LN_S = echo/" {} \;
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
# Replace LN_S function, it is aliasing alternative binary names
for i in jmacs jstar rjoe jpico ; do cp -p "${pkgdir}/usr/bin/joe" "${pkgdir}/usr/bin/$i" ; done
# Licenses
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/README.md" "${pkgdir}/usr/share/licenses/${pkgname}/README.md"
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}