Files
haikuports/dev-perl/encode_locale/encode_locale-1.05.recipe
2025-03-14 20:13:54 +01:00

70 lines
2.7 KiB
Bash

SUMMARY="Determine the locale encoding"
DESCRIPTION="In many applications it's wise to let Perl use Unicode for the strings it processes. \
Most of the interfaces Perl has to the outside world are still byte based. Programs therefore \
need to decode byte strings that enter the program from the outside and encode them again on the \
way out.
The POSIX locale system is used to specify both the language conventions requested by the user \
and the preferred character set to consume and output. The Encode::Locale module looks up the \
charset and encoding (called a CODESET in the locale jargon) and arranges for the Encode module \
to know this encoding under the name \"locale\". It means bytes obtained from the environment can \
be converted to Unicode strings by calling Encode::encode(locale => $bytes) and converted back \
again with Encode::decode(locale => $string).
Where file systems interfaces pass file names in and out of the program we also need care. The \
trend is for operating systems to use a fixed file encoding that don't actually depend on the \
locale; and this module determines the most appropriate encoding for file names. The Encode \
module will know this encoding under the name \"locale_fs\". For traditional Unix systems this \
will be an alias to the same encoding as \"locale\".
For programs running in a terminal window (called a \"Console\" on some systems) the \"locale\" \
encoding is usually a good choice for what to expect as input and output. Some systems allows us \
to query the encoding set for the terminal and Encode::Locale will do that if available and make \
these encodings known under the Encode aliases \"console_in\" and \"console_out\". For systems \
where we can't determine the terminal encoding these will be aliased as the same encoding as \
\"locale\". The advice is to use \"console_in\" for input known to come from the terminal and \
\"console_out\" for output to the terminal."
HOMEPAGE="https://metacpan.org/pod/Encode::Locale"
COPYRIGHT="2010 Gisle Aas"
LICENSE="Artistic"
REVISION="1"
SOURCE_URI="https://cpan.metacpan.org/authors/id/G/GA/GAAS/Encode-Locale-$portVersion.tar.gz"
CHECKSUM_SHA256="176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1"
SOURCE_DIR="Encode-Locale-$portVersion"
ARCHITECTURES="any"
PROVIDES="
encode_locale = $portVersion
"
REQUIRES="
haiku
vendor_perl
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:perl
"
BUILD()
{
perl Makefile.PL PREFIX=$prefix
make
}
INSTALL()
{
make pure_install
# remove architecture-specific files
cd $prefix
rm -r $(perl -V:vendorarch | cut -d\' -f2 | cut -d/ -f5-)
# cut extracts the quoted string and strips the prefix (which is perl's and not ours)
}
TEST()
{
make test
}