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

Reply via email to