all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Trying to define a package
@ 2018-04-02 11:50 Arnaud B
  2018-04-02 14:23 ` Pierre Neidhardt
  0 siblings, 1 reply; 10+ messages in thread
From: Arnaud B @ 2018-04-02 11:50 UTC (permalink / raw)
  To: help-guix


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

Hello all,

I'm trying to create a package definition, following mainly the manual
pages :
- Packaging Guidelines
<https://www.gnu.org/software/guix/manual/html_node/Packaging-Guidelines.html#Packaging-Guidelines>
- Defining-Packages
<https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html#Defining-Packages>
- and Debugging-Build-Failures
<https://www.gnu.org/software/guix/manual/html_node/Debugging-Build-Failures.html#Debugging-Build-Failures>

In the attached .scm file, here is what I gathered it might look like as a
first try.
The thing is that I can not debug the build process, even though I use the
--keep-failed option : I'm not getting a temp build directory
(/tmp/guix-build-...) as I expect :
arnaud@brix ~$ guix build -f /home/arnaud/freefilesync.scm --keep-failed
guix build: error: #<unspecified>: not something we can build
arnaud@brix ~$ cd /tmp/
babel-10188XJP/      guix-inst/           mozilla_arnaud0/
emacs-guix-101889w1/ icecat_arnaud/       .overlayfs-workdir/
.esd-1000/           .ICE-unix/           .X11-unix/
arnaud@brix ~$
One thing to add is that the downloaded source file is not tar.gz file
format but zip file, perhaps that's part of the problem ?
This is a GuixSD install with guix pull done yesterday.

Thanks in advance
Arnaud
<https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html#Defining-Packages>

[-- Attachment #1.2: Type: text/html, Size: 2218 bytes --]

[-- Attachment #2: freefilesync.scm --]
[-- Type: text/x-scheme, Size: 917 bytes --]

(define-module (gnu packages freefilesync)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses)
  #:use-module (gnu packages gawk))

(define-public freefilesync
  (package
            (name "FreeFileSync")
            (version "9.9")
            (source (origin
                      (method url-fetch)
                      (uri "https://www.freefilesync.org/download/FreeFileSync_9.9_Source.zip")
		      (sha256
                         (base32
                            "0w59p5wkazrmyh9nq02wcpq4icb8k8w12f1mbm6a9mbbak4d7va3"))))
            (build-system gnu-build-system)
            (synopsis "FreeFileSync, Open Source File Synchroniszation")
            (description "multiplatform, C++, open source but comes with malware according to some")
            (home-page "https://www.freefilesync.org/")
            (license gpl3)))

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-02 11:50 Trying to define a package Arnaud B
@ 2018-04-02 14:23 ` Pierre Neidhardt
  2018-04-02 16:18   ` Oleg Pykhalov
  0 siblings, 1 reply; 10+ messages in thread
From: Pierre Neidhardt @ 2018-04-02 14:23 UTC (permalink / raw)
  To: Arnaud B; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1233 bytes --]


Arnaud B <arnaud.beaudhuin@gmail.com> writes:

> The thing is that I can not debug the build process, even though I use the
> --keep-failed option : I'm not getting a temp build directory
> (/tmp/guix-build-...) as I expect :

This is so because it fails too early, that is, before it builds.

The error is that when using `-f`, guix build _evaluates_ the target
file and builds the _result_.  See `guix build --help`.

The `define-public` does not return a `package`, hence the error.
Simply remove the `define-public` and it should work.

Alternatively, you can place your file in a folder pointed by
GUIX_PACKAGE_PATH, leave the `define-public` and build with `guix build
freefilesync --keep-failed`.

Don't forget that the declared module must match the path, so if you
stick to (gnu packages freefilesync) place the file in
$GUIX_PACKAGE_PATH/gnu/packages/freefilesync.scm.

> One thing to add is that the downloaded source file is not tar.gz file
> format but zip file, perhaps that's part of the problem ?

I think you need

    (native-inputs
     `(("unzip" ,unzip)))

And add the (gnu packages compression) module.

