[10/10] gnu: Add python-fake-factory and python2-fake-factory.
Commit Message
* gnu/packages/python.scm (python-fake-factory, python2-fake-factory):
New variables.
---
gnu/packages/python.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
Comments
On Thu, Jun 23, 2016 at 11:20:04PM +0800, 宋文武 wrote:
> * gnu/packages/python.scm (python-fake-factory, python2-fake-factory):
> New variables.
> + (arguments
> + '(#:phases
> + (modify-phases %standard-phases
> + (add-before 'check 'disable-failing-test
> + ;; XXX: faker/tests/ne_np/__init__.py, line 40, in test_names
> + ;; first_name, last_name = name.split()
> + ;; ValueError: too many values to unpack (expected 2)
> + (lambda _
> + (delete-file "faker/tests/ne_np/__init__.py")
> + #t)))))
It's safe to disable this test?
> + (native-inputs
> + `(("python-dateutil" ,python-dateutil-2)
> + ("python-setuptools" ,python-setuptools)
> + ("python-six" ,python-six)
> + ;; For testing
> + ("python-email-validator" ,python-email-validator)
> + ("python-mock" ,python-mock)
> + ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
It doesn't need to use dateutil, email-validator, and ukpostcodeparser
at run-time?
> + (home-page "http://github.com/joke2k/faker")
> + (synopsis "Python package that generates fake data")
> + (description
> + "Faker is a Python package that generates fake data such as names,
> +addresses, and phone numbers.")
> + (license license:expat)
> + (properties `((python2-variant . ,(delay python2-fake-factory))))))
> +
> +(define-public python2-fake-factory
> + (let ((base (package-with-python2 (strip-python2-variant
> + python-fake-factory))))
> + (package
> + (inherit base)
> + (native-inputs
> + `(("python2-ipaddress" ,python2-ipaddress)
> + ,@(package-native-inputs base))))))
I have the same question for python2-ipaddress.
Leo Famulari <leo@famulari.name> writes:
> On Thu, Jun 23, 2016 at 11:20:04PM +0800, 宋文武 wrote:
>> * gnu/packages/python.scm (python-fake-factory, python2-fake-factory):
>> New variables.
>
>> + (arguments
>> + '(#:phases
>> + (modify-phases %standard-phases
>> + (add-before 'check 'disable-failing-test
>> + ;; XXX: faker/tests/ne_np/__init__.py, line 40, in test_names
>> + ;; first_name, last_name = name.split()
>> + ;; ValueError: too many values to unpack (expected 2)
>> + (lambda _
>> + (delete-file "faker/tests/ne_np/__init__.py")
>> + #t)))))
>
> It's safe to disable this test?
Yes, the provider provides names in (first, last) or (prefix, first,
last) forms, I think the test code is just outdated.
>
>> + (native-inputs
>> + `(("python-dateutil" ,python-dateutil-2)
>> + ("python-setuptools" ,python-setuptools)
>> + ("python-six" ,python-six)
>> + ;; For testing
>> + ("python-email-validator" ,python-email-validator)
>> + ("python-mock" ,python-mock)
>> + ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
>
> It doesn't need to use dateutil, email-validator, and ukpostcodeparser
> at run-time?
It need dateutil and six at runtime, and they're included in the pth
file, I can import them in python from:
`guix environment --ad-hoc python python-fake-factory -- python3'
IIUC, I don't need to propagate dateutil and six, right?
>
>> + (home-page "http://github.com/joke2k/faker")
>> + (synopsis "Python package that generates fake data")
>> + (description
>> + "Faker is a Python package that generates fake data such as names,
>> +addresses, and phone numbers.")
>> + (license license:expat)
>> + (properties `((python2-variant . ,(delay python2-fake-factory))))))
>> +
>> +(define-public python2-fake-factory
>> + (let ((base (package-with-python2 (strip-python2-variant
>> + python-fake-factory))))
>> + (package
>> + (inherit base)
>> + (native-inputs
>> + `(("python2-ipaddress" ,python2-ipaddress)
>> + ,@(package-native-inputs base))))))
>
> I have the same question for python2-ipaddress.
Oh, it's needed and missing from PYTHONPATH, I should propagate it.
Thanks for the review!
@@ -9522,3 +9522,50 @@ parsing UK postcodes.")
(define-public python2-ukpostcodeparser
(package-with-python2 python-ukpostcodeparser))
+
+(define-public python-fake-factory
+ (package
+ (name "python-fake-factory")
+ (version "0.5.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fake-factory" version))
+ (sha256
+ (base32
+ "1chmarnrdzn4r017n8qlic0m0bbnhw04s3hkwribjvm3mqpb6pa0"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'disable-failing-test
+ ;; XXX: faker/tests/ne_np/__init__.py, line 40, in test_names
+ ;; first_name, last_name = name.split()
+ ;; ValueError: too many values to unpack (expected 2)
+ (lambda _
+ (delete-file "faker/tests/ne_np/__init__.py")
+ #t)))))
+ (native-inputs
+ `(("python-dateutil" ,python-dateutil-2)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ;; For testing
+ ("python-email-validator" ,python-email-validator)
+ ("python-mock" ,python-mock)
+ ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
+ (home-page "http://github.com/joke2k/faker")
+ (synopsis "Python package that generates fake data")
+ (description
+ "Faker is a Python package that generates fake data such as names,
+addresses, and phone numbers.")
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-fake-factory))))))
+
+(define-public python2-fake-factory
+ (let ((base (package-with-python2 (strip-python2-variant
+ python-fake-factory))))
+ (package
+ (inherit base)
+ (native-inputs
+ `(("python2-ipaddress" ,python2-ipaddress)
+ ,@(package-native-inputs base))))))
+