all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Oleg Pykhalov <go.wigust@gmail.com>
To: Gary Johnson <lambdatronic@gmail.com>
Cc: help-guix@gnu.org
Subject: Re: Further attempts at building GnuCash with SQLite support
Date: Thu, 21 Dec 2017 08:34:23 +0300	[thread overview]
Message-ID: <87a7yctzj4.fsf@gmail.com> (raw)
In-Reply-To: <87vah34u32.fsf@gmail.com> (Gary Johnson's message of "Mon, 18 Dec 2017 16:14:25 -0500")


[-- Attachment #1.1: Type: text/plain, Size: 940 bytes --]

Hello Gary,

Is this issue still relevant?  I successfully builded your recipe on

    $ guix --version
    guix (GNU Guix) 57ae890fb3ae49878de9ef648d9c4dc397a99989

Gary Johnson <lambdatronic@gmail.com> writes:

[...]

> configure:21739: Search Path :/gnu/store/2clnv9i49dx33k4rr7aym5sfiryhysna-libdbi-drivers-sqlite-0.9.0/lib/dbd
> configure:21741: checking Looking for at least one supported DBD module
> configure:21761: gcc -o conftest -g -O2 -std=gnu99   conftest.c -ldl -lpthread  >&5
> configure:21761: $? = 0
> configure:21761: ./conftest
> configure:21761: $? = 255
> configure: program exited with status 255

[...]

My build log is differ from here:
--8<---------------cut here---------------start------------->8---
    checking Looking for at least one supported DBD module... SQLite3.
--8<---------------cut here---------------end--------------->8---

Build log attachment:

    guix build -f guix.scm --no-grafts --log-file


[-- Attachment #1.2: gnucash-with-dbi build log-file --]
[-- Type: application/octet-stream, Size: 93447 bytes --]

[-- Attachment #1.3: Type: text/plain, Size: 109 bytes --]


For convenience of others a recipe file.  You could build it with:

    guix build -f guix.scm --no-grafts


[-- Attachment #1.4: gnucash-with-dbi --]
[-- Type: text/plain, Size: 6834 bytes --]

(define-module (my-packages gnucash-with-dbi)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix store)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages databases)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages gnucash)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages icu4c)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages web)
  #:use-module (gnu packages webkit)
  #:use-module (gnu packages xml))

(define-public libdbi
  (package
    (name "libdbi")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri
        (string-append "https://versaweb.dl.sourceforge.net/project/libdbi/libdbi/libdbi-"
                       version "/libdbi-" version ".tar.gz"))
       (sha256
        (base32
         "00s5ra7hdlq25iv23nwf4h1v3kmbiyzx0v9bhggjiii4lpf6ryys"))))
    (build-system gnu-build-system)
    (home-page "http://libdbi.sourceforge.net/")
    (synopsis "Database-independent abstraction layer in C")
    (description
     "The libdbi framework implements a database-independent abstraction layer in C,
similar to the DBI/DBD layer in Perl. Writing one generic set of code,
programmers can leverage the power of multiple databases and multiple
simultaneous database connections by using this framework.")
    (license license:lgpl2.1+)))

(define-public libdbi-drivers-sqlite
  (package
    (name "libdbi-drivers-sqlite")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri
        (string-append "https://versaweb.dl.sourceforge.net/project/libdbi-drivers/libdbi-drivers/libdbi-drivers-"
                       version "/libdbi-drivers-" version ".tar.gz"))
       (sha256
        (base32
         "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"))))
    (build-system gnu-build-system)
    (propagated-inputs
     `(("libdbi" ,libdbi)
       ("sqlite" ,sqlite)))
    (arguments
     `(#:configure-flags '("--with-sqlite3"
                           ,(string-append "--with-dbi-libdir="
                                           (package-output (open-connection) libdbi)))))
    (home-page "http://libdbi-drivers.sourceforge.net/")
    (synopsis "Database-specific drivers for the libdbi framework")
    (description
     "The libdbi-drivers project provides the database-specific drivers for
the libdbi framework. The current version of libdbi-drivers will work
with any 0.9.x release of the framework. The drivers officially
supported by libdbi are MySQL, PostgreSQL, and SQLite3.")
    (license license:lgpl2.1+)))

