blob: d19ed5eb4f08a20071502e40b7a42abd93973a95 (
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
|
# 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}
%global pecl_name md4c
%global ini_name 40-%{pecl_name}.ini
%global upstream_version 1.0.0
%global upstream_prever dev
%global upstream_rpmrel DEV
%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever}
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
# See https://github.com/eklausme/php-md4c/issues/13
BuildRequires: %{?scl_prefix}php-devel >= 8.0
BuildRequires: %{?scl_prefix}php-pear
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
Provides: bundled(md4c) = 0.5.2
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}
[ -f Makefile.global ] && GLOBAL=Makefile.global || GLOBAL=build/Makefile.global
sed -e 's/INSTALL_ROOT/DESTDIR/' -i $GLOBAL
%configure \
--enable-md4c \
--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.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
|