File avgtime.spec of Package avgtime
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Define just "test" as a package in _multibuild file to distinguish test
# instructions here
%if "@BUILD_FLAVOR@" == ""
%define _test 0
%define name_ext %nil
%else
%define _test 1
%define name_ext -test
%endif
# DMD is available only on x86*. Use LDC with dub otherwise.
# hrauch: no longer true, there'd gdmd nowadays
#%ifarch %{ix86} x86_64
#%bcond_without dcompiler_dmd
#%else
#%bcond_with dcompiler_dmd
#%endif
%define short_name avgtime
Name: %{short_name}%{?name_ext}
Version: v0.5.0+4.ffdf200
Release: 0
Summary: Utility similar to "time", but with repetitions and more statistics
License: BSL-1.0
Group: Productivity/Scientific/Math
URL: https://github.com/jmcabo/%{short_name}
Source0: %{short_name}-%{version}.tar.xz
%if 0%{?_test}
BuildRequires: %{short_name}
%else
#%if %{with dcompiler_dmd}
BuildRequires: gdmd
BuildRequires: libgphobos4
#%else
#BuildRequires: dub
#BuildRequires: ldc
#BuildRequires: ldc-phobos-devel
#%endif
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#ExcludeArch: i586
%description
avgtime works like the "time" command, except it accepts an "-r"
argument to specify repetitions and shows more detailed statistics.
If repetitions are specified, then statistics are computed and shown, like
median, mean, and standard deviation.
%prep
%if 0%{?_test}
# workaround to prevent post/install failing assuming this file for whatever
# reason
touch %{_sourcedir}/%{short_name}
%else
%setup -q
%endif
%build
%if 0%{?_test}
avgtime --help
%else
# By default we would link against the static lib causing undefined values
# https://forum.dlang.org/post/ubqoqivomxxbkfpuuhif@forum.dlang.org
# https://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/920/
# okurz: I did not find a way to pass the "defaultlib" path through dub but
# avgtime is so simple we can simply use dmd directly
#%if %{with dcompiler_dmd}
gdmd avgtime.d
#%else
# dub works fine with LDC
#dub build --build=release
#%endif
%endif
%install
%if 0%{?_test}
# disable debug packages in package test to prevent error about missing files
%define debug_package %{nil}
%else
mkdir -p %{buildroot}%{_bindir}/
install -D %{name} %{buildroot}%{_bindir}/
%files
%defattr(-,root,root)
%doc README.md
%license LICENSE_1_0.txt
%{_bindir}/%{name}
%endif
%changelog