aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-containers/umoci/umoci_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-containers/umoci/umoci_git.bb')
-rw-r--r--recipes-containers/umoci/umoci_git.bb85
1 files changed, 85 insertions, 0 deletions
diff --git a/recipes-containers/umoci/umoci_git.bb b/recipes-containers/umoci/umoci_git.bb
new file mode 100644
index 00000000..2ed0af7d
--- /dev/null
+++ b/recipes-containers/umoci/umoci_git.bb
@@ -0,0 +1,85 @@
+HOMEPAGE = "https://github.com/openSUSE/umoci"
+SUMMARY = "umoci modifies Open Container images"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS:${PN} = "skopeo"
+RDEPENDS:${PN}:class-native = ""
+
+SRCREV_umoci = "33ec00665c66321f1b1f34ca7e6f370ac35c1233"
+SRC_URI = "git://github.com/opencontainers/umoci.git;branch=main;name=umoci;destsuffix=github.com/opencontainers/umoci;protocol=https \
+ "
+
+PV = "v0.4.7+git"
+S = "${WORKDIR}/github.com/opencontainers/umoci"
+GO_IMPORT = "github.com/opencontainers/umoci"
+
+inherit goarch
+inherit go
+
+COMPATIBLE_HOST = "^(?!mips).*"
+
+# This disables seccomp and apparmor, which are on by default in the
+# go package.
+EXTRA_OEMAKE="BUILDTAGS=''"
+
+
+do_compile:class-native () {
+ export GOARCH="${BUILD_GOARCH}"
+
+ # Pass the needed cflags/ldflags so that cgo can find the needed headers files and libraries
+ export CGO_ENABLED="1"
+ export CFLAGS="${BUILD_CFLAGS}"
+ export LDFLAGS="${BUILD_LDFLAGS}"
+ export CGO_CFLAGS="${BUILD_CFLAGS}"
+
+ # as of go 1.15.5, there are some flags the CGO doesn't like. Rather than
+ # clearing them all, we sed away the ones we don't want.
+ # export CGO_LDFLAGS="$(echo ${BUILD_LDFLAGS} | sed 's/-Wl,-O1//g' | sed 's/-Wl,--dynamic-linker.*?( \|$\)//g')"
+ export CC="${BUILD_CC}"
+ export LD="${BUILD_LD}"
+
+ export GOPATH="${WORKDIR}/git/"
+ export GO111MODULE=off
+
+ export STATIC_BUILD_FLAGS="-trimpath"
+
+ cd ${S}
+
+ # why static ? patchelf will be run on dynamic binaries and it breaks
+ # the executable (coredump)
+ # https://forum.snapcraft.io/t/patchelf-broke-my-binary/4928
+ # https://github.com/NixOS/patchelf/issues/146
+ oe_runmake umoci.static
+
+ # so the common install can find our binary
+ cp umoci.static umoci
+}
+
+do_compile() {
+ export GOARCH="${TARGET_GOARCH}"
+ export GOPATH="${WORKDIR}/git/"
+
+ # Pass the needed cflags/ldflags so that cgo
+ # can find the needed headers files and libraries
+ export CGO_ENABLED="1"
+ export CFLAGS=""
+ export LDFLAGS=""
+ export CGO_CFLAGS="${TARGET_CFLAGS}"
+ export CGO_LDFLAGS="${TARGET_LDFLAGS}"
+
+ export GO111MODULE=off
+
+ export BUILD_FLAGS="-trimpath"
+ cd ${S}
+
+ oe_runmake umoci
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/umoci ${D}/${sbindir}
+}
+
+INSANE_SKIP:${PN} += "ldflags already-stripped"
+BBCLASSEXTEND = "native nativesdk"