Files
haikuports/app-editors/emacs/emacs-29.0.50~git.recipe
2022-01-24 00:38:56 +03:00

146 lines
4.4 KiB
Bash

SUMMARY="An extensible, customizable, free/libre text editor — and more"
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-2022 Free Software Foundation, Inc."
LICENSE="GNU GPL v3"
REVISION="1"
srcGitRev="5d257a99b7a67ffb61b315480182593f48ceee5f"
SOURCE_URI="https://github.com/emacs-mirror/emacs/archive/$srcGitRev.tar.gz"
SOURCE_DIR="emacs-$srcGitRev"
CHECKSUM_SHA256="866a0ff5dca658f0563ae24217e62810a00681df30433f42fd4ed1990ddc1ba0"
ADDITIONAL_FILES="emacs.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
emacs$secondaryArchSuffix = $portVersion
app:Emacs = $portVersion
cmd:ctags.emacs$commandSuffix = $portVersion
cmd:ebrowse$commandSuffix = $portVersion
cmd:emacs$commandSuffix = $portVersion
cmd:emacsclient$commandSuffix = $portVersion
cmd:emacs_${portVersion%\~*}$commandSuffix = $portVersion
cmd:etags$commandSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libgnutls$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjansson$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcairo$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgio_2.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libgnutls$secondaryArchSuffix
devel:libgobject_2.0$secondaryArchSuffix
devel:libharfbuzz$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjansson$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:autoreconf
cmd:awk
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:g++$secondaryArchSuffix
cmd:gzip
cmd:install_info
cmd:make
cmd:makeinfo
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage emacs$secondaryArchSuffix \
$appsDir/Emacs \
$commandBinDir/ctags.emacs \
$commandBinDir/emacs-${portVersion%\~*} \
$commandBinDir/emacsclient \
$commandBinDir/etags
BUILD()
{
autoreconf -vfi -I m4
runConfigure --omit-dirs "binDir sbinDir" ./configure \
--bindir="$commandBinDir" \
--sbindir="$commandBinDir" \
--with-be-app \
--with-be-cairo
make $jobArgs
}
INSTALL()
{
# 'make install' assumes this directory already exists
mkdir -p $appsDir
make install
# rename ctags so that the official ctags can be installed alongside without conflicting
mv $commandBinDir/ctags $commandBinDir/ctags.emacs
# add our version and vector icon resources
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "${portVersion%\~*}" | cut -d. -f3`"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|B_APPV_FINAL|B_APPV_DEVELOPMENT|" \
$portDir/additional-files/emacs.rdef.in > emacs.rdef
addResourcesToBinaries emacs.rdef $appsDir/Emacs
addAppDeskbarSymlink $appsDir/Emacs Emacs
}