From 574a2e2d5ab5b22dd091a058b4d5c469630837f6 Mon Sep 17 00:00:00 2001 From: miqlas <5569059+extrowerk@users.noreply.github.com> Date: Sat, 30 Jun 2018 17:52:54 +0200 Subject: [PATCH] emacs: bump (#2753) --- app-editors/emacs/emacs-26.1.recipe | 135 ++++++++++++++++++ app-editors/emacs/patches/emacs-26.1.patchset | 41 ++++++ 2 files changed, 176 insertions(+) create mode 100644 app-editors/emacs/emacs-26.1.recipe create mode 100644 app-editors/emacs/patches/emacs-26.1.patchset diff --git a/app-editors/emacs/emacs-26.1.recipe b/app-editors/emacs/emacs-26.1.recipe new file mode 100644 index 000000000..e7496cc14 --- /dev/null +++ b/app-editors/emacs/emacs-26.1.recipe @@ -0,0 +1,135 @@ +SUMMARY="The famous text editor" +DESCRIPTION="An extensible, customizable, free/libre text editor — and more. +At its core is an interpreter for Emacs Lisp, a dialect of the Lisp \ +programming language with extensions to support text editing. + +* Content-aware editing modes, including syntax coloring, for many file types. +* Complete built-in documentation, including a tutorial for new users. +* Full Unicode support for nearly all human scripts. +* Highly customizable, using Emacs Lisp code or a graphical interface. +* An entire ecosystem of functionality beyond text editing, including a \ +project planner, mail and news reader, debugger interface, calendar, and more. +* A packaging system for downloading and installing extensions." +HOMEPAGE="https://gnu.org/s/emacs/" +COPYRIGHT="2001-2018 Free Software Foundation, Inc." +LICENSE="GNU GPL v3" +REVISION="1" +SOURCE_URI="http://www.artfiles.org/gnu.org/emacs/emacs-$portVersion.tar.xz" +CHECKSUM_SHA256="1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c" +PATCHES="emacs-$portVersion.patchset" +ADDITIONAL_FILES="emacs.rdef.in" + +ARCHITECTURES="?x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="?x86" + +# On x86_gcc2 we don't want to install the commands in bin//, but in bin/. +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +PROVIDES=" + emacs$secondaryArchSuffix = $portVersion + cmd:ctags.emacs$commandSuffix = $portVersion + cmd:ebrowse$commandSuffix = $portVersion + cmd:emacs$commandSuffix = $portVersion + cmd:emacs_$portVersion$commandSuffix = $portVersion + cmd:emacsclient$commandSuffix = $portVersion + cmd:etags$commandSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libgnutls$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libgnutls$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:autoconf + cmd:aclocal + cmd:find + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:makeinfo + cmd:pkg_config$secondaryArchSuffix + cmd:tar + cmd:which + " + +defineDebugInfoPackage emacs$secondaryArchSuffix \ + $commandBinDir/ctags.emacs \ + $commandBinDir/emacs-$portVersion \ + $commandBinDir/emacsclient \ + $commandBinDir/etags + +PATCH() +{ + # Hard links not supported on BFS. + sed -i 's/ln -f/ln -s/g' src/Makefile.in +} + +BUILD() +{ + export LDFLAGS="-lnetwork -lbsd" + CFLAGS="-D_BSD_SOURCE" + export HOME=/boot/home + + autoreconf -fi + + runConfigure --omit-dirs "binDir sbinDir" ./configure \ + --bindir "$commandBinDir" \ + --sbindir="$commandBinDir" \ + --with-modules \ + CANNOT_DUMP=yes # known bug in emacs + + make $jobArgs +} + +INSTALL() +{ + # Install fix, emacs is stupid, required only in recipe-development + for f in emacs bootstrap-emacs; do + rm -rf src/$f + done + + make install + + # ctags fix + mv $binDir/ctags $binDir/ctags.emacs + + # Cleanup + find $dataDir -type f -name "*.el.gz" -delete + + for f in appdata applications icons; do + rm -rf $dataDir/$f + done + + rm -rf $libDir/systemd + + # Icon + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + #local MINOR="`echo "$portVersion" | cut -d. -f3`" + local MINOR="`echo 0`" + + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + $portDir/additional-files/emacs.rdef.in > emacs.rdef + + addResourcesToBinaries emacs.rdef \ + $binDir/emacs +} diff --git a/app-editors/emacs/patches/emacs-26.1.patchset b/app-editors/emacs/patches/emacs-26.1.patchset new file mode 100644 index 000000000..607a509b2 --- /dev/null +++ b/app-editors/emacs/patches/emacs-26.1.patchset @@ -0,0 +1,41 @@ +From 382d51023f5e54b5c380ec7edb44cc7ea402c403 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sun, 28 May 2017 12:53:20 +0200 +Subject: Introduce Haiku as supported platform + +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 256b954..d3926e8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -719,6 +719,7 @@ case "${canonical}" in + *-sysv4.2uw* ) opsys=unixware ;; + *-sysv5uw* ) opsys=unixware ;; + *-sysv5OpenUNIX* ) opsys=unixware ;; ++ *-haiku* ) opsys=haiku ;; + ## Otherwise, we'll fall through to the generic opsys code at the bottom. + esac + ;; +@@ -731,6 +732,7 @@ case "${canonical}" in + # MinGW overrides and adds some system headers in nt/inc. + GCC_TEST_OPTIONS="-I $srcdir/nt/inc" + ;; ++ *-haiku* ) opsys=haiku ;; + ## Otherwise, we'll fall through to the generic opsys code at the bottom. + esac + ;; +@@ -4614,7 +4616,7 @@ case $opsys in + AC_DEFINE(PTY_TTY_NAME_SPRINTF, []) + ;; + +- gnu | openbsd | qnxnto ) ++ gnu | openbsd | qnxnto | haiku ) + AC_DEFINE(FIRST_PTY_LETTER, ['p']) + ;; + +-- +2.16.4 +