blob: a0b04f9ae71dad5d7718f269f0981efb645705ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# remirepo spec file for php-pecl-md4c
#
# Copyright (c) 2024 Remi Collet
# License: CC-BY-SA-4.0
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%{?scl:%scl_package php-pecl-md4c}
%bcond_without libmd4c
%global pecl_name md4c
%global ini_name 40-%{pecl_name}.ini
%global upstream_version 1.1
#global upstream_prever dev
#global upstream_rpmrel DEV
%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever}
%global bundledver 0.5.2
%global buildver %(pkg-config --silence-errors --modversion md4c-html 2>/dev/null || echo 65536)
Summary: Convert Markdown to HTML
Name: %{?scl_prefix}php-pecl-%{pecl_name}
Version: %{upstream_version}%{?upstream_prever:~%{upstream_rpmrel}}
Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
# Copy/paste library http://github.com/mity/md4c is MIT
# Extension is MIT
License: MIT
URL: https://pecl.php.net/package/%{pecl_name}
Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 8.0
BuildRequires: %{?scl_prefix}php-pear
%if %{with libmd4c}
BuildRequires: md4c-devel >= %{bundledver}
Requires: md4c%{?_isa} >= %{buildver}
%endif
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
%if %{without libmd4c}
Provides: bundled(md4c) = %{bundledver}
%endif
Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
%description
This extension provides one simple PHP function md4c_toHtml() to convert
Markdown or CommonMark to HTML.
This function uses the MD4C library written in C and is currently the fastest
conversion routine,
see https://talk.commonmark.org/t/why-is-md4c-so-fast-c/2520/12
Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl})}.
%prep
%setup -q -c
# Don't install/register tests
sed -e 's/role="test"/role="src"/' \
-e '/LICENSE/s/role="doc"/role="src"/' \
-i package.xml
# Drop in the bit of configuration
cat > %{ini_name} << 'EOF'
; Enable %{pecl_name} extension module
extension = %{pecl_name}.so
EOF
%build
%{?dtsenable}
cd %{sources}
%{__phpize}
sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global
%configure \
--enable-md4c \
--enable-system-libmd4c \
--with-php-config=%{__phpconfig}
%make_build
%install
%{?dtsenable}
cd %{sources}
: Install the extension
%make_install
: Install the configuration file
install -D -m 644 ../%{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
: Install the package XML file
install -D -m 644 ../package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
: Install Documentation
for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
done
%check
: Minimal load test for NTS extension
%{__php} --no-php-ini \
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
--modules | grep '^%{pecl_name}$'
%files
%license %{sources}/LICENSE*
%{pecl_xmldir}/%{name}.xml
%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{pecl_name}.so
%changelog
* Mon Dec 2 2024 Remi Collet <remi@remirepo.net> - 1.1-1
- update to 1.1
- use system libmd4c
* Mon Dec 2 2024 Remi Collet <remi@remirepo.net> - 1.0.0~DEV-1
- initial package, version 1.0.0dev
- open https://github.com/eklausme/php-md4c/issues/12 version inconsistency
- open https://github.com/eklausme/php-md4c/issues/13 PHP version compatibility
- open https://github.com/eklausme/php-md4c/pull/14 build with system libmd4c
|