Package Details: python-cheetah3 3.2.4-2

Git Clone URL: https://aur.archlinux.org/python-cheetah3.git (read-only)
Package Base: python-cheetah3
Description: A Python 3-powered template engine and code generator
Upstream URL: http://www.cheetahtemplate.org
Licenses: MIT
Submitter: alexbrinister
Maintainer: alexbrinister
Last Packager: alexbrinister
Votes: 2
Popularity: 1.106832
First Submitted: 2018-07-30 02:37
Last Updated: 2019-10-18 01:28

Latest Comments

alexbrinister commented on 2019-10-17 22:29

@stardiviner I have reproduced your issue. Are you in a virtualenv when you build the package? This would mess up the directory into which python installs the package. If you build the package in a virtualenv, the package files will end up being installed into your home directory (or wherever you have your virtualenv set to) by pacman. I have tested this with another python package from the AUR and the files are indeed installed in the virtualenv. Since most packages do not need to change names of binaries, there is no issue, other than the package files being installed in the virtualenv as opposed to the default location (/usr).

alexbrinister commented on 2019-10-16 21:16

@stardiviner have you tried building in a chroot as described in https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot?

stardiviner commented on 2019-10-16 10:09

@alexbrinister After deleted ~/.cache/yay/ . I still got this error. Weird.

alexbrinister commented on 2019-10-09 02:30

@stardiviner Strange, I have built this package using aurutils (in and out of chroot), yay, and straight makepkg and I do not get this error. Have you tried removing the package directory in ~\.cache\yay and reinstalling?

stardiviner commented on 2019-10-01 09:59

I got following error when installing:

running install_scripts creating /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin copying build/scripts-3.7/cheetah-analyze -> /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin copying build/scripts-3.7/cheetah -> /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin copying build/scripts-3.7/cheetah-compile -> /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin changing mode of /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin/cheetah-analyze to 755 changing mode of /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin/cheetah to 755 changing mode of /home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/home/stardiviner/.virtualenvs/python3.7/bin/cheetah-compile to 755 mv: cannot stat '/home/stardiviner/.cache/yay/python-cheetah3/pkg/python-cheetah3/usr/bin/cheetah': No such file or directory ==> ERROR: A failure occurred in package(). Aborting... Error making: python-cheetah3

alexbrinister commented on 2019-08-11 18:23

@jamespharvey20 thank you for the patch, I have updated to the latest version and renamed the binaries to prevent clashing with python2-cheetah.

jamespharvey20 commented on 2019-08-11 02:05

Patch below, for your consideration, with these changes:

  • Update from 3.1.0 to 3.2.3
  • Add depends of python-setuptools, required by the new version (which requires itself requires python so no longer needs to be listed
  • Removes provides/conflicts of cheetah3 and python-cheetah3, which I believe are based off community/python2-cheetah, but as far as I can tell, cheetah3 and python-cheetah3 never existed
  • Removes usage of msg and msg2, which although are taken from community/python2-cheetah, their usage is discouraged
  • Simplifies the installation of LICENSE, since already in the directory being specified
  • Renames the 3 binaries, per suggestion of @bitfehler to prevent conflict with community/python2-cheetah

Patch:

diff --git a/PKGBUILD b/PKGBUILD
index [`cf460e7`](https://aur.archlinux.org/cgit/aur.git/commit/?h=python-cheetah3&id=cf460e7)..8458603 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,18 +2,16 @@

 pkgname=python-cheetah3
 _name=Cheetah3
-pkgver=3.1.0
-pkgrel=3
+pkgver=3.2.3
+pkgrel=1
 pkgdesc="A Python 3-powered template engine and code generator"
 arch=(x86_64)
 url="<http://www.cheetahtemplate.org>"
 license=(custom)
-depends=('python')
+depends=('python-setuptools')
 optdepends=('python-markdown')
-provides=('cheetah3' 'python-cheetah3')
-conflicts=('cheetah3' 'python-cheetah3')
 source=("<https://files.pythonhosted.org/packages/source/>${_name::1}/${_name}/${_name}-${pkgver}.tar.gz")
-sha512sums=('879de1b7a333def757a1618b7c28348d8b2f43a433aa8d5d9ee501619a854c514ca4a842f741bf4d272f5cc2defa137b741d2cc9648a3fc40dc2c4ab50692fac')
+sha512sums=('ebc735b59d61912679405469f9d509fc73bbdde51c414320994421849f4a02266d2c286c0f618cab2a592ab47ac0a4be9ec444fab75145a0c31dd0c3c39fc1e3')

 build() {
   cd "${srcdir}/${_name}-${pkgver}"
@@ -21,10 +19,12 @@ build() {
 }

 package() {
-  msg "Install..."
   cd "${srcdir}/${_name}-${pkgver}"
   python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+  install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

-  msg2 "Install copyright resources in /usr/share/licenses/${pkgname}..."
-  install -Dm644 "${srcdir}/${_name}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+  # Avoid conflict with python2-cheetah
+  for name in cheetah cheetah-analyze cheetah-compile; do
+    mv "${pkgdir}/usr/bin/${name}"{,3}
+  done
 }

alexbrinister commented on 2019-06-15 13:49

@bitfehler, that's a good idea. I will have an update out soon.

bitfehler commented on 2019-04-15 11:27

Hi,

I was wondering: how would you feel about renaming the three executables that get install into /usr/bin to cheetah3, cheetah-analyze3, and cheetah-compile3 respectively? This is what Debian does (see https://packages.debian.org/de/sid/amd64/python3-cheetah/filelist ), and then the package would no longer conflict with python2-cheetah, allowing a side-by-side installation.