[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#38687] [PATCH 1/2] gnu: Add lodepng.
From: |
Marius Bakke |
Subject: |
[bug#38687] [PATCH 1/2] gnu: Add lodepng. |
Date: |
Mon, 10 Feb 2020 22:14:48 +0100 |
User-agent: |
Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
Giacomo Leidi <address@hidden> writes:
> * gnu/packages/image.scm (lodepng): New variable.
[...]
> +(define-public lodepng
> + ;; The project doesn't seem to use any
> + ;; kind of meaningful versioning scheme.
> + (let ((commit "5a0dba103893e6b8084be13945a826663917d00a")
> + (revision "1")
> + (version "0.0.0"))
There is a LODEPNG_VERSION_STRING in lodepng.cpp, can you set the
"version" variable here to that?
> + (package
> + (name "lodepng")
> + (version (git-version version revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/lvandeve/lodepng")
> + (commit commit)))
> + (sha256
> + (base32
> + "0nvlba82mf4n7xfc3rz2g9wwgnrxpjw64p5dsjmj2r06g5m4l38a"))
> + (file-name (git-file-name name version))))
> + (build-system gnu-build-system)
> + (arguments
> + '(#:phases
> + (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'build
> + (lambda _
> + (setenv "CXXFLAGS" "-fPIC")
> + (invoke "make" "lodepng.o")
> + (invoke "make" "lodepng_util.o")
> + (invoke "ar" "rv" "liblodepng.a" "lodepng.o" "lodepng_util.o")
> + (invoke "g++" "-fPIC" "-O3"
> + "-o" "liblodepng.so"
> + "-shared" "lodepng.o" "lodepng_util.o")
> + #t))
> + (replace 'check
> + (lambda _
> + (invoke "make" "unittest")
> + (invoke "./unittest")
> + #t))
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (doc (string-append out "/share/doc"))
> + (lib (string-append out "/lib"))
> + (include (string-append out "/include")))
> + (install-file "lodepng.h" include)
> + (install-file "lodepng_util.h" include)
> + (install-file "liblodepng.a" lib)
We try to avoid static libraries in Guix, so no need to install this
file.
Otherwise LGTM.
signature.asc
Description: PGP signature