luvi, lit, luvit: add recipe (#13261)

* lit: add recipe

* luvi: add recipe

* luvit: add recipe

* luvi: Remove a file that I accidentally pushed

* Fix the lint error

* lit: fix lint issue

...

* luvi, lit, luvit: change install path, fix lint

* luvit: fix lint (again...)

Finally decided to use a proper trailing space checker, it should be good to go

* luvi: remove patch

* luvi: remove additional files

* lit: Rename lit to lulit

Done to avoid conflict with LLVM's lit, the name is taken from AUR

* lit: Fix provides command name

* lit: clarify why I named it lulit

* lit: Make the explaination more clear and in a line before the command

Thanks Begasus :)

Co-authored-by: Schrijvers Luc <begasus@gmail.com>

---------

Co-authored-by: Schrijvers Luc <begasus@gmail.com>
This commit is contained in:
nilFinx
2025-11-27 23:52:49 +09:00
committed by GitHub
parent d61dce6bd4
commit 63e52fd830
3 changed files with 179 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
SUMMARY="Toolkit for developing, sharing, and running luvit/lua programs and libraries"
DESCRIPTION="Warning: lit is renamed to luvit to avoid conflict with LLVM's lit.
Lit is a toolkit designed to make working in the new luvit 2.0 ecosystem easy and even fun.
* Lit powers the central repository at wss://lit.luvit.io/.
* Lit is used to publish new packages to the central repository.
* Lit is used to download and install dependencies into your local tree.
* Lit can be used to compile luvi apps from folders or zip files into self-executing binaries.
Lit is also a luvi app and library itself and bootstraps fairly easily.
"
HOMEPAGE="https://github.com/luvit/lit"
COPYRIGHT="2012 The Luvit Authors
Portions of this software were based on Node.js, \
Joyent, Inc. and other Node contributors.
"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://lit.luvit.io/packages/luvit/lit/v$portVersion.zip"
CHECKSUM_SHA256="5dd3eb583815afc0589fd330144b2a8ac6a572c79b4cd7d34471d464bb2dde12"
SOURCE_FILENAME="lit-$portVersion.zip"
SOURCE_DIR=""
ARCHITECTURES="all !x86_gcc2"
if [ "$targetArchitecture" = x86_gcc2 ]; then
SECONDARY_ARCHITECTURES="?x86"
fi
PROVIDES="
lit = $portVersion
cmd:lulit = $portVersion
"
REQUIRES="
haiku
"
BUILD_PREREQUIRES="
cmd:install
cmd:luvi
cmd:which
"
BUILD()
{
mkdir -p /tmp/luvithome
HOME=/tmp/luvithome luvi . -- make . lit $(which luvi)
}
INSTALL()
{
mkdir -p $prefix/bin
# Rename lit to lulit to avoid conflict with LLVM's cmd:lit (like it's done in AUR)
install -m 0755 lit $prefix/bin/lulit
}

View File

@@ -0,0 +1,57 @@
SUMMARY="A project in-between luv and luvit"
DESCRIPTION="luvi is a project in-between luv and luvit.
The goal of this is to make building luvit and derivatives much easier."
HOMEPAGE="https://github.com/luvit/luvi"
COPYRIGHT="2012 The Luvit Authors
Portions of this software were based on Node.js, \
Joyent, Inc. and other Node contributors.
"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://github.com/luvit/luvi/releases/download/v$portVersion/luvi-source.tar.gz"
CHECKSUM_SHA256="91f40fb6421888c2ee403de80248250c234f3bfb6dd1edbbc9188a89e4b9708a"
SOURCE_FILENAME="luvi-$portVersion.tar.gz"
SOURCE_DIR=""
ARCHITECTURES="all !x86_gcc2"
if [ "$targetArchitecture" = x86_gcc2 ]; then
SECONDARY_ARCHITECTURES="?x86" # luv has this, and official Windows build of luvi supports 32 bit, so assuming that it works
fi
PROVIDES="
luvi = $portVersion
cmd:luvi
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:gcc
cmd:ld
cmd:make
cmd:install
cmd:cmake
cmd:perl
cmd:git
"
BUILD()
{
make regular
make $jobArgs
}
INSTALL()
{
mkdir -p $prefix/bin
install -m 0755 build/luvi $prefix/bin
}
TEST()
{
make test
}

View File

@@ -0,0 +1,68 @@
SUMMARY="Asynchronous I/O for Lua"
DESCRIPTION="Luvit is an aynchronous I/O for Lua.
## Familiar API
Luvit implements the same APIs as Node.js, but in Lua!
This helps teams migrate without having to learn a new way of programming.
## Async Choice
Choose your async model; we dont mind; we encourage experimentation.
If you dont like callbacks and event emitters, use coroutines and write blocking style code without actually blocking your event loop!
## Modular Core
The various projects in the luvit ecosystem can be mixed and matched to build the ideal runtime for your application.
Use luv directly in luajit
Use lit without node apis
The possibilities are endless
"
HOMEPAGE="https://luvit.io/"
COPYRIGHT="2012 The Luvit Authors
Portions of this software were based on Node.js, \
Joyent, Inc. and other Node contributors.
"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://lit.luvit.io/packages/luvit/luvit/v$portVersion.zip"
CHECKSUM_SHA256="c75cb97f71a6f10213a9dfc0d99bc07dc82fd970bb41c51a6c456dbb77aa0bcc"
SOURCE_FILENAME="luvit-$portVersion.zip"
SOURCE_DIR=""
ARCHITECTURES="all !x86_gcc2"
if [ "$targetArchitecture" = x86_gcc2 ]; then
SECONDARY_ARCHITECTURES="?x86"
fi
PROVIDES="
luvit = $portVersion
cmd:luvit = $portVersion
"
REQUIRES="
haiku
"
BUILD_PREREQUIRES="
cmd:install
cmd:lit
cmd:luvi
cmd:make
cmd:which
"
BUILD()
{
mkdir -p /tmp/luvitbuild
HOME=/tmp/luvitbuild lit make . luvit $(which luvi)
}
INSTALL()
{
mkdir -p $prefix/bin
install -m 0755 luvit $prefix/bin
}