# debug info seem not works with D compiler %global debug_package %{nil} %global major_version 1 %global minor_version 0 %global patch_version 0 %global pre beta.7 Name: msgpack-d Version: %{major_version}.%{minor_version}.%{patch_version} Release: 0.1%{?pre:.%{pre}}%{?dist} Summary: MessagePack for D is a pure D implementation of MessagePack Summary(fr): MessagePack pour D est une implémentation en D de MessagePack License: Boost URL: https://github.com/msgpack/msgpack-d Source0: %url/archive/v%{version}%{?pre:-%{pre}}/%{name}-%{version}%{?pre:-%{pre}}.tar.gz # Pull request #107 accepted (https://github.com/msgpack/msgpack-d/pull/107) Patch0: https://patch-diff.githubusercontent.com/raw/msgpack/msgpack-d/pull/107.patch#/0001-Add-Meson-build-definition.patch Patch1: https://patch-diff.githubusercontent.com/raw/msgpack/msgpack-d/pull/106.patch#/0002-Fix-line-endings.patch ExclusiveArch: %{ldc_arches} BuildRequires: ldc meson Requires: ldc-phobos ldc-druntime %description MessagePack is a binary-based JSON-like serialization library. %description -l fr MessagePack est une bibliothèque de sérialisation ressemblant à un format JSON en binaire. %package devel Summary: Development files for %{name} Summary(fr): Fichiers de développement pour %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel msgpack-d-devel package contains header files for developing D applications that use msgpack-d. %description devel -l fr Le paquet msgpack-d-devel contient les fichiers d'entêtes pour développer des applications en D utilisant msgpack-d. %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 msgpack-d library in geany (IDE) %description -l fr geany-tags Active l'autocompletion pour pour la bibliothèque msgpack-d dans geany (IDE) %prep %autosetup -p1 -n %{name}-%{version}%{?pre:-%{pre}} # 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' 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 "${src_dir}" -o- -c $f -Df $"{doc_file}" html/candydoc/candy.ddoc html/candydoc/modules.ddoc; done # generate geany tags sources=$(find "${src_dir}" -name '*.d') geany -c geany_config -g %{name}.d.tags ${sources[@]} %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.markdown %{_libdir}/lib%{name}.so.%{version} %{_libdir}/lib%{name}.so.%{major_version} %files devel %doc html example %{_includedir}/d/msgpack %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/lib%{name}.so %files geany-tags %{_datadir}/geany/tags/%{name}.d.tags %changelog * Wed Aug 1 2018 MERCIER Jonathan - 1.0.0-0.1.beta.7 - Initial release