A nit: the package name should be lowercase I think.

Love the description, haha! :)

--
Pierre Neidhardt

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-02 14:23 ` Pierre Neidhardt
@ 2018-04-02 16:18   ` Oleg Pykhalov
  2018-04-02 19:53     ` Arnaud B
  0 siblings, 1 reply; 10+ messages in thread
From: Oleg Pykhalov @ 2018-04-02 16:18 UTC (permalink / raw)
  To: Arnaud B; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

Hello Arnaud,

Pierre Neidhardt <ambrevar@gmail.com> writes:

> Arnaud B <arnaud.beaudhuin@gmail.com> writes:

[…]

>> One thing to add is that the downloaded source file is not tar.gz file
>> format but zip file, perhaps that's part of the problem ?
>
> I think you need
>
>     (native-inputs
>      `(("unzip" ,unzip)))
>
> And add the (gnu packages compression) module.

You will also need to modify a ‘%standard-phases’ to unzip it.

Alternatively you could use ‘url-fetch/zipbomb’ from
‘guix/guix/download.scm’ instead of ‘url-fetch’.

Oleg.

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-02 16:18   ` Oleg Pykhalov
@ 2018-04-02 19:53     ` Arnaud B
  2018-04-03 17:14       ` Arnaud B
  0 siblings, 1 reply; 10+ messages in thread
From: Arnaud B @ 2018-04-02 19:53 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 149 bytes --]

​Hello Pierre and Oleg

Thanks a lot for the detailed and helpful answers, I will do accordingly
tomorrow night after work and report.
Cheers

[-- Attachment #2: Type: text/html, Size: 372 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-02 19:53     ` Arnaud B
@ 2018-04-03 17:14       ` Arnaud B
  2018-04-03 17:38         ` Pierre Neidhardt
  2018-04-03 19:27         ` Thomas Sigurdsen
  0 siblings, 2 replies; 10+ messages in thread
From: Arnaud B @ 2018-04-03 17:14 UTC (permalink / raw)
  To: help-guix


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

Hello everyone,

Well I'm happy to report that thanks to your advice I made some progress.
Using the scm file attached and the command :
*guix build -L /home/arnaud/guix_packages/gnu/packages/ -K -f
freefilesync.scm*
the build process starts as it should, the zip file is downloaded, checked
and unziped as needed, and the cpp files compile normally.
It stops at the configure script stage, apparently not finding the
configure command.
H
​ere is the relevant part :
















*phase `unpack' succeeded after 0.3 secondsstarting phase
`patch-usr-bin-file'phase `patch-usr-bin-file' succeeded after 0.0
secondsstarting phase `patch-source-shebangs'phase `patch-source-shebangs'
succeeded after 0.2 secondsstarting phase `configure'source directory:
"/tmp/guix-build-freefilesync-9.9.drv-0/source" (relative from build:
".")build directory:
"/tmp/guix-build-freefilesync-9.9.drv-0/source"configure flags:
("CONFIG_SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
"SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
"--prefix=/gnu/store/v07x6jfph9yy7bf54ibdb9z08snjn6lh-freefilesync-9.9"
"--enable-fast-install"
"--build=x86_64-unknown-linux-gnu")
/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash:
./configure: No such file or
directory                                              phase `configure'
failed after 0.0 secondsnote: keeping build directory
`/tmp/guix-build-freefilesync-9.9.drv-1'builder for
`/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
with exit code 1@ build-failed
/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv - 1
builder for
`/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
with exit code 1                     guix build: error: build failed: build
of `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv'
failed*
This is surprising to me as, according to the manual
<https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html>,
configure is part of the usual set of tools found in the gnu build system.
Let met quote :
*"The (...) gnu-build-system represents the familiar GNU Build System,
where packages may be configured, built, and installed with the usual
./configure && make && make check && make install command sequence."*
I checked that bash, bash-minimal, bash-completion are all found in the
store (actually in 3 differents versions after guix puil I guess).

So again I rely on your knowledge, hoping to get through eventually.

Many thanks in advance

Arnaud

