summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoryjun1232020-08-01 21:23:30 +0800
committeryjun1232020-08-01 21:23:30 +0800
commit310bf7b6b0e033de51c2a4a655209a8a1bf5faca (patch)
tree570f3f1590ef70a8def7aaa63cb82071a255dc5e
downloadaur-310bf7b6b0e033de51c2a4a655209a8a1bf5faca.tar.gz
initial commit
-rw-r--r--.INSTALL6
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD71
-rwxr-xr-xopenmv-ide.desktop11
-rw-r--r--openmv-ide.pngbin0 -> 10082 bytes
-rw-r--r--openmv-ide.qs81
6 files changed, 198 insertions, 0 deletions
diff --git a/.INSTALL b/.INSTALL
new file mode 100644
index 000000000000..00c8ac855473
--- /dev/null
+++ b/.INSTALL
@@ -0,0 +1,6 @@
+post_install() {
+ udevadm control --reload-rules
+}
+post_upgrade() {
+ udevadm control --reload-rules
+}
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..0c4faa2c2888
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = openmv-ide-bin
+ pkgdesc = QtCreator based OpenMV IDE.
+ pkgver = 2.6.0
+ pkgrel = 1
+ url = https://github.com/openmv/openmv-ide
+ install = .INSTALL
+ arch = x86_64
+ arch = i686
+ license = MIT
+ depends = libpng
+ depends = libusb
+ provides = openmv-ide
+ conflicts = openmv-ide
+ options = !strip
+ source = https://raw.githubusercontent.com/openmv/openmv-ide/master/LICENSE
+ source = openmv-ide.qs
+ source = openmv-ide.desktop
+ source = openmv-ide.png
+ sha256sums = 46f06683b87cff5215e8dd427142983f84474b6a383c96d51e9d0592c5f1b0ed
+ sha256sums = f88d7948cd07a7a7c8e9cc7030eff7eccd348880d68c6846454e7473d4bafd11
+ sha256sums = c3b6bc073a98169ce988424663d14ca802d38726db7aea14b3c18e31216e23a5
+ sha256sums = 11b3fe3f7de494aa7e45050327c3a5300596e5f03717fd3f469f6b8b8e1e7f55
+ source_x86_64 = openmv-ide-2.6.0-x86_64.run::https://github.com/openmv/openmv-ide/releases/download/v2.6.0/openmv-ide-linux-x86_64-2.6.0.run
+ sha256sums_x86_64 = 4e9faa8478623347151f0d844e46c601c43afe0a5930f995d37c15fd298b46c6
+ source_i686 = openmv-ide-2.6.0-i686.run::https://github.com/openmv/openmv-ide/releases/download/v2.6.0/openmv-ide-linux-x86-2.6.0.run
+ sha256sums_i686 = ebdcdd45e5d70f836b8d622ece17aee1b01dda0dc6e7a44e97736f9cf73f18f9
+
+pkgname = openmv-ide-bin
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..047b65873f63
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,71 @@
+# Maintainer: yjun <jerrysteve1101@gmail.com>
+
+pkgname=openmv-ide-bin
+_pkgname=${pkgname%-bin}
+pkgver=2.6.0
+pkgrel=1
+pkgdesc="QtCreator based OpenMV IDE."
+arch=('x86_64' 'i686')
+url="https://github.com/openmv/openmv-ide"
+license=('MIT')
+depends=('libpng' 'libusb')
+provides=("$_pkgname")
+conflicts=("$_pkgname")
+options=('!strip')
+install='.INSTALL'
+source=('https://raw.githubusercontent.com/openmv/openmv-ide/master/LICENSE'
+ "${_pkgname}.qs"
+ "${_pkgname}.desktop"
+ "${_pkgname}.png")
+source_x86_64=("${_pkgname}-${pkgver}-x86_64.run::https://github.com/openmv/openmv-ide/releases/download/v${pkgver}/${_pkgname}-linux-x86_64-${pkgver}.run")
+source_i686=("${_pkgname}-${pkgver}-i686.run::https://github.com/openmv/openmv-ide/releases/download/v${pkgver}/${_pkgname}-linux-x86-${pkgver}.run")
+sha256sums=('46f06683b87cff5215e8dd427142983f84474b6a383c96d51e9d0592c5f1b0ed'
+ 'f88d7948cd07a7a7c8e9cc7030eff7eccd348880d68c6846454e7473d4bafd11'
+ 'c3b6bc073a98169ce988424663d14ca802d38726db7aea14b3c18e31216e23a5'
+ '11b3fe3f7de494aa7e45050327c3a5300596e5f03717fd3f469f6b8b8e1e7f55')
+sha256sums_x86_64=('4e9faa8478623347151f0d844e46c601c43afe0a5930f995d37c15fd298b46c6')
+sha256sums_i686=('ebdcdd45e5d70f836b8d622ece17aee1b01dda0dc6e7a44e97736f9cf73f18f9')
+
+prepare() {
+ sed -i "s|/tmp/QT|$srcdir/$_pkgname|g" ${_pkgname}.qs
+ rm -rf ${srcdir}/${_pkgname}
+ chmod u+x ${_pkgname}-${pkgver}-$CARCH.run
+ ./${_pkgname}-${pkgver}-$CARCH.run -platform minimal --script ${_pkgname}.qs > /dev/null 2>&1
+}
+
+package() {
+ #binary
+ install -Dm755 ${srcdir}/${_pkgname}/bin/${_pkgname/-} ${pkgdir}/opt/${_pkgname}/bin/${_pkgname/-}
+ install -Dm644 ${srcdir}/${_pkgname}/bin/qt.conf ${pkgdir}/opt/${_pkgname}/bin/qt.conf
+
+ # lib
+ install -dm755 ${pkgdir}/opt/${_pkgname}/lib
+ mv ${srcdir}/${_pkgname}/lib/qtcreator ${pkgdir}/opt/${_pkgname}/lib
+ mv ${srcdir}/${_pkgname}/lib/Qt ${pkgdir}/opt/${_pkgname}/lib/Qt
+
+ # doc
+ install -Dm644 -t ${pkgdir}/usr/share/doc/${_pkgname}/ ${srcdir}/${_pkgname}/README.txt
+
+ # share
+ install -dm755 ${pkgdir}/opt/${_pkgname}/share
+ mv ${srcdir}/${_pkgname}/share/qtcreator ${pkgdir}/opt/${_pkgname}/share
+
+ # desktop
+ install -Dm644 ${srcdir}/${_pkgname}.desktop ${pkgdir}/usr/share/applications/${_pkgname}.desktop
+
+ # icon
+ install -Dm644 ${srcdir}/${_pkgname}.png ${pkgdir}/usr/share/pixmaps/${_pkgname}.png
+
+ # license
+ install -Dm644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+ # soft link
+ install -dm755 ${pkgdir}/usr/bin
+ ln -s /opt/${_pkgname}/bin/${_pkgname/-} ${pkgdir}/usr/bin/${_pkgname/-}
+
+ # udev
+ install -Dm644 ${pkgdir}/opt/${_pkgname}/share/qtcreator/pydfu/50-openmv.rules ${pkgdir}/etc/udev/rules.d/50-openmv.rules
+}
+
+
+# vim: set sw=2 ts=2 et:
diff --git a/openmv-ide.desktop b/openmv-ide.desktop
new file mode 100755
index 000000000000..31c4cb991747
--- /dev/null
+++ b/openmv-ide.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Exec=openmvide
+Path=/opt/openmv-ide
+Icon=openmv-ide
+Name=OpenMV IDE
+GenericName=The IDE of choice for OpenMV Cam Development.
+GenericName[de]=Die IDE der Wahl zur OpenMV Cam Entwicklung
+Terminal=false
+Categories=Development;IDE;
+MimeType=text/x-python;
diff --git a/openmv-ide.png b/openmv-ide.png
new file mode 100644
index 000000000000..d732a923a73a
--- /dev/null
+++ b/openmv-ide.png
Binary files differ
diff --git a/openmv-ide.qs b/openmv-ide.qs
new file mode 100644
index 000000000000..9af4bd48fc2f
--- /dev/null
+++ b/openmv-ide.qs
@@ -0,0 +1,81 @@
+function Controller() {
+ installer.autoRejectMessageBoxes();
+ installer.setMessageBoxAutomaticAnswer("installationError", QMessageBox.Retry);
+ installer.setMessageBoxAutomaticAnswer("installationErrorWithRetry", QMessageBox.Retry);
+ installer.setMessageBoxAutomaticAnswer("DownloadError", QMessageBox.Retry);
+ installer.setMessageBoxAutomaticAnswer("archiveDownloadError", QMessageBox.Retry);
+ installer.installationFinished.connect(function() {
+ gui.clickButton(buttons.NextButton);
+ })
+}
+
+Controller.prototype.WelcomePageCallback = function() {
+ // click delay here because the next button is initially disabled for ~1 second
+ gui.clickButton(buttons.NextButton, 3000);
+}
+
+Controller.prototype.CredentialsPageCallback = function() {
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.IntroductionPageCallback = function() {
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function()
+{
+ //dev is the user in our docker image
+ gui.currentPageWidget().TargetDirectoryLineEdit.setText("/tmp/QT");
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.PerformInstallationPageCallback = function() {
+ gui.clickButton(buttons.CommitButton);
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function() {
+ function list_packages() {
+ var components = installer.components();
+ console.log("Available components: " + components.length);
+ var packages = ["Packages: "];
+ for (var i = 0 ; i < components.length ;i++) {
+ packages.push(components[i].name);
+ }
+ console.log(packages.join(" "));
+ }
+
+ list_packages();
+
+ var widget = gui.currentPageWidget();
+
+ console.log(widget);
+
+ widget.deselectAll();
+ widget.selectComponent("qt.qt5.5130");
+ widget.selectComponent("qt.qt5.5130.gcc_64");
+ // widget.deselectComponent("");
+
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.LicenseAgreementPageCallback = function() {
+ gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.StartMenuDirectoryPageCallback = function() {
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function()
+{
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.FinishedPageCallback = function() {
+ var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm;
+ if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
+ checkBoxForm.launchQtCreatorCheckBox.checked = false;
+ }
+ gui.clickButton(buttons.FinishButton);
+}