[Bug 1613572] Review Request: libdparse - Library for lexing and parsing D source code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1613572

Robert-André Mauchin <zebob.m@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zebob.m@xxxxxxxxx



--- Comment #1 from Robert-André Mauchin <zebob.m@xxxxxxxxx> ---
 - URL should be

https://github.com/dlang-community/libdparse/

 - Use:

Source0:       
https://github.com/dlang-community/libdparse/archive/v%{version}%{?pre:-%{pre}}/%{name}-%{version}%{?pre:-%{pre}}.tar.gz


+ ldc2 -I src -o- -c src/dparse/parser.d -Hf include//dparse/parser.di
BUILDSTDERR: src/dparse/parser.d(9): Error: module `mallocator` is in file
'stdx/allocator/mallocator.d' which cannot be read
BUILDSTDERR: import path[0] = src
BUILDSTDERR: import path[1] = /usr/include/d/ldc
BUILDSTDERR: import path[2] = /usr/include/d

 - You need to include -I %{_includedir}/d/stdx-allocator:


    # generate header
    ldc2 -I %{_includedir}/d/stdx-allocator -I "${src_dir}" -o- -c $f -Hf
${header_file};
    # generate doc
    ldc2 -I %{_includedir}/d/stdx-allocator -I "${src_dir}" -o- -c $f -Df
${doc_file} doc-src/index.ddoc doc-src/macros.ddoc;
    # generate object
    ldc2 -I %{_includedir}/d/stdx-allocator -I "${src_dir}" ${DFLAGS} -c
-relocation-model=pic $f -of ${object_file}

 - I think it would be nice to implement Meson for this too:

================================================================
# debug info seem not works with D compiler
%global debug_package %{nil}

%global major_version 0
%global minor_version 9
%global patch_version 1
#%%global pre beta

Name:           libdparse
Version:        %{major_version}.%{minor_version}.%{patch_version}
Release:        1%{?pre:.%{pre}}%{?dist}
Summary:        Library for lexing and parsing D source code
Summary(fr):    Bibliothèque pour l'analyse syntaxique et grammaticale de code
source D
License:        Boost
URL:            https://github.com/dlang-community/libdparse

Source0:       
https://github.com/dlang-community/libdparse/archive/v%{version}%{?pre:-%{pre}}/%{name}-%{version}%{?pre:-%{pre}}.tar.gz

Patch0:        
https://patch-diff.githubusercontent.com/raw/dlang-community/libdparse/pull/257.patch#/0001-Add-Meson-build-definition.patch

ExclusiveArch:  %{ldc_arches}

BuildRequires:  ldc meson stdx-allocator-devel
Requires:       ldc-phobos ldc-druntime stdx-allocator

%description
Library for lexing and parsing D source code.

%description -l fr
Bibliothèque pour l'analyse syntaxique et grammaticale de code source en D.

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

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

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


%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}-%{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'
sources=$(find "${src_dir}" -name '*.d')
for f in ${sources[@]}; do
    d_path=$(dirname ${f});
    d_file=$(basename ${f});
    doc_file=doc-src/${d_path/${src_dir}}/${d_file/.d/.html}
    ldc2 -I %{_includedir}/d/stdx-allocator -I "${src_dir}" -o- -c $f -Df
${doc_file} doc-src/index.ddoc doc-src/macros.ddoc;
done
mv doc-src html

# 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/

%ldconfig_scriptlets

%files
%license LICENSE_1_0.txt
%doc README.md
%{_libdir}/libdparse.so.%{version}
%{_libdir}/libdparse.so.%{major_version}

%files devel
%doc html
%{_libdir}/pkgconfig/dparse.pc
%{_includedir}/d/dparse
%{_libdir}/libdparse.so

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


%changelog
* Thu Aug  2 2018 MERCIER Jonathan <bioinfornatics at gmail.com> - 0.9.0-1
- Initial release
=========================================================

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx/message/B2NYUD4OIHU6JKGN5VWW2ILWQVCO4HVL/




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux