• 0 Posts
  • 18 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle


  • Heres an example, ebuilds are named package-version.ebuild and that version in the filename is used to define variables (such as $P here which is the name-version) to make new versions as simple as copying the ebuild with the new version in the filename.

    use_enable is used to generate the --enable-(option) or --disable-(option) as set by the user.

    For more info, see the devmanual. They’re nice relatively straightforward bash like PKGBUILDs, but with the repetitious stuff taken out.

    # Copyright 1999-2022 Gentoo Authors
    # Distributed under the terms of the GNU General Public License v2
    
    EAPI=8
    
    DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
    HOMEPAGE="https://www.gnu.org/software/libiconv/"
    SRC_URI="ftp://ftp.gnu.org/pub/gnu/libiconv/${P}.tar.gz"
    
    LICENSE="LGPL-2+ GPL-3+"
    SLOT="0"
    KEYWORDS="~amd64 ~ppc ~sparc ~x86"
    IUSE="nls"
    
    RDEPEND="!sys-libs/glibc"
    DEPEND="${RDEPEND}"
    
    src_configure() {
    	econf $(use_enable nls)
    }
    





  • eh, its true if you want it to be signed by microsoft, which some projects have forked out for, buut it was put into the spec for x86_64 systems that users can replace the keys. so you can make your own keys, and if you want to dual boot add microsoft’s keys to the ok to boot list.

    one of the signed projects is a shim that lets you approve whatever you want more or less; pretty much everything that talks about MOK refers back to this shim. many distributions use this shim






  • phoenix591@lemmy.phoenix591.comtoLinux@lemmy.mlAppimages, snaps and flatpaks
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 year ago

    package myself; I chose Gentoo (and previously Arch) in part because its reasonably easy to package things there.

    Most build systems are covered by eclasses ( libraries) that handle the repetitive minutia every package that build system needs.

    Here’s the tuba ebuild for example (from GURU, the Gentoo equivalent of the AUR), 90% of it is just listing the dependencies and telling it to use a few eclasses to handle everything else.

    Oh, and here’s the lemmy back end ebuild, the giant wall of crates is automatically generated/updated from a tool that reads the cargo files. (needed because Gentoo doesn’t allow internet access during the build for normal packages so crates are downloaded ahead of time)