flexcat: new recipe

This commit is contained in:
PulkoMandy
2022-12-31 11:30:49 +01:00
parent f79d5ccd7b
commit ead93f085f
2 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
SUMMARY="Flexible Catalogs for Amiga Systems"
DESCRIPTION="A tool to create Amiga localization catalogs (*.catalog files) similar to what the \
good-old CatComp tool does. However, it can also create source and header files for developers \
and can be used on other platforms (Unix, Windows, etc.), thus is cross-platform aware.
The difference between FlexCat and KitCat, CatComp and some others is, that FlexCat is designed \
to produce any source you want: any programming language, any individual needs should be \
satisfied. However, FlexCat is not more difficult to use. This sounds like a contradiction. \
FlexCat's solution is to use template files, the so called \"source descriptions\". Ready to use \
examples for Assembler, C, C++, E, Oberon and Modula-2 are distributed, additionally an example \
for supporting catalogs on Workbench 2.0. Any other examples are welcome."
HOMEPAGE="https://github.com/adtools/flexcat"
COPYRIGHT="1993-2016 David Rey, Jens Maus, Jochen Wiedmann, Jörg Strohmayer, Marcin Orlowski, \
Pavel Fedin, Thore Böckelmann"
LICENSE="GNU GPL v2"
SOURCE_URI="https://github.com/adtools/flexcat/archive/2.18.tar.gz"
CHECKSUM_SHA256="d58de5532f3ad1a1c4036e47de20e3969e470a32b6c210cb125693c24a0beb5f"
SOURCE_DIR="$portVersionedName"
REVISION="1"
PATCHES="$portVersionedName.patchset"
ARCHITECTURES="all"
#SECONDARY_ARCHITECTURES="x86"
PROVIDES="
flexcat$secondaryArchSuffix = $portVersion
cmd:flexcat$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libiconv$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc$secondaryArchSuffix
"
BUILD()
{
# Reset timestamps for files that would otherwise be re-generated, and generating them needs
# an already working flexcat
# TODO in new releases of flexcat (since 2017), it should be possible to use "make bootstrap"
touch src/{FlexCat_cat.h,FlexCat_cat_other.h,locale.c,locale_other.c}
make $jobArgs
}
INSTALL()
{
mkdir $binDir
cp src/bin_unix/flexcat $binDir
}

View File

@@ -0,0 +1,54 @@
From f3c7259a78530151cb072a8c8044e5f2046973f7 Mon Sep 17 00:00:00 2001
From: PulkoMandy <pulkomandy@pulkomandy.tk>
Date: Sat, 31 Dec 2022 11:13:05 +0100
Subject: Basic Haiku support
diff --git a/src/Makefile b/src/Makefile
index 80163e5..620b24f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -72,6 +72,10 @@ ifndef (OS)
ifeq ($(HOST), Linux)
OS = unix
else
+ ifeq ($(HOST), Haiku)
+ OS = unix
+ HOST = Linux
+ else
ifeq ($(HOST), Windows)
OS = mingw32
else
@@ -103,6 +107,7 @@ ifndef (OS)
endif
endif
endif
+ endif
endif
#############################################
@@ -400,6 +405,7 @@ ifeq ($(OS), unix)
OPTFLAGS = -O3 -fomit-frame-pointer
CFLAGS += -D_GNU_SOURCE
LDFLAGS =
+ LDLIBS += -liconv
SYSDEPOBJS = locale_other.o
diff --git a/src/version.h b/src/version.h
index 1dbec8b..17cf5dd 100644
--- a/src/version.h
+++ b/src/version.h
@@ -49,6 +49,9 @@
#elif defined(__AMIGA__)
#define SYSTEM "AmigaOS3"
#define SYSTEMSHORT "OS3"
+#elif defined(__haiku__)
+ #define SYSTEM "Haiku"
+ #define SYSTEMSHORT "haiku"
#elif defined(__linux__)
#define SYSTEM "Linux"
#define SYSTEMSHORT "linux"
--
2.37.3