diff --git a/.gitignore b/.gitignore
index c5a550a..3159a83 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,5 +13,3 @@ php-markdown-1.0.1n.zip
/php-markdown-lib-1.8.0.zip
/php-markdown-1.8.0-01ab082.tgz
/php-markdown-1.9.0-c83178d.tgz
-/php-markdown-1.9.1-5024d62.tgz
-/php-markdown-2.0.0.tar.gz
diff --git a/composer.json b/composer.json
index 7cb59cf..0935075 100644
--- a/composer.json
+++ b/composer.json
@@ -18,37 +18,12 @@
}
],
"require": {
- "php": ">=7.4"
+ "php": ">=5.3.0"
},
"autoload": {
"psr-4": { "Michelf\\": "Michelf/" }
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.0",
- "phpunit/phpunit": "^9.5",
- "phpstan/phpstan": ">=1.0",
- "phpstan/phpstan-phpunit": ">=1.0"
- },
-
- "scripts": {
- "tests": "vendor/bin/phpunit test/",
- "phpstan": [
- "vendor/bin/phpstan analyse Michelf/ --level=5",
- "vendor/bin/phpstan analyse -c test/phpstan.neon test/ --level=5"
- ],
- "codestyle": "vendor/bin/php-cs-fixer fix Michelf --dry-run --verbose --show-progress=none",
- "codestyle-fix": "vendor/bin/php-cs-fixer fix Michelf"
- },
-
- "archive": {
- "exclude": [
- "/.github/",
- "/test/",
- "/.editorconfig",
- "/.gitignore",
- "/.scrutinizer.yml",
- "/.travis.yml",
- "/phpunit.xml.dist"
- ]
+ "phpunit/phpunit": ">=4.3 <5.8"
}
}
diff --git a/php-markdown-php74.patch b/php-markdown-php74.patch
new file mode 100644
index 0000000..fb6d782
--- /dev/null
+++ b/php-markdown-php74.patch
@@ -0,0 +1,137 @@
+diff -up Michelf/MarkdownExtra.php.php74 Michelf/MarkdownExtra.php
+--- Michelf/MarkdownExtra.php.php74 2019-07-26 15:03:52.000000000 +0200
++++ Michelf/MarkdownExtra.php 2019-07-26 15:07:25.255088870 +0200
+@@ -212,9 +212,9 @@ class MarkdownExtra extends \Michelf\Mar
+ $attributes = array();
+ $id = false;
+ foreach ($elements as $element) {
+- if ($element{0} == '.') {
++ if ($element[0] == '.') {
+ $classes[] = substr($element, 1);
+- } else if ($element{0} == '#') {
++ } else if ($element[0] == '#') {
+ if ($id === false) $id = substr($element, 1);
+ } else if (strpos($element, '=') > 0) {
+ $parts = explode('=', $element, 2);
+@@ -508,14 +508,14 @@ class MarkdownExtra extends \Michelf\Mar
+ }
+ }
+ // Check for: Indented code block.
+- else if ($tag{0} == "\n" || $tag{0} == " ") {
++ else if ($tag[0] == "\n" || $tag[0] == " ") {
+ // Indented code block: pass it unchanged, will be handled
+ // later.
+ $parsed .= $tag;
+ }
+ // Check for: Code span marker
+ // Note: need to check this after backtick fenced code blocks
+- else if ($tag{0} == "`") {
++ else if ($tag[0] == "`") {
+ // Find corresponding end marker.
+ $tag_re = preg_quote($tag);
+ if (preg_match('{^(?>.+?|\n(?!\n))*?(?clean_tags_re . ')\b}', $tag) ||
+- $tag{1} == '!' || $tag{1} == '?')
++ $tag[1] == '!' || $tag[1] == '?')
+ {
+ // Need to parse tag and following text using the HTML parser.
+ // (don't check for markdown attribute)
+@@ -564,7 +564,7 @@ class MarkdownExtra extends \Michelf\Mar
+ preg_match('{^?(?:' . $enclosing_tag_re . ')\b}', $tag))
+ {
+ // Increase/decrease nested tag count.
+- if ($tag{1} == '/') $depth--;
++ if ($tag[1] == '/') $depth--;
+ else if ($tag{strlen($tag)-2} != '/') $depth++;
+
+ if ($depth < 0) {
+@@ -664,7 +664,7 @@ class MarkdownExtra extends \Michelf\Mar
+ // In that case, we return original text unchanged and pass the
+ // first character as filtered to prevent an infinite loop in the
+ // parent function.
+- return array($original_text{0}, substr($original_text, 1));
++ return array($original_text[0], substr($original_text, 1));
+ }
+
+ $block_text .= $parts[0]; // Text before current tag.
+@@ -674,7 +674,7 @@ class MarkdownExtra extends \Michelf\Mar
+ // Check for: Auto-close tag (like
)
+ // Comments and Processing Instructions.
+ if (preg_match('{^?(?:' . $this->auto_close_tags_re . ')\b}', $tag) ||
+- $tag{1} == '!' || $tag{1} == '?')
++ $tag[1] == '!' || $tag[1] == '?')
+ {
+ // Just add the tag to the block as if it was text.
+ $block_text .= $tag;
+@@ -683,7 +683,7 @@ class MarkdownExtra extends \Michelf\Mar
+ // Increase/decrease nested tag count. Only do so if
+ // the tag's name match base tag's.
+ if (preg_match('{^?' . $base_tag_name_re . '\b}', $tag)) {
+- if ($tag{1} == '/') $depth--;
++ if ($tag[1] == '/') $depth--;
+ else if ($tag{strlen($tag)-2} != '/') $depth++;
+ }
+
+@@ -1071,7 +1071,7 @@ class MarkdownExtra extends \Michelf\Mar
+ return $matches[0];
+ }
+
+- $level = $matches[3]{0} == '=' ? 1 : 2;
++ $level = $matches[3][0] == '=' ? 1 : 2;
+
+ $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[1]) : null;
+
+@@ -1466,7 +1466,7 @@ class MarkdownExtra extends \Michelf\Mar
+
+ $classes = array();
+ if ($classname != "") {
+- if ($classname{0} == '.')
++ if ($classname[0] == '.')
+ $classname = substr($classname, 1);
+ $classes[] = $this->code_class_prefix . $classname;
+ }
+diff -up Michelf/Markdown.php.php74 Michelf/Markdown.php
+--- Michelf/Markdown.php.php74 2019-07-26 15:03:52.000000000 +0200
++++ Michelf/Markdown.php 2019-07-26 15:06:27.924736197 +0200
+@@ -952,7 +952,7 @@ class Markdown implements MarkdownInterf
+ return $matches[0];
+ }
+
+- $level = $matches[2]{0} == '=' ? 1 : 2;
++ $level = $matches[2][0] == '=' ? 1 : 2;
+
+ // ID attribute generation
+ $idAtt = $this->_generateIdFromHeaderValue($matches[1]);
+@@ -1358,7 +1358,7 @@ class Markdown implements MarkdownInterf
+ } else {
+ // Other closing marker: close one em or strong and
+ // change current token state to match the other
+- $token_stack[0] = str_repeat($token{0}, 3-$token_len);
++ $token_stack[0] = str_repeat($token[0], 3-$token_len);
+ $tag = $token_len == 2 ? "strong" : "em";
+ $span = $text_stack[0];
+ $span = $this->runSpanGamut($span);
+@@ -1383,7 +1383,7 @@ class Markdown implements MarkdownInterf
+ } else {
+ // Reached opening three-char emphasis marker. Push on token
+ // stack; will be handled by the special condition above.
+- $em = $token{0};
++ $em = $token[0];
+ $strong = "$em$em";
+ array_unshift($token_stack, $token);
+ array_unshift($text_stack, '');
+@@ -1796,9 +1796,9 @@ class Markdown implements MarkdownInterf
+ * @return string
+ */
+ protected function handleSpanToken($token, &$str) {
+- switch ($token{0}) {
++ switch ($token[0]) {
+ case "\\":
+- return $this->hashPart("". ord($token{1}). ";");
++ return $this->hashPart("". ord($token[1]). ";");
+ case "`":
+ // Search for end marker in remaining text.
+ if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm',
diff --git a/php-markdown.spec b/php-markdown.spec
index 56470b6..5cb5f81 100644
--- a/php-markdown.spec
+++ b/php-markdown.spec
@@ -5,19 +5,19 @@
#
# Please preserve changelog entries
#
-%global gh_commit 5024d623c1a057dcd2d076d25b7d270a1d0d55f3
+%global gh_commit c83178d49e372ca967d1a8c77ae4e051b3a3c75c
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner michelf
%global gh_project php-markdown
Name: php-markdown
-Version: 2.0.0
-Release: 7%{?dist}
+Version: 1.9.0
+Release: 4%{?dist}
Summary: Markdown implementation in PHP
-License: BSD-3-Clause
+License: BSD
URL: https://michelf.ca/projects/php-markdown/
-Source0: https://github.com/michelf/php-markdown/archive/%{version}/%{name}-%{version}.tar.gz
+Source0: %{name}-%{version}-%{gh_short}.tgz
Source1: makesrc.sh
BuildArch: noarch
@@ -25,9 +25,9 @@ BuildRequires: php-fedora-autoloader-devel
# For tests
# "require-dev": {
# "phpunit/phpunit": ">=4.3 <5.8"
-BuildRequires: phpunit10
+BuildRequires: phpunit
-Requires: php(language) >= 7.4
+Requires: php(language) >= 5.3
Requires: php-pcre
Requires: php-composer(fedora/autoloader)
@@ -38,11 +38,14 @@ Provides: php-composer(michelf/php-markdown) = %{version}
This is a PHP implementation of John Gruber's Markdown.
It is almost completely compliant with the reference implementation.
+This packages provides the classic version %{classic_version} and the new
+library version %{version}.
+
Autoloader: %{_datadir}/php/Michelf/markdown-autoload.php
%prep
-%setup -q
+%setup -q -n %{gh_project}-%{gh_commit}
mv License.md LICENSE
@@ -76,11 +79,11 @@ require "test/bootstrap.php";
EOF
ret=0
-for php in php php74 php81 php82 php83
+for php in php php72 php73 php74
do
if which $php
then
- $php %{_bindir}/phpunit10 --bootstrap bs.php || ret=1
+ $php %{_bindir}/phpunit --bootstrap bs.php || ret=1
fi
done
exit $ret
@@ -96,48 +99,6 @@ exit $ret
%changelog
-* Fri Jul 25 2025 Fedora Release Engineering - 2.0.0-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
-
-* Sun Mar 23 2025 Tim Landscheidt - 2.0.0-6
-- Remove outdated information from package description
-
-* Sat Jan 18 2025 Fedora Release Engineering - 2.0.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
-
-* Fri Jul 19 2024 Fedora Release Engineering - 2.0.0-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
-
-* Thu Jan 25 2024 Fedora Release Engineering - 2.0.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Sun Jan 21 2024 Fedora Release Engineering - 2.0.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Wed Oct 04 2023 Sérgio Basto - 2.0.0-1
-- Update php-markdown to 2.0.0
-
-* Fri Jul 21 2023 Fedora Release Engineering - 1.9.1-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Wed Mar 01 2023 Gwyn Ciesla - 1.9.1-5
-- migrated to SPDX license
-
-* Fri Jan 20 2023 Fedora Release Engineering - 1.9.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Fri Jul 22 2022 Fedora Release Engineering - 1.9.1-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Fri Jan 21 2022 Fedora Release Engineering - 1.9.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Wed Nov 24 2021 Remi Collet - 1.9.1-1
-- update to 1.9.1
-
-* Fri Jul 23 2021 Fedora Release Engineering - 1.9.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
* Wed Jan 27 2021 Fedora Release Engineering - 1.9.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
diff --git a/sources b/sources
index e26d3a3..90c8999 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (php-markdown-2.0.0.tar.gz) = a848bc7374f8392d21824acbc1fb11c37f961e1780fb2c735a4d4d09949fb51a6962d8d2f6df2dfca92d00a33da82062d5e2a8b8301cb476242e1fc17af673b5
+SHA512 (php-markdown-1.9.0-c83178d.tgz) = 3f4564ed999f16e822ec409fed66114b54b17aa2676bc53a04d35e5e721908c5980dd7a5f7b10cfdc1f08fa44dbf3fedf537c5d5705e74b71d0f56372ab80790