unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PACKAGE] musl libc
@ 2016-07-30 12:19 Vincent Legoll
  2016-08-02  8:45 ` ng0
  2016-08-02 14:01 ` Ricardo Wurmus
  0 siblings, 2 replies; 25+ messages in thread
From: Vincent Legoll @ 2016-07-30 12:19 UTC (permalink / raw)
  To: guix-devel

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

Hello,

Please, have a look at the attached musl libc packaging.

It may be of use for having smaller statically linked binaries
of selected packages.

Advise about how to finish the submission process, in which
scm file should this go ? I did it standalone, but it looks like
that's not the way things go in guix. Should it go with glibc ?

I'll post a sinit packaging that show how musl can be used.
The sinit package is a minimalistic /sbin/init replacement.

-- 
Vincent Legoll

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

;;; GNU Guix --- Functional package management for GNU
;;; Copyright <C2><A9> 2016 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

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

(define-public musl
  (package
    (name "musl")
    (version "1.1.15")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://www.musl-libc.org/releases/" name "-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "1ymhxkskivzph0q34zadwfglc5gyahqajm7chqqn2zraxv3lgr4p"))))
    (build-system gnu-build-system)
    (arguments `(#:tests? #f)) ; Musl has no tests

    (synopsis "New C standard library to power a new generation of Linux-based
devices")
    (description "The musl libc is lightweight, fast, simple, free, and strives
to be correct in the sense of standards-conformance and safety.")
    (home-page "http://www.musl-libc.org")
    (license (x11-style "file://COPYRIGHT"))))


^ permalink raw reply	[flat|nested] 25+ messages in thread
* Re: [PACKAGE] musl libc
@ 2016-08-03 13:25 David Craven
  2016-08-12 19:15 ` Ricardo Wurmus
  0 siblings, 1 reply; 25+ messages in thread
From: David Craven @ 2016-08-03 13:25 UTC (permalink / raw)
  To: guix-devel

> I just built musl and found that it also installs ?bin/musl-gcc?, a
> wrapper of sorts, but it doesn?t work as it depends on a ?gcc?
> executable to be available.

With gcc 6 the wrapper isn't necessary anymore. You can disable it
with "--disable-gcc-wrapper". Other configure-flags that we probably
want are "--enable-shared" "--enable-static".

Next step is getting a toolchain setup. Maybe you can take inspiration
from this PR here =)
https://github.com/NixOS/nixpkgs/pull/16217/files

^ permalink raw reply	[flat|nested] 25+ messages in thread
* Re: [PACKAGE] musl libc
@ 2016-08-08 16:47 David Craven
  2016-08-08 18:43 ` Vincent Legoll
  0 siblings, 1 reply; 25+ messages in thread
From: David Craven @ 2016-08-08 16:47 UTC (permalink / raw)
  To: guix-devel

Vincent, can you run file and readelf -d on the sinit binary you
compiled using the gcc-musl wrapper? That will tell us if it worked.

The output of readelf -d should look like this:

0x0000000000000001 (NEEDED)             Shared library: [libc.so]
0x000000000000001d (RUNPATH)           Library runpath:
[/nix/store/16c974l1kqra3cr475gcgy2gsii45liq-musl-1.1.14/lib]

and the output of file should look like this:

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically
linked, interpreter
/nix/store/16c974l1kqra3cr475gcgy2gsii45liq-musl-1.1.14/lib/libc.so,
not stripped

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

end of thread, other threads:[~2016-10-08 15:12 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-30 12:19 [PACKAGE] musl libc Vincent Legoll
2016-08-02  8:45 ` ng0
2016-08-02 14:01 ` Ricardo Wurmus
2016-08-02 20:18   ` Vincent Legoll
2016-08-03 11:24     ` Ricardo Wurmus
2016-08-03 11:38       ` Vincent Legoll
2016-08-03 12:35         ` Ricardo Wurmus
2016-08-06 12:05           ` ng0
2016-08-08 13:26             ` Vincent Legoll
2016-10-06 21:08               ` ng0
2016-10-08 12:38                 ` David Craven
2016-10-08 13:54                   ` ng0
2016-10-08 14:53                     ` David Craven
2016-10-08 15:12                       ` ng0
  -- strict thread matches above, loose matches on Subject: below --
2016-08-03 13:25 David Craven
2016-08-12 19:15 ` Ricardo Wurmus
2016-08-13  9:32   ` Ricardo Wurmus
2016-08-13  9:44     ` Vincent Legoll
2016-08-13  9:55       ` David Craven
2016-08-13 10:00         ` Vincent Legoll
2016-08-13 10:17           ` David Craven
2016-08-14  7:46             ` Ricardo Wurmus
2016-08-08 16:47 David Craven
2016-08-08 18:43 ` Vincent Legoll
2016-08-08 18:46   ` David Craven

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).