(define-public gnucash-with-dbi
  (package
    (name "gnucash-with-dbi")
    (version "2.6.16")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
                           version "/gnucash-" version ".tar.bz2"))
       (sha256
        (base32
         "1088rssg9xgwi3wdfrhdcga46gby6lrd9a1fvn9zq456lscn4m9c"))
       (patches (search-patches "gnucash-price-quotes-perl.patch"))))
    (build-system gnu-build-system)
    (inputs
     `(("guile" ,guile-2.0)
       ("icu4c" ,icu4c)
       ("glib" ,glib)
       ("gtk" ,gtk+-2)
       ("goffice" ,goffice-0.8)
       ("libgnomecanvas" ,libgnomecanvas)
       ("libxml2" ,libxml2)
       ("libxslt" ,libxslt)
       ("webkitgtk" ,webkitgtk/gtk+-2)
       ("aqbanking" ,aqbanking)
       ("perl-date-manip" ,perl-date-manip)
       ("perl-finance-quote" ,perl-finance-quote)))
    (propagated-inputs
     `(("sqlite" ,sqlite)
       ("libdbi" ,libdbi)
       ("libdbi-drivers-sqlite" ,libdbi-drivers-sqlite)))
    (native-inputs
     `(("glib" ,glib "bin") ; glib-compile-schemas, etc.
       ("intltool" ,intltool)
       ("pkg-config" ,pkg-config)))
    (arguments
     `(#:tests? #f ;FIXME: failing at /qof/gnc-date/qof print date dmy buff
                #:configure-flags '("--enable-aqbanking"
                                    ,(string-append "--with-dbi-dbd-dir="
                                                    (package-output (open-connection) libdbi-drivers-sqlite)
                                                    "/lib/dbd"))
                #:phases
                (modify-phases %standard-phases
                  (add-after
                      'install 'wrap-programs
                    (lambda* (#:key inputs outputs #:allow-other-keys)
                      (for-each (lambda (prog)
                                  (wrap-program (string-append (assoc-ref outputs "out")
                                                               "/bin/" prog)
                                    `("PERL5LIB" ":" prefix
                                      ,(map (lambda (o)
                                              (string-append o "/lib/perl5/site_perl/"
                                                             ,(package-version perl)))
                                            (if (string=? prog "gnc-fq-helper")
                                                (list
                                                 ,@(transitive-input-references
                                                    'inputs
                                                    (map (lambda (l)
                                                           (assoc l (inputs)))
                                                         '("perl-finance-quote"
                                                           "perl-date-manip"))))
                                                (list
                                                 ,@(transitive-input-references
                                                    'inputs
                                                    (map (lambda (l)
                                                           (assoc l (inputs)))
                                                         '("perl-finance-quote")))))))))
                                '("gnucash"
                                  "gnc-fq-check"
                                  "gnc-fq-helper"
                                  "gnc-fq-dump")))))))
    (home-page "http://www.gnucash.org/")
    (synopsis "Personal and small business financial accounting software")
    (description
     "GnuCash is personal and professional financial-accounting
software. It can be used to track bank accounts, stocks, income and
expenses, based on the double-entry accounting practice. It includes
support for QIF/OFX/HBCI import and transaction matching. It also
automates several tasks, such as financial calculations or scheduled
transactions.")
    (license license:gpl3+)))

gnucash-with-dbi

[-- Attachment #1.5: Type: text/plain, Size: 15 bytes --]


Thanks,
Oleg.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2017-12-21  5:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-18 21:14 Further attempts at building GnuCash with SQLite support Gary Johnson
2017-12-21  5:34 ` Oleg Pykhalov [this message]
2017-12-24 21:49   ` Gary Johnson
2017-12-28 10:12     ` Oleg Pykhalov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a7yctzj4.fsf@gmail.com \
    --to=go.wigust@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=lambdatronic@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.