Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:RN:branches:science
YODA
YODA.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File YODA.spec of Package YODA
# # spec file for package YODA # # Copyright (c) 2024 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 ver 2.0.1 %define so_name lib%{name}-%(echo %{ver} | tr '.' '_') Name: YODA Version: %{ver} Release: 0 Summary: A small set of data analysis classes for MC event generator validation analyses License: GPL-2.0-only Group: Development/Libraries/C and C++ URL: https://yoda.hepforge.org/ Source: https://www.hepforge.org/archive/yoda/%{name}-%{version}.tar.bz2 Patch0: sover.diff BuildRequires: autoconf >= 2.71 BuildRequires: bash-completion BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python3 BuildRequires: python3-Cython < 3 BuildRequires: python3-devel BuildRequires: python3-setuptools # SECTION For running python tests in make check BuildRequires: python3-matplotlib BuildRequires: python3-numpy # /SECTION BuildRequires: pkgconfig(zlib) %description YODA is a small set of data analysis (specifically histogramming) classes being developed by MCnet members as a lightweight common system for MC event generator validation analyses. A few key features of YODA are as follows: * Storage of all information needed for statistically correct run combination and reweighting up to second-order correlations (e.g. variances, std devs, etc.) not just in the number of entries in a bin, but also the correlations of that with the x and y fill values. * Separation of statistics and data handling from presentation. YODA is primarily a library for doing the data part correctly: while we love really high quality data presentation, that's a separate goal. * A sensible class hierarchy for histogramming, recognising that a histogram contains details of fill history beyond the pure visual height of a bin, and that just counting weights, or binning arbitrary types on an axis are valuable operations. * Flexible data format support, including a new text-based, compact, and human-readable YODA format. * Proper and convenience treatment of "details" like irregular bin widths, gaps in contiguous binning, and overflows/underflows/etc. (incuding how they impact normalisation and calculation of histo- wide stat quantities) * Carefully designed programming interfaces in C++ and Python. We are very welcoming of feedback and design evolution, too! %package -n %{so_name} Summary: A small set of data analysis classes for MC event generator validation analyses Group: System/Libraries %description -n %{so_name} YODA is a small set of data analysis (specifically histogramming) classes being developed by MCnet members as a lightweight common system for MC event generator validation analyses. This package provides the source files for development with %{name}. %package devel Summary: A small set of data analysis classes for MC event generator validation analyses Group: Development/Libraries/C and C++ Requires: %{so_name} = %{version} Recommends: %{name}-matplotlib-style = %{version} %description devel YODA is a small set of data analysis (specifically histogramming) classes being developed by MCnet members as a lightweight common system for MC event generator validation analyses. This package provides the source files for development with %{name}. %package -n python3-%{name} Summary: A small set of data analysis classes for MC event generator validation analyses Group: Development/Libraries/Python Requires: %{so_name} = %{version} Provides: python-%{name} = %{version} Recommends: %{name}-matplotlib-style = %{version} %description -n python3-%{name} YODA is a small set of data analysis (specifically histogramming) classes being developed by MCnet members as a lightweight common system for MC event generator validation analyses. This package provides the python binidings for %{name}. %package matplotlib-style Summary: Matplotlib style file for YODA styled plots Requires: python3-matplotlib BuildArch: noarch %description matplotlib-style This package provides a style file that may be used with matplotlib to produce YODA styled plots. %prep %autosetup -p1 if ! command -v python3 &> /dev/null; then echo "Python 3 could not be found" exit 1 fi # USE PYTHON3 FOR HASHBANGS sed -Ei "1{s|/usr/bin/python|/usr/bin/python3|}" bin/* sed -Ei "1{s|/usr/bin/env python|/usr/bin/python3|}" bin/* sed -Ei "1{s|/usr/bin/env python|/usr/bin/python3|}" tests/*.py* sed -Ei "1{s|/usr/bin/env python|/usr/bin/python3|}" pyext/*.py* # FIX env BASED HASHBANGS sed -E -i "s|^#! /usr/bin/env bash|#! /bin/bash|" bin/yoda-config* # REMOVE AN UNNECESSARY ONE sed -E -i "1{s|^#! /usr/bin/env python||}" pyext/yoda/search.py %build export PYTHON_VERSION=%{py3_ver} export PATH=%{_bindir}:$PATH autoreconf -fi %configure %make_build %install %make_install mkdir -p %{buildroot}%{_datadir}/bash-completion/completions mv %{buildroot}%{_sysconfdir}/bash_completion.d/* %{buildroot}%{_datadir}/bash-completion/completions/ find %{buildroot} -type f -name "*.la" -delete -print %check %make_build check %post -n %{so_name} -p /sbin/ldconfig %postun -n %{so_name} -p /sbin/ldconfig %files -n %{so_name} %{_libdir}/libYODA-*.so %files devel %doc AUTHORS ChangeLog %license COPYING %{_bindir}/yoda-config %{_libdir}/libYODA.so %{_libdir}/pkgconfig/yoda.pc %{_includedir}/%{name}/ %files matplotlib-style %{_datadir}/YODA/ %files -n python3-%{name} %{python3_sitearch}/yoda/ %{python3_sitearch}/yoda1/ %{_datadir}/bash-completion/completions/* %{_bindir}/aida2flat %{_bindir}/aida2yoda %{_bindir}/flat2yoda %{_bindir}/yoda2aida %{_bindir}/yoda2flat %{_bindir}/yoda2yoda %{_bindir}/yodacmp %{_bindir}/yodacnv %{_bindir}/yodadiff %{_bindir}/yodaenvelope %{_bindir}/yodahist %{_bindir}/yodals %{_bindir}/yodamerge %{_bindir}/yodaplot %{_bindir}/yodascale %{_bindir}/yodastack %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor