Files
haikuports/x11-libs/lexilla/lexilla-5.4.6.recipe
2026-01-25 14:58:38 -07:00

89 lines
2.7 KiB
Bash

SUMMARY="A free library of language lexers for use with Scintilla"
DESCRIPTION="Lexilla is a free library of language lexers that can be used \
with the Scintilla editing component. It comes with complete source code and \
a license that permits use in any free project or commercial product.
Originally, this functionality was incorporated inside Scintilla. \
It has been extracted as a separate project to make it easier for \
contributors to work on support for new languages and to fix bugs in existing \
lexers. It also defines a protocol where projects can implement their own \
lexers and distribute them as they wish."
HOMEPAGE="https://scintilla.org"
COPYRIGHT="1998-2024 Neil Hodgson"
LICENSE="Scintilla"
REVISION="1"
SOURCE_URI="https://prdownloads.sf.net/scintilla/lexilla${portVersion//\./}.tgz"
CHECKSUM_SHA256="737bf8f8f399dec0f925e5dfb8bf46ba60e0c74f83718862fe621ed83770f265"
SOURCE_DIR="lexilla"
srcGitRev2="e391de7b72f7cc58c8d267524d9581e1a875d6e9"
SOURCE_URI_2="https://github.com/KapiX/scintilla-haiku-lexers/archive/$srcGitRev2.tar.gz"
CHECKSUM_SHA256_2="a3a0121dd641355fbb1a5ff8fe8896d574ad809975867a5ffdefc609448194c7"
SOURCE_DIR_2="scintilla-haiku-lexers-$srcGitRev2"
SCINTILLA_VERSION="5.3.4"
SOURCE_URI_3="https://prdownloads.sf.net/scintilla/scintilla${SCINTILLA_VERSION//\./}.tgz"
CHECKSUM_SHA256_3="3f01b1aef2b7e98f628af2cff965876f5d15ee2801d9df96dd3aced8f087cb46"
SOURCE_DIR_3="scintilla"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
lexilla$secondaryArchSuffix = $portVersion
lib:liblexilla$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
lexilla${secondaryArchSuffix}_devel = $portVersion
devel:liblexilla$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
lexilla$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:ar
cmd:g++$secondaryArchSuffix
cmd:make
"
BUILD()
{
local SCINTILLA_INCLUDE=$sourceDir/../scintilla/include
mkdir -p $SCINTILLA_INCLUDE
cp -R $sourceDir3/include/* $SCINTILLA_INCLUDE
ls -la $sourceDir/../scintilla/include
cd src
make $jobArgs
cd $sourceDir2
cp -R $sourceDir/lexlib/ .
make all OBJ_DIR=objects SYSTEM_INCLUDE_PATHS="$sourceDir3/include $sourceDir/include"
rm -rf objects/*.d objects/*.o
}
INSTALL()
{
INCLUDE_DIR=$includeDir/lexilla
LEXERS_DIR=$libDir/lexilla
mkdir -p $libDir
mkdir -p $INCLUDE_DIR
mkdir -p $LEXERS_DIR
cp -a bin/liblexilla.so $libDir/liblexilla.so
cp include/Lexilla.h $INCLUDE_DIR
cp include/SciLexer.h $INCLUDE_DIR
cp $sourceDir2/objects/Lex* $LEXERS_DIR
prepareInstalledDevelLibs liblexilla
packageEntries devel $developDir
}