Compare commits

...

1 Commits

Author SHA1 Message Date
Martchus de76ea4e68 Use templates for own projects 2020-12-01 17:21:14 +01:00
2 changed files with 59 additions and 0 deletions

View File

@ -117,10 +117,12 @@ for my $top_level_dir (@$top_level_dirs) {
# determine variant parts
my $variant_prefix_part = $variant;
my $variant_suffix_part = '';
my $is_vcs_variant = 0;
if ($variant) {
for my $variant_suffixes (@variant_suffixes) {
for my $variant_suffix (@$variant_suffixes) {
next unless $variant =~ qr/.*-$variant_suffix$/;
$is_vcs_variant = 1 if $variant_suffixes == \@vcs_0_variant_suffixes;
$variant_prefix_part = substr($variant, 0, length($variant) - length($variant_suffix) - 1);
$variant_suffix_part = $variant_suffix_part ? "$variant_suffix-$variant_suffix_part" : $variant_suffix;
last;
@ -131,6 +133,7 @@ for my $top_level_dir (@$top_level_dirs) {
my $package_name_suffix = $variant_suffix_part ? "-$variant_suffix_part" : "";
my $is_static_variant = $variant_suffix_part =~ qr/static/;
my $has_static_variant = $is_static_variant || -d "$default_package_name/$variant-static";
my $is_cross_variant = $variant_prefix_part =~ qr/mingw-w64|android|apple-darwin/;
my $package_name = "$package_name_prefix$default_package_name$package_name_suffix";
next if defined $filter_regex && $package_name !~ $filter_regex;
@ -142,6 +145,8 @@ for my $top_level_dir (@$top_level_dirs) {
variant => $variant,
variant_prefix_part => $variant_prefix_part,
variant_suffix_part => $variant_suffix_part,
is_vcs_variant => $is_vcs_variant,
is_cross_variant => $is_cross_variant,
default_package_name => $default_package_name,
package_name_prefix => $package_name_prefix,
package_name_suffix => $package_name_suffix,
@ -151,6 +156,7 @@ for my $top_level_dir (@$top_level_dirs) {
qt_major_version => $qt_major_version,
qt_module => $qt_module,
qt_module_sha256 => $qt_module_sha256,
project_sha256sum => 'TODO',
static_variant => $is_static_variant,
static_suffix => $is_static_variant ? '-static' : '',
static_deps => undef,

View File

@ -0,0 +1,53 @@
# Maintainer: Martchus <martchus@gmx.net>
<%== content_for 'additional_contributors' %>\
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
<%== content_for 'comment_header' %>\
_reponame=<%= stash('reponame') // $package_name %>
pkgname=<%= $package_name %>
<%== content %>\
url="https://github.com/Martchus/${_reponame}"
% if ($is_vcs_variant) {
source=("${_reponame}::${MARTCHUS_GIT_URL_PREFIX:-git+https://github.com/Martchus}/${_reponame}.git")
sha256sums=('SKIP')
% }
% else {
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('<%== $project_sha256sum %>')
% }
% if ($is_cross_variant) {
options=(!buildflags staticlibs !strip !emptydirs)
% }
<%== content_for 'additional_content' %>\
% if (stash('needs_port')) {
ephemeral_port() {
comm -23 <(seq 49152 65535) <(ss -tan | awk '{print $4}' | cut -d':' -f2 | grep "[0-9]\{1,5\}" | sort | uniq) | shuf | head -n 1
}
% }
% if ($is_vcs_variant) {
pkgver() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame}"
echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
}
% }
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
%== include 'own-project-build'
}
% if (content_for('check_args')->size) {
check() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
%== include 'own-project-check'
}
% }
package() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
%== include 'own-project-package'
}