blob: 4ffd2670dbaee4dbf68cfd12e400c241120c8c14 (
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
138
139
140
141
142
|
# remirepo spec file for php-pecl-md4c
#
# SPDX-FileCopyrightText: Copyright 2024-2026 Remi Collet
# SPDX-License-Identifier: CECILL-2.1
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
%{?scl:%scl_package php-pecl-md4c}
%bcond_without libmd4c
%global pecl_name md4c
%global pie_vend pecl
%global pie_proj %{pecl_name}
%global ini_name 40-%{pecl_name}.ini
%global upstream_version 1.1
#global upstream_prever dev
#global upstream_rpmrel DEV
%global bundledver 0.5.2
%global buildver %(pkg-config --silence-errors --modversion md4c-html 2>/dev/null || echo 65536)
# Github forge
%global gh_vend eklausme
%global gh_proj php-md4c
%global forgeurl https://github.com/%{gh_vend}/%{gh_proj}
%global tag %{upstream_version}%{?upstream_prever}
Name: %{?scl_prefix}php-pecl-%{pecl_name}
Summary: Convert Markdown to HTML
# Copy/paste library http://github.com/mity/md4c is MIT
# Extension is MIT
License: MIT
Version: %{upstream_version}%{?upstream_prever:~%{upstream_rpmrel}}
Release: 2%{?dist}
%forgemeta
URL: %{forgeurl}
Source0: %{forgesource}
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 8.0
%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
# Extension
Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
# PECL
Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
# PIE
Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}
Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{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
%forgesetup
# Drop in the bit of configuration
cat > %{ini_name} << 'EOF'
; Enable %{pecl_name} extension module
extension = %{pecl_name}.so
EOF
%build
%{?dtsenable}
%{__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}
: Install the extension
%make_install
: Install the configuration file
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
%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 LICENSE*
%doc composer.json
%doc *.md
%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{pecl_name}.so
%changelog
* Wed Apr 22 2026 Remi Collet <remi@remirepo.net> - 1.1-2
- re-license spec file to CECILL-2.1
- add pie virtual provides (no yet published)
- drop pear/pecl dependency
- sources from github
* 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
|