Skip to content
Snippets Groups Projects
  • Duncan Macleod's avatar
    70c88cd6
    use private fields in pkgconfig files · 70c88cd6
    Duncan Macleod authored
    - use `Requires.private` in pkgconfig files to stop forcing downstream
      packages to link against everything upstream
    - added `pkgconfig` as `BuildRequires` for RPMs
    - bumped required version of pkg-config to 0.18.0
    70c88cd6
    History
    use private fields in pkgconfig files
    Duncan Macleod authored
    - use `Requires.private` in pkgconfig files to stop forcing downstream
      packages to link against everything upstream
    - added `pkgconfig` as `BuildRequires` for RPMs
    - bumped required version of pkg-config to 0.18.0
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
gstlal-ugly.spec.in 4.30 KiB
%define gstreamername gstreamer1

Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
Release: 1%{?dist}
Summary: GSTLAL Experimental Supplements
License: GPL
Group: LSC Software/Data Analysis
Requires: gstlal >= @MIN_GSTLAL_VERSION@
Requires: python >= @MIN_PYTHON_VERSION@
Requires: glue >= @MIN_GLUE_VERSION@
Requires: python-ligo-lw >= @MIN_LIGO_LW_VERSION@
Requires: python2-ligo-segments >= @MIN_LIGO_SEGMENTS_VERSION@
Requires: gobject-introspection >= @MIN_GOBJECT_INTROSPECTION_VERSION@
Requires: fftw >= 3
Requires: %{gstreamername} >= @MIN_GSTREAMER_VERSION@
Requires: %{gstreamername}-plugins-base >= @MIN_GSTREAMER_VERSION@
Requires: %{gstreamername}-plugins-good >= @MIN_GSTREAMER_VERSION@
Requires: %{gstreamername}-plugins-bad-free
Requires: h5py
Requires: numpy >= @MIN_NUMPY_VERSION@
Requires: scipy
Requires: lal >= @MIN_LAL_VERSION@
Requires: lalmetaio >= @MIN_LALMETAIO_VERSION@
Requires: gsl
Requires: ldas-tools-framecpp >= @MIN_FRAMECPP_VERSION@
Requires: gds-lowlatency >= @MIN_GDS_VERSION@
Requires: nds2-client >= @MIN_NDS_VERSION@
Requires: orc >= @MIN_ORC_VERSION@
Requires: python-%{gstreamername}
BuildRequires: pkgconfig >= 0.18.0
BuildRequires: doxygen  >= @MIN_DOXYGEN_VERSION@
BuildRequires: graphviz
BuildRequires: gstlal-devel >= @MIN_GSTLAL_VERSION@
BuildRequires: python-devel >= @MIN_PYTHON_VERSION@
BuildRequires: fftw-devel >= 3
BuildRequires: gobject-introspection-devel >= @MIN_GOBJECT_INTROSPECTION_VERSION@
BuildRequires: %{gstreamername}-devel >= @MIN_GSTREAMER_VERSION@
BuildRequires: %{gstreamername}-plugins-base-devel >= @MIN_GSTREAMER_VERSION@
BuildRequires: lal-devel >= @MIN_LAL_VERSION@
BuildRequires: lalmetaio-devel >= @MIN_LALMETAIO_VERSION@
BuildRequires: gsl-devel
BuildRequires: gtk-doc >= @MIN_GTK_DOC_VERSION@
BuildRequires: ldas-tools-framecpp-devel >= @MIN_FRAMECPP_VERSION@
BuildRequires: gds-devel >= @MIN_GDS_VERSION@
BuildRequires: gds-lowlatency >= @MIN_GDS_VERSION@
BuildRequires: nds2-client-devel >= @MIN_NDS_VERSION@
BuildRequires: nds2-client-headers >= @MIN_NDS_VERSION@
BuildRequires: orc >= @MIN_ORC_VERSION@
Source: @PACKAGE_NAME@-%{version}.tar.gz
URL: https://wiki.ligo.org/DASWG/GstLAL
Packager: Kipp Cannon <kipp.cannon@ligo.org>
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
This package provides a variety of gstreamer elements for
gravitational-wave data analysis and some libraries to help write such
elements.  The code here sits on top of several other libraries, notably
the LIGO Algorithm Library (LAL), FFTW, the GNU Scientific Library (GSL),
and, of course, GStreamer.

This package contains the plugins and shared libraries required to run
gstlal-based applications.


%package devel
Summary: Files and documentation needed for compiling gstlal-based plugins and programs.
Group: LSC Software/Data Analysis
Requires: %{name} = %{version} gstlal-devel >= @MIN_GSTLAL_VERSION@ python-devel >= @MIN_PYTHON_VERSION@ fftw-devel >= 3 %{gstreamername}-devel >= @MIN_GSTREAMER_VERSION@ %{gstreamername}-plugins-base-devel >= @MIN_GSTREAMER_VERSION@ lal-devel >= @MIN_LAL_VERSION@ lalmetaio-devel >= @MIN_LALMETAIO_VERSION@ gsl-devel nds2-client-headers >= @MIN_NDS_VERSION@
%description devel
This package contains the files needed for building gstlal-ugly based
plugins and programs.


%prep
%setup -q -n %{name}-%{version}


%build
%configure --enable-gtk-doc
%{__make}


%install
# FIXME:  why doesn't % makeinstall macro work?
DESTDIR=${RPM_BUILD_ROOT} %{__make} install
# remove .so symlinks from libdir.  these are not included in the .rpm,
# they will be installed by ldconfig in the post-install script, except for
# the .so symlink which isn't created by ldconfig and gets shipped in the
# devel package
[ ${RPM_BUILD_ROOT} != "/" ] && find ${RPM_BUILD_ROOT}/%{_libdir} -name "*.so.*" -type l -delete
# don't distribute *.la files
[ ${RPM_BUILD_ROOT} != "/" ] && find ${RPM_BUILD_ROOT} -name "*.la" -type f -delete


%post
if test -d /usr/lib64 ; then
	ldconfig /usr/lib64
else
	ldconfig
fi


%postun
if test -d /usr/lib64 ; then
	ldconfig /usr/lib64
else
	ldconfig
fi


%clean
[ ${RPM_BUILD_ROOT} != "/" ] && rm -Rf ${RPM_BUILD_ROOT}
rm -Rf ${RPM_BUILD_DIR}/%{name}-%{version}


%files
%defattr(-,root,root)
%{_bindir}/*
%{_libdir}/gstreamer-@GSTREAMER_RELEASE@/*.so
%{_prefix}/%{_lib}/python*/site-packages/gstlal

%files devel
%defattr(-,root,root)
%{_libdir}/gstreamer-@GSTREAMER_RELEASE@/*.a