#!/usr/bin/env bash if [[ $# -lt 3 ]]; then echo "Usage: $0 [name] [version] [source]" echo "" echo "Initializes an empty package" exit 1 fi NAME=$1 VERSION=$2 SOURCE=$3 DIR=$NAME/$VERSION mkdir -p $DIR build_instructions(){ echo 'PREFIX=$(realpath $(dirname $0))' echo echo 'mkdir -p build' echo echo 'cd build' echo echo "curl \"$SOURCE\" -o $NAME.tar.gz" echo echo "tar xzf $NAME.tar.gz --strip-components=1" echo echo "# === autoconf based ===" echo './configure --prefix "$PREFIX"' echo echo 'make -j$(nproc)' echo 'make install -j$(nproc)' echo 'cd ../' echo 'rm -rf build' } cd $DIR for name in build.sh environment run compile; do echo "#!/usr/bin/env bash" > "$name" echo "" >> "$name" done echo "# Put instructions to build your package in here" >> build.sh echo "" build_instructions >> build.sh echo "# Put 'export' statements here for environment variables" >> environment echo "export PATH=\$PWD/bin:\$PATH" >> environment echo "# Put instructions to run the runtime" >> run echo "$NAME-$VERSION \"\$@\"" >> run echo "# Put instructions to compile source code, remove this file if the language does not require this stage" >> compile jq '.language = "'$NAME'" | .version = "'$VERSION'" | .aliases = []' <<< "{}" > metadata.json cd - > /dev/null echo $DIR