[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packing problem for instantmusic
From: |
Stefan Reichör |
Subject: |
Re: Packing problem for instantmusic |
Date: |
Tue, 02 Jan 2018 19:47:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Hi Alex!
> Hello,
>
> Since there is a permission error, I try to chmod some files and it
> works. Here is the code:
Thanks a lot!
It is working now for me as well.
I am running Guix as additional package manager on Ubuntu.
I had to set the following environment variable to make the video download
succeed:
export SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt
I have sent a patch for instantmusic.
Stefan.
>
> (define-public instantmusic
> (let ((commit "300891d09c703525215fa5a116b9294af1c923c8")
> (revision "1"))
> (package
> (name "instantmusic")
> (version (string-append "0.1-" revision "." (string-take commit 9)))
> (source (origin
> (method git-fetch)
> (uri (git-reference
> (url
> "https://github.com/yask123/Instant-Music-Downloader.git")
> (commit commit)))
> (file-name (string-append name "-" version "-checkout"))
> (sha256
> (base32
> "0j7qivaa04bpdz3anmgci5833dgiyfqqwq9fdrpl9m68b34gl773"))))
> (build-system python-build-system)
> (propagated-inputs
> `(("python-requests" ,python-requests)
> ("eyed3", eyed3)
> ("python-beautifulsoup4" ,python-beautifulsoup4)
> ("youtube-dl" ,youtube-dl)))
> (arguments
> '(#:modules ((guix build python-build-system)
> (guix build utils)
> (srfi srfi-26))
> #:phases (modify-phases %standard-phases
> (add-before 'build 'pre-build
> (lambda _
> (chdir "instantmusic-0.1")
> (for-each (cut chmod <> #o644)
> (find-files "instantmusic.egg-info"
> "PKG-INFO|.*\\.txt"))
> #t)))))
> (home-page "http://iyask.me/Instant-Music-Downloader/")
> (synopsis "Command line app to download a song from youtube")
> (description "Download a song from youtube in .mp3 format.")
> (license license:expat))))
>
>
> Stefan Reichör <address@hidden> writes:
>
>> Hi there,
>>
>> I am currently trying to package instantmusic.
>>
>> There are several things that I have already solved:
>>
>> - The official release is very old - so I use the latest git revision
>> - I listed the dependencies as propagated-inputs
>> - The build must be started in the directory instantmusic-0.1
>>
>> Here is what I have got so far:
>>
>> (define-public instantmusic
>> (let ((commit "300891d09c703525215fa5a116b9294af1c923c8")
>> (revision "1"))
>> (package
>> (name "instantmusic")
>> (version (string-append "0.1-" revision "." (string-take commit 9)))
>> (source (origin
>> (method git-fetch)
>> (uri (git-reference
>> (url
>> "https://github.com/yask123/Instant-Music-Downloader.git")
>> (commit commit)))
>> (file-name (string-append name "-" version "-checkout"))
>> (sha256
>> (base32
>> "0j7qivaa04bpdz3anmgci5833dgiyfqqwq9fdrpl9m68b34gl773"))))
>> (build-system python-build-system)
>> (propagated-inputs
>> `(("python-requests" ,python-requests)
>> ("eyed3", eyed3)
>> ("python-beautifulsoup4" ,python-beautifulsoup4)
>> ("youtube-dl" ,youtube-dl)))
>> (arguments
>> '(#:phases (modify-phases %standard-phases
>> (add-before 'build 'change-directory
>> (lambda _
>> (chdir "instantmusic-0.1")
>> #t)))))
>> (home-page "http://iyask.me/Instant-Music-Downloader/")
>> (synopsis "Command line app to download a song from youtube")
>> (description "Download a song from youtube in .mp3 format.")
>> (license license:expat))))
>>
>> Here are the last lines from the guix build output:
>> ,----
>> | starting phase `unpack'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/requirements.txt'
>> | -> `./requirements.txt'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/install.sh'
>> | -> `./install.sh'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/README.md'
>> | -> `./README.md'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/.travis.yml'
>> | -> `./.travis.yml'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/super_installer.py'
>> | -> `./super_installer.py'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/.gitignore'
>> | -> `./.gitignore'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/.gitattributes'
>> | -> `./.gitattributes'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/install.bat'
>> | -> `./install.bat'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/PKG-INFO'
>> | -> `./instantmusic-0.1/PKG-INFO'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/setup.cfg'
>> | -> `./instantmusic-0.1/setup.cfg'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/setup.py'
>> | -> `./instantmusic-0.1/setup.py'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/instantmusic/__init__.py'
>> | -> `./instantmusic-0.1/instantmusic/__init__.py'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/instantmusic.egg-info/dependency_links.txt'
>> | -> `./instantmusic-0.1/instantmusic.egg-info/dependency_links.txt'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/instantmusic.egg-info/PKG-INFO'
>> | -> `./instantmusic-0.1/instantmusic.egg-info/PKG-INFO'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/instantmusic.egg-info/top_level.txt'
>> | -> `./instantmusic-0.1/instantmusic.egg-info/top_level.txt'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/instantmusic.egg-info/SOURCES.txt'
>> | -> `./instantmusic-0.1/instantmusic.egg-info/SOURCES.txt'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/instantmusic.egg-info/not-zip-safe'
>> | -> `./instantmusic-0.1/instantmusic.egg-info/not-zip-safe'
>> |
>> `/gnu/store/8ssf3hmzjqr23am7zrjjkf2mz40dsmb7-instantmusic-0.1-1.300891d09-checkout/instantmusic-0.1/bin/instantmusic'
>> | -> `./instantmusic-0.1/bin/instantmusic'
>> | phase `unpack' succeeded after 0.0 seconds
>> | starting phase `ensure-no-mtimes-pre-1980'
>> | phase `ensure-no-mtimes-pre-1980' succeeded after 0.0 seconds
>> | starting phase `patch-usr-bin-file'
>> | phase `patch-usr-bin-file' succeeded after 0.0 seconds
>> | starting phase `patch-source-shebangs'
>> | patch-shebang: ./install.sh: changing `/bin/bash' to
>> | `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash'
>> | patch-shebang: ./instantmusic-0.1/bin/instantmusic: changing
>> | `/usr/bin/env python' to
>> |
>> `/gnu/store/v4i3zfiwk6vl0mhdz580diqs0p6sc8vg-python-wrapper-3.5.3/bin/python'
>> | patch-shebang: ./super_installer.py: changing `/usr/bin/env python'
>> | to
>> |
>> `/gnu/store/v4i3zfiwk6vl0mhdz580diqs0p6sc8vg-python-wrapper-3.5.3/bin/python'
>> | phase `patch-source-shebangs' succeeded after 0.0 seconds
>> | starting phase `patch-generated-file-shebangs'
>> | phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
>> | starting phase `change-directory'
>> | phase `change-directory' succeeded after 0.0 seconds
>> | starting phase `build'
>> | running "python setup.py" with command "build" and parameters ()
>> | running build
>> | running build_py
>> | creating build
>> | creating build/lib
>> | creating build/lib/instantmusic
>> | copying instantmusic/__init__.py -> build/lib/instantmusic
>> | running build_scripts
>> | creating build/scripts-3.5
>> | copying and adjusting bin/instantmusic -> build/scripts-3.5
>> | changing mode of build/scripts-3.5/instantmusic from 644 to 755
>> | phase `build' succeeded after 1.3 seconds
>> | starting phase `check'
>> | running "python setup.py" with command "test" and parameters ()
>> | running test
>> | running egg_info
>> | writing requirements to instantmusic.egg-info/requires.txt
>> | writing top-level names to instantmusic.egg-info/top_level.txt
>> | error: [Errno 13] Permission denied: 'instantmusic.egg-info/top_level.txt'
>> | phase `check' failed after 1.3 seconds
>> | builder for
>> |
>> `/gnu/store/vhv0w95nmzym5frdsysw0bhyidz2k4sb-instantmusic-0.1-1.300891d09.drv'
>> | failed with exit code 1
>> | @ build-failed
>> |
>> /gnu/store/vhv0w95nmzym5frdsysw0bhyidz2k4sb-instantmusic-0.1-1.300891d09.drv
>> | - 1 builder for
>> |
>> `/gnu/store/vhv0w95nmzym5frdsysw0bhyidz2k4sb-instantmusic-0.1-1.300891d09.drv'
>> | failed with exit code 1
>> | guix build: error: build failed: build of
>> |
>> `/gnu/store/vhv0w95nmzym5frdsysw0bhyidz2k4sb-instantmusic-0.1-1.300891d09.drv'
>> | failed
>> `----
>>
>> I sadly have no idea hwy the egg_info task is not able to access
>> instantmusic.egg-info/top_level.txt
>>
>> I looked in other package descriptions for egg_info. But I found nothing
>> useful.
>>
>> Does someone have a clue how to debug/fix such build problems?
>>
>> Thanks,
>> Stefan.