PS : I reworded the package name and description as per the guidelines.


2018-04-02 21:53 GMT+02:00 Arnaud B <arnaud.beaudhuin@gmail.com>:

> ​Hello Pierre and Oleg
>
> Thanks a lot for the detailed and helpful answers, I will do accordingly
> tomorrow night after work and report.
> Cheers
>
>

[-- Attachment #1.2: Type: text/html, Size: 4847 bytes --]

[-- Attachment #2: freefilesync.scm --]
[-- Type: text/x-scheme, Size: 884 bytes --]

(use-modules
  (guix)
  (guix packages)
  (guix download)
  (guix build-system gnu)
  (guix licenses)
  (gnu packages compression))

(package
 (name "freefilesync")
 (version "9.9")
 (source (origin
	  (method url-fetch/zipbomb)
	  (uri "https://www.freefilesync.org/download/FreeFileSync_9.9_Source.zip")
	  (sha256
	   (base32
	    "0w59p5wkazrmyh9nq02wcpq4icb8k8w12f1mbm6a9mbbak4d7va3"))))
 (build-system gnu-build-system)
 (native-inputs `(("unzip" ,unzip)))
 (synopsis "File synchronization through a GUI")
 (description "Here is an alternative to Unison, written in C++ ; it is an open source crossplatform tool that has been developped for years. Synchronization is easily setup, bidirectionnal and reliable. Beware of unwanted crapware bundled with the Windows binaries through the installer, if you need these.")
 (home-page "https://www.freefilesync.org/")
 (license gpl3))

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-03 17:14       ` Arnaud B
@ 2018-04-03 17:38         ` Pierre Neidhardt
  2018-04-03 19:27         ` Thomas Sigurdsen
  1 sibling, 0 replies; 10+ messages in thread
From: Pierre Neidhardt @ 2018-04-03 17:38 UTC (permalink / raw)
  To: Arnaud B; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 760 bytes --]


Arnaud B <arnaud.beaudhuin@gmail.com> writes:

> *"The (...) gnu-build-system represents the familiar GNU Build System,
> where packages may be configured, built, and installed with the usual
> ./configure && make && make check && make install command sequence."*
> I checked that bash, bash-minimal, bash-completion are all found in the
> store (actually in 3 differents versions after guix puil I guess).

But are they found in your user PATH?

If bash-minimal and bash are not installed in your user session and you
run ~guix build...~ directly, the failure is to be expected.

Two solutions here:

- Install all the required tools in your user profile.
- Use ~guix environment freefilesync...~.  Cf. the manual.

-- 
Pierre Neidhardt

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-03 17:14       ` Arnaud B
  2018-04-03 17:38         ` Pierre Neidhardt
@ 2018-04-03 19:27         ` Thomas Sigurdsen
  2018-04-03 19:41           ` Thomas Sigurdsen
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Sigurdsen @ 2018-04-03 19:27 UTC (permalink / raw)
  To: Arnaud B; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 3924 bytes --]

Hi Arnaud.

Had a look at your package, it does not have the configure script where
build-system gnu is expecting. I couldn't see it anywhere else either.

I've made a few changes that I attached. With this you can put the file in a
directory that you append to your $GUIX_PACKAGE_PATH and then just run 'guix
build freefilesync'.

I see the License file has three other licenses in addition to GPL3. But the
names look like free software too (though I'm not a lawyer). No idea how we
handle cases like that.

Also, the rest of the code tree looks very non-standard as far as the tools
I'm used go... Which is probably why you are having trouble building it.

Hope that helps a little.

Thomas

On Tue, 3 Apr 2018 19:14:34 +0200
Arnaud B <arnaud.beaudhuin@gmail.com> wrote:

> Hello everyone,
> 
> Well I'm happy to report that thanks to your advice I made some progress.
> Using the scm file attached and the command :
> *guix build -L /home/arnaud/guix_packages/gnu/packages/ -K -f
> freefilesync.scm*
> the build process starts as it should, the zip file is downloaded, checked
> and unziped as needed, and the cpp files compile normally.
> It stops at the configure script stage, apparently not finding the
> configure command.
> H
> ​ere is the relevant part :
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *phase `unpack' succeeded after 0.3 secondsstarting phase
> `patch-usr-bin-file'phase `patch-usr-bin-file' succeeded after 0.0
> secondsstarting phase `patch-source-shebangs'phase `patch-source-shebangs'
> succeeded after 0.2 secondsstarting phase `configure'source directory:
> "/tmp/guix-build-freefilesync-9.9.drv-0/source" (relative from build:
> ".")build directory:
> "/tmp/guix-build-freefilesync-9.9.drv-0/source"configure flags:
> ("CONFIG_SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
> "SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
> "--prefix=/gnu/store/v07x6jfph9yy7bf54ibdb9z08snjn6lh-freefilesync-9.9"
> "--enable-fast-install"
> "--build=x86_64-unknown-linux-gnu")
> /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash:
> ./configure: No such file or
> directory                                              phase `configure'
> failed after 0.0 secondsnote: keeping build directory
> `/tmp/guix-build-freefilesync-9.9.drv-1'builder for
> `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
> with exit code 1@ build-failed
> /gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv - 1
> builder for
> `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
> with exit code 1                     guix build: error: build failed: build
> of `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv'
> failed*
> This is surprising to me as, according to the manual
> <https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html>,
> configure is part of the usual set of tools found in the gnu build system.
> Let met quote :
> *"The (...) gnu-build-system represents the familiar GNU Build System,
> where packages may be configured, built, and installed with the usual
> ./configure && make && make check && make install command sequence."*
> I checked that bash, bash-minimal, bash-completion are all found in the
> store (actually in 3 differents versions after guix puil I guess).
> 
> So again I rely on your knowledge, hoping to get through eventually.
> 
> Many thanks in advance
> 
> Arnaud
> 
> PS : I reworded the package name and description as per the guidelines.
> 
> 
> 2018-04-02 21:53 GMT+02:00 Arnaud B <arnaud.beaudhuin@gmail.com>:
> 
> > ​Hello Pierre and Oleg
> >
> > Thanks a lot for the detailed and helpful answers, I will do accordingly
> > tomorrow night after work and report.
> > Cheers
> >
> >


[-- Attachment #2: freefilesync.scm --]
[-- Type: text/x-scheme, Size: 1144 bytes --]


(define-module (freefilesync)
  #:use-module (guix)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages compression))

(define-public freefilesync
  (package
   (name "freefilesync")
   (version "9.9")
   (source (origin
            (method url-fetch/zipbomb)
            (uri "https://www.freefilesync.org/download/FreeFileSync_9.9_Source.zip")
            (sha256
             (base32
              "0w59p5wkazrmyh9nq02wcpq4icb8k8w12f1mbm6a9mbbak4d7va3"))))
   (build-system gnu-build-system)
   (native-inputs `(("unzip" ,unzip)
                    ("bash" ,bash)))
   (synopsis "File synchronization through a GUI")
   (description "Here is an alternative to Unison, written in C++ ; it is an open source crossplatform tool that has been developped for years. Synchronization is easily setup, bidirectionnal and reliable. Beware of unwanted crapware bundled with the Windows binaries through the installer, if you need these.")
   (home-page "https://www.freefilesync.org/")
   (license gpl3)))

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-03 19:27         ` Thomas Sigurdsen
@ 2018-04-03 19:41           ` Thomas Sigurdsen
  2018-04-03 21:18             ` Arnaud B
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Sigurdsen @ 2018-04-03 19:41 UTC (permalink / raw)
  To: Arnaud B; +Cc: help-guix

Haha, I see that I added bash because I misread the error and someone
mentioned bash was needed.

Bash is not needed. You can delete the input for bash both the use-module and
the native-input bit. Be careful of matching parenthesis.

On Tue, 3 Apr 2018 21:27:16 +0200
Thomas Sigurdsen <thomas.sigurdsen@gmail.com> wrote:

> Hi Arnaud.
> 
> Had a look at your package, it does not have the configure script where
> build-system gnu is expecting. I couldn't see it anywhere else either.
> 
> I've made a few changes that I attached. With this you can put the file in a
> directory that you append to your $GUIX_PACKAGE_PATH and then just run 'guix
> build freefilesync'.
> 
> I see the License file has three other licenses in addition to GPL3. But the
> names look like free software too (though I'm not a lawyer). No idea how we
> handle cases like that.
> 
> Also, the rest of the code tree looks very non-standard as far as the tools
> I'm used go... Which is probably why you are having trouble building it.
> 
> Hope that helps a little.
> 
> Thomas
> 
> On Tue, 3 Apr 2018 19:14:34 +0200
> Arnaud B <arnaud.beaudhuin@gmail.com> wrote:
> 
> > Hello everyone,
> > 
> > Well I'm happy to report that thanks to your advice I made some progress.
> > Using the scm file attached and the command :
> > *guix build -L /home/arnaud/guix_packages/gnu/packages/ -K -f
> > freefilesync.scm*
> > the build process starts as it should, the zip file is downloaded, checked
> > and unziped as needed, and the cpp files compile normally.
> > It stops at the configure script stage, apparently not finding the
> > configure command.
> > H
> > ​ere is the relevant part :
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > *phase `unpack' succeeded after 0.3 secondsstarting phase
> > `patch-usr-bin-file'phase `patch-usr-bin-file' succeeded after 0.0
> > secondsstarting phase `patch-source-shebangs'phase `patch-source-shebangs'
> > succeeded after 0.2 secondsstarting phase `configure'source directory:
> > "/tmp/guix-build-freefilesync-9.9.drv-0/source" (relative from build:
> > ".")build directory:
> > "/tmp/guix-build-freefilesync-9.9.drv-0/source"configure flags:
> > ("CONFIG_SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
> > "SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
> > "--prefix=/gnu/store/v07x6jfph9yy7bf54ibdb9z08snjn6lh-freefilesync-9.9"
> > "--enable-fast-install"
> > "--build=x86_64-unknown-linux-gnu")
> > /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash:
> > ./configure: No such file or
> > directory                                              phase `configure'
> > failed after 0.0 secondsnote: keeping build directory
> > `/tmp/guix-build-freefilesync-9.9.drv-1'builder for
> > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
> > with exit code 1@ build-failed
> > /gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv - 1
> > builder for
> > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
> > with exit code 1                     guix build: error: build failed:
> > build of
> > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed*
> > This is surprising to me as, according to the manual
> > <https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html>,
> > configure is part of the usual set of tools found in the gnu build system.
> > Let met quote :
> > *"The (...) gnu-build-system represents the familiar GNU Build System,
> > where packages may be configured, built, and installed with the usual
> > ./configure && make && make check && make install command sequence."*
> > I checked that bash, bash-minimal, bash-completion are all found in the
> > store (actually in 3 differents versions after guix puil I guess).
> > 
> > So again I rely on your knowledge, hoping to get through eventually.
> > 
> > Many thanks in advance
> > 
> > Arnaud
> > 
> > PS : I reworded the package name and description as per the guidelines.
> > 
> > 
> > 2018-04-02 21:53 GMT+02:00 Arnaud B <arnaud.beaudhuin@gmail.com>:
> > 
> > > ​Hello Pierre and Oleg
> > >
> > > Thanks a lot for the detailed and helpful answers, I will do accordingly
> > > tomorrow night after work and report.
> > > Cheers
> > >
> > >
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-03 19:41           ` Thomas Sigurdsen
@ 2018-04-03 21:18             ` Arnaud B
  2018-04-03 21:54               ` Arnaud B
  0 siblings, 1 reply; 10+ messages in thread
From: Arnaud B @ 2018-04-03 21:18 UTC (permalink / raw)
  Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 6123 bytes --]

OK I wrongly assumed that the 3 bash packages, being listed in the system
packages, did not need to be explicitly installed in order to be used by
(gnu build system). So now i've corrected that and they're in my user path.
arnaud@brix ~$ guix package --search-paths
export PATH="/home/arnaud/.guix-profile/bin:/home/arnaud/.guix-profile/sbin"
*export BASH_LOADABLES_PATH="/home/arnaud/.guix-profile/lib/bash"*
export GUIX_GTK2_PATH="/home/arnaud/.guix-profile/lib/gtk-2.0"
export XDG_DATA_DIRS="/home/arnaud/.guix-profile/share"
export GIO_EXTRA_MODULES="/home/arnaud/.guix-profile/lib/gio/modules"
export
PKG_CONFIG_PATH="/home/arnaud/.guix-profile/lib/pkgconfig:/home/arnaud/.guix-profile/share/pkgconfig"

export C_INCLUDE_PATH="/home/arnaud/.guix-profile/include"
export CPLUS_INCLUDE_PATH="/home/arnaud/.guix-profile/include"
export LIBRARY_PATH="/home/arnaud/.guix-profile/lib"
export INFOPATH="/home/arnaud/.guix-profile/share/info"
arnaud@brix ~$
Still, the result is the same.
As Thomas kindly noticed, there actually is no configure script provided
anywhere in the source code, so perhaps the Makefile can be directly
invoked, skipping the usual configure stage ?
In the meantime I'm going to try the environment definition route as well.
Thanks for your help, really appreciated !

2018-04-03 21:41 GMT+02:00 Thomas Sigurdsen <thomas.sigurdsen@gmail.com>:

> Haha, I see that I added bash because I misread the error and someone
> mentioned bash was needed.
>
> Bash is not needed. You can delete the input for bash both the use-module
> and
> the native-input bit. Be careful of matching parenthesis.
>
> On Tue, 3 Apr 2018 21:27:16 +0200
> Thomas Sigurdsen <thomas.sigurdsen@gmail.com> wrote:
>
> > Hi Arnaud.
> >
> > Had a look at your package, it does not have the configure script where
> > build-system gnu is expecting. I couldn't see it anywhere else either.
> >
> > I've made a few changes that I attached. With this you can put the file
> in a
> > directory that you append to your $GUIX_PACKAGE_PATH and then just run
> 'guix
> > build freefilesync'.
> >
> > I see the License file has three other licenses in addition to GPL3. But
> the
> > names look like free software too (though I'm not a lawyer). No idea how
> we
> > handle cases like that.
> >
> > Also, the rest of the code tree looks very non-standard as far as the
> tools
> > I'm used go... Which is probably why you are having trouble building it.
> >
> > Hope that helps a little.
> >
> > Thomas
> >
> > On Tue, 3 Apr 2018 19:14:34 +0200
> > Arnaud B <arnaud.beaudhuin@gmail.com> wrote:
> >
> > > Hello everyone,
> > >
> > > Well I'm happy to report that thanks to your advice I made some
> progress.
> > > Using the scm file attached and the command :
> > > *guix build -L /home/arnaud/guix_packages/gnu/packages/ -K -f
> > > freefilesync.scm*
> > > the build process starts as it should, the zip file is downloaded,
> checked
> > > and unziped as needed, and the cpp files compile normally.
> > > It stops at the configure script stage, apparently not finding the
> > > configure command.
> > > H
> > > ​ere is the relevant part :
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > *phase `unpack' succeeded after 0.3 secondsstarting phase
> > > `patch-usr-bin-file'phase `patch-usr-bin-file' succeeded after 0.0
> > > secondsstarting phase `patch-source-shebangs'phase
> `patch-source-shebangs'
> > > succeeded after 0.2 secondsstarting phase `configure'source directory:
> > > "/tmp/guix-build-freefilesync-9.9.drv-0/source" (relative from build:
> > > ".")build directory:
> > > "/tmp/guix-build-freefilesync-9.9.drv-0/source"configure flags:
> > > ("CONFIG_SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgim
> l1-bash-minimal-4.4.12/bin/bash"
> > > "SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgim
> l1-bash-minimal-4.4.12/bin/bash"
> > > "--prefix=/gnu/store/v07x6jfph9yy7bf54ibdb9z08snjn6
> lh-freefilesync-9.9"
> > > "--enable-fast-install"
> > > "--build=x86_64-unknown-linux-gnu")
> > > /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/
> bash:
> > > ./configure: No such file or
> > > directory                                              phase
> `configure'
> > > failed after 0.0 secondsnote: keeping build directory
> > > `/tmp/guix-build-freefilesync-9.9.drv-1'builder for
> > > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv'
> failed
> > > with exit code 1@ build-failed
> > > /gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv - 1
> > > builder for
> > > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv'
> failed
> > > with exit code 1                     guix build: error: build failed:
> > > build of
> > > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv'
> failed*
> > > This is surprising to me as, according to the manual
> > > <https://www.gnu.org/software/guix/manual/html_node/
> Defining-Packages.html>,
> > > configure is part of the usual set of tools found in the gnu build
> system.
> > > Let met quote :
> > > *"The (...) gnu-build-system represents the familiar GNU Build System,
> > > where packages may be configured, built, and installed with the usual
> > > ./configure && make && make check && make install command sequence."*
> > > I checked that bash, bash-minimal, bash-completion are all found in the
> > > store (actually in 3 differents versions after guix puil I guess).
> > >
> > > So again I rely on your knowledge, hoping to get through eventually.
> > >
> > > Many thanks in advance
> > >
> > > Arnaud
> > >
> > > PS : I reworded the package name and description as per the guidelines.
> > >
> > >
> > > 2018-04-02 21:53 GMT+02:00 Arnaud B <arnaud.beaudhuin@gmail.com>:
> > >
> > > > ​Hello Pierre and Oleg
> > > >
> > > > Thanks a lot for the detailed and helpful answers, I will do
> accordingly
> > > > tomorrow night after work and report.
> > > > Cheers
> > > >
> > > >
> >
>
>

[-- Attachment #2: Type: text/html, Size: 8580 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Trying to define a package
  2018-04-03 21:18             ` Arnaud B
@ 2018-04-03 21:54               ` Arnaud B
  0 siblings, 0 replies; 10+ messages in thread
From: Arnaud B @ 2018-04-03 21:54 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 1356 bytes --]

Well I just tried, reading that it's doable, according to section 4.2 of
the manual.

​So I added ​one line right after (build-system gnu-build-system) :
(arguments '(#:phases (modify-phases %standard-phases (delete 'configure))))

And logically the outcome changed :
phase `unpack' succeeded after 0.1 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
phase `patch-source-shebangs' succeeded after 0.1 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.2 seconds
starting phase `build'
make: *** No targets specified and no makefile found.  Stop.
phase `build' failed after 0.1 seconds
builder for
`/gnu/store/s0diig2i0533r6sl7iib9pmskpx8ri4a-freefilesync-9.9.drv' failed
with exit code 1
@ build-failed
/gnu/store/s0diig2i0533r6sl7iib9pmskpx8ri4a-freefilesync-9.9.drv - 1
builder for `/gnu/s
tore/s0diig2i0533r6sl7iib9pmskpx8ri4a-freefilesync-9.9.drv' failed with
exit code 1
guix build: error: build failed: build of
`/gnu/store/s0diig2i0533r6sl7iib9pmskpx8ri4a-freefilesync-9.9
.drv'
failed

arnaud@brix ~/guix_packages/gnu/packages$

Getting late tonight but tomorrow pointing directly to the provided
Makefile might help ?
Cheers and thanks for reading so far :)

[-- Attachment #2: Type: text/html, Size: 2869 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-04-03 21:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-02 11:50 Trying to define a package Arnaud B
2018-04-02 14:23 ` Pierre Neidhardt
2018-04-02 16:18   ` Oleg Pykhalov
2018-04-02 19:53     ` Arnaud B
2018-04-03 17:14       ` Arnaud B
2018-04-03 17:38         ` Pierre Neidhardt
2018-04-03 19:27         ` Thomas Sigurdsen
2018-04-03 19:41           ` Thomas Sigurdsen
2018-04-03 21:18             ` Arnaud B
2018-04-03 21:54               ` Arnaud B

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.