;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Hartmut Goebel ;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages tryton) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages finance) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages pdf) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time) #:use-module (gnu packages xml) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system python)) (define (guix-trytonpath-search-path version) "Generate a GUIX_TRYTOND_MODULES_PATH search path specification, using VERSION. Do not use PYTHHONPATH not avoid interfering with any different Python package installed in the same environments. Collecting only paths actually containing /tryton/modules reduces the number of paths." (search-path-specification (variable "GUIX_TRYTOND_MODULES_PATH") (files (list (string-append "lib/python" (version-major+minor version) "/site-packages/trytond/modules"))))) (define-public trytond (package (name "trytond") (version "6.2.10") (source (origin (method url-fetch) (uri (pypi-uri "trytond" version)) (sha256 (base32 "0s53ig8snbs9936h99pwa0lwhcrd3j3cbpwlmf90mf1chrif7zca")) (patches (search-patches "trytond-add-egg-modules-to-path.patch" "trytond-add-guix_trytond_path.patch")))) (build-system python-build-system) (propagated-inputs (list python-dateutil python-defusedxml python-genshi python-lxml python-magic python-passlib python-polib python-psycopg2 python-relatorio python-sql python-werkzeug-1.0 ;setup.py requires werkzeug<2 python-wrapt)) (native-inputs (list python-mock python-pillow)) (native-search-paths (list (guix-trytonpath-search-path (package-version python)))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'check 'preparations (lambda _ (setenv "DB_NAME" ":memory:") (setenv "HOME" "/tmp") #t))))) (home-page "https://www.tryton.org/") (synopsis "Tryton Server") (description "Tryton is a three-tier high-level general purpose application platform using PostgreSQL as its main database engine. It is the core base of a complete business solution providing modularity, scalability and security.") (license license:gpl3+))) (define-public python-trytond (deprecated-package "python-trytond" trytond)) (define-public tryton (package (name "tryton") (version "6.2.7") (source (origin (method url-fetch) (uri (pypi-uri "tryton" version)) (sha256 (base32 "1bvwkrj2mmnddaif60g2np2jpx8lq5ka32xlhd4rlnshnbryrm5q")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'check 'change-home (lambda _ ;; Change from /homeless-shelter to /tmp for write permission. (setenv "HOME" "/tmp"))) (add-after 'install 'wrap-gi-python (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (wrap-program (string-append out "/bin/tryton") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) #t))))) (native-inputs `(("glib-compile-schemas" ,glib "bin") ("gobject-introspection" ,gobject-introspection))) (propagated-inputs (list librsvg gsettings-desktop-schemas gtk+ python-dateutil python-pycairo python-pygobject)) (home-page "https://www.tryton.org/") (synopsis "Tryton Client") (description "This package provides the Tryton GTK client.") (license license:gpl3+))) (define-public python-proteus (package (name "python-proteus") (version "6.2.3") (source (origin (method url-fetch) (uri (pypi-uri "proteus" version)) (sha256 (base32 "0xx8kqzgs66rgz6bk5favnjs0akz6znz81vmjwpwp2wpq7094fsr")))) (build-system python-build-system) ;; Tests require python-trytond-party which requires python-proteus. (arguments `(#:tests? #f)) (propagated-inputs (list python-dateutil python-defusedxml)) (home-page "http://www.tryton.org/") (synopsis "Library to access a Tryton server as a client") (description "This package provides a library to access Tryton server as a client.") (license license:lgpl3+))) (define (tryton-phases module . extra-arguments) "Return the phases for building and testing a Tryton module named MODULE. If present, pass EXTRA-ARGUMENTS to runtest as well." `(modify-phases %standard-phases (replace 'check (lambda* (#:key inputs outputs tests? #:allow-other-keys) (let ((runtest (string-append (assoc-ref inputs "trytond") "/lib/python" ,(version-major+minor (package-version python)) "/site-packages/trytond/tests/run-tests.py"))) (when tests? (add-installed-pythonpath inputs outputs) (invoke "python" runtest "-m" ,module ,@extra-arguments))))))) (define (tryton-arguments module . extra-arguments) "Like ’tryton-phases’, but directly return all arguments for the build system." `(#:phases ,(apply tryton-phases module extra-arguments))) ;;; ;;; Tryton modules - please sort alphabetically ;;; (define (%standard-trytond-native-inputs) ;; native-inputs required by most of the tryton module for running the test `(("python-dateutil" ,python-dateutil) ("python-genshi" ,python-genshi) ("python-lxml" ,python-lxml) ("python-magic" ,python-magic) ("python-passlib" ,python-passlib) ("python-polib" ,python-polib) ("python-proteus" ,python-proteus) ("python-relatorio" ,python-relatorio) ("python-sql" ,python-sql) ("python-werkzeug" ,python-werkzeug-1.0) ("python-wrapt" ,python-wrapt))) (define-public trytond-account (package (name "trytond-account") (version "6.2.7") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account" version)) (sha256 (base32 "1jjffyfkax36v6znhdyvlrr314h3d5rn13iwv3kvhsm6paddbmwi")))) (build-system python-build-system) (arguments (tryton-arguments "account")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-simpleeval trytond trytond-company trytond-currency trytond-party)) (home-page "https://www.tryton.org/") (synopsis "Tryton module for accounting") (description "This package provides a Tryton module that defines the fundamentals for most of accounting needs.") (license license:gpl3+))) (define-public python-trytond-account (deprecated-package "python-trytond-account" trytond-account)) (define-public trytond-account-asset (package (name "trytond-account-asset") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_asset" version)) (sha256 (base32 "0zs0bqa3crfqc39z7c5hcj60w2aws2fv2l9y59v9sfy8azi32533")))) (build-system python-build-system) (arguments (tryton-arguments "account_asset")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-purchase" ,trytond-purchase))) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-account-product trytond-product)) (home-page "https://docs.tryton.org/projects/modules-account-asset") (synopsis "Tryton module for assets management") (description "The @emph{Account Asset} Tryton module adds the depreciation of fixed assets.") (license license:gpl3+))) (define-public trytond-account-be (package (name "trytond-account-be") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_be" version)) (sha256 (base32 "0ff27b9g1nf1gqlbv71kq7nm25r85vqpn8b0piajcxln1pbwgnmw")))) (build-system python-build-system) (arguments (tryton-arguments "account_be")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-eu)) (home-page "https://docs.tryton.org/projects/modules-account-be") (synopsis "Tryton module with Belgian chart of accounts") (description "The @emph{Account BE} Tryton module defines the standard chart of account for Belgium.") (license license:gpl3+))) (define-public trytond-account-budget (package (name "trytond-account-budget") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_budget" version)) (sha256 (base32 "055y9jjpx4xfrc6dlssvjzmjz7rrvfljlaljx0v6c6s87mpzi3m5")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_account_budget")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-company trytond-currency)) (home-page "https://docs.tryton.org/projects/modules-account-budget") (synopsis "Tryton module that allows budgets to be setup for accounts") (description "The @emph{Account Budget} Tryton module provides the ability to set budgets for accounts over a defined period of time. These budgets can then be used to track the total amount from relevant transactions against the budgeted amount.") (license license:gpl3+))) (define-public trytond-account-cash-rounding (package (name "trytond-account-cash-rounding") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_cash_rounding" version)) (sha256 (base32 "0lxwz3f1p8szphvl64w8fhjnnvn30fin5k1rh47ikvcmlpq8xb67")))) (build-system python-build-system) (arguments (tryton-arguments "account_cash_rounding")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice" ,trytond-account-invoice) ("trytond-purchase" ,trytond-purchase) ("trytond-sale" ,trytond-sale))) (propagated-inputs (list trytond trytond-account trytond-currency)) (home-page "https://docs.tryton.org/projects/modules-account-cash-rounding") (synopsis "Tryton module to round cash amount") (description "The @emph{Account Cash Rounding} Tryton module allows cash amounts to be rounded using the cash rounding factor of the currency.") (license license:gpl3+))) (define-public trytond-account-credit-limit (package (name "trytond-account-credit-limit") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_credit_limit" version)) (sha256 (base32 "1j3krz4qm04366d1k4sdf089vwbjl29lw8wbpd002hr2lb2lppm3")))) (build-system python-build-system) (arguments (tryton-arguments "account_credit_limit")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-dunning" ,trytond-account-dunning))) (propagated-inputs (list trytond trytond-account trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-credit-limit") (synopsis "Tryton module for account credit limit") (description "The @emph{Account Credit Limit} Tryton module for manages credit limit of parties.") (license license:gpl3+))) (define-public trytond-account-de-skr03 (package (name "trytond-account-de-skr03") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_de_skr03" version)) (sha256 (base32 "1igag4nbafr5il6fqw7piak0wma6mgxhzy59zpsnl8gcl96jijv1")))) (build-system python-build-system) (arguments (tryton-arguments "account_de_skr03")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account)) (home-page "https://docs.tryton.org/projects/modules-account-de-skr03") (synopsis "Tryton module with German chart of accounts SKR03") (description "This package provides the German SKR03 chart of accounts for Tryton.") (license license:gpl3+))) (define-public trytond-account-deposit (package (name "trytond-account-deposit") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_deposit" version)) (sha256 (base32 "0axp72p00fk1r6mr9pip8g4276wvb55vfbp962f3gdsijslj9mqi")))) (build-system python-build-system) (arguments (tryton-arguments "account_deposit")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-deposit") (synopsis "Tryton module for accounting deposit") (description "The @emph{Account Deposit} Tryton module adds support for deposit accounting. A deposit is an amount paid by the customer prior to the company providing it with services or goods. A wizard on invoice allows recalling a prior deposit of the party.") (license license:gpl3+))) (define-public trytond-account-dunning (package (name "trytond-account-dunning") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_dunning" version)) (sha256 (base32 "0kzafh99055ghg5d8vs411y5c8v1xjqqf23n1sa9a4dzj10wlq97")))) (build-system python-build-system) (arguments (tryton-arguments "account_dunning")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-dunning") (synopsis "Tryton module for account dunning") (description "The @emph{Account Dunning} Tryton module adds dunning for receivable move lines.") (license license:gpl3+))) (define-public trytond-account-dunning-email (package (name "trytond-account-dunning-email") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_dunning_email" version)) (sha256 (base32 "01d0cwgvl40i7zq9s3yrmf504j8s6395vs8mm1hgg0s9dpi7pl46")))) (build-system python-build-system) (arguments (tryton-arguments "account_dunning_email")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-dunning trytond-account-dunning-letter trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-dunning-email") (synopsis "Tryton module for account dunning email") (description "This package provides a Tryton module for sending dunning emails.") (license license:gpl3+))) (define-public trytond-account-dunning-fee (package (name "trytond-account-dunning-fee") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_dunning_fee" version)) (sha256 (base32 "0v88xkigxqr1py2l25z3qfrr1irpllsi7zzwg3sxmp12d8pi8szk")))) (build-system python-build-system) (arguments (tryton-arguments "account_dunning_fee")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-dunning-letter" ,trytond-account-dunning-letter))) (propagated-inputs (list trytond trytond-account-dunning trytond-account-product)) (home-page "https://docs.tryton.org/projects/modules-account-dunning-fee") (synopsis "Tryton module for account dunning fee") (description "This package provides a Tryton module for generating accounting moves as fees when processing dunning.") (license license:gpl3+))) (define-public trytond-account-dunning-letter (package (name "trytond-account-dunning-letter") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_dunning_letter" version)) (sha256 (base32 "1jx1ad7kwlk7cm5j2b15bf4lcy5d2c13j8ag48v0pfy3kiglr2z3")))) (build-system python-build-system) (arguments (tryton-arguments "account_dunning_letter")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-dunning trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-dunning-letter") (synopsis "Tryton module for account dunning letter") (description "This package provides a Tryton module for generating dunning letters.") (license license:gpl3+))) (define-public trytond-account-es (package (name "trytond-account-es") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_es" version)) (sha256 (base32 "0wwfkqxlppaild62labldabcnzgdmiqd36sknqdb69jn4ljhw4im")))) (build-system python-build-system) (arguments (tryton-arguments "account_es")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-asset" ,trytond-account-asset) ("trytond-account-payment-sepa" ,trytond-account-payment-sepa) ("trytond-sale-advance-payment" ,trytond-sale-advance-payment))) (propagated-inputs (list trytond trytond-account trytond-account-eu trytond-account-invoice trytond-company trytond-currency trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-es") (synopsis "Tryton with Spanish chart of accounts") (description "This package provides the following Spanish charts of accounts for Tryton: @itemize @item Plan General Contable Español 2008 @item Plan Contable para PYMES 2008 @end itemize A wizard allows generating the following AEAT files: @itemize @item Modelo 111 @item Modelo 115 @item Modelo 303 @end itemize") (license license:gpl3+))) (define-public trytond-account-eu (package (name "trytond-account-eu") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_eu" version)) (sha256 (base32 "1k11ncamp4cd5bdpj4va9p0vga2vcgfwd7wbivf1w4m1bzpisvm8")))) (build-system python-build-system) (arguments (tryton-arguments "account_eu")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-company trytond-currency trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-eu") (synopsis "Tryton module for european accounting") (description "This package provides a Tryton module implementing common accounting requirements in Europe. It includes: @itemize @item EC Sales List (ESL) @end itemize") (license license:gpl3+))) (define-public trytond-account-fr (package (name "trytond-account-fr") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_fr" version)) (sha256 (base32 "18wmijaxah125skhgpqc7iaw6a8md5mpv7m5yazcrscx9pk1z5jz")))) (build-system python-build-system) (arguments (tryton-arguments "account_fr")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-party-siret)) (home-page "https://docs.tryton.org/projects/modules-account-fr") (synopsis "Tryton module with French chart of accounts") (description "This package provides the French standard chart of account for Tryton.") (license license:gpl3+))) (define-public trytond-account-fr-chorus (package (name "trytond-account-fr-chorus") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_fr_chorus" version)) (sha256 (base32 "14rcfk825m7wi73a4ahps5wqrz2aws3a7spz402mmbfxz84ypvbg")))) (build-system python-build-system) (arguments (tryton-arguments "account_fr_chorus")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-edocument-uncefact" ,trytond-edocument-uncefact))) (propagated-inputs (list python-requests trytond trytond-account trytond-account-invoice trytond-company trytond-party trytond-party-siret)) (home-page "https://docs.tryton.org/projects/modules-account-fr-chorus") (synopsis "Tryton module to communicate with the French Chorus Pro portal") (description "This package provides a Tryton module to send invoices through the French Chorus Pro portal. If the party is checked for Chorus Pro, all posted customer invoices are queued to be sent. A cron job will send them every 15 minutes by default, using the credential from the accounting configuration.") (license license:gpl3+))) (define-public trytond-account-invoice (package (name "trytond-account-invoice") (version "6.2.4") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice" version)) (sha256 (base32 "12hkrlni1psa5n72bvz94zqwfmzpy24814p0f2vk1cmzkbsfb6vi")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-product trytond-company trytond-currency trytond-party trytond-product)) (home-page "https://www.tryton.org/") (synopsis "Tryton module for invoicing") (description "This package provides a Tryton module that adds the invoice, payment term.") (license license:gpl3+))) (define-public python-trytond-account-invoice (deprecated-package "python-trytond-account-invoice" trytond-account-invoice)) (define-public trytond-account-invoice-correction (package (name "trytond-account-invoice-correction") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice_correction" version)) (sha256 (base32 "1m95h7bnwzjbhrnbld5bka4hqygm0d8jcg1g2nmdyqakcniljv34")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_correction")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice)) (home-page "https://docs.tryton.org/projects/modules-account-invoice-correction") (synopsis "Tryton module to correct invoice") (description "The @emph{Account Invoice Correction} Tryton module adds a wizard on invoice which allows select lines for which the unit price must be corrected. A new invoice is created with those lines in double: once with the original quantity, once with the inverted quantity.") (license license:gpl3+))) (define-public trytond-account-invoice-defer (package (name "trytond-account-invoice-defer") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice_defer" version)) (sha256 (base32 "1jjsadia1bxx0h80aqhm0alzxdqbkg3by0i7i6qfk7wwikim6lkm")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_defer")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-company)) (home-page "https://docs.tryton.org/projects/modules-account-invoice-defer") (synopsis "Tryton module to defer expense and revenue") (description "The @emph{Account Invoice Defer} Tryton module allows deferring the expense or the revenue of an invoice line over many periods.") (license license:gpl3+))) (define-public trytond-account-invoice-history (package (name "trytond-account-invoice-history") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice_history" version)) (sha256 (base32 "1qg8x6kggi2f390y35m7k3mfi358zr4jwiw76vw5kkrpa3gm4lyj")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_history")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-invoice-history") (synopsis "Tryton module to historize invoices") (description "The @emph{Account Invoice History} Tryton module activates the historization of the invoice and its related fields.") (license license:gpl3+))) (define-public trytond-account-invoice-line-standalone (package (name "trytond-account-invoice-line-standalone") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice_line_standalone" version)) (sha256 (base32 "15ld3iixh8kgil5zw3q4acci4xvdcd56lyin154qaak12f7rms0z")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_line_standalone")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice)) (home-page "https://docs.tryton.org/projects/modules-account-invoice-line-standalone") (synopsis "Tryton module to have standalone invoice lines") (description "The @emph{Account Invoice Line Standalone} Tryton module allows creating an invoice line not linked to an invoice.") (license license:gpl3+))) (define-public trytond-account-invoice-secondary-unit (package (name "trytond-account-invoice-secondary-unit") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice_secondary_unit" version)) (sha256 (base32 "1wmc8zx51saqxbg26b7jnhl7ss3gjrhzxn7zqqsis9dps6l07jwf")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_secondary_unit")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-product)) (home-page "https://docs.tryton.org/projects/modules-account-invoice-secondary-unit") (synopsis "Tryton module to add a secondary unit on invoice line") (description "The @emph{Account Invoice Secondary Unit} Tryton module adds a secondary unit of measure on invoice line.") (license license:gpl3+))) (define-public trytond-account-invoice-stock (package (name "trytond-account-invoice-stock") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice_stock" version)) (sha256 (base32 "0q12v6xdpsw4fjm9pqp73bffdixi2hm9j2vxxx6n2p9r0c3g1gj1")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_stock")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-product trytond-stock)) (home-page "https://www.tryton.org/") (synopsis "Tryton module to link stock and invoice") (description "This package provides a Tryton module that adds link between invoice lines and stock moves. The unit price of the stock move is updated with the average price of the posted invoice lines that are linked to it.") (license license:gpl3+))) (define-public python-trytond-account-invoice-stock (deprecated-package "python-trytond-account-invoice-stock" trytond-account-invoice-stock)) (define-public trytond-account-move-line-grouping (package (name "trytond-account-move-line-grouping") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_move_line_grouping" version)) (sha256 (base32 "1mrh17a55hkfj89vyx1jrmgzps4ig0m03c10ngsy4my6v6rnnn2r")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_account_move_line_grouping")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-sql trytond trytond-account)) (home-page "https://docs.tryton.org/projects/modules-account-move-line-grouping") (synopsis "Tryton module to display account move lines grouped") (description "The @emph{Account Move Line Grouping} Tryton module adds a view that displays move lines grouped.") (license license:gpl3+))) (define-public trytond-account-payment (package (name "trytond-account-payment") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_payment" version)) (sha256 (base32 "0gsg53fiqdmrdpckpfh5sm56ycqjdpa26calmng4p0v2rz557l1f")))) (build-system python-build-system) (arguments (tryton-arguments "account_payment")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice" ,trytond-account-invoice))) (propagated-inputs (list trytond trytond-account trytond-company trytond-currency trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-payment") (synopsis "Tryton module for payment") (description "This package provides a Tryton module for generating grouped payments for receivable or payable Account Move Lines.") (license license:gpl3+))) (define-public trytond-account-payment-braintree (package (name "trytond-account-payment-braintree") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_payment_braintree" version)) (sha256 (base32 "0s8li1ynb89nx5isxmg0rbbk6aw85i0218391z9nzgkj8kxgww9j")))) (build-system python-build-system) (arguments (tryton-arguments "account_payment_braintree")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-braintree trytond trytond-account trytond-account-payment trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-payment-braintree") (synopsis "Tryton module for Braintree payment") (description "The @emph{Account Payment Braintree} Tryton module allows receipt of payments using Braintree. It uses the Drop-in UI in a checkout form to handle the payment method nonce for card and other supported payment methods.") (license license:gpl3+))) (define-public trytond-account-payment-clearing (package (name "trytond-account-payment-clearing") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_payment_clearing" version)) (sha256 (base32 "037d759nzfs5qh97a5hq24argrga9i3p0b966xckss38cwyq7ixq")))) (build-system python-build-system) (arguments (tryton-arguments "account_payment_clearing")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-statement" ,trytond-account-statement) ("trytond-account-statement-rule" ,trytond-account-statement-rule))) (propagated-inputs (list trytond trytond-account-payment)) (home-page "https://docs.tryton.org/projects/modules-account-payment-clearing") (synopsis "Tryton module for payment clearing") (description "The @emph{Account Payment Clearing} Tryton module allows generating an account move when a payment succeeded between the receivable/payable account to a clearing account defined on the payment journal.") (license license:gpl3+))) (define-public trytond-account-payment-sepa (package (name "trytond-account-payment-sepa") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_payment_sepa" version)) (sha256 (base32 "0c3ij24l8mxad2ppd3r24mx92l2xm52ip2syf88wlxqhsja9p945")))) (build-system python-build-system) (arguments (tryton-arguments "account_payment_sepa")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-stdnum trytond trytond-account-payment trytond-bank trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-payment-sepa") (synopsis "Tryton module for SEPA payment") (description "The @emph{Account Payment SEPA} Tryton module allows generating SEPA files for a Payment Group.") (license license:gpl3+))) (define-public trytond-account-payment-sepa-cfonb (package (name "trytond-account-payment-sepa-cfonb") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_payment_sepa_cfonb" version)) (sha256 (base32 "1a4g2jzk8f98iy3plzanz8wfw5jixqpbsljqfigcp05nykbcfwzf")))) (build-system python-build-system) (arguments (tryton-arguments "account_payment_sepa_cfonb")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-payment trytond-account-payment-sepa trytond-bank trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-payment-sepa-cfonb") (synopsis "Tryton module for CFONB SEPA payment") (description "The @emph{account payment sepa cfonb} Tryton module adds CFONB flavors to SEPA messages.") (license license:gpl3+))) (define-public trytond-account-payment-stripe (package (name "trytond-account-payment-stripe") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_payment_stripe" version)) (sha256 (base32 "11lmgw4ny5v7zimvx35kkmy9n2pa342j97abn25y10yrcacfjhvh")))) (build-system python-build-system) (arguments (tryton-arguments "account_payment_stripe")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-stripe trytond trytond-account trytond-account-payment trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-payment-stripe") (synopsis "Tryton module for Stripe payment") (description "The @emph{Account Payment Stripe} Tryton module for receiving payments from Stripe. It uses Stripe.js and Stripe Elements in a checkout form to handle Setup Intent and Payment Intent by card.") (license license:gpl3+))) (define-public trytond-account-product (package (name "trytond-account-product") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_product" version)) (sha256 (base32 "1z1ri2plsmdnhgw64r5yxk2m346zcnva8nddmcwcalis35krgjcx")))) (build-system python-build-system) (arguments (tryton-arguments "account_product")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-analytic-account trytond-company trytond-product)) (home-page "https://www.tryton.org/") (synopsis "Tryton module to add accounting on product") (description "This package provides a Tryton module that adds accounting on product and category.") (license license:gpl3+))) (define-public python-trytond-account-product (deprecated-package "python-trytond-account-product" trytond-account-product)) (define-public trytond-account-rule (package (name "trytond-account-rule") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_rule" version)) (sha256 (base32 "1rn0xdqk5pcjybpyw09fqag6lyha06dq9qb3v0jc31cvwmd17ckl")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_account_rule")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-rule") (synopsis "Tryton module to change accounts based on rules") (description "The @emph{Account Rule} Tryton module allows rules which substitute default accounts with other accounts.") (license license:gpl3+))) (define-public trytond-account-statement (package (name "trytond-account-statement") (version "6.2.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_statement" version)) (sha256 (base32 "1c7k1xv5jcraaa9dqdzxphqffycbc1ygy0gc49909vql1r8dpzk5")))) (build-system python-build-system) (arguments (tryton-arguments "account_statement")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-bank trytond-company trytond-currency trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-statement") (synopsis "Tryton module with account statements") (description "The @emph{Account Statement} Tryton module allows booking statements. Statement can be used for bank statement, cash daybook etc.") (license license:gpl3+))) (define-public trytond-account-statement-aeb43 (package (name "trytond-account-statement-aeb43") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_statement_aeb43" version)) (sha256 (base32 "1snjabg4qixsb99lsrirpx7zrz0f21wy46d61rar5704657yxyc9")))) (build-system python-build-system) (arguments (tryton-arguments "account_statement_aeb43")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-csb43 python-stdnum trytond trytond-account-statement trytond-bank)) (home-page "https://docs.tryton.org/projects/trytond-account-statement-aeb43") (synopsis "Tryton module to import AEB43 statements") (description "The @emph{Account Statement AEB43} Tryton module implements the import of @emph{Norm 43} files as statement. @emph{Norm 43} is a standard defined by the Spanish banking association.") (license license:gpl3+))) (define-public trytond-account-statement-coda (package (name "trytond-account-statement-coda") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_statement_coda" version)) (sha256 (base32 "0flz8rkavfcwq3przw9sq8jnpf6hdmyi3ip7vc89s3ykdx4qcrh0")))) (build-system python-build-system) (arguments (tryton-arguments "account_statement_coda")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-febelfin-coda trytond trytond-account-statement trytond-bank)) (home-page "https://docs.tryton.org/projects/modules-account-statement-coda") (synopsis "Tryton module to import CODA statements") (description "The @emph{Account Statement CODA} Tryton module implements the import of @emph{CODA} files as statement. @emph{CODA} is a standard defined by Belgian \"febelfin\".") (license license:gpl3+))) (define-public trytond-account-statement-ofx (package (name "trytond-account-statement-ofx") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_statement_ofx" version)) (sha256 (base32 "01ncqvz4nx277q7x50sqwwvcy3hcpgp7bwhbp2l5aa2habprki8x")))) (build-system python-build-system) (arguments (tryton-arguments "account_statement_ofx")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-ofxparse trytond trytond-account-statement trytond-bank trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-statement-ofx") (synopsis "Tryton module to import OFX statements") (description "The @emph{Account Statement OFX} Tryton module implements the import of the @emph{OFX} files as statement.") (license license:gpl3+))) (define-public trytond-account-statement-rule (package (name "trytond-account-statement-rule") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_statement_rule" version)) (sha256 (base32 "1fbn4z111k0wwsy9jr9np82yyc7xiniavyavwhf0qf3l6l8qwk6x")))) (build-system python-build-system) (arguments (tryton-arguments "account_statement_rule")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-account-statement trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-statement-rule") (synopsis "Tryton module to automate statement import with rules") (description "The @emph{Account Statement Rule} Tryton module allows rules to be defined to complete statement lines from imported files. When the @emph{Apply Rule} button is clicked on a statement, each rule is tested in order against each origin that does not have any lines until one is found that matches. Then the rule found is used to create the statement lines linked to the origin.") (license license:gpl3+))) (define-public trytond-account-stock-anglo-saxon (package (name "trytond-account-stock-anglo-saxon") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_stock_anglo_saxon" version)) (sha256 (base32 "1jgj5kb85qj3kb1hcyb9jps1x062cqa32x5rp4rvgg64824d8hwz")))) (build-system python-build-system) (arguments (tryton-arguments "account_stock_anglo_saxon")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-purchase" ,trytond-purchase) ("trytond-sale" ,trytond-sale) ("trytond-sale-supply-drop-shipment" ,trytond-sale-supply-drop-shipment))) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-account-invoice-stock trytond-account-product trytond-account-stock-continental)) (home-page "https://docs.tryton.org/projects/modules-account-stock-anglo-saxon") (synopsis "Tryton module for anglo-saxon real-time stock valuation") (description "The @emph{Account Stock Anglo Saxon} Tryton module adds the anglo-saxon accounting model for stock valuation.") (license license:gpl3+))) (define-public trytond-account-stock-continental (package (name "trytond-account-stock-continental") (version "6.2.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_stock_continental" version)) (sha256 (base32 "1dzldnasshpx2gn15scycj72z85z5xli5wq1h39y8brb49ib7nvy")))) (build-system python-build-system) (arguments (tryton-arguments "account_stock_continental")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice" ,trytond-account-invoice) ("trytond-purchase" ,trytond-purchase) ("trytond-sale" ,trytond-sale) ("trytond-sale-supply-drop-shipment" ,trytond-sale-supply-drop-shipment))) (propagated-inputs (list trytond trytond-account trytond-account-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-account-stock-continental") (synopsis "Tryton module for continental real-time stock valuation") (description "The @emph{Account Stock Continental} Tryton module adds the continental accounting model for stock valuation.") (license license:gpl3+))) (define-public trytond-account-stock-landed-cost (package (name "trytond-account-stock-landed-cost") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_stock_landed_cost" version)) (sha256 (base32 "01yfkhwxw86s354y51bhs799cvfhwkmjrnmhaspbn889mkpir0wg")))) (build-system python-build-system) (arguments (tryton-arguments "account_stock_landed_cost")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-account-stock-landed-cost") (synopsis "Tryton module for landed cost") (description "The @emph{Account Stock Landed Cost} Tryton module allows allocating landed cost on Supplier Shipments after their reception.") (license license:gpl3+))) (define-public trytond-account-stock-landed-cost-weight (package (name "trytond-account-stock-landed-cost-weight") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_stock_landed_cost_weight" version)) (sha256 (base32 "1dx5m5l1ccnffkqgwxpfk57g1wndxq1q1jrmrbf4cj6q47x1y0xx")))) (build-system python-build-system) (arguments (tryton-arguments "account_stock_landed_cost_weight")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-stock-landed-cost trytond-product trytond-product-measurements trytond-stock-shipment-measurements)) (home-page "https://docs.tryton.org/projects/modules-account-stock-landed-cost-weight") (synopsis "Tryton module for landed cost per weight") (description "The @emph{Account Stock Landed Cost Weight} Tryton module adds an allocation method based on weight of each line. The Weight is taken from the Product Measurements") (license license:gpl3+))) (define-public trytond-account-stock-shipment-cost (package (name "trytond-account-stock-shipment-cost") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_stock_shipment_cost" version)) (sha256 (base32 "1iyz76cma63kp2alqr4rcrm3zjj6ifsvv9hsylbfkamfgy84brsr")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_account_stock_shipment_cost")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-product trytond-stock trytond-stock-shipment-cost)) (home-page "https://docs.tryton.org/projects/modules-account-stock-shipment-cost") (synopsis "Tryton module to allocate shipment cost based on invoice") (description "The @emph{Account Stock Shipment Cost} Tryton module allocates shipment cost based on invoice.") (license license:gpl3+))) (define-public trytond-account-tax-cash (package (name "trytond-account-tax-cash") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_tax_cash" version)) (sha256 (base32 "0hy5929697lsa84xyy535gh4s2j1yv4vdfxyi93md17pjf95hwpg")))) (build-system python-build-system) (arguments (tryton-arguments "account_tax_cash")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-party)) (home-page "https://docs.tryton.org/projects/modules-account-tax-cash") (synopsis "Tryton module to support tax report on cash basis") (description "The @emph{Account Tax Cash} Tryton module allows making a tax report on cash basis.") (license license:gpl3+))) (define-public trytond-account-tax-rule-country (package (name "trytond-account-tax-rule-country") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_tax_rule_country" version)) (sha256 (base32 "0bg831hha4j71lm9xhpv4al2qaxmk8qgli5s9hx2h4bcy1hbf5wf")))) (build-system python-build-system) (arguments (tryton-arguments "account_tax_rule_country")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice" ,trytond-account-invoice) ("trytond-purchase" ,trytond-purchase) ("trytond-sale" ,trytond-sale) ("trytond-stock" ,trytond-stock))) (propagated-inputs (list trytond trytond-account trytond-country)) (home-page "https://docs.tryton.org/projects/modules-account-tax-rule-country") (synopsis "Tryton module to add countries on tax rules") (description "The @emph{Account Tax Rule Country} Tryton module extends the tax rule to add origin and destination countries and subdivisions as criteria.") (license license:gpl3+))) (define-public trytond-analytic-account (package (name "trytond-analytic-account") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_analytic_account" version)) (sha256 (base32 "1ys9admjlgvn2m2zjp74liplzmc8q12x8i004cgb5m43x2mhrj8d")))) (build-system python-build-system) (arguments (tryton-arguments "analytic_account")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-company trytond-currency trytond-party)) (home-page "https://www.tryton.org/") (synopsis "Tryton module for analytic accounting") (description "This package provides a Tryton module that adds the fundamentals required to analyse accounting using multiple different axes.") (license license:gpl3+))) (define-public python-trytond-analytic-account (deprecated-package "python-trytond-analytic-account" trytond-analytic-account)) (define-public trytond-analytic-budget (package (name "trytond-analytic-budget") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_analytic_budget" version)) (sha256 (base32 "080a1s9w6n50xi2r7d3jkyk84rdqzggbqzhab9qjgppl67q85m8p")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_analytic_budget")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-budget trytond-analytic-account trytond-company)) (home-page "https://docs.tryton.org/projects/modules-analytic-budget") (synopsis "Allow creating budgets for analytic accounts in Tryton") (description "The @emph{Analytic Budget} Tryton module provides the ability to set budgets for analytic accounts over a defined period of time. These budgets can then be used to track the total amount from relevant transactions against the budgeted amount.") (license license:gpl3+))) (define-public trytond-analytic-invoice (package (name "trytond-analytic-invoice") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_analytic_invoice" version)) (sha256 (base32 "0416knbcn7wcx4anzvl0hw7qcdn3xndlh5i0pa0xffvw6kw1ijp9")))) (build-system python-build-system) (arguments (tryton-arguments "analytic_invoice")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-asset" ,trytond-account-asset))) (propagated-inputs (list trytond trytond-account-invoice trytond-analytic-account)) (home-page "https://docs.tryton.org/projects/modules-analytic-invoice") (synopsis "Tryton module to add analytic accounting on invoice") (description "The @emph{Analytic Invoice} Tryton module allows setting analytic accounts on an invoice line.") (license license:gpl3+))) (define-public trytond-analytic-purchase (package (name "trytond-analytic-purchase") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_analytic_purchase" version)) (sha256 (base32 "098sdhmr1idqqaxms3c05pgmvb27bykwfhgibxi9l1lr6k06d2cr")))) (build-system python-build-system) (arguments (tryton-arguments "analytic_purchase")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-analytic-account trytond-analytic-invoice trytond-purchase)) (home-page "https://docs.tryton.org/projects/modules-analytic-purchase") (synopsis "Tryton module to add analytic accounting on purchase") (description "The @emph{Analytic Purchase} Tryton module allows setting analytic accounts on a purchase line.") (license license:gpl3+))) (define-public trytond-analytic-sale (package (name "trytond-analytic-sale") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_analytic_sale" version)) (sha256 (base32 "00b3xiykm9j0kf1f9kmsy22413rdjsmvg5li7bd4xrxk22j8v4wv")))) (build-system python-build-system) (arguments (tryton-arguments "analytic_sale")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-analytic-account trytond-analytic-invoice trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-analytic-sale") (synopsis "Tryton module to add analytic accounting on sale") (description "The @emph{Analytic Sale} Tryton module allows setting analytic accounts on a sale line.") (license license:gpl3+))) (define-public trytond-attendance (package (name "trytond-attendance") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_attendance" version)) (sha256 (base32 "0g9b0x4zdz6djmd592ll8zj4q3lhz5gj97phc38kkzvwgvpq9xw2")))) (build-system python-build-system) (arguments (tryton-arguments "attendance")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-timesheet" ,trytond-timesheet))) (propagated-inputs (list trytond trytond-company)) (home-page "https://docs.tryton.org/projects/modules-attendance") (synopsis "Tryton module for recording employee attendance") (description "The @emph{Attendance} Tryton module allows you to track the entry and exit time of employees. The module also comes with a sheet that shows for each employee the total duration per day in the company and the detail of the time of entrance and exit") (license license:gpl3+))) (define-public trytond-authentication-sms (package (name "trytond-authentication-sms") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_authentication_sms" version)) (sha256 (base32 "17237qrmk8pm7lifrn5zjvsf42cs2q6p2h6qw2vk9fixdz1gxk9x")))) (build-system python-build-system) (arguments (tryton-arguments "authentication_sms")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond)) (home-page "https://docs.tryton.org/projects/modules-authentication-sms") (synopsis "Tryton module to authenticate users via SMS") (description "The @emph{Authentication SMS} Tryton module allows users to authenticate via SMS. It adds a new authentication method sms, which can be used in the list of authentications in the session section of the configuration file.") (license license:gpl3+))) (define-public trytond-bank (package (name "trytond-bank") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_bank" version)) (sha256 (base32 "1gvsd8yyrba9bsql9zi4wlmg1jyjb7m13m15av0szkwxylcy0c0q")))) (build-system python-build-system) (arguments (tryton-arguments "bank")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-stdnum trytond trytond-currency trytond-party)) (home-page "https://docs.tryton.org/projects/modules-bank") (synopsis "Tryton module with banks") (description "The @emph{Bank} Tryton module defines the concept of bank and account.") (license license:gpl3+))) (define-public trytond-carrier (package (name "trytond-carrier") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_carrier" version)) (sha256 (base32 "1fr12m4qi0fkxnbjq5v1sf5dkic9xb2j0bvb8y18if3hh0csfcy7")))) (build-system python-build-system) (arguments (tryton-arguments "carrier")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-country trytond-party trytond-product)) (home-page "https://docs.tryton.org/projects/modules-carrier") (synopsis "Tryton module with carriers") (description "The @emph{Carrier} Tryton module defines the concept of carrier.") (license license:gpl3+))) (define-public trytond-carrier-percentage (package (name "trytond-carrier-percentage") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_carrier_percentage" version)) (sha256 (base32 "0lnahli4bc4zspr86i8qchza96k4cmsfcdg3wp7wicp1s2ki7bbw")))) (build-system python-build-system) (arguments (tryton-arguments "carrier_percentage")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-purchase-shipment-cost" ,trytond-purchase-shipment-cost) ("trytond-sale-shipment-cost" ,trytond-sale-shipment-cost) ("trytond-stock-shipment-cost" ,trytond-stock-shipment-cost))) (propagated-inputs (list trytond trytond-carrier trytond-currency)) (home-page "https://docs.tryton.org/projects/modules-carrier-percentage") (synopsis "Tryton module to add cost method based on percentage") (description "The @emph{Carrier Percentage} Tryton module adds a cost method \"on percentage\" on carrier.") (license license:gpl3+))) (define-public trytond-carrier-subdivision (package (name "trytond-carrier-subdivision") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_carrier_subdivision" version)) (sha256 (base32 "1a4jpi6iaah3f1zsdsjz2zak6wd9jai4jcqzijl2li4pcnkc0x8a")))) (build-system python-build-system) (arguments (tryton-arguments "carrier_subdivision")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale-shipment-cost" ,trytond-sale-shipment-cost) ("trytond-stock-shipment-cost" ,trytond-stock-shipment-cost))) (propagated-inputs (list trytond trytond-carrier)) (home-page "https://docs.tryton.org/projects/modules-carrier-subdivision") (synopsis "Tryton module that allows carriers selection to be restricted by subdivision") (description "The @emph{Carrier Subdivision} Tryton module extends the carrier selection pattern with @itemize @item the warehouse Subdivision, @item the customer Subdivision, @item a regular expression to match against warehouse postal code and @item A regular expression to match against customer postal code. @end itemize These can be used to restrict the usage of a carrier to a specific subdivision or a specific postal code.") (license license:gpl3+))) (define-public trytond-carrier-weight (package (name "trytond-carrier-weight") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_carrier_weight" version)) (sha256 (base32 "0mvz7q2hb4bcj3abvi4dxmnqbrph1g49s2bvyf3lx9ykbmr6v3n7")))) (build-system python-build-system) (arguments (tryton-arguments "carrier_weight")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-purchase-shipment-cost" ,trytond-purchase-shipment-cost) ("trytond-sale-shipment-cost" ,trytond-sale-shipment-cost) ("trytond-stock-shipment-cost" ,trytond-stock-shipment-cost))) (propagated-inputs (list trytond trytond-carrier trytond-company trytond-currency trytond-product trytond-product-measurements)) (home-page "https://docs.tryton.org/projects/modules-carrier-weight") (synopsis "Tryton module to add cost method based on weight") (description "The @emph{Carrier Weight} Tryton module adds a cost method \"on weight\" on carrier. The price is computed by finding the line for which the weight is greater or equal but smaller than the next line.") (license license:gpl3+))) (define-public trytond-commission (package (name "trytond-commission") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_commission" version)) (sha256 (base32 "1m8cg6vb08paymi3bckqwp2vg0as36p6jadg86dc4b1axabas144")))) (build-system python-build-system) (arguments (tryton-arguments "commission")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale" ,trytond-sale))) (propagated-inputs (list python-simpleeval trytond trytond-account trytond-account-invoice trytond-account-product trytond-party trytond-product)) (home-page "https://docs.tryton.org/projects/modules-commission") (synopsis "Tryton module for commission") (description "The @emph{Commission} Tryton module allows manageing a commission for sales agents. A commission move is created when posting the invoice, following the agent's commission plan.") (license license:gpl3+))) (define-public trytond-commission-waiting (package (name "trytond-commission-waiting") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_commission_waiting" version)) (sha256 (base32 "16y11dc33x1h55v94rab8wzbh4d1pc35vd64ys8915rvijpm6xm5")))) (build-system python-build-system) (arguments (tryton-arguments "commission_waiting")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-commission)) (home-page "https://docs.tryton.org/projects/modules-commission-waiting") (synopsis "Tryton module for commission waiting") (description "The @emph{Commission Waiting} Tryton module allows generating an account move for each commission between the expense/revenue account to a waiting account defined on the agent.") (license license:gpl3+))) (define-public trytond-company (package (name "trytond-company") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_company" version)) (sha256 (base32 "03ss7cwxbynn8ly5y32bj1cl2ikji9ydsby62l440jb025sn9x8v")))) (build-system python-build-system) (arguments (tryton-arguments "company")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-currency trytond-party)) (home-page "https://www.tryton.org/") (synopsis "Tryton module with companies and employees") (description "This package provides a Tryton module that defines the concepts of company and employee and extend the user model.") (license license:gpl3+))) (define-public python-trytond-company (deprecated-package "python-trytond-company" trytond-company)) (define-public trytond-company-work-time (package (name "trytond-company-work-time") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_company_work_time" version)) (sha256 (base32 "08nhnlxy1z5drlmxdsd6ad166qx5ckymzx94ja824n1qqac17zqw")))) (build-system python-build-system) (arguments (tryton-arguments "company_work_time")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company)) (home-page "https://docs.tryton.org/projects/modules-company-work-time") (synopsis "Tryton module to add work time on company") (description "The @emph{Company Work Time} Tryton module adds work time management. The Company Work Time module adds 4 new fields (Hours per Work Day, Hours per Work Week, Hours per Work Month, Hours per Work Year) on the company form that allows defining how many hours are spent by an employee in a day, a week, a month and a year of work.") (license license:gpl3+))) (define-public trytond-country (package (name "trytond-country") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_country" version)) (sha256 (base32 "1mlf6fwngdbqy6c7xi7nmg4dph3nnac61rkzhn79x5zqg2mgnv53")))) (build-system python-build-system) ;; Doctest contains one test that requires internet access. (arguments (tryton-arguments "country" "--no-doctest")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-pycountry@20.7.3 trytond)) (home-page "http://www.tryton.org/") (synopsis "Tryton module with countries") (description "This package provides a Tryton module with countries.") (license license:gpl3+))) (define-public python-trytond-country (deprecated-package "python-trytond-country" trytond-country)) (define-public trytond-currency (package (name "trytond-currency") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_currency" version)) (sha256 (base32 "1sx9wanb4r95gs5hsl6hgy0gcvsfh0yr17rnhaa908286f88wa4f")))) (build-system python-build-system) ;; Doctest 'scenario_currency_rate_update.rst' fails. (arguments (tryton-arguments "currency" "--no-doctest")) (native-inputs `(,@(%standard-trytond-native-inputs) ("python-forex-python" ,python-forex-python) ("python-pycountry" ,python-pycountry))) (propagated-inputs (list python-sql trytond)) (home-page "https://www.tryton.org/") (synopsis "Tryton module with currencies") (description "This package provides a Tryton module that defines the concepts of currency and rate.") (license license:gpl3+))) (define-public python-trytond-currency (deprecated-package "python-trytond-currency" trytond-currency)) (define-public trytond-currency-ro (package (name "trytond-currency-ro") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_currency_ro" version)) (sha256 (base32 "1kn4bgh1gg5dcphb2afqb922myyg2012vdhixipmi7ccbv7ik46s")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_currency_ro")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-lxml python-requests trytond trytond-currency)) (home-page "https://docs.tryton.org/projects/modules-currency-ro") (synopsis "Fetch currency rates from the Romanian National Bank") (description "The @emph{Currency RO} Tryton module adds the Romanian National Bank as a source for currency exchange rates.") (license license:gpl3+))) (define-public trytond-currency-rs (package (name "trytond-currency-rs") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_currency_rs" version)) (sha256 (base32 "05admscvj5m7anhji2ni9w2d8b33vlgcifda6jbrxdw8g4c0yivn")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_currency_rs")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-lxml trytond trytond-currency python-zeep)) (home-page "https://docs.tryton.org/projects/modules-currency-rs") (synopsis "Fetch currency rates from the Serbian National Bank") (description "The @emph{Currency RS} Tryton module adds the Serbian National Bank as a source for currency exchange rates.") (license license:gpl3+))) (define-public trytond-customs (package (name "trytond-customs") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_customs" version)) (sha256 (base32 "1zx9cwiq9q4802bj2ga3bilyjls60vpycp3cncqfqh2n4mg23xlq")))) (build-system python-build-system) (arguments (tryton-arguments "customs")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-simpleeval trytond trytond-country trytond-currency trytond-product)) (home-page "https://docs.tryton.org/projects/modules-customs") (synopsis "Tryton module for customs") (description "The @emph{Customs} Tryton module allows defining customs duty based on the tariff code.") (license license:gpl3+))) (define-public trytond-dashboard (package (name "trytond-dashboard") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_dashboard" version)) (sha256 (base32 "1b8dalnbj69ppk8q7znw1ljyv5515r16m6gfd9a3l25dpvj0cxz2")))) (build-system python-build-system) (arguments (tryton-arguments "dashboard")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond)) (home-page "https://docs.tryton.org/projects/modules-dashboard") (synopsis "Tryton module for dashboard") (description "The @emph{Dashboard} Tryton module allows users to configure their dashboard.") (license license:gpl3+))) (define-public trytond-edocument-uncefact (package (name "trytond-edocument-uncefact") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_edocument_uncefact" version)) (sha256 (base32 "0nf72c5sw33c77y87idkhf8fz39a7qlgmlrbnzz1cwcpky4hrmdg")))) (build-system python-build-system) (arguments (tryton-arguments "edocument_uncefact")) (native-inputs `(,@(%standard-trytond-native-inputs) ("python-lxml" ,python-lxml) ("trytond-account-invoice" ,trytond-account-invoice))) (propagated-inputs (list trytond trytond-edocument-unece)) (home-page "https://docs.tryton.org/projects/modules-edocument-uncefact") (synopsis "Tryton module for electronic document UN/CEFACT") (description "The @emph{Edocument UN/CEFACT} Tryton module implements electronic document from UN/CEFACT. Supported formats are: @itemize @item Cross-Industry-Invoice (16B-CII) @end itemize") (license license:gpl3+))) (define-public trytond-edocument-unece (package (name "trytond-edocument-unece") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_edocument_unece" version)) (sha256 (base32 "1ikrh9yk5if8v1sw1aihnysbpipmly6r6ka6zccjcywm1cmabhx0")))) (build-system python-build-system) (arguments (tryton-arguments "edocument_unece")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-product)) (home-page "https://docs.tryton.org/projects/modules-edocument-unece") (synopsis "Tryton module for electronic document UNECE codes") (description "The @emph{Edocument UNECE} Tryton module adds several codes from the UNECE. Supported formats are: @itemize @item Recommendation N°. 20 Codes for Units of Measure Used in International Trade @item 5153 Duty or tax or fee type name code @item 5305 Duty or tax or fee category code @end itemize") (license license:gpl3+))) (define-public trytond-gis (package (name "trytond-gis") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_gis" version)) (sha256 (base32 "0zfvbqzxhvjja03pv9ja9rml2i2fqiir5a92rz0vj3lx9azjbkvw")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_gis")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-geomet trytond)) (home-page "https://docs.tryton.org/projects/backend-gis") (synopsis "Geographic Information System support from Tryton") (description "The @emph{Trytond GIS} Tryton module adds GIS (Geographic information system) support to Tryton.") (license license:gpl3+))) (define-public trytond-google-maps (package (name "trytond-google-maps") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_google_maps" version)) (sha256 (base32 "0g6hag2n7rc7avcawwhdkndbqxc957nyrwq4arkrlkidpbipw37n")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_google_maps")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-party)) (home-page "https://docs.tryton.org/projects/modules-google-maps") (synopsis "Tryton module to link addresses to Google Maps") (description "The @emph{Trytond Google Maps} Tryton module adds a new URL field on the party addresses. This link open the Google Maps page on the default browser with the map centered on the selected address.") (license license:gpl3+))) (define-public trytond-incoterm (package (name "trytond-incoterm") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_incoterm" version)) (sha256 (base32 "08sz2j3610iqqzz3qdl51pxdj8mncyjp8lg29y6sskfd0s4fhax5")))) (build-system python-build-system) (arguments (tryton-arguments "incoterm")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account" ,trytond-account) ("trytond-account-invoice" ,trytond-account-invoice) ("trytond-account-invoice-stock" ,trytond-account-invoice-stock) ("trytond-carrier" ,trytond-carrier) ("trytond-purchase" ,trytond-purchase) ("trytond-purchase-request-quotation" ,trytond-purchase-request-quotation) ("trytond-sale" ,trytond-sale) ("trytond-sale-invoice-grouping" ,trytond-sale-invoice-grouping) ("trytond-sale-opportunity" ,trytond-sale-opportunity) ("trytond-sale-shipment-cost" ,trytond-sale-shipment-cost) ("trytond-stock" ,trytond-stock) ("trytond-stock-shipment-cost" ,trytond-stock-shipment-cost))) (propagated-inputs (list trytond trytond-company trytond-party)) (home-page "https://docs.tryton.org/projects/modules-incoterm") (synopsis "Tryton module for incoterms") (description "The @emph{Incoterm} Tryton module is used to manage the Incoterms on sales, purchases and shipments. The module contains the Incoterm versions of 2010 and 2020.") (license license:gpl3+))) (define-public trytond-ldap-authentication (package (name "trytond-ldap-authentication") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_ldap_authentication" version)) (sha256 (base32 "0c3g2y8zqh17wwg9w3bk9q1gwm4hq7h8avchmbfawi6cq3g6ch5b")))) (build-system python-build-system) (arguments (tryton-arguments "ldap_authentication")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-ldap3 trytond)) (home-page "https://docs.tryton.org/projects/modules-ldap-authentication") (synopsis "Tryton module to authenticate users through LDAP") (description "The @emph{LDAP Authentication} Tryton module allows authenticating users via a LDAP server.") (license license:gpl3+))) (define-public trytond-marketing (package (name "trytond-marketing") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_marketing" version)) (sha256 (base32 "1ljv23ldva3cd07k0knncnawwrig8q6lgsxlm392dcqkyb8gvbjg")))) (build-system python-build-system) (arguments (tryton-arguments "marketing")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond)) (home-page "https://docs.tryton.org/projects/modules-marketing") (synopsis "Tryton module to group marketing features") (description "The @emph{Marketing} Tryton module defines the fundamentals for marketing modules.") (license license:gpl3+))) (define-public trytond-marketing-automation (package (name "trytond-marketing-automation") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_marketing_automation" version)) (sha256 (base32 "17x4pikw2i513wwrfv8g8xim65ksk3dwijahk1qhf3yqpa506kp2")))) (build-system python-build-system) (arguments (tryton-arguments "marketing_automation")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-party" ,trytond-party))) (propagated-inputs (list trytond trytond-marketing trytond-web-shortener)) (home-page "https://docs.tryton.org/projects/modules-marketing-automation") (synopsis "Tryton module to plan, coordinate and manage marketing campaigns") (description "The @emph{Marketing Automation} Tryton module allows marketing actions to be automated. It is based on scenarios and activities that are executed on selected records.") (license license:gpl3+))) (define-public trytond-marketing-email (package (name "trytond-marketing-email") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_marketing_email" version)) (sha256 (base32 "1z38c3lw8chqbm23y0wfsnp268kq2f9azly4ix6imis74zdjnzkl")))) (build-system python-build-system) (arguments (tryton-arguments "marketing_email")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-marketing trytond-party trytond-web-shortener trytond-web-user)) (home-page "https://docs.tryton.org/projects/modules-marketing-email") (synopsis "Tryton module to manage marketing mailing lists") (description "This package provides a Tryton module for managing marketing mailing lists.") (license license:gpl3+))) (define-public trytond-notification-email (package (name "trytond-notification-email") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_notification_email" version)) (sha256 (base32 "1i0h7spdnf3gryzbzjm8khc0jxzj6g6ljsjgsd28h39kqpdxyffz")))) (build-system python-build-system) (arguments (tryton-arguments "notification_email")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-commission" ,trytond-commission) ("trytond-company" ,trytond-company) ("trytond-party" ,trytond-party) ("trytond-web-user" ,trytond-web-user))) (propagated-inputs (list trytond)) (home-page "https://docs.tryton.org/projects/modules-notification-email") (synopsis "Tryton module for sending email notifications") (description "The @emph{Notification Email} Tryton module allows defining email templates which will be sent to a list of recipients when a trigger is fired on a record event. Extra reports from the same record can be attached to the email.") (license license:gpl3+))) (define-public trytond-party (package (name "trytond-party") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_party" version)) (sha256 (base32 "1g62kzdqr4rq6k8zswil4anwhd22d8nzz0i852fmkdsb97yqg4id")))) (build-system python-build-system) ;; Doctest 'scenario_party_phone_number.rst' fails. (arguments (tryton-arguments "party" "--no-doctest")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-stdnum trytond trytond-country)) (home-page "https://www.tryton.org/") (synopsis "Tryton module for parties and addresses") (description "This package provides a Tryton module for (counter)parties and addresses.") (license license:gpl3+))) (define-public python-trytond-party (deprecated-package "python-trytond-party" trytond-party)) (define-public trytond-party-avatar (package (name "trytond-party-avatar") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_party_avatar" version)) (sha256 (base32 "00gjjvslvcvfkdb0293n9yd9pmsnlbjvcnxrjg99vxkrn6dcwxzh")))) (build-system python-build-system) (arguments (tryton-arguments "party_avatar")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-company" ,trytond-company))) (propagated-inputs (list trytond trytond-party)) (home-page "https://docs.tryton.org/projects/modules-party-avatar") (synopsis "Tryton module that adds avatars to parties") (description "The @emph{Party Avatar} Tryton module adds an avatar to each party.") (license license:gpl3+))) (define-public trytond-party-relationship (package (name "trytond-party-relationship") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_party_relationship" version)) (sha256 (base32 "0vhm7zl29z8al4ay4n6gw3zazq07dsdhjc54il7sg3z9kz21xv6k")))) (build-system python-build-system) (arguments (tryton-arguments "party_relationship")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-party)) (home-page "https://docs.tryton.org/projects/modules-party-relationship") (synopsis "Party Relationship module for Tryton") (description "The @emph{Party Relationship} Tryton module allows defining different types of relations between parties.") (license license:gpl3+))) (define-public trytond-party-siret (package (name "trytond-party-siret") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_party_siret" version)) (sha256 (base32 "0ab5g3rs2k73wk01ykzh1s4pgrnypdv4l75lr3pn8hyxw9q4b5vk")))) (build-system python-build-system) (arguments (tryton-arguments "party_siret")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-party)) (home-page "https://docs.tryton.org/projects/modules-party-siret") (synopsis "Tryton module to add SIRET/SIREN on parties") (description "The @emph{Party SIRET} Tryton module adds the French company identification numbers SIREN and SIRET on party and address.") (license license:gpl3+))) (define-public trytond-product (package (name "trytond-product") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product" version)) (sha256 (base32 "1cq270ng0rav7hzxip3fswbvhs6wkjadl2j8kmiy30qa43abmpwr")))) (build-system python-build-system) (arguments (tryton-arguments "product")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-stdnum trytond trytond-company)) (home-page "https://www.tryton.org/") (synopsis "Tryton module with products") (description "This package provides a Tryton module that defines two concepts: Product Template and Product.") (license license:gpl3+))) (define-public python-trytond-product (deprecated-package "python-trytond-product" trytond-product)) (define-public trytond-product-attribute (package (name "trytond-product-attribute") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_attribute" version)) (sha256 (base32 "10656g9na098ndjhy4iv1iv0020jin7yw38bb79zxynck39vld29")))) (build-system python-build-system) (arguments (tryton-arguments "product_attribute")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product)) (home-page "https://docs.tryton.org/projects/modules-product-attribute") (synopsis "Tryton module with product attributes") (description "The @emph{Product Attribute} Tryton module defines the models `Attribute` and `Attribute Set` for products.") (license license:gpl3+))) (define-public trytond-product-classification (package (name "trytond-product-classification") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_classification" version)) (sha256 (base32 "1a5rdvscp3hb7jddciqmpzb095yzmyvsj5jc06jiilvynrawwzsh")))) (build-system python-build-system) (arguments (tryton-arguments "product_classification")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product)) (home-page "https://docs.tryton.org/projects/modules-product-classification") (synopsis "Tryton module to implement product classification") (description "The @emph{Product Classification} Tryton module defines the tools for other modules to create classifications of products. It adds a reference field classification to the product template.") (license license:gpl3+))) (define-public trytond-product-classification-taxonomic (package (name "trytond-product-classification-taxonomic") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_classification_taxonomic" version)) (sha256 (base32 "1933kqhab8ky2mman13mmg06rdmlbak3sjgm5qbk615x5fzbl4s4")))) (build-system python-build-system) (arguments (tryton-arguments "product_classification_taxonomic")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product-classification)) (home-page "https://docs.tryton.org/projects/modules-product-classification-taxonomic") (synopsis "Tryton module to implement product classification taxonomic") (description "The @emph{Product Classification Taxonomic} Tryton module adds the taxonomic classification to the products.") (license license:gpl3+))) (define-public trytond-product-cost-fifo (package (name "trytond-product-cost-fifo") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_cost_fifo" version)) (sha256 (base32 "1lqd960z7dmy3000fhhqqbmq7c4lk2l2dqw383sd62ka5j57kpf4")))) (build-system python-build-system) (arguments (tryton-arguments "product_cost_fifo")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-product-cost-fifo") (synopsis "Tryton module to add FIFO cost method") (description "The @emph{Product Cost FIFO} Tryton module add a first-in-first-out option in the `Cost Method` field of the product form.") (license license:gpl3+))) (define-public trytond-product-cost-history (package (name "trytond-product-cost-history") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_cost_history" version)) (sha256 (base32 "16gnqa04fv7525ax12xfmh4phk4fvm577j3c80cahxqpvsp2a0q6")))) (build-system python-build-system) (arguments (tryton-arguments "product_cost_history")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-product-cost-history") (synopsis "Tryton module to historize product cost") (description "The @emph{Product Cost History} Tryton module adds a `Cost History` relate on the product form, showing the cost price evolution of the product. The history is based on the cost price stored on the incoming stock moves for goods and assets and based on the history table for service. When a historic cost price is needed, the value is taken from this history for goods and assets.") (license license:gpl3+))) (define-public trytond-product-cost-warehouse (package (name "trytond-product-cost-warehouse") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_cost_warehouse" version)) (sha256 (base32 "0anz5071j1yzg9xp00qqcc3a4wb3zvl6605bzici76558zj7fl38")))) (build-system python-build-system) (arguments (tryton-arguments "product_cost_warehouse")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice-stock" ,trytond-account-invoice-stock) ("trytond-account-stock-continental" ,trytond-account-stock-continental) ("trytond-product-cost-fifo" ,trytond-product-cost-fifo) ("trytond-product-cost-history" ,trytond-product-cost-history))) (propagated-inputs (list trytond trytond-company trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-product-cost-warehouse") (synopsis "Tryton module to compute product cost per warehouse") (description "The @emph{Product Cost Warehouse} Trython module allows the cost price of products to be calculated separately for each warehouse.") (license license:gpl3+))) (define-public trytond-product-image (package (name "trytond-product-image") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_image" version)) (sha256 (base32 "1xdqgc4y1sghnp5q25facdz3mnaxf8fysqlpbq3zrghsvi136mvd")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_product_image")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-pillow trytond trytond-product)) (home-page "https://docs.tryton.org/projects/modules-product-image") (synopsis "Tryton module that adds images to products") (description "The @emph{Product Image} Tryton module adds images to each product and variant.") (license license:gpl3+))) (define-public trytond-product-image-attribute (package (name "trytond-product-image-attribute") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_image_attribute" version)) (sha256 (base32 "1ywyh158325v461qkka5svp4gygsfkkrxd6yl9dgfgypd483qjs8")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_product_image_attribute")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product trytond-product-attribute trytond-product-image)) (home-page "https://docs.tryton.org/projects/modules-product-image-attribute") (synopsis "Tryton module to select variant images based on attributes") (description "The @emph{Product Image Attribute} Tryton module adds attributes to product images.") (license license:gpl3+))) (define-public trytond-product-kit (package (name "trytond-product-kit") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_kit" version)) (sha256 (base32 "1s41jng93cmf4pahz59jmza1k6nj6pb532k0mn2xnr0pgnh26w9m")))) (build-system python-build-system) (arguments (tryton-arguments "product_kit")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice" ,trytond-account-invoice) ("trytond-account-invoice-stock" ,trytond-account-invoice-stock) ("trytond-company" ,trytond-company) ("trytond-purchase" ,trytond-purchase) ("trytond-sale" ,trytond-sale) ("trytond-stock" ,trytond-stock))) (propagated-inputs (list trytond trytond-product)) (home-page "https://docs.tryton.org/projects/modules-product-kit") (synopsis "Tryton module to manage product kits and components") (description "The @emph{Product Kit} Tryton Module adds kits and components to products. This enables a defined set of products to be sold or purchased using a single line.") (license license:gpl3+))) (define-public trytond-product-measurements (package (name "trytond-product-measurements") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_measurements" version)) (sha256 (base32 "111q382lv3yg76r7jxfhnvr35kgi2fhiyxyj07immvwm5k3z0vi1")))) (build-system python-build-system) (arguments (tryton-arguments "product_measurements")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product)) (home-page "https://docs.tryton.org/projects/modules-product-measurements") (synopsis "Tryton module to add measurements to product") (description "The @emph{Product Measurements} Tryton module adds this following measurements to Product:") (license license:gpl3+))) (define-public trytond-product-price-list (package (name "trytond-product-price-list") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_price_list" version)) (sha256 (base32 "0x85317skmqkq12i9qqyjiny37rn2dccx7rk7lan87jj2cam70q4")))) (build-system python-build-system) (arguments (tryton-arguments "product_price_list")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-simpleeval trytond trytond-company trytond-product)) (home-page "https://docs.tryton.org/projects/modules-product-price-list") (synopsis "Tryton module with price list") (description "The @emph{Product Price List} Tryton module provides formula to compute prices per product or category.") (license license:gpl3+))) (define-public trytond-product-price-list-dates (package (name "trytond-product-price-list-dates") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_price_list_dates" version)) (sha256 (base32 "0312s99fqfjwyn5lp3b8qd7j0ac0208jbalgxxazfks1h2g22nj5")))) (build-system python-build-system) (arguments (tryton-arguments "product_price_list_dates")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale-price-list" ,trytond-sale-price-list))) (propagated-inputs (list trytond trytond-product-price-list)) (home-page "https://docs.tryton.org/projects/modules-product-price-list-dates") (synopsis "Tryton module to add dates on price list") (description "The @emph{Product Price List Dates} Tryton module adds start date and end date conditions to the price list lines.") (license license:gpl3+))) (define-public trytond-product-price-list-parent (package (name "trytond-product-price-list-parent") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product_price_list_parent" version)) (sha256 (base32 "0w5fmr2p56p44yq33qgjxp5b8r7bpyixwpdp6xgbrd36ig9wcg3z")))) (build-system python-build-system) (arguments (tryton-arguments "product_price_list_parent")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product-price-list)) (home-page "https://docs.tryton.org/projects/modules-product-price-list-parent") (synopsis "Tryton module to use price from another price list") (description "The @emph{Product Price List Parent} Tryton module adds a parent to the price list and the keyword `parent_unit_price` for the formula which contains the unit price computed by the parent price list.") (license license:gpl3+))) (define-public trytond-production (package (name "trytond-production") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_production" version)) (sha256 (base32 "1sjrpyh4cxllmcxh085nfkq4hhdaz2mcgs1x9hwcsk9scqbi8fkw")))) (build-system python-build-system) (arguments (tryton-arguments "production")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-production") (synopsis "Tryton module for production") (description "The @emph{Production} Tryton module defines basics for production management: Bill of material and production order.") (license license:gpl3+))) (define-public trytond-production-outsourcing (package (name "trytond-production-outsourcing") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_production_outsourcing" version)) (sha256 (base32 "0ms50p42jr23v2fgm3kplacr11czx16dljmxvvn4qgxlacsf0dz0")))) (build-system python-build-system) (arguments (tryton-arguments "production_outsourcing")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product trytond-production trytond-production-routing trytond-purchase)) (home-page "https://docs.tryton.org/projects/modules-production-outsourcing") (synopsis "Tryton module to outsource production") (description "The @emph{Production Outsourcing} Tryton module allows outsourcing production orders per routing. When such outsourced production is set to @code{waiting}, a purchase order is created and its cost is added to the production.") (license license:gpl3+))) (define-public trytond-production-routing (package (name "trytond-production-routing") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_production_routing" version)) (sha256 (base32 "1a6cw0yc60ijd8bnrk84rzx4swqi294g3dsapp03hapn9rgdjbpj")))) (build-system python-build-system) (arguments (tryton-arguments "production_routing")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-stock-supply-production" ,trytond-stock-supply-production))) (propagated-inputs (list trytond trytond-production)) (home-page "https://docs.tryton.org/projects/modules-production-routing") (synopsis "Tryton module for production routing") (description "The @emph{Production Routing} Tryton module defines the routings for production: Routing, Step and Operation.") (license license:gpl3+))) (define-public trytond-production-split (package (name "trytond-production-split") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_production_split" version)) (sha256 (base32 "1fcsbvmcjxriq4yllxv2h7i2p07caqgka39f04l7pvz4w9ha4s96")))) (build-system python-build-system) (arguments (tryton-arguments "production_split")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-production)) (home-page "https://docs.tryton.org/projects/modules-production-split") (synopsis "Tryton module to split production") (description "The @emph{Production Split} Tryton module adds on the production a wizard that allows splitting it. The production is split into productions of Quantity. If a count is set, it will be split only this number of times. On occasion there can be a production with the remaining quantity.") (license license:gpl3+))) (define-public trytond-production-work (package (name "trytond-production-work") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_production_work" version)) (sha256 (base32 "1bff8rfdrlx14ahjnmq3lw7z816qnk22cjk9wwmwkcpl99faw3bd")))) (build-system python-build-system) (arguments (tryton-arguments "production_work")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-product trytond-production trytond-production-routing trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-production-work") (synopsis "Tryton module for production work") (description "The @emph{Production Work} Tryton module allows managing a work order for each production. It also adds in the production cost for the work cost.") (license license:gpl3+))) (define-public trytond-production-work-timesheet (package (name "trytond-production-work-timesheet") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_production_work_timesheet" version)) (sha256 (base32 "19d9sasviayn4vkbwgxmgqbn2fd61qqh4sk35vzlmkbwycrbczhi")))) (build-system python-build-system) (arguments (tryton-arguments "production_work_timesheet")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-production-routing trytond-production-work trytond-timesheet)) (home-page "https://docs.tryton.org/projects/modules-production-work-timesheet") (synopsis "Tryton module for timesheet on production work") (description "The @emph{Production Work Timesheet} Tryton module allows entering a timesheet for production works.") (license license:gpl3+))) (define-public trytond-project (package (name "trytond-project") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_project" version)) (sha256 (base32 "0rr1ar7ah753afqi16yklirwv3ikmcv4xhnbv5vixna1kqhg8n43")))) (build-system python-build-system) (arguments (tryton-arguments "project")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-company-work-time trytond-party trytond-timesheet)) (home-page "https://docs.tryton.org/projects/modules-project") (synopsis "Tryton module with projects") (description "The @emph{Project} Tryton module provides the concepts of project and task and the basis for simple project management.") (license license:gpl3+))) (define-public trytond-project-invoice (package (name "trytond-project-invoice") (version "6.2.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_project_invoice" version)) (sha256 (base32 "1hdyds6k2k0hjk8za8xa64qvqx9pnyv1a6g7mq80ag8hscx2s282")))) (build-system python-build-system) (arguments (tryton-arguments "project_invoice")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-account-product trytond-product trytond-project trytond-project-revenue trytond-timesheet)) (home-page "https://docs.tryton.org/projects/modules-project-invoice") (synopsis "Tryton module to invoice projects") (description "The @emph{Project Invoice} Tryton module adds invoice methods on projects. The methods are: @itemize @item Manual: Tryton doesn’t create any invoice. @item On Effort: The invoices are created based on the Effort hours for all children works with 100% progress. @item On Progress: The invoices are create proportionally to the Progress of the Effort hours of each children work. @item On Timesheet: The invoices are created based on the timesheets encoded on all children works. @end itemize") (license license:gpl3+))) (define-public trytond-project-plan (package (name "trytond-project-plan") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_project_plan" version)) (sha256 (base32 "1rijwxx1sypgv3fapw7sv0i6xbci2b6h3ij42aq693yvn0wm46q4")))) (build-system python-build-system) (arguments (tryton-arguments "project_plan")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-project trytond-timesheet)) (home-page "https://docs.tryton.org/projects/modules-project-plan") (synopsis "Tryton module to add planning capabilities on projects") (description "The @emph{Project Plan} Tryton module adds planning features on top of the Project module.") (license license:gpl3+))) (define-public trytond-project-revenue (package (name "trytond-project-revenue") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_project_revenue" version)) (sha256 (base32 "0hpqwjpd6d0a291yssa8f0x89xxqvdzq8a3f10csibsq7bssqzki")))) (build-system python-build-system) (arguments (tryton-arguments "project_revenue")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-purchase" ,trytond-purchase))) (propagated-inputs (list trytond trytond-company trytond-product trytond-project trytond-timesheet trytond-timesheet-cost)) (home-page "https://docs.tryton.org/projects/modules-project-revenue") (synopsis "Tryton module to add revenue on project") (description "The @emph{Project Revenue} Tryton module computes revenue and cost per task and project. The revenue uses the list price of the product. If the product's unit of measure is time based, the revenue is computed as the product of the price and the hours of effort otherwise the price is considered as fixed. The cost is computed by summing the cost of all the linked time sheets and the linked purchase lines.") (license license:gpl3+))) (define-public trytond-purchase (package (name "trytond-purchase") (version "6.2.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase" version)) (sha256 (base32 "1lni31dhi1yrz0ga1l2268fyv564gsqiy1rjal8l765v40121q0p")))) (build-system python-build-system) (arguments (tryton-arguments "purchase")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-account-invoice-stock trytond-account-product trytond-company trytond-currency trytond-party trytond-product trytond-stock)) (home-page "https://www.tryton.org/") (synopsis "Tryton module for purchase") (description "This package provides a Tryton module that defines the Purchase model.") (license license:gpl3+))) (define-public python-trytond-purchase (deprecated-package "python-trytond-purchase" trytond-purchase)) (define-public trytond-purchase-amendment (package (name "trytond-purchase-amendment") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_amendment" version)) (sha256 (base32 "0zprgfxpif2bbjbv8b4aci7s5si9sp3rjizr7nf31mvsjnwx7i06")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_amendment")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-purchase trytond-purchase-history trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-purchase-amendment") (synopsis "Tryton module to amend purchases") (description "The @emph{Purchase Amendment} Tryton module allows you to change purchases that are being processed and keep track of the changes. An amendment is composed of action lines which can: @itemize @item recompute taxes (if the supplier tax rules or product taxes have changed), @item change the payment term, @item change the party and the address, @item change the warehouse, or @item change a purchase line: (product, quantity and unit of measure, unit price or description). @end itemize") (license license:gpl3+))) (define-public trytond-purchase-history (package (name "trytond-purchase-history") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_history" version)) (sha256 (base32 "0b72q0b41jfaahccdnya9amp5x4w90mlx4b32wdby96xvfi485ar")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_history")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-purchase)) (home-page "https://docs.tryton.org/projects/modules-purchase-history") (synopsis "Tryton module to historize purchases") (description "The @emph{Purchase History} Tryton module activates the historization of the purchase and adds a revision counter which increases each time the purchase is reset to draft.") (license license:gpl3+))) (define-public trytond-purchase-invoice-line-standalone (package (name "trytond-purchase-invoice-line-standalone") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_invoice_line_standalone" version)) (sha256 (base32 "169y69an6i796m8bmp8sanfn0qh7bcws8nangp96q07dsv51wrvb")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_invoice_line_standalone")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice-line-standalone trytond-purchase)) (home-page "https://docs.tryton.org/projects/modules-purchase-invoice-line-standalone") (synopsis "Tryton module for standalone invoice line from purchase") (description "The @emph{Purchase Invoice Line Standalone} Tryton module makes purchase to generate invoice lines instead of invoices.") (license license:gpl3+))) (define-public trytond-purchase-price-list (package (name "trytond-purchase-price-list") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_price_list" version)) (sha256 (base32 "0xqry794l9vy5v5ck0qqy9yli57av4zzmpv1g8f9hkg7lm9ypg0v")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_price_list")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-company trytond-party trytond-product-price-list trytond-purchase)) (home-page "https://docs.tryton.org/projects/modules-purchase-price-list") (synopsis "Tryton module to add price list on purchase") (description "The @emph{Purchase Price List} Tryton Module allows price lists to be defined for suppliers.") (license license:gpl3+))) (define-public trytond-purchase-request (package (name "trytond-purchase-request") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_request" version)) (sha256 (base32 "0as8lb6bgjigpg926fjfyfy25758m45ihl1xish5vlfcxmccpyn3")))) (build-system python-build-system) ;; Doctest 'scenario_purchase_request.rst' fails. (arguments (tryton-arguments "purchase_request" "--no-doctest")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product trytond-purchase)) (home-page "https://www.tryton.org/") (synopsis "Tryton module for purchase requests") (description "This package provides a Tryton module that introduces the concept of Purchase Requests which are central points to collect purchase requests generated by other process from Tryton.") (license license:gpl3+))) (define-public python-trytond-purchase-request (deprecated-package "python-trytond-purchase-request" trytond-purchase-request)) (define-public trytond-purchase-request-quotation (package (name "trytond-purchase-request-quotation") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_request_quotation" version)) (sha256 (base32 "08kcp88lfn8aa92cd07x5i5xbjznqy0x9lr34f07ky0i26nrnn72")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_request_quotation")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-purchase-requisition" ,trytond-purchase-requisition))) (propagated-inputs (list trytond trytond-company trytond-currency trytond-party trytond-product trytond-purchase-request)) (home-page "https://docs.tryton.org/projects/modules-purchase-request-quotation") (synopsis "Tryton module for purchase request quotation") (description "The @emph{Purchase Request Quotation} Tryton module allows users to ask quotations from selected purchase requests to different suppliers. Each request will collect quotation information from the supplier.") (license license:gpl3+))) (define-public trytond-purchase-requisition (package (name "trytond-purchase-requisition") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_requisition" version)) (sha256 (base32 "0wm4xrxklwd5bbdzlwr5ca4h0zm6jx9pm08mspk15nbvf23qz5n3")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_requisition")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-currency trytond-party trytond-product trytond-purchase trytond-purchase-request)) (home-page "https://docs.tryton.org/projects/modules-purchase-requisition") (synopsis "Tryton module to enter requests for product supply (requisition)") (description "The @emph{Purchase Requisition} Tryton module allows users to create their requests for product supply (purchase requisitions). Those requisitions will be approved or rejected by the approval group, whoich typically is the purchasing department. On approval, purchase requests will be created.") (license license:gpl3+))) (define-public trytond-purchase-secondary-unit (package (name "trytond-purchase-secondary-unit") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_secondary_unit" version)) (sha256 (base32 "04fnrim6dimrd63rqbqginlklpih7sb4x3zai5idxjn6hc1l398y")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_secondary_unit")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice-secondary-unit" ,trytond-account-invoice-secondary-unit) ("trytond-stock-secondary-unit" ,trytond-stock-secondary-unit))) (propagated-inputs (list trytond trytond-account-invoice trytond-product trytond-purchase trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-purchase-secondary-unit") (synopsis "Tryton module to add a secondary unit on purchase line") (description "The @emph{Purchase Secondary Unit} Tryton module adds a secondary unit of measure on purchase lines. The secondary quantity and unit price are kept synchronized with the quantity and unit price. The secondary unit is defined on the product supplier or on the product with its factor against the purchase unit.") (license license:gpl3+))) (define-public trytond-purchase-shipment-cost (package (name "trytond-purchase-shipment-cost") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_shipment_cost" version)) (sha256 (base32 "1xpkqicv32vrhi89wpn073bc58x6xl189yv0f7h1i9m9q613w9ps")))) (build-system python-build-system) (arguments (tryton-arguments "purchase_shipment_cost")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice-stock" ,trytond-account-invoice-stock) ("trytond-account-stock-anglo-saxon" ,trytond-account-stock-anglo-saxon) ("trytond-account-stock-continental" ,trytond-account-stock-continental) ("trytond-purchase" ,trytond-purchase))) (propagated-inputs (list trytond trytond-carrier trytond-currency trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-purchase-shipment-cost") (synopsis "Tryton module for purchase shipment costs") (description "The @emph{Purchase Shipment Cost} Tryton module adds shipment costs to Supplier Shipment.") (license license:gpl3+))) (define-public trytond-sale (package (name "trytond-sale") (version "6.2.4") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale" version)) (sha256 (base32 "124cx2h93dw61rnavc2q7isjy9008qc379g82myihq9gh4z6rbpr")))) (build-system python-build-system) (arguments (tryton-arguments "sale")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-account-invoice-stock trytond-account-product trytond-company trytond-country trytond-currency trytond-party trytond-product trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale") (synopsis "Tryton module for sale") (description "The @emph{Sale} Tryton module helps organise and manage sales made by the company. It adds the concept of a sale to Tryton and allows it to be tracked through its states from draft to done. It also oversees the creation of customer shipments and invoices for the sales, and allows reports to be generated that contain aggregated sales figures.") (license license:gpl3+))) (define-public trytond-sale-advance-payment (package (name "trytond-sale-advance-payment") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_advance_payment" version)) (sha256 (base32 "00rlg4jax212qha2w6acris7knj3b17a0rrlm7xyw0bp2vfzgb69")))) (build-system python-build-system) (arguments (tryton-arguments "sale_advance_payment")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale-supply" ,trytond-sale-supply))) (propagated-inputs (list python-simpleeval trytond trytond-account trytond-account-invoice trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-advance-payment") (synopsis "Tryton module for sale advance payment") (description "The @emph{Sale Advance Payment} Tryton module adds support for advance payment management on the sale.") (license license:gpl3+))) (define-public trytond-sale-amendment (package (name "trytond-sale-amendment") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_amendment" version)) (sha256 (base32 "0mrnqlgihkvn4z2p1k90c9cha8kqa28ss1ycjzsalxmngnw27hfg")))) (build-system python-build-system) (arguments (tryton-arguments "sale_amendment")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-sale trytond-sale-history trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale-amendment") (synopsis "Tryton module to amend sales") (description "The @emph{Sale Amendment} Tryton module allows you to change sales that are being processed and keep track of the changes. An amendment is composed of action lines which can:") (license license:gpl3+))) (define-public trytond-sale-complaint (package (name "trytond-sale-complaint") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_complaint" version)) (sha256 (base32 "172650xyn2k1ay6jd4vy6f71s9rfv8qalfx9j8jz0i4cn320z272")))) (build-system python-build-system) (arguments (tryton-arguments "sale_complaint")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-company trytond-party trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-complaint") (synopsis "Tryton module for sale complaints") (description "The @emph{Sale Complaint} Tryton module defines the @code{Complaint} model.") (license license:gpl3+))) (define-public trytond-sale-credit-limit (package (name "trytond-sale-credit-limit") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_credit_limit" version)) (sha256 (base32 "0rx3zi0m4cbpbmjlzkii08424yz68y31nqqkgj6rl9swaqins67h")))) (build-system python-build-system) (arguments (tryton-arguments "sale_credit_limit")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-credit-limit trytond-account-invoice trytond-company trytond-currency trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-credit-limit") (synopsis "Tryton module for sale credit limit") (description "The @emph{Sale Credit Limit} Tryton module adds confirmed sale but not yet invoiced to the credit amount of the party and check the credit limit of the party when confirming a sale.") (license license:gpl3+))) (define-public trytond-sale-discount (package (name "trytond-sale-discount") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_discount" version)) (sha256 (base32 "1kbfbd5rmvaaf5wwvb1akxf7zij1bqpzx2s0dahjxcihxwwra2ib")))) (build-system python-build-system) (arguments (tryton-arguments "sale_discount")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-product trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-discount") (synopsis "Tryton module that manages discount on sale") (description "The @emph{Sale Discount} Tryton module adds discount on sale line.") (license license:gpl3+))) (define-public trytond-sale-extra (package (name "trytond-sale-extra") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_extra" version)) (sha256 (base32 "0j9ya68p6bfyr2ixh1dqfqnmfa4mn5ayf9hn5pfm2z7nih8bys3r")))) (build-system python-build-system) (arguments (tryton-arguments "sale_extra")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-product trytond-product-price-list trytond-sale trytond-sale-price-list)) (home-page "https://docs.tryton.org/projects/modules-sale-extra") (synopsis "Tryton module for sale extra") (description "The @emph{Sale Extra} Tryton module allows adding an extra line on sale based on criteria.") (license license:gpl3+))) (define-public trytond-sale-gift-card (package (name "trytond-sale-gift-card") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_gift_card" version)) (sha256 (base32 "0r395qj178f39lip8mkwhn9lakkh3700hlpcsd208d8wqqqmbf1n")))) (build-system python-build-system) (arguments (tryton-arguments "sale_gift_card")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale-point" ,trytond-sale-point))) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-company trytond-product trytond-sale trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale-gift-card") (synopsis "Tryton module to manage gift cards") (description "The @emph{Sale Gift Card} Tryton module manages the selling and redeeming of gift cards.") (license license:gpl3+))) (define-public trytond-sale-history (package (name "trytond-sale-history") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_history" version)) (sha256 (base32 "0snjdbhq5mf8j7z6i6yqk3kjl3mpjsdzwnh5bzcnax2n4zrscvxq")))) (build-system python-build-system) (arguments (tryton-arguments "sale_history")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-history") (synopsis "Tryton module to historize sales") (description "The @emph{Sale History} Tryton module activates the historization of the sale and adds a revision counter which increases each time the sale is reset to draft.") (license license:gpl3+))) (define-public trytond-sale-invoice-grouping (package (name "trytond-sale-invoice-grouping") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_invoice_grouping" version)) (sha256 (base32 "1c70s1lnxzhg6yqv7vjxyqvxp4myh26i9hnnf1k045d6hwf80hvf")))) (build-system python-build-system) (arguments (tryton-arguments "sale_invoice_grouping")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account-invoice trytond-party trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-invoice-grouping") (synopsis "Tryton module to group sale invoices") (description "The @emph{Sale Invoice Grouping} Tryton module adds an option to define how invoice lines generated from sales will be grouped.") (license license:gpl3+))) (define-public trytond-sale-opportunity (package (name "trytond-sale-opportunity") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_opportunity" version)) (sha256 (base32 "05zliwc39zandn7amjzf1n7fqxq7yrwrx5b418ikh09pfz4alq21")))) (build-system python-build-system) (arguments (tryton-arguments "sale_opportunity")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-account trytond-account-invoice trytond-company trytond-currency trytond-party trytond-product trytond-sale trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale-opportunity") (synopsis "Tryton module with leads and opportunities") (description "The @emph{Sale Opportunity} Tryton module defines the lead/opportunity model.") (license license:gpl3+))) (define-public trytond-sale-payment (package (name "trytond-sale-payment") (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_payment" version)) (sha256 (base32 "02zq3smfj55n70kqgipi2q869lp7hlfm0qbw74qx7pina28pipf4")))) (build-system python-build-system) (arguments (tryton-arguments "sale_payment")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-payment-clearing" ,trytond-account-payment-clearing))) (propagated-inputs (list trytond trytond-account-invoice trytond-account-payment trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-payment") (synopsis "Tryton module that manage payments on sale") (description "The @emph{Sale Payment} Tryton module extends Sale to allow payments prior to the creation of any invoice.") (license license:gpl3+))) (define-public trytond-sale-point (package (name "trytond-sale-point") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_point" version)) (sha256 (base32 "0brysadw75rm80yk66wq68gqkyb28zk65sw530fyacx9ma0sq0pj")))) (build-system python-build-system) (arguments (tryton-arguments "trytond_sale_point")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-sql trytond trytond-account trytond-account-product trytond-company trytond-party trytond-product trytond-sale trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale-point") (synopsis "Tryton module for Point of Sales") (description "The @emph{Sale Point} Tryton module allows retail sales to be handled and recorded.") (license license:gpl3+))) (define-public trytond-sale-price-list (package (name "trytond-sale-price-list") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_price_list" version)) (sha256 (base32 "037h107wl3p3ig9w8db2878x80gzdf4dsa9wjrrcxdaz7yp7iwhn")))) (build-system python-build-system) (arguments (tryton-arguments "sale_price_list")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-company trytond-party trytond-product-price-list trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-price-list") (synopsis "Tryton module to add price list on sale") (description "The @emph{Sale Price List} Tryton module adds support for price list on sale. A price list can be set per party or as default.") (license license:gpl3+))) (define-public trytond-sale-product-customer (package (name "trytond-sale-product-customer") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_product_customer" version)) (sha256 (base32 "01nyhimg00z33zzlxyg8incpfbgcqa7svmzzv5n0x2dafnx5n7wl")))) (build-system python-build-system) (arguments (tryton-arguments "sale_product_customer")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale-amendment" ,trytond-sale-amendment))) (propagated-inputs (list trytond trytond-product trytond-sale)) (home-page "https://docs.tryton.org/projects/modules-sale-product-customer") (synopsis "Tryton module to manage customer product on sale") (description "The @emph{Sale Product_Customer} Tryton module defines customer's names and codes for products or variants.") (license license:gpl3+))) (define-public trytond-sale-promotion (package (name "trytond-sale-promotion") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_promotion" version)) (sha256 (base32 "1nd4f5j25v3g25hr0xr6kqzv0rqavnwkc5wyn8r0if1y9b2scwnc")))) (build-system python-build-system) (arguments (tryton-arguments "sale_promotion")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list python-simpleeval trytond trytond-company trytond-product trytond-product-price-list trytond-sale trytond-sale-price-list)) (home-page "https://docs.tryton.org/projects/modules-sale-promotion") (synopsis "Tryton module for sale promotion") (description "The @emph{Sale Promotion} module allows applying promotions on a sale based on criteria.") (license license:gpl3+))) (define-public trytond-sale-promotion-coupon (package (name "trytond-sale-promotion-coupon") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_promotion_coupon" version)) (sha256 (base32 "18086y4xszb5iq6v5ibq3kylzc3b8zbyn6pn6pm61mdbdpqav7mg")))) (build-system python-build-system) (arguments (tryton-arguments "sale_promotion_coupon")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs (list trytond trytond-sale trytond-sale-promotion)) (home-page "https://docs.tryton.org/projects/modules-sale-promotion-coupon") (synopsis "Tryton module for sale promotion coupon") (description "The @emph{Sale Promotion Coupon} Tryton module adds coupon to the promotions.") (license license:gpl3+))) (define-public trytond-sale-secondary-unit (package (name "trytond-sale-secondary-unit") (version "6.2.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_secondary_unit" version)) (sha256 (base32 "0as7vc8wp2i3402h5r90zg6170y3av41a6k5ivdfbaxlhsjq8lxa")))) (build-system python-build-system) (arguments (tryton-arguments "sale_secondary_unit")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-account-invoice-secondary-unit" ,trytond-account-invoice-secondary-unit) ("trytond-sale-product-customer" ,trytond-sale-product-customer) ("trytond-stock-secondary-unit" ,trytond-stock-secondary-unit))) (propagated-inputs (list trytond trytond-account-invoice trytond-product trytond-sale trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale-secondary-unit") (synopsis "Tryton module to add a secondary unit on sale line") (description "The @emph{Sale Secondary Unit} Tryton module adds a secondary unit of measure on sale lines. The secondary quantity and unit price are kept synchronized with the quantity and unit price. The secondary unit is defined on the product with its factor against the sale unit.") (license license:gpl3+))) (define-public trytond-sale-shipment-cost (package (name "trytond-sale-shipment-cost") (version "6.2.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_sale_shipment_cost" version)) (sha256 (base32 "1r6jcsfxa2q448ks5s23apbj3b35rc5596qk7f3hzwiw6nm168k5")))) (build-system python-build-system) (arguments (tryton-arguments "sale_shipment_cost")) (native-inputs `(,@(%standard-trytond-native-inputs) ("trytond-sale-promotion" ,trytond-sale-promotion) ("trytond-stock-shipment-cost" ,trytond-stock-shipment-cost))) (propagated-inputs (list trytond trytond-account-invoice trytond-carrier trytond-currency trytond-product trytond-sale trytond-stock)) (home-page "https://docs.tryton.org/projects/modules-sale-shipment-cost") (synopsis "Tryton module for sale shipment cost") (description "The @emph{Sale Shipment Cost} Tryton module adds shipment cost for sale.") (license license:gpl3+))) (define-public trytond-sale-shipment-groupinxa")) (patches (search-patches "tensorflow-c-api-fix.patch")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no "check" target #:build-type "Release" #:configure-flags (let ((protobuf (assoc-ref %build-inputs "protobuf")) (protobuf:native (assoc-ref %build-inputs "protobuf:native")) (jsoncpp (assoc-ref %build-inputs "jsoncpp")) (snappy (assoc-ref %build-inputs "snappy")) (sqlite (assoc-ref %build-inputs "sqlite"))) (list ;; Use protobuf from Guix (string-append "-Dprotobuf_STATIC_LIBRARIES=" protobuf "/lib/libprotobuf.so") (string-append "-DPROTOBUF_PROTOC_EXECUTABLE=" protobuf:native "/bin/protoc") ;; Use snappy from Guix (string-append "-Dsnappy_STATIC_LIBRARIES=" snappy "/lib/libsnappy.so") ;; Yes, this is not actually the include directory but a prefix... (string-append "-Dsnappy_INCLUDE_DIR=" snappy) ;; Use jsoncpp from Guix (string-append "-Djsoncpp_STATIC_LIBRARIES=" jsoncpp "/lib/libjsoncpp.so") ;; Yes, this is not actually the include directory but a prefix... (string-append "-Djsoncpp_INCLUDE_DIR=" jsoncpp) ;; Use sqlite from Guix (string-append "-Dsqlite_STATIC_LIBRARIES=" sqlite "/lib/libsqlite.a") ;; Use system libraries wherever possible. Currently, this ;; only affects zlib. "-Dsystemlib_ALL=ON" "-Dtensorflow_ENABLE_POSITION_INDEPENDENT_CODE=ON" "-Dtensorflow_BUILD_SHARED_LIB=ON" "-Dtensorflow_OPTIMIZE_FOR_NATIVE_ARCH=OFF" "-Dtensorflow_ENABLE_SSL_SUPPORT=OFF" "-Dtensorflow_BUILD_CONTRIB_KERNELS=OFF")) #:make-flags (list "CC=gcc") #:modules ((ice-9 ftw) (guix build utils) (guix build cmake-build-system) ((guix build python-build-system) #:select (python-version))) #:imported-modules (,@%cmake-build-system-modules (guix build python-build-system)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-source-file-times-to-1980 ;; At the end of the tf_python_build_pip_package target, a ZIP ;; archive should be generated via bdist_wheel, but it fails with ;; "ZIP does not support timestamps before 1980". Luckily, ;; SOURCE_DATE_EPOCH is respected, which we set to some time in ;; 1980. (lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800"))) (add-after 'unpack 'python3.10-compatibility (lambda _ ;; See https://github.com/tensorflow/tensorflow/issues/20517#issuecomment-406373913 (substitute* '("tensorflow/python/eager/pywrap_tfe_src.cc" "tensorflow/python/lib/core/ndarray_tensor.cc" "tensorflow/python/lib/core/py_func.cc") (("PyUnicode_AsUTF8") "(char *)PyUnicode_AsUTF8")) (substitute* "tensorflow/c/eager/c_api.h" (("unsigned char async") "unsigned char is_async")) ;; Remove dependency on tensorboard, a complicated but probably ;; optional package. (substitute* "tensorflow/tools/pip_package/setup.py" ((".*'tensorboard >.*") "")) ;; Fix the build with python-3.8, taken from rejected upstream patch: ;; https://github.com/tensorflow/tensorflow/issues/34197 (substitute* (find-files "tensorflow/python" ".*\\.cc$") (("(nullptr,)(\\ +/. tp_print)" _ _ tp_print) (string-append "NULL, " tp_print))) ;; Many collections classes have been moved to collections.abc (substitute* '("tensorflow/python/framework/ops.py" "tensorflow/python/ops/clip_ops.py" "tensorflow/python/ops/data_flow_ops.py" "tensorflow/python/ops/gradients_impl.py" "tensorflow/python/training/input.py" "tensorflow/python/training/checkpointable/data_structures.py" "tensorflow/python/util/nest.py" "tensorflow/python/util/protobuf/compare.py") (("collections.Mapping") "collections.abc.Mapping") (("collections.Sequence") "collections.abc.Sequence")) (substitute* "tensorflow/python/feature_column/feature_column.py" (("collections.Iterator") "collections.abc.Iterator")) (substitute* "tensorflow/python/ops/sparse_ops.py" (("collections.Iterable") "collections.abc.Iterable")) (substitute* "tensorflow/python/keras/callbacks.py" (("from collections import Iterable") "from collections.abc import Iterable")) (substitute* "tensorflow/python/ops/variable_scope.py" (("collections_lib.Sequence") "collections_lib.abc.Sequence")) ;; XXX: it is not clear if this is a good idea, but the build ;; system tries to overwrite the __or__ and __ror__ methods of ;; the Tensor class. (substitute* "tensorflow/python/framework/ops.py" (("if not isinstance\\(existing, type\\(object.__lt__\\)\\)" m) (string-append m " and not isinstance(existing, type(object.__or__))"))) ;; Fix the build with numpy >= 1.19. ;; Suggested in https://github.com/tensorflow/tensorflow/issues/41086#issuecomment-656833081 (substitute* "tensorflow/python/lib/core/bfloat16.cc" (("void BinaryUFunc\\(char\\*\\* args, npy_intp\\* dimensions, npy_intp\\* steps,") "void BinaryUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,") (("void CompareUFunc\\(char\\*\\* args, npy_intp\\* dimensions, npy_intp\\* steps,") "void CompareUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,")) ;; ...and for numpy >= 1.23 (substitute* "tensorflow/python/framework/tensor_util.py" (("np.asscalar\\(x\\[0\\]\\)") "x[0].item()") (("np.asscalar\\(x\\)") "x.item()") (("np.asscalar\\(v\\)") "np.ndarray.item(v)") (("return np.asscalar") "return np.ndarray.item")) (substitute* "tensorflow/python/kernel_tests/cwise_ops_test.py" (("np.asscalar\\(np.random.rand\\(1\\) \\* 100.\\)") "(np.random.rand(1) * 100.).item()")) (substitute* '("tensorflow/python/framework/fast_tensor_util.pyx" "tensorflow/python/estimator/canned/linear_testing_utils.py") (("np.asscalar") "np.ndarray.item")))) (add-after 'python3.10-compatibility 'chdir (lambda _ (chdir "tensorflow/contrib/cmake"))) (add-after 'chdir 'disable-downloads (lambda* (#:key inputs #:allow-other-keys) (substitute* (find-files "external" "\\.cmake$") (("GIT_REPOSITORY.*") "") (("GIT_TAG.*") "") (("PREFIX ") "DOWNLOAD_COMMAND \"\"\nPREFIX ")) ;; Use packages from Guix (let ((grpc (assoc-ref inputs "grpc"))) (substitute* "CMakeLists.txt" ;; Sqlite (("include\\(sqlite\\)") "") (("\\$\\{sqlite_STATIC_LIBRARIES\\}") (search-input-file inputs "/lib/libsqlite3.so")) (("sqlite_copy_headers_to_destination") "") ;; PNG (("include\\(png\\)") "") (("\\$\\{png_STATIC_LIBRARIES\\}") (search-input-file inputs "/lib/libpng16.so")) (("png_copy_headers_to_destination") "") ;; JPEG (("include\\(jpeg\\)") "") (("\\$\\{jpeg_STATIC_LIBRARIES\\}") (search-input-file inputs "/lib/libjpeg.so")) (("jpeg_copy_headers_to_destination") "") ;; GIF (("include\\(gif\\)") "") (("\\$\\{gif_STATIC_LIBRARIES\\}") (search-input-file inputs "/lib/libgif.so")) (("gif_copy_headers_to_destination") "") ;; lmdb (("include\\(lmdb\\)") "") (("\\$\\{lmdb_STATIC_LIBRARIES\\}") (search-input-file inputs "/lib/liblmdb.so")) (("lmdb_copy_headers_to_destination") "") ;; Protobuf (("include\\(protobuf\\)") "") (("protobuf_copy_headers_to_destination") "") (("^ +protobuf") "") ;; gRPC (("include\\(grpc\\)") "find_package(grpc REQUIRED NAMES gRPC)") (("list\\(APPEND tensorflow_EXTERNAL_DEPENDENCIES grpc\\)") "") ;; Eigen (("include\\(eigen\\)") (string-append "find_package(eigen REQUIRED NAMES Eigen3) set(eigen_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/external/eigen_archive " (assoc-ref inputs "eigen") "/include/eigen3)")) (("^ +eigen") "") ;; snappy (("include\\(snappy\\)") "add_definitions(-DTF_USE_SNAPPY)") (("list\\(APPEND tensorflow_EXTERNAL_DEPENDENCIES snappy\\)") "") ;; jsoncpp (("include\\(jsoncpp\\)") "") (("^ +jsoncpp") "")) (substitute* "tf_core_framework.cmake" ((" grpc") "") (("\\$\\{GRPC_BUILD\\}/grpc_cpp_plugin") (which "grpc_cpp_plugin")) ;; Link with gRPC libraries (("add_library\\(tf_protos_cc.*" m) (string-append m (format #f "\ntarget_link_libraries(tf_protos_cc PRIVATE \ ~a/lib/libgrpc++_unsecure.a \ ~a/lib/libgrpc_unsecure.a \ ~a/lib/libaddress_sorting.a \ ~a/lib/libgpr.a \ ~a//lib/libcares.so )\n" grpc grpc grpc grpc (assoc-ref inputs "c-ares")))))) (substitute* "tf_tools.cmake" (("add_dependencies\\(\\$\\{proto_text.*") "")) ;; Remove dependency on bundled grpc (substitute* "tf_core_distributed_runtime.cmake" (("tf_core_cpu grpc") "tf_core_cpu")) ;; This directory is a dependency of many targets. (mkdir-p "protobuf"))) (add-after 'configure 'unpack-third-party-sources (lambda* (#:key inputs outputs #:allow-other-keys) ;; This is needed to configure bundled packages properly. (setenv "CONFIG_SHELL" (which "bash")) (for-each (lambda (name) (let* ((what (assoc-ref inputs (string-append name "-src"))) (name* (string-map (lambda (c) (if (char=? c #\-) #\_ c)) name)) (where (string-append "../build/" name* "/src/" name*))) (cond ((string-suffix? ".zip" what) (mkdir-p where) (with-directory-excursion where (invoke "unzip" what))) ((string-suffix? ".tar.gz" what) (mkdir-p where) (invoke "tar" "xf" what "-C" where "--strip-components=1")) (else (let ((parent (dirname where))) (mkdir-p parent) (with-directory-excursion parent (when (file-exists? name*) (delete-file-recursively name*)) (copy-recursively what name*) (map make-file-writable (find-files name* ".*")))))))) (list "boringssl" "cub" "double-conversion" "farmhash" "fft2d" "highwayhash" "nsync" "re2")) ;; https://github.com/google/farmhash/issues/24 (substitute* "../build/farmhash/src/farmhash/src/farmhash.cc" (("using namespace std;") "") (("make_pair") "std::make_pair") (("pair<") "std::pair<")) (rename-file "../build/cub/src/cub/cub-1.8.0/" "../build/cub/src/cub/cub/") (setenv "LDFLAGS" (string-append "-Wl,-rpath=" (assoc-ref outputs "out") "/lib")))) (add-after 'unpack 'fix-python-build (lambda* (#:key inputs outputs #:allow-other-keys) (mkdir-p "protobuf-src") (invoke "tar" "xf" (assoc-ref inputs "protobuf:src") "-C" "protobuf-src" "--strip-components=1") (mkdir-p "eigen-src") (copy-recursively (assoc-ref inputs "eigen:src") "eigen-src") ;; distutils.sysconfig is deprecated and prints a deprecation ;; warning that breaks the generated CXX_INCLUDES line. (substitute* "tensorflow/contrib/cmake/tf_python.cmake" (("import distutils.sysconfig; print\\(distutils.sysconfig.get_python_inc\\(\\)\\)") "import sysconfig; print(sysconfig.get_path('include'))")) (substitute* "tensorflow/contrib/cmake/tf_python.cmake" ;; Take protobuf source files from our source package. (("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/protobuf/src/protobuf/src/google") (string-append (getcwd) "/protobuf-src/src/google"))) (substitute* '("tensorflow/contrib/cmake/tf_shared_lib.cmake" "tensorflow/contrib/cmake/tf_python.cmake") ;; Take Eigen source files from our source package. (("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/eigen/src/eigen/") (string-append (getcwd) "/eigen-src/")) ;; Take Eigen headers from our own package. (("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/external/eigen_archive") (search-input-directory inputs "/include/eigen3"))) ;; Correct the RUNPATH of ops libraries generated for Python. ;; TODO: this doesn't work :( ;; /gnu/store/...-tensorflow-1.9.0/lib/python3.7/site-packages/tensorflow/contrib/seq2seq/python/ops/lib_beam_search_ops.so: ;; warning: RUNPATH contains bogus entries: ("/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build") ;; /gnu/store/...-tensorflow-1.9.0/lib/python3.7/site-packages/tensorflow/contrib/seq2seq/python/ops/lib_beam_search_ops.so: ;; error: depends on 'libpywrap_tensorflow_internal.so', which ;; cannot be found in RUNPATH ... (substitute* "tensorflow/contrib/cmake/tf_cc_ops.cmake" (("set_target_properties.*") (string-append "set_target_properties(${_AT_TARGET} PROPERTIES \ COMPILE_FLAGS ${target_compile_flags} \ INSTALL_RPATH_USE_LINK_PATH TRUE \ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))))) (add-after 'unpack 'patch-cmake-file-to-install-c-headers (lambda _ (substitute* "tensorflow/contrib/cmake/tf_c.cmake" (("if\\(tensorflow_BUILD_PYTHON_BINDINGS" m) (string-append "install(DIRECTORY ${tensorflow_source_dir}/tensorflow/c/ \ DESTINATION include/tensorflow/c FILES_MATCHING PATTERN \"*.h\")\n" m))))) (add-after 'build 'build-c-bindings (lambda* (#:key outputs parallel-build? #:allow-other-keys) (invoke "make" "-j" (if parallel-build? (number->string (parallel-job-count)) "1") "tf_c"))) (add-after 'install 'build-pip-package (lambda* (#:key outputs parallel-build? #:allow-other-keys) (invoke "make" "-j" (if parallel-build? (number->string (parallel-job-count)) "1") "tf_python_build_pip_package"))) (add-after 'build-pip-package 'install-python (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (wheel (car (find-files "../build/tf_python/dist/" "\\.whl$"))) (python-version (python-version (assoc-ref inputs "python")))) (invoke "python" "-m" "pip" "install" wheel (string-append "--prefix=" out)) ;; XXX: broken RUNPATH, see fix-python-build phase. (delete-file (string-append out "/lib/python" python-version "/site-packages/tensorflow/contrib/" "seq2seq/python/ops/lib_beam_search_ops.so")))))))) (native-inputs `(("pkg-config" ,pkg-config) ("protobuf:native" ,protobuf-3.6) ; protoc ("protobuf:src" ,(package-source protobuf-3.6)) ("eigen:src" ,(package-source eigen-for-tensorflow)) ;; install_pip_packages.sh wants setuptools 39.1.0 specifically. ("python-setuptools" ,python-setuptools-for-tensorflow) ;; The commit hashes and URLs for third-party source code are taken ;; from "tensorflow/workspace.bzl". ("boringssl-src" ,(let ((commit "ee7aa02") (revision "1")) (origin (method git-fetch) (uri (git-reference (url "https://boringssl.googlesource.com/boringssl") (commit commit))) (file-name (string-append "boringssl-0-" revision (string-take commit 7) "-checkout")) (sha256 (base32 "1jf693q0nw0adsic6cgmbdx6g7wr4rj4vxa8j1hpn792fqhd8wgw"))))) ("cub-src" ,(let ((version "1.8.0")) (origin (method url-fetch) (uri (string-append "https://mirror.bazel.build/github.com/NVlabs/" "cub/archive/" version ".zip")) (file-name (string-append "cub-" version ".zip")) (sha256 (base32 "1hsqikqridb90dkxkjr2918dcry6pfh46ccnwrzawl56aamhdykb"))))) ("double-conversion-src" ,(let ((commit "5664746") (revision "1")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/google/double-conversion") (commit commit))) (file-name (git-file-name "double-conversion" (string-append "0-" revision "." (string-take commit 7)))) (sha256 (base32 "1h5lppqqxcvdg5jq42i5msgwx20ryij3apvmndflngrgdpc04gn1"))))) ("farmhash-src" ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45")) (origin (method url-fetch) (uri (string-append "https://mirror.bazel.build/github.com/google/farmhash/archive/" commit ".tar.gz")) (file-name (string-append "farmhash-0-" (string-take commit 7) ".tar.gz")) (sha256 (base32 "185b2xdxl4d4cnsnv6abg8s22gxvx8673jq2yaq85bz4cdy58q35"))))) ;; The license notice on the home page at ;; http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html says: ;; Copyright Takuya OOURA, 1996-2001 ;; ;; You may use, copy, modify and distribute this code for any purpose ;; (include commercial use) and without fee. Please refer to this ;; package when you modify this code. ;; ;; We take the identical tarball from the Bazel mirror, because the URL ;; at the home page is not versioned and might change. ("fft2d-src" ,(origin (method url-fetch) (uri "https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz") (file-name "fft2d.tar.gz") (sha256 (base32 "15jjkfvhqvl2c0753d2di8hz0pyzn598g74wqy79awdrf1y67fsj")))) ("highwayhash-src" ,(let ((commit "be5edafc2e1a455768e260ccd68ae7317b6690ee") (revision "1")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/google/highwayhash") (commit commit))) (file-name (string-append "highwayhash-0-" revision (string-take commit 7) "-checkout")) (sha256 (base32 "154jwf98cyy54hldr94pgjn85zynly3abpnc1avmb8a18lzwjyb6"))))) ("nsync-src" ,(let ((version "0559ce013feac8db639ee1bf776aca0325d28777") (revision "1")) (origin (method url-fetch) (uri (string-append "https://mirror.bazel.build/" "github.com/google/nsync/archive/" version ".tar.gz")) (file-name (string-append "nsync-0." revision "-" (string-take version 7) ".tar.gz")) (sha256 (base32 "0qdkyqym34x739mmzv97ah5r7ph462v5xkxqxvidmcfqbi64b132"))))) ("re2-src" ,(let ((commit "e7efc48") (revision "1")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/google/re2") (commit commit))) (file-name (string-append "re2-0-" revision (string-take commit 7) "-checkout")) (sha256 (base32 "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign"))))) ("googletest" ,googletest) ("swig" ,swig) ("unzip" ,unzip))) (propagated-inputs (list python-absl-py python-astor python-gast python-grpcio python-numpy python-protobuf-3.6 python-six python-termcolor python-wheel)) (inputs `(("c-ares" ,c-ares) ("eigen" ,eigen-for-tensorflow) ("gemmlowp" ,gemmlowp-for-tensorflow) ("lmdb" ,lmdb) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("giflib" ,giflib) ("grpc" ,grpc-1.16.1 "static") ("grpc:bin" ,grpc-1.16.1) ("jsoncpp" ,jsoncpp-for-tensorflow) ("snappy" ,snappy) ("sqlite" ,sqlite) ("protobuf" ,protobuf-3.6) ("python" ,python-wrapper) ("zlib" ,zlib))) (home-page "https://tensorflow.org") (synopsis "Machine learning framework") (description "TensorFlow is a flexible platform for building and training machine learning models. It provides a library for high performance numerical computation and includes high level Python APIs, including both a sequential API for beginners that allows users to build models quickly by plugging together building blocks and a subclassing API with an imperative style for advanced research.") (license license:asl2.0))) (define-public tensorflow-lite (package (name "tensorflow-lite") (version "2.13.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tensorflow/tensorflow") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "09mfskmpvpbq919wibnw3bnhi1y3hkx3qrzm72gdr0gsivn1yb3w")) (patches (search-patches "tensorflow-lite-unbundle.patch")))) (build-system cmake-build-system) (arguments (list #:tests? #false ;tests are not building now #:build-type "Release" #:modules '((ice-9 match) (guix build utils) (guix build cmake-build-system)) #:configure-flags #~(list ;; "-DTFLITE_KERNEL_TEST=ON" ; TODO: build tests ;; so cmake can be used to find this from other packages "-DTFLITE_ENABLE_INSTALL=ON" ;; Use Guix's own packages as dependencies. "-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON" "-DTFLITE_ENABLE_GPU=ON" "-DTFLITE_ENABLE_RUY=ON" ;; TODO: turn on Farmhash ;;"-DSYSTEM_FARMHASH=ON" (string-append "-Dabsl_DIR=" #$(this-package-input "abseil-cpp") "/lib/cmake/absl") (string-append "-DEigen3_DIR=" #$(this-package-input "eigen") "/share/eigen3/cmake") (string-append "-DFlatBuffers_DIR=" #$(this-package-input "flatbuffers") "/lib/cmake/flatbuffers") (string-append "-DNEON_2_SSE_DIR=" #$(this-package-input "neon2sse") "/lib/cmake/NEON_2_SSE") (string-append "-Dcpuinfo_DIR=" #$(this-package-input "cpuinfo") "/share/cpuinfo") (string-append "-Druy_DIR=" #$(this-package-input "ruy") "/lib/cmake/ruy") ;; TODO: The build system attempts to build xnnpack from source. We ;; would like to use our xnnpack package here, but this requires more ;; work. "-DTFLITE_ENABLE_XNNPACK=OFF" ;; Don't fetch the sources. We have these already "-Dgemmlowp_POPULATED=TRUE" "-Degl_headers_POPULATED=TRUE" "-Dfp16_headers_POPULATED=TRUE" "-Dopencl_headers_POPULATED=TRUE" "-Dopengl_headers_POPULATED=TRUE" "-Dvulkan_headers_POPULATED=TRUE" "-Dgoogletest_POPULATED=TRUE" "-Dgoogle_benchmark_POPULATED=TRUE" "-Dnsync_POPULATED=TRUE" "-Dre2_POPULATED=TRUE" "-DFFT2D_SOURCE_DIR=/tmp/fft2d" "-DFARMHASH_SOURCE_DIR=/tmp/farmhash" (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp"))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "tensorflow/lite"))) (add-after 'chdir 'copy-sources (lambda* (#:key inputs #:allow-other-keys) ;; TODO: properly use Guix's pthreaqdpool. We are not using ;; pthreadpool because we are not enabling xnnpack (substitute* "CMakeLists.txt" (("if\\(NOT DEFINED PTHREADPOOL_SOURCE_DIR\\)") "if(false)")) (substitute* "CMakeLists.txt" (("if\\(NOT TARGET pthreadpool\\)") "if(false)")) ;; Don't fetch source code; we already have everything we need. (substitute* '("tools/cmake/modules/fft2d.cmake" "tools/cmake/modules/farmhash.cmake" "tools/cmake/modules/gemmlowp.cmake") (("OverridableFetchContent_Populate.*") "")) (mkdir-p "/tmp/farmhash") (with-directory-excursion "/tmp/farmhash" (invoke "tar" "--strip-components=1" "-xf" (assoc-ref inputs "farmhash-src"))) (mkdir-p "/tmp/fft2d") (with-directory-excursion "/tmp/fft2d" (invoke "tar" "--strip-components=1" "-xf" (assoc-ref inputs "fft2d-src"))))) (add-after 'build 'build-shared-library (lambda* (#:key configure-flags #:allow-other-keys) (mkdir-p "c") (with-directory-excursion "c" (apply invoke "cmake" (append configure-flags (list "../../lite/c"))) (invoke "cmake" "--build" "." "-j" (number->string (parallel-job-count)))))) (add-after 'build-shared-library 'build-benchmark-model (lambda _ (invoke "cmake" "--build" "." "--target" "benchmark_model" "-j" (number->string (parallel-job-count))))) (add-after 'install 'install-extra (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib")) (bin (string-append out "/bin"))) (install-file "../build/c/libtensorflowlite_c.so" lib) (install-file "../build/tools/benchmark/benchmark_model" bin)))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "ctest" "-L" "plain"))))))) (inputs `(("abseil-cpp" ,abseil-cpp-20200923.3) ("cpuinfo" ,cpuinfo) ("eigen" ,eigen) ("fp16" ,fp16) ("flatbuffers" ,flatbuffers-23.1) ("gemmlowp" ,gemmlowp) ("mesa-headers" ,mesa-headers) ("neon2sse" ,neon2sse) ("nsync" ,nsync) ("opencl-clhpp" ,opencl-clhpp) ("opencl-headers" ,opencl-headers) ("opencl-icd-loader" ,opencl-icd-loader) ("pthreadpool" ,pthreadpool) ("python" ,python) ("ruy" ,ruy) ("re2" ,re2) ;;("xnnpack" ,xnnpack) ; TODO: use Guix's copy of xnnpack ("vulkan-headers" ,vulkan-headers))) (native-inputs `(("pkg-config" ,pkg-config) ("googletest" ,googletest) ("farmhash-src" ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45")) (origin (method url-fetch) (uri (string-append "https://mirror.bazel.build/github.com/google/farmhash/archive/" commit ".tar.gz")) (file-name (git-file-name "farmhash" (string-take commit 8))) (sha256 (base32 "185b2xdxl4d4cnsnv6abg8s22gxvx8673jq2yaq85bz4cdy58q35"))))) ("fft2d-src" ,(origin (method url-fetch) (uri (string-append "https://storage.googleapis.com/" "mirror.tensorflow.org/github.com/petewarden/" "OouraFFT/archive/v1.0.tar.gz")) (file-name "fft2d.tar.gz") (sha256 (base32 "1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd")))))) (home-page "https://www.tensorflow.org") (synopsis "Machine learning framework") (description "TensorFlow is a flexible platform for building and training machine learning models. This package provides the \"lite\" variant for mobile devices.") (license license:asl2.0))) (define-public dmlc-core (package (name "dmlc-core") (version "0.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dmlc/dmlc-core") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1x4ad1jhn84fywlk031fmv1kxyiscclmrqn9hhj8gz0mh7z9vcrh")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DGOOGLE_TEST=ON"))) (native-inputs `(("googletest" ,googletest) ("python" ,python-wrapper))) (home-page "https://github.com/dmlc/dmlc-core") (synopsis "Common bricks library for machine learning") (description "DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.") (license license:asl2.0))) (define-public xgboost (package (name "xgboost") (version "1.7.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dmlc/xgboost") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (patches (search-patches "xgboost-use-system-dmlc-core.patch")) (sha256 (base32 "16fbm5y3hn6ccflmbdlmn7krrdq7c0az3mxd8j1d23s9ky8niw05")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DGOOGLE_TEST=ON"))) (native-inputs `(("googletest" ,googletest) ("python" ,python-wrapper))) (inputs (list dmlc-core)) (home-page "https://xgboost.ai/") (synopsis "Gradient boosting (GBDT, GBRT or GBM) library") (description "XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting (also known as GBDT, GBM) that solve many data science problems in a fast and accurate way.") (license license:asl2.0))) (define-public python-xgboost (package (inherit xgboost) (name "python-xgboost") (source (package-source xgboost)) (build-system pyproject-build-system) (arguments (list #:tests? #f ; all tests require network access #:phases #~(modify-phases %standard-phases (add-after 'unpack 'preparations (lambda _ ;; Move python-package content to parent directory to silence ;; some warnings about files not being found if we chdir. (rename-file "python-package/xgboost" "xgboost") (rename-file "python-package/README.rst" "README.rst") (rename-file "python-package/setup.cfg" "setup.cfg") (rename-file "python-package/setup.py" "setup.py") ;; Skip rebuilding libxgboost.so. (substitute* "setup.py" (("ext_modules=\\[CMakeExtension\\('libxgboost'\\)\\],") "") (("'install_lib': InstallLib,") "")) ;; Remove bad dataset. This has been removed in scipy. (substitute* "tests/python/testing.py" (("TestDataset\\('boston', get_boston, 'reg:squarederror', 'rmse'\\),") "") (("datasets.load_boston") "datasets.load_digits")))) (add-after 'install 'install-version-and-libxgboost (lambda* (#:key inputs #:allow-other-keys) (let* ((pylib (string-append #$output "/lib/python" #$(version-major+minor (package-version python)) "/site-packages")) (xgbdir (string-append pylib "/xgboost")) (version-file (string-append xgbdir "/VERSION")) (libxgboost (string-append (assoc-ref inputs "xgboost") "/lib/libxgboost.so"))) (with-output-to-file version-file (lambda () (display #$(package-version xgboost)))) (mkdir-p (string-append xgbdir "/lib")) (symlink libxgboost (string-append xgbdir "/lib" "/libxgboost.so")))))))) (native-inputs (list python-pandas python-pytest python-scikit-learn python-setuptools python-wheel)) (inputs (list xgboost)) (propagated-inputs (list python-numpy python-scipy)) (synopsis "Python interface for the XGBoost library"))) (define-public python-iml (package (name "python-iml") (version "0.6.2") (source (origin (method url-fetch) (uri (pypi-uri "iml" version)) (sha256 (base32 "1k8szlpm19rcwcxdny9qdm3gmaqq8akb4xlvrzyz8c2d679aak6l")))) (build-system python-build-system) (propagated-inputs (list python-ipython python-numpy python-pandas python-scipy)) (native-inputs (list python-nose)) (home-page "https://github.com/interpretable-ml/iml") (synopsis "Interpretable Machine Learning (iML) package") (description "Interpretable ML (iML) is a set of data type objects, visualizations, and interfaces that can be used by any method designed to explain the predictions of machine learning models (or really the output of any function). It currently contains the interface and IO code from the Shap project, and it will potentially also do the same for the Lime project.") (license license:expat))) (define-public python-keras-applications (package (name "python-keras-applications") (version "1.0.8") (source (origin (method url-fetch) (uri (pypi-uri "Keras_Applications" version)) (sha256 (base32 "1rcz31ca4axa6kzhjx4lwqxbg4wvlljkj8qj9a7p9sfd5fhzjyam")))) (build-system python-build-system) ;; The tests require Keras, but this package is needed to build Keras. (arguments '(#:tests? #f)) (propagated-inputs (list python-h5py python-numpy)) (native-inputs (list python-pytest python-pytest-cov python-pytest-pep8 python-pytest-xdist)) (home-page "https://github.com/keras-team/keras-applications") (synopsis "Reference implementations of popular deep learning models") (description "This package provides reference implementations of popular deep learning models for use with the Keras deep learning framework.") (license license:expat))) (define-public python-keras-preprocessing (package (name "python-keras-preprocessing") (version "1.1.0") (source (origin (method