pkg(pony-0.39.0): Add pony-lang 0.39.0 (#194)
* pkg(pony-0.39.0): Add pony-lang 0.39.0 * pkg(pony-0.39.0): Use `git submodule` to install llvm and get the source through cloning. * pkg(pony-0.39.0): Reset to 0.39.0 commit and cd into `ponyc` * pkg(pony-0.39.0): User proper installation instructions, like specified in the installation guide * pkg(pony-0.39.0): Setup compile script. * pkg(pony-0.39.0): Properly delete the build dir. * pkg(pony-0.39.0): Get rid of author key in metdata * pkg(pony-0.39.0): `CD` into `ponyc` right before cloning. * pkg(ponyc-0.39.0): Move `cd` to the correct palce.
This commit is contained in:
parent
90217a6202
commit
a2de8dea0c
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
# get sources - only get the latest copy of the relevant files
|
||||
git clone -q https://github.com/ponylang/ponyc.git ponyc
|
||||
|
||||
cd ponyc
|
||||
|
||||
# release commit for 0.39.0
|
||||
git reset --hard 85d897b978c5082a1f3264a3a9ad479446d73984
|
||||
|
||||
# updates all submodules recursively along their tracking branches
|
||||
# i.e. https://github.com/ponylang/ponyc/blob/main/.gitmodules
|
||||
git submodule update --recursive --init
|
||||
|
||||
# Build the vendored LLVM libraries that are included in the `lib/llvm/src`.
|
||||
make libs build_flags="-j$(nproc)"
|
||||
# Configure the CMake build directory.
|
||||
make configure
|
||||
# Will build pony and put it in `build/release`.
|
||||
make build
|
||||
# Install pony into `$PREFIX`.
|
||||
make prefix="$PREFIX" install
|
||||
|
||||
cd ..
|
||||
rm -rf ponyc
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Compile pony file(s)
|
||||
ponyc -b out
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put 'export' statements here for environment variables
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"language": "ponylang",
|
||||
"version": "0.39.0",
|
||||
"aliases": ["pony", "ponyc"]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
# removes the first arg from $@, which is always the filename
|
||||
shift
|
||||
# runs the <outfile> executable with whatever args are left in $@
|
||||
./out "$@"
|
|
@ -0,0 +1,3 @@
|
|||
actor Main
|
||||
new create(env: Env) =>
|
||||
env.out.print("OK")
|
Loading…
Reference in New Issue