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 <[email protected]> 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 <[email protected]>:
> 
> > ​Hello Pierre and Oleg
> >
> > Thanks a lot for the detailed and helpful answers, I will do accordingly
> > tomorrow night after work and report.
> > Cheers
> >
> >

(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)))

Reply via email to