Blob Blame History Raw
# debug info seem not works with D compiler
%global debug_package %{nil}
%global commit ec2861817720c926aeb6c02a00afe12c963ded8b
%global major_version 0
%global minor_version 4
%global patch_version 8
%global gittag v%{major_version}.%{minor_version}.%{patch_version}
%global shortcommit %(c=%{commit}; echo ${c:0:7})
#%%global pre beta

Name:           dsymbol
Version:        20181014git%{shortcommit}
Release:        5%{?pre:.%{pre}}%{?dist}
Summary:        Symbol lookup support for libdparse
Summary(fr):    Support pour la recherche de symbole avec libdparse
License:        Boost
URL:            https://github.com/dlang-community/dsymbol

Source0:        https://github.com/dlang-community/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
Patch0:         https://patch-diff.githubusercontent.com/raw/dlang-community/%{name}/pull/98.patch#/0001-Fix-dsymbol-version.patch

ExclusiveArch:  %{ldc_arches}

BuildRequires:  ldc meson libdparse-devel containers-devel
Requires:       ldc-phobos ldc-druntime containers

%description
Symbol lookup support for libdparse.

%description -l fr
Prise en charge de la recherche de symbole pour libdparse.

%package        devel
Summary:        Development files for %{name}
Summary(fr):    Fichiers de développement pour %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
dsymbol-devel package contains header files for developing D applications
that use dsymbol.

%description devel -l fr
Le paquet dsymbol-devel contient les fichiers d'entêtes pour développer
des applications en D utilisant dsymbol.


%package geany-tags
Summary:        Support for enable autocompletion in geany
Summary(fr):    Support pour activer l'auto-complétion dans geany
Requires:       %{name} = %{version}-%{release}
BuildArch:      noarch
BuildRequires:  geany
Requires:       geany

%description geany-tags
Enable autocompletion for dsymbol library in geany (IDE)

%description -l fr geany-tags
Active l'autocompletion pour pour la bibliothèque dsymbol dans geany (IDE)

%prep
%autosetup -p1 -n %{name}-%{commit} 
# temp geany config directory for allow geany to generate tags
mkdir geany_config

%build
LDFLAGS='-Wl,-z,relro -Wl,-z,now' %meson
%meson_build

# generate doc
src_dir='src'
sources=$(find "${src_dir}" -name '*.d')
for f in ${sources[@]}; do
    d_path=$(dirname ${f});
    d_file=$(basename ${f});
    doc_file=html/${d_path/${src_dir}}/${d_file/.d/.html}
    ldc2 -I %{_includedir}/d/dparse -I %{_includedir}/d/containers -I %{_includedir}/d/stdx-allocator -I "${src_dir}" -o- -c $f -Df ${doc_file};
done

# generate geany tags
headers=$(find src -name '*.d')
geany -c geany_config -g %{name}.d.tags ${headers[@]} 

%install
%meson_install

# geany tags
mkdir -p %{buildroot}%{_datadir}/geany/tags/
install -pm0644 %{name}.d.tags %{buildroot}/%{_datadir}/geany/tags/

%check
%meson_test

%ldconfig_scriptlets

%files
%license LICENSE_1_0.txt
%doc README.md
%{_libdir}/lib%{name}.so.%{major_version}.%{minor_version}.%{patch_version}
%{_libdir}/lib%{name}.so.%{major_version}

%files devel
%doc html
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/d/%{name}
%{_libdir}/lib%{name}.so

%files geany-tags
%{_datadir}/geany/tags/%{name}.d.tags


%changelog
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20181014gitec28618-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sun Oct 14 2018 Kalev Lember <klember@redhat.com> - 20181014gitec28618-4
- Rebuilt for ldc 1.12

* Sat Oct 13 2018 MERCIER Jonathan <bioinfornatics at gmail.com> - 20181014gitec28618-3
- Update to release 0.4.8
- Take source from git upstream in order to fix DCD build

* Sun Aug 26 2018 MERCIER Jonathan <bioinfornatics at gmail.com> - 0.4.3-2
- Apply  Robert-André Mauchin fix

* Thu Aug  2 2018 MERCIER Jonathan <bioinfornatics at gmail.com> - 0.4.3-1
- Initial release