Gentoo Archives: gentoo-commits

From: Andrew Ammerlaan <andrewammerlaan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-python/cmarkgfm/, dev-python/cmarkgfm/files/
Date: Sat, 03 Jul 2021 09:59:15
Message-Id: 1625186337.a1474f424871dff1c18e5c0a678a9f9f59a75bdb.andrewammerlaan@gentoo
1 commit: a1474f424871dff1c18e5c0a678a9f9f59a75bdb
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Fri Jul 2 00:38:57 2021 +0000
4 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 2 00:38:57 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a1474f42
7
8 dev-python/cmarkgfm: initial import
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 dev-python/cmarkgfm/Manifest | 1 +
13 dev-python/cmarkgfm/cmarkgfm-0.5.3.ebuild | 32 +++++++++++++++
14 .../cmarkgfm-0.5.3-use-system-cmark-gfm.patch | 47 ++++++++++++++++++++++
15 dev-python/cmarkgfm/metadata.xml | 13 ++++++
16 4 files changed, 93 insertions(+)
17
18 diff --git a/dev-python/cmarkgfm/Manifest b/dev-python/cmarkgfm/Manifest
19 new file mode 100644
20 index 000000000..e300e30db
21 --- /dev/null
22 +++ b/dev-python/cmarkgfm/Manifest
23 @@ -0,0 +1 @@
24 +DIST cmarkgfm-0.5.3.tar.gz 12223 BLAKE2B fadbe49a59e4de24e51d2bb3f72138a67fa786c7c4b3901dc4689d1edbac8b7c04beb73c4c77b06fec933e526fdbf75640022ad41864054e69c9ae7ba0131d90 SHA512 2c4f891ca845cfa87adc7d3ab5b20999b1747c30d66a7ed52a2e870e77fac0993207f9ff49256c7588976475cb0adb816f70d2834dc26724d6ae50ff395ca734
25
26 diff --git a/dev-python/cmarkgfm/cmarkgfm-0.5.3.ebuild b/dev-python/cmarkgfm/cmarkgfm-0.5.3.ebuild
27 new file mode 100644
28 index 000000000..4130aa614
29 --- /dev/null
30 +++ b/dev-python/cmarkgfm/cmarkgfm-0.5.3.ebuild
31 @@ -0,0 +1,32 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +PYTHON_COMPAT=( python3_{8..10} pypy3 )
38 +
39 +inherit distutils-r1
40 +
41 +DESCRIPTION="Python bindings for GitHub's cmark"
42 +HOMEPAGE="https://github.com/theacodes/cmarkgfm"
43 +SRC_URI="https://github.com/theacodes/cmarkgfm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
44 +
45 +LICENSE="MIT"
46 +KEYWORDS="~amd64"
47 +SLOT="0"
48 +
49 +RDEPEND="
50 + app-text/cmark-gfm
51 + virtual/python-cffi[${PYTHON_USEDEP}]
52 +"
53 +DEPEND="${RDEPEND}"
54 +BDEPEND="app-text/dos2unix"
55 +
56 +PATCHES=( "${FILESDIR}/${P}-use-system-cmark-gfm.patch" )
57 +
58 +src_prepare() {
59 + dos2unix src/cmarkgfm/build_cmark.py || die
60 + default
61 +}
62 +
63 +distutils_enable_tests pytest
64
65 diff --git a/dev-python/cmarkgfm/files/cmarkgfm-0.5.3-use-system-cmark-gfm.patch b/dev-python/cmarkgfm/files/cmarkgfm-0.5.3-use-system-cmark-gfm.patch
66 new file mode 100644
67 index 000000000..47894810e
68 --- /dev/null
69 +++ b/dev-python/cmarkgfm/files/cmarkgfm-0.5.3-use-system-cmark-gfm.patch
70 @@ -0,0 +1,47 @@
71 +--- a/src/cmarkgfm/build_cmark.py
72 ++++ b/src/cmarkgfm/build_cmark.py
73 +@@ -8,12 +8,8 @@
74 + import cffi
75 +
76 +
77 +-# Get the directory for the cmark source files. It's under the package root
78 +-# as /third_party/cmark/src
79 + HERE = os.path.dirname(os.path.abspath(__file__))
80 + PACKAGE_ROOT = os.path.abspath(os.path.join(HERE, '../../'))
81 +-SRC_DIR = os.path.join(PACKAGE_ROOT, 'third_party/cmark/src')
82 +-EXTENSIONS_SRC_DIR = os.path.join(PACKAGE_ROOT, 'third_party/cmark/extensions')
83 + UNIX_GENERATED_SRC_DIR = os.path.join(PACKAGE_ROOT, 'generated', 'unix')
84 + WIN_GENERATED_SRC_DIR = os.path.join(PACKAGE_ROOT, 'generated', 'windows')
85 +
86 +@@ -27,20 +23,6 @@
87 + CMARK_MODULE_H = fh.read()
88 +
89 +
90 +-def _get_sources(dir, exclude=set()):
91 +- sources = glob.iglob(os.path.join(dir, '*.c'))
92 +- return sorted([
93 +- os.path.relpath(path, start=PACKAGE_ROOT)
94 +- for path in
95 +- sources
96 +- if os.path.basename(path) not in exclude
97 +- ])
98 +-
99 +-
100 +-SOURCES = _get_sources(SRC_DIR, exclude=set(['main.c']))
101 +-SOURCES.extend(_get_sources(EXTENSIONS_SRC_DIR))
102 +-
103 +-
104 + def _compiler_type():
105 + """
106 + Gets the compiler type from distutils. On Windows with MSVC it will be
107 +@@ -76,8 +58,8 @@
108 + ffibuilder.set_source(
109 + 'cmarkgfm._cmark',
110 + CMARK_MODULE_H,
111 +- sources=SOURCES,
112 +- include_dirs=[SRC_DIR, EXTENSIONS_SRC_DIR, GENERATED_SRC_DIR],
113 ++ include_dirs=[GENERATED_SRC_DIR],
114 ++ libraries=["cmark-gfm", "cmark-gfm-extensions"],
115 + extra_compile_args=EXTRA_COMPILE_ARGS
116 + )
117 +
118
119 diff --git a/dev-python/cmarkgfm/metadata.xml b/dev-python/cmarkgfm/metadata.xml
120 new file mode 100644
121 index 000000000..882411550
122 --- /dev/null
123 +++ b/dev-python/cmarkgfm/metadata.xml
124 @@ -0,0 +1,13 @@
125 +<?xml version="1.0" encoding="UTF-8"?>
126 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
127 +<pkgmetadata>
128 + <maintainer type="person">
129 + <email>lssndrbarbieri@×××××.com</email>
130 + <name>Alessandro Barbieri</name>
131 + </maintainer>
132 + <upstream>
133 + <bugs-to>https://github.com/theacodes/cmarkgfm/issues</bugs-to>
134 + <remote-id type="github">theacodes/cmarkgfm</remote-id>
135 + <remote-id type="pypi">cmarkgfm</remote-id>
136 + </upstream>
137 +</pkgmetadata>