From c1a19c0996909beedf4a688bb088f6ee97a540f5 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sat, 18 May 2019 18:21:03 +0300 Subject: [PATCH] general: Added pkgfile2puke --- pkgfile2puke | 61 ++++++++++++++++++++++++++++++++++++++++++++ repo/pkgconf/build | 13 ++++++++++ repo/pkgconf/sources | 1 + repo/pkgconf/version | 1 + 4 files changed, 76 insertions(+) create mode 100755 pkgfile2puke create mode 100644 repo/pkgconf/build create mode 100644 repo/pkgconf/sources create mode 100644 repo/pkgconf/version diff --git a/pkgfile2puke b/pkgfile2puke new file mode 100755 index 00000000..0295f397 --- /dev/null +++ b/pkgfile2puke @@ -0,0 +1,61 @@ +#!/bin/sh +# shellcheck source=/dev/null disable=2154,2016 +# +# Convert a crux pkgfile to puke's format. + +die() { + printf '\033[31mERROR>\033[m %s\n' "$@" >&2 + exit 1 +} + +repo_setup() { + cd repo >/dev/null || die "Not in kiss repository." + mkdir "$name" || die "$name already exists." + cd "$name" >/dev/null || die "Can't cd to $name" +} + +pkgfile_read() { + [ -n "$1" ] || die "Need a pkgfile as input." + [ -f "$1" ] || die "File not found '$1'" + + . "$1" || die "Syntax error in pkgfile." + + [ -n "$name" ] || die "Field 'name' missing from pkgfile." + [ -n "$version" ] || die "Field 'version' missing from pkgfile." + [ -n "$release" ] || die "Field 'release' missing from pkgfile." + [ -n "$source" ] || die "Field 'source' missing from pkgfile." +} + +pkgfile_version() { + printf '%s\n' "$version $release" > version +} + +pkgfile_source() { + printf '%s\n' "$source" | while IFS=' ' read -r src; do + printf '%s\n' "$src" + done > sources +} + +pkgfile_build() { + sed 's/$BUILD/$pkg_dir/g' "$1" | while read -r line; do + [ "$line" = "}" ] && code= + [ "$code" ] && printf '%s\n' "$line" + + [ "$line" = "build() {" ] && { + printf '%s\n\n' "#!/bin/sh -e" + code=1 + } + done > build +} + +main() { + pkgfile_read "$1" + + repo_setup + + pkgfile_version + pkgfile_source + pkgfile_build "$1" +} + +main "$@" diff --git a/repo/pkgconf/build b/repo/pkgconf/build new file mode 100644 index 00000000..6c8a454c --- /dev/null +++ b/repo/pkgconf/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +./configure \ +--prefix=/usr \ +--sysconfdir=/etc + +mkdir -p "$pkg_dir/usr/bin" + +make +make DESTDIR="$pkg_dir" install + +cd "$pkg_dir/usr/bin" || exit 1 +ln -s pkgconf pkg-config diff --git a/repo/pkgconf/sources b/repo/pkgconf/sources new file mode 100644 index 00000000..a287ea67 --- /dev/null +++ b/repo/pkgconf/sources @@ -0,0 +1 @@ +http://rabbit.dereferenced.org/~nenolod/distfiles/pkgconf-0.9.12.tar.bz2 diff --git a/repo/pkgconf/version b/repo/pkgconf/version new file mode 100644 index 00000000..5e4bc9a3 --- /dev/null +++ b/repo/pkgconf/version @@ -0,0 +1 @@ +0.9.12 1