Date: Sunday, November 6, 2022 @ 10:17:12 Author: alucryd Revision: 460770
fmt 9.1.0-2: ditch pip and virtualenv Added: fmt/trunk/fmt-no-pip-no-virtualenv.patch Modified: fmt/trunk/PKGBUILD Deleted: fmt/trunk/dont-install-doctrees.patch --------------------------------+ PKGBUILD | 22 ++++++++---- dont-install-doctrees.patch | 24 ------------- fmt-no-pip-no-virtualenv.patch | 68 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 31 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-11-06 09:32:56 UTC (rev 460769) +++ PKGBUILD 2022-11-06 10:17:12 UTC (rev 460770) @@ -3,7 +3,7 @@ pkgname=fmt pkgver=9.1.0 -pkgrel=1 +pkgrel=2 pkgdesc='Open-source formatting library for C++' arch=(x86_64) url=https://fmt.dev @@ -15,17 +15,25 @@ git ninja npm - python-pip - python-virtualenv + python-breathe + python-docutils + python-jinja + python-six + python-sphinx + python-wheel ) provides=(libfmt.so) _tag=a33701196adfad74917046096bf5a2aa0ab0bb50 -source=(git+https://github.com/fmtlib/fmt.git#tag=${_tag}) -b2sums=(SKIP) +source=( + git+https://github.com/fmtlib/fmt.git#tag=${_tag} + fmt-no-pip-no-virtualenv.patch +) +b2sums=('SKIP' + '4e19e7b2cd8fd049b7c692c0efbc4b2f1dd6062f44a600f4f47be81ed0ed14defb4285eb09b8d8fb8bb55441689c3a659e157e91d2cdd94e4d7b00c28b6534f2') prepare() { - npm install less less-plugin-clean-css - sed "s/'lessc',/'npx', 'lessc',/" -i fmt/doc/build.py + cd fmt + patch -Np1 -i ../fmt-no-pip-no-virtualenv.patch } pkgver() { Deleted: dont-install-doctrees.patch =================================================================== --- dont-install-doctrees.patch 2022-11-06 09:32:56 UTC (rev 460769) +++ dont-install-doctrees.patch 2022-11-06 10:17:12 UTC (rev 460770) @@ -1,24 +0,0 @@ -From 8f2b5fe74d34ba8bb20a362a4daa6cc5a99a2010 Mon Sep 17 00:00:00 2001 -From: Jelle van der Waa <[email protected]> -Date: Fri, 29 May 2020 23:19:16 +0200 -Subject: [PATCH] Don't install sphinx cache files - -When building documentation sphinx creates cached files in the .doctrees -directory and aren't required for viewing documentation only for -building. As added benefit this makes fmt reprodcubile as the cached -files are different when the build environment is varied. ---- - doc/CMakeLists.txt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index f3dae606e..108aa71e8 100644 ---- a/doc/CMakeLists.txt -+++ b/doc/CMakeLists.txt -@@ -9,4 +9,5 @@ add_custom_target(doc - SOURCES api.rst syntax.rst usage.rst build.py conf.py _templates/layout.html) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ -- DESTINATION share/doc/fmt OPTIONAL) -+ DESTINATION share/doc/fmt OPTIONAL -+ PATTERN ".doctrees" EXCLUDE) Added: fmt-no-pip-no-virtualenv.patch =================================================================== --- fmt-no-pip-no-virtualenv.patch (rev 0) +++ fmt-no-pip-no-virtualenv.patch 2022-11-06 10:17:12 UTC (rev 460770) @@ -0,0 +1,68 @@ +diff '--color=auto' -rupN fmt.orig/doc/build.py fmt/doc/build.py +--- fmt.orig/doc/build.py 2022-11-06 10:33:24.090111201 +0100 ++++ fmt/doc/build.py 2022-11-06 10:59:30.089304304 +0100 +@@ -6,34 +6,6 @@ from subprocess import check_call, Calle + + versions = ['1.0.0', '1.1.0', '2.0.0', '3.0.2', '4.0.0', '4.1.0', '5.0.0', '5.1.0', '5.2.0', '5.2.1', '5.3.0', '6.0.0', '6.1.0', '6.1.1', '6.1.2', '6.2.0', '6.2.1', '7.0.0', '7.0.1', '7.0.2', '7.0.3', '7.1.0', '7.1.1', '7.1.2', '7.1.3', '8.0.0', '8.0.1', '8.1.0', '8.1.1', '9.0.0', '9.1.0'] + +-class Pip: +- def __init__(self, venv_dir): +- self.path = os.path.join(venv_dir, 'bin', 'pip') +- +- def install(self, package, commit=None): +- "Install package using pip." +- if commit: +- package = 'git+https://github.com/{0}.git@{1}'.format(package, commit) +- print('Installing {0}'.format(package)) +- check_call([self.path, 'install', package]) +- +-def create_build_env(venv_dir='virtualenv'): +- # Create virtualenv. +- if not os.path.exists(venv_dir): +- check_call(['python3', '-m', 'venv', venv_dir]) +- # Install Sphinx and Breathe. Require the exact version of Sphinx which is +- # compatible with Breathe. +- pip = Pip(venv_dir) +- pip.install('wheel') +- pip.install('six') +- # See: https://github.com/sphinx-doc/sphinx/issues/9777 +- pip.install('docutils==0.17.1') +- # Jinja2 >= 3.1 incompatible with sphinx 3.3.0 +- # See: https://github.com/sphinx-doc/sphinx/issues/10291 +- pip.install('Jinja2<3.1') +- pip.install('sphinx-doc/sphinx', 'v3.3.0') +- pip.install('michaeljones/breathe', 'v4.25.0') +- + def build_docs(version='dev', **kwargs): + doc_dir = kwargs.get('doc_dir', os.path.dirname(os.path.realpath(__file__))) + work_dir = kwargs.get('work_dir', '.') +@@ -99,13 +71,14 @@ def build_docs(version='dev', **kwargs): + + html_dir = os.path.join(work_dir, 'html') + main_versions = reversed(versions[-3:]) +- check_call([os.path.join(work_dir, 'virtualenv', 'bin', 'sphinx-build'), ++ check_call(['sphinx-build', + '-Dbreathe_projects.format=' + os.path.abspath(doxyxml_dir), + '-Dversion=' + version, '-Drelease=' + version, + '-Aversion=' + version, '-Aversions=' + ','.join(main_versions), + '-b', 'html', doc_dir, html_dir]) + try: +- check_call(['lessc', '--verbose', '--clean-css', ++ check_call(['npm', 'install', 'less', 'less-plugin-clean-css']) ++ check_call(['npx', 'lessc', '--verbose', '--clean-css', + '--include-path=' + os.path.join(doc_dir, 'bootstrap'), + os.path.join(doc_dir, 'fmt.less'), + os.path.join(html_dir, '_static', 'fmt.css')]) +@@ -118,5 +91,4 @@ def build_docs(version='dev', **kwargs): + return html_dir + + if __name__ == '__main__': +- create_build_env() + build_docs(sys.argv[1]) +diff '--color=auto' -rupN fmt.orig/.git/FETCH_HEAD fmt/.git/FETCH_HEAD +--- fmt.orig/.git/FETCH_HEAD 1970-01-01 01:00:00.000000000 +0100 ++++ fmt/.git/FETCH_HEAD 2022-11-06 10:42:25.065548317 +0100 +@@ -0,0 +1,3 @@ ++fc07217d85e6dcec52878807d6bbd89a9d9156a5 branch 'master' of https://github.com/fmtlib/fmt ++3e8d2c57f3aee665e4672cd4e3fbf69cc2ebff2d not-for-merge branch '4.x' of https://github.com/fmtlib/fmt ++48f76dbb5211e9731b7f8aa19209ba86a1b8df23 not-for-merge branch 'text' of https://github.com/fmtlib/fmt
