From: Björn Esser <b.es...@pengutronix.de>

Fast, reliable, and secure dependency management for Node.js.

We use Yarn to generate an offline cache and a lock-file to be able to install
all needed Node.js-packages reproducibly. This works even in environments
without internet-connectivity, as long as the cache and the lock-file are in
reach.

Signed-off-by: Björn Esser <b.es...@pengutronix.de>
[uol: adjusted commit message, dropped CREDIT line & wrapped install into call
of world/execute]
Signed-off-by: Ulrich Ölmann <u.oelm...@pengutronix.de>
---
v3 --> v4: adjusted commit message
Range-diff of v5 against v4:
2:  c78fde2a6233 ! 2:  8b898ee41bae host-yarn: new package
    @@ Commit message
         reach.

         Signed-off-by: Björn Esser <b.es...@pengutronix.de>
    -    [uol: adjusted commit message]
    +    [uol: adjusted commit message, dropped CREDIT line & wrapped install 
into call
    +    of world/execute]
         Signed-off-by: Ulrich Ölmann <u.oelm...@pengutronix.de>

      ## rules/host-yarn.in (new) ##
    @@ rules/host-yarn.make (new)
     +#
     +# Copyright (C) 2017 by Juergen Borleis <j...@pengutronix.de>
     +#
    -+# See CREDITS for details about who has contributed to this project.
    -+#
     +# For further information about the PTXdist project and license conditions
     +# see the README file.
     +#
    @@ rules/host-yarn.make (new)
     +
     +$(STATEDIR)/host-yarn.install:
     +  @$(call targetinfo)
    -+  @install -pm 0755 $(HOST_YARN_SOURCE) $(PTXDIST_SYSROOT_HOST)/bin/yarn
    ++  @$(call world/execute, HOST_YARN, \
    ++          install -vDm 0755 $(HOST_YARN_SOURCE) \
    ++          $(HOST_YARN_PKGDIR)/bin/yarn)
     +  @$(call touch)
     +
     +# vim: syntax=make

 rules/host-yarn.in   |  6 +++++
 rules/host-yarn.make | 61 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100644 rules/host-yarn.in
 create mode 100644 rules/host-yarn.make

diff --git a/rules/host-yarn.in b/rules/host-yarn.in
new file mode 100644
index 000000000000..d98dd6c34620
--- /dev/null
+++ b/rules/host-yarn.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools_noprompt
+
+config HOST_YARN
+       tristate
+       default y if ALLYES
+       select HOST_NODEJS
diff --git a/rules/host-yarn.make b/rules/host-yarn.make
new file mode 100644
index 000000000000..16e04c05aee8
--- /dev/null
+++ b/rules/host-yarn.make
@@ -0,0 +1,61 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Juergen Borleis <j...@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+# 2019-May-05, Daniel Arnold, Updated to yarn 1.15.2
+# 2020-January-09, Björn Esser, Updated to yarn 1.21.1
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_YARN) += host-yarn
+
+#
+# Paths and names
+#
+HOST_YARN_VERSION      := 1.21.1
+HOST_YARN_MD5          := cf49e663e0f56aa15f1740c77354ebe2
+HOST_YARN              := yarn-$(HOST_YARN_VERSION)
+HOST_YARN_SUFFIX       := js
+HOST_YARN_URL          := 
https://github.com/yarnpkg/yarn/releases/download/v$(HOST_YARN_VERSION)/$(HOST_YARN).$(HOST_YARN_SUFFIX)
+HOST_YARN_SOURCE       := $(SRCDIR)/$(HOST_YARN).$(HOST_YARN_SUFFIX)
+
+# ----------------------------------------------------------------------------
+# Extract (nothing to be done here)
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-yarn.extract:
+       @$(call targetinfo)
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare (nothing to be done here)
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-yarn.prepare:
+       @$(call targetinfo)
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Compile (nothing to be done here)
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-yarn.compile:
+       @$(call targetinfo)
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-yarn.install:
+       @$(call targetinfo)
+       @$(call world/execute, HOST_YARN, \
+               install -vDm 0755 $(HOST_YARN_SOURCE) \
+               $(HOST_YARN_PKGDIR)/bin/yarn)
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.25.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to