arduino-cli: Add core packages support
parent
621655be07
commit
84455f459d
|
@ -13,7 +13,7 @@ LICENSE= gnu-gpl-v3
|
|||
.include "../../mk/bsd.prefs.mk"
|
||||
|
||||
.if ${OPSYS} == "NetBSD"
|
||||
DEPENDS+= arduino-ctags>=5.8:../../wip/arduino-ctags
|
||||
DEPENDS+= arduino-ctags>=5.8.arduino11:../../wip/arduino-ctags
|
||||
DEPENDS+= arduino-dfu-discovery>=0.1.2:../../wip/arduino-dfu-discovery
|
||||
DEPENDS+= arduino-mdns-discovery>=1.0.9:../../wip/arduino-mdns-discovery
|
||||
DEPENDS+= arduino-serial-discovery>=1.4.0:../../wip/arduino-serial-discovery
|
||||
|
@ -21,7 +21,8 @@ DEPENDS+= arduino-serial-monitor>=0.13.0:../../wip/arduino-serial-monitor
|
|||
.endif
|
||||
|
||||
pre-build:
|
||||
${SED} -i 's|/usr/pkg|${PREFIX}|g' ${WRKSRC}/commands/instances.go
|
||||
${SED} -i 's|/usr/pkg|${LOCALBASE}|g' ${WRKSRC}/arduino/cores/packagemanager/install_uninstall.go
|
||||
${SED} -i 's|/usr/pkg|${LOCALBASE}|g' ${WRKSRC}/commands/instances.go
|
||||
|
||||
.include "go-modules.mk"
|
||||
.include "../../lang/go/go-module.mk"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
functional testing
|
|
@ -2121,7 +2121,8 @@ Size (rsc.io_quote_v3_@v_v3.1.0.mod) = 55 bytes
|
|||
BLAKE2s (rsc.io_sampler_@v_v1.3.0.mod) = 6d4d3ba7c381b9a923679a73562a7cf3d6b7d49f94f585f274c8955bb1b932b4
|
||||
SHA512 (rsc.io_sampler_@v_v1.3.0.mod) = 2137507eb25fbae419605e0cd6bca4cfa584110eebc276cd759a4dcb6f97e52928e5b2d9b276e76bcabcec3bbfc2c42f97fa29f54695d27fb00f9423e1638863
|
||||
Size (rsc.io_sampler_@v_v1.3.0.mod) = 88 bytes
|
||||
SHA1 (patch-commands_instances.go) = 622524ad142f34007dce9bd5edc7a43e19f7a3f5
|
||||
SHA1 (patch-arduino_cores_packagemanager_install__uninstall.go) = 541341b556a49832379b3718b171b6a8e741ae3b
|
||||
SHA1 (patch-commands_instances.go) = e6f9c0315a0d63c458d577aa71a0df6275349984
|
||||
SHA1 (patch-configuration_configuration.go) = fb7dd8e323668336f7c26b20b9252c4df5e73e68
|
||||
SHA1 (patch-executils_executils__netbsd.go) = 95ab98ab2c10fb4140a7477871331821e9e529ab
|
||||
SHA1 (patch-go.mod) = 00c02d207a282ac5253d8ccd98f5f88458e9e0f3
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
$NetBSD$
|
||||
|
||||
--- arduino/cores/packagemanager/install_uninstall.go.orig 2024-03-09 06:51:20.561238937 +0000
|
||||
+++ arduino/cores/packagemanager/install_uninstall.go
|
||||
@@ -19,11 +19,13 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
+ "path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/arduino/arduino-cli/arduino"
|
||||
"github.com/arduino/arduino-cli/arduino/cores"
|
||||
"github.com/arduino/arduino-cli/arduino/cores/packageindex"
|
||||
+ "github.com/arduino/arduino-cli/configuration"
|
||||
"github.com/arduino/arduino-cli/executils"
|
||||
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
|
||||
"github.com/arduino/go-paths-helper"
|
||||
@@ -79,6 +81,24 @@ func (pme *Explorer) DownloadAndInstallP
|
||||
skipPostInstall bool, skipPreUninstall bool) error {
|
||||
log := pme.log.WithField("platform", platformRelease)
|
||||
|
||||
+ // Search for third-party packages
|
||||
+ if runtime.GOOS == "netbsd" {
|
||||
+ prefixDir := paths.New("/usr/pkg")
|
||||
+ platformDir := filepath.Join("packages", platformRelease.Platform.Package.Name, "hardware", platformRelease.Platform.Name, platformRelease.Version.String())
|
||||
+ packageDir := prefixDir.Join("arduino15", platformDir)
|
||||
+ _, err := packageDir.IsDirCheck()
|
||||
+ if err != nil {
|
||||
+ return fmt.Errorf("%w", err)
|
||||
+ }
|
||||
+
|
||||
+ dataDir := configuration.Settings.GetString("directories.Data")
|
||||
+ destDir := paths.New(filepath.Join(dataDir, platformDir))
|
||||
+ if err := packageDir.CopyDirTo(destDir); err != nil {
|
||||
+ return fmt.Errorf("%w", err)
|
||||
+ }
|
||||
+ return nil
|
||||
+ }
|
||||
+
|
||||
// Prerequisite checks before install
|
||||
toolsToInstall := []*cores.ToolRelease{}
|
||||
for _, tool := range requiredTools {
|
|
@ -1,38 +1,32 @@
|
|||
$NetBSD$
|
||||
|
||||
--- commands/instances.go.orig 2024-02-13 11:40:35.243625117 +0000
|
||||
--- commands/instances.go.orig 2024-02-19 13:15:51.000000000 +0000
|
||||
+++ commands/instances.go
|
||||
@@ -19,7 +19,9 @@ import (
|
||||
"context"
|
||||
@@ -20,6 +20,7 @@ import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
+ "os"
|
||||
"path/filepath"
|
||||
+ "runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/arduino/arduino-cli/arduino"
|
||||
@@ -48,6 +50,28 @@ var tr = i18n.Tr
|
||||
@@ -48,6 +49,24 @@ var tr = i18n.Tr
|
||||
func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error {
|
||||
pme, release := pm.NewExplorer()
|
||||
defer release()
|
||||
+ // Search for third-party packages
|
||||
+ if runtime.GOOS == "netbsd" {
|
||||
+ prefixDir := paths.New("/usr/pkg")
|
||||
+ subDir := filepath.Join("packages", tool.Tool.Package.Name, "tools", tool.Tool.Name)
|
||||
+ packageDir := prefixDir.Join("arduino15", subDir)
|
||||
+ toolDir := filepath.Join("packages", tool.Tool.Package.Name, "tools", tool.Tool.Name, tool.Version.String())
|
||||
+ packageDir := prefixDir.Join("arduino15", toolDir)
|
||||
+ _, err := packageDir.IsDirCheck()
|
||||
+ if err != nil {
|
||||
+ return fmt.Errorf("%w", err)
|
||||
+ }
|
||||
+
|
||||
+ userHomeDir, err := os.UserHomeDir()
|
||||
+ if err != nil {
|
||||
+ return fmt.Errorf("%w", err)
|
||||
+ }
|
||||
+
|
||||
+ userDataDir := paths.New(filepath.Join(userHomeDir, ".arduino15", subDir))
|
||||
+ if err := packageDir.CopyDirTo(userDataDir); err != nil {
|
||||
+ dataDir := configuration.Settings.GetString("directories.Data")
|
||||
+ destDir := paths.New(filepath.Join(dataDir, toolDir))
|
||||
+ if err := packageDir.CopyDirTo(destDir); err != nil {
|
||||
+ return fmt.Errorf("%w", err)
|
||||
+ }
|
||||
+ return nil
|
||||
|
|
Loading…
Reference in New Issue