diff mbox series

[bug#35633] gnu: Add dolibarr.

Message ID d4c99b9e-c266-4307-d9b8-c297e50f8701@riseup.net
State Accepted
Headers show
Series [bug#35633] gnu: Add dolibarr. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

swedebugia May 8, 2019, 1:27 p.m. UTC
From 6250680633cec1752519c37301890d71fe56e874 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Wed, 8 May 2019 15:03:51 +0200
Subject: [PATCH] gnu: Add dolibarr.

* gnu/packages/web.scm (dolibarr): New public variable.
---
  gnu/packages/web.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 71 insertions(+)

+@item LDAP connectivity
+@end itemize")
+    (license license:gpl3+)))

Comments

swedebugia May 8, 2019, 2:25 p.m. UTC | #1
On 2019-05-08 15:27, swedebugia wrote:
> +    (inputs
> +     `(("php" ,php)
> +       ("mariadb" ,mariadb)))

It also supports postgresql but the sql-scripts are written in 
mysql-style and translated on the fly.
Maxim Cournoyer Feb. 21, 2022, 3:32 a.m. UTC | #2
tags 35633 moreinfo
thanks

Hi swedebugia!

It seems this had fallen into the cracks; apologies!

swedebugia <swedebugia@riseup.net> writes:

>  From 6250680633cec1752519c37301890d71fe56e874 Mon Sep 17 00:00:00 2001
> From: swedebugia <swedebugia@riseup.net>
> Date: Wed, 8 May 2019 15:03:51 +0200
> Subject: [PATCH] gnu: Add dolibarr.
>
> * gnu/packages/web.scm (dolibarr): New public variable.

Without a service; this doesn't seem to be readily usable.

In its current form, the package description could be simplified to use
the copy build system, like so:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/web.scm
@@ -5686,22 +5686,10 @@ (define-public dolibarr
               (sha256
                (base32
                 "0505r6q84b0q7qx0fxcp0rklm2kw3d4qakwmlcgi0a3d04qzdvg6"))))
-    (build-system gnu-build-system)
+    (build-system copy-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; No configure, build or tests
-         (delete 'configure)
-         (delete 'build)
-         (delete 'check)
-         (replace 'install
-           ;; There's no ‘install’ target.  Install files manually.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out     (assoc-ref outputs "out"))
-                    (dol     (string-append out "/lib/" ,name))
-                    (htdocs "htdocs"))
-               (copy-recursively htdocs (string-append dol "/" htdocs))
-               #t))))))
+     `(#:install-plan
+           (list `("htdocs" ,(string-append "lib/" ,name "/htdocs")))))
     (inputs
      `(("php" ,php)
        ("mariadb" ,mariadb)))
--8<---------------cut here---------------end--------------->8---

Another thing: bundled dependencies.  The htdocs directory installed
contains various bundled PHP/JavaScript libraries such as JQuery as well
as fonts.  These should ideally all be un-bundled, but that's a big
endeavor.

There are some packaging recipes in the upstream repo for RPM for
example, that does some of that unbundling (for fonts an JQuery).  This
would be a good start; see:
https://github.com/Dolibarr/dolibarr/blob/develop/build/rpm/dolibarr_fedora.spec#L106
and
https://github.com/Dolibarr/dolibarr/blob/develop/build/rpm/dolibarr_fedora.spec#L275.

A service and a system test would also be ideal; otherwise the
usefulness of this package in Guix is very limited.

If you are up to the challenge, please send an update!  Otherwise, I'll
close it in a few weeks to avoid having it languish here eternally.

Thank you!

Maxim
diff mbox series

Patch

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 52cc91a168..756b00237e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -109,6 +109,7 @@ 
    #:use-module (gnu packages package-management)
    #:use-module (gnu packages perl)
    #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages php)
    #:use-module (gnu packages python)
    #:use-module (gnu packages python-web)
    #:use-module (gnu packages python-xyz)
@@ -6547,3 +6548,73 @@  update an existing mirrored site, and resume 
interrupted downloads.

  HTTrack is fully configurable, and has an integrated help system.")
      (license license:gpl3+)))
+
+(define-public dolibarr
+  (package
+    (name "dolibarr")
+    (version "9.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/" name 
"/Dolibarr ERP-CRM/"
+                                  version "/" name "-" version ".tgz"))
+              (sha256
+               (base32
+                "0505r6q84b0q7qx0fxcp0rklm2kw3d4qakwmlcgi0a3d04qzdvg6"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; No configure, build or tests
+         (delete 'configure)
+         (delete 'build)
+         (delete 'check)
+         (replace 'install
+           ;; There's no ‘install’ target.  Install files manually.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref outputs "out"))
+                    (dol     (string-append out "/lib/" ,name))
+                    (htdocs "htdocs"))
+               (copy-recursively htdocs (string-append dol "/" htdocs))
+               #t))))))
+    (inputs
+     `(("php" ,php)
+       ("mariadb" ,mariadb)))
+    (home-page "https://www.dolibarr.org/")
+    (synopsis "Enterprise ressource planner with a web interface")
+    (description "Dolibarr supports multi-currency and multiple users with
+detailed permissions management.  It supports different tax systems and 
has a
+lot of modules to extend functionality.  It has triggers and hooks and is
+easily extensible using a module builder.
+
+Features enabled by modules:
+@itemize
+@item Customers, Prospects or Suppliers directory
+@item Products and services catalog
+@item Stock management
+@item Bank accounts management
+@item Commercial actions management
+@item Orders management
+@item Commercial proposals management
+@item Contracts management
+@item Invoices management
+@item Payments management
+@item Standing orders management
+@item Shipping management
+@item Expense report management
+@item Following social and fiscal tax payments
+@item Double entry accounting, general and auxiliary accounting.
+@item Agenda with ical,vcal export for third tools integration
+@item EDM (Electronic Document Management)
+@item Foundations member management
+@item Leave requests for employees
+@item Mass emailing
+@item Realize surveys
+@item Point of Sale
+@item Donations management
+@item Reporting
+@item PDF Generation of all elements (invoices, proposals, orders, ...)
+@item Import and export tools (CSV or Excel)
+@item Bookmarks management