From f5def361a6b823e36d40e4ccd891e369fcb164ab Mon Sep 17 00:00:00 2001 From: Alex Roth Date: Wed, 29 Nov 2017 18:29:26 -0500 Subject: [PATCH] Merge Luna work into master (#945) Contains everything from #940, except on top of master now. Also added a postmarketos-ui-luna package to be a meta- package for all of the Luna work. Every component included here builds & runs, but isn't functional without a handful more packages. --- aports/luna/cmake-modules-webos/APKBUILD | 28 ++++ aports/luna/lemon/APKBUILD | 33 +++++ aports/luna/libpbnjson/APKBUILD | 36 +++++ .../libpbnjson/replace-bash-with-sh.patch | 24 ++++ aports/luna/librolegen/APKBUILD | 40 ++++++ aports/luna/librolegen/compile.patch | 13 ++ aports/luna/librolegen/fix-fexists.patch | 13 ++ aports/luna/luna-appmanager/APKBUILD | 49 +++++++ aports/luna/luna-appmanager/compile.patch | 128 ++++++++++++++++++ aports/luna/luna-init/APKBUILD | 33 +++++ aports/luna/luna-next-cardshell/APKBUILD | 32 +++++ aports/luna/luna-next/APKBUILD | 38 ++++++ aports/luna/luna-next/compile.patch | 46 +++++++ .../luna-next/remove-systemd-harddep.patch | 33 +++++ aports/luna/luna-prefs/APKBUILD | 35 +++++ aports/luna/luna-service2/APKBUILD | 39 ++++++ .../luna-service2/remove-malloc-debug.patch | 80 +++++++++++ .../remove-systemd-harddep.patch | 64 +++++++++ aports/luna/luna-sysmgr-common/APKBUILD | 36 +++++ aports/luna/luna-sysmgr-common/compile.patch | 13 ++ aports/luna/luna-sysmgr-ipc-messages/APKBUILD | 36 +++++ .../mkpkgconfig.patch | 50 +++++++ aports/luna/luna-sysmgr-ipc/APKBUILD | 36 +++++ .../luna-sysmgr-ipc/remove-np-pthread.patch | 62 +++++++++ aports/luna/luna-sysmgr/APKBUILD | 73 ++++++++++ aports/luna/luna-sysmgr/compile.patch | 27 ++++ aports/luna/luna-sysservice/APKBUILD | 34 +++++ aports/luna/luna-sysservice/compile.patch | 25 ++++ aports/luna/luneos-components/APKBUILD | 30 ++++ aports/luna/nyx-lib/APKBUILD | 37 +++++ aports/luna/nyx-lib/addstdint.patch | 12 ++ aports/luna/nyx-lib/compile.patch | 12 ++ aports/luna/pmloglib/APKBUILD | 31 +++++ ...0003-QtKeyExtensionGlobal-fix-export.patch | 13 ++ aports/luna/qt5-qtsensors/APKBUILD | 32 +++++ aports/luna/serviceinstaller/APKBUILD | 32 +++++ aports/main/postmarketos-ui-luna/APKBUILD | 18 +++ .../main/postmarketos-ui-luna/start_luna.sh | 27 ++++ ...0003-QtKeyExtensionGlobal-fix-export.patch | 14 ++ aports/main/qt5-qtwayland/APKBUILD | 12 +- 40 files changed, 1421 insertions(+), 5 deletions(-) create mode 100644 aports/luna/cmake-modules-webos/APKBUILD create mode 100644 aports/luna/lemon/APKBUILD create mode 100644 aports/luna/libpbnjson/APKBUILD create mode 100644 aports/luna/libpbnjson/replace-bash-with-sh.patch create mode 100644 aports/luna/librolegen/APKBUILD create mode 100644 aports/luna/librolegen/compile.patch create mode 100644 aports/luna/librolegen/fix-fexists.patch create mode 100644 aports/luna/luna-appmanager/APKBUILD create mode 100644 aports/luna/luna-appmanager/compile.patch create mode 100644 aports/luna/luna-init/APKBUILD create mode 100644 aports/luna/luna-next-cardshell/APKBUILD create mode 100644 aports/luna/luna-next/APKBUILD create mode 100644 aports/luna/luna-next/compile.patch create mode 100644 aports/luna/luna-next/remove-systemd-harddep.patch create mode 100644 aports/luna/luna-prefs/APKBUILD create mode 100644 aports/luna/luna-service2/APKBUILD create mode 100644 aports/luna/luna-service2/remove-malloc-debug.patch create mode 100644 aports/luna/luna-service2/remove-systemd-harddep.patch create mode 100644 aports/luna/luna-sysmgr-common/APKBUILD create mode 100644 aports/luna/luna-sysmgr-common/compile.patch create mode 100644 aports/luna/luna-sysmgr-ipc-messages/APKBUILD create mode 100644 aports/luna/luna-sysmgr-ipc-messages/mkpkgconfig.patch create mode 100644 aports/luna/luna-sysmgr-ipc/APKBUILD create mode 100644 aports/luna/luna-sysmgr-ipc/remove-np-pthread.patch create mode 100644 aports/luna/luna-sysmgr/APKBUILD create mode 100644 aports/luna/luna-sysmgr/compile.patch create mode 100644 aports/luna/luna-sysservice/APKBUILD create mode 100644 aports/luna/luna-sysservice/compile.patch create mode 100644 aports/luna/luneos-components/APKBUILD create mode 100644 aports/luna/nyx-lib/APKBUILD create mode 100644 aports/luna/nyx-lib/addstdint.patch create mode 100644 aports/luna/nyx-lib/compile.patch create mode 100644 aports/luna/pmloglib/APKBUILD create mode 100644 aports/luna/qt5-qtsensors/0003-QtKeyExtensionGlobal-fix-export.patch create mode 100644 aports/luna/qt5-qtsensors/APKBUILD create mode 100644 aports/luna/serviceinstaller/APKBUILD create mode 100644 aports/main/postmarketos-ui-luna/APKBUILD create mode 100644 aports/main/postmarketos-ui-luna/start_luna.sh create mode 100644 aports/main/qt5-qtwayland/0003-QtKeyExtensionGlobal-fix-export.patch diff --git a/aports/luna/cmake-modules-webos/APKBUILD b/aports/luna/cmake-modules-webos/APKBUILD new file mode 100644 index 00000000..e60d2f54 --- /dev/null +++ b/aports/luna/cmake-modules-webos/APKBUILD @@ -0,0 +1,28 @@ +pkgname=cmake-modules-webos +pkgver=19 +pkgrel=1 +pkgdesc="CMake modules needed to build Open webOS components" +url="https://github.com/openwebos/cmake-modules-webos" +arch="noarch" +license="custom" +depends="cmake" +makedepends="cmake" +source="$pkgname-$pkgver.tar.gz::https://github.com/openwebos/cmake-modules-webos/archive/submissions/19.tar.gz" +options="!check" + +prepare() { + mkdir "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$srcdir"/$pkgname-submissions-$pkgver \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="a8ebf0e05002b34a6a7dcf0fc8ea309eed4820d2af1275bf7523946d237238ee784db420f17530b0f043e9eadfac5760158a096651df1b415c9ec954f955dace cmake-modules-webos-19.tar.gz" diff --git a/aports/luna/lemon/APKBUILD b/aports/luna/lemon/APKBUILD new file mode 100644 index 00000000..8dac9cf5 --- /dev/null +++ b/aports/luna/lemon/APKBUILD @@ -0,0 +1,33 @@ +pkgname=lemon +pkgver=3.21 +pkgrel=1 +pkgdesc="The Lemon Parser Generator" +arch="all" +url="https://www.hwaci.com/sw/lemon" +license="custom" +depends="" +makedepends="" +source="lemon-$pkgver.c::https://www.sqlite.org/src/raw?ci=branch-$pkgver&filename=tool/lemon.c +lempar-$pkgver.c::https://www.sqlite.org/src/raw?ci=branch-$pkgver&filename=tool/lempar.c" +options="!check" + + +build() { + cd "$srcdir" + gcc lemon-$pkgver.c -c -o lemon.o + gcc lemon.o -o lemon +} + +package() { + cd "$srcdir" + install -d "$pkgdir"/usr/bin/ + install -m 0755 lemon "$pkgdir"/usr/bin/ + + # FIXME: lempar.c should not be in /usr/bin/! Consider upstreaming a + # patch into sqlite, that makes lemon look for it in /usr/share/lemon: + # + + install -m 0644 "$srcdir"/lempar-$pkgver.c "$pkgdir"/usr/bin/lempar.c +} +sha512sums="17c5210e856a6eeb195b9c8c68b83407b7085596dd48e8e55059d644725ff84fb56a5cf223530723b9a69382f619383b4035fe46588300e2e5776228429ec5d4 lemon-3.21.c +cbf78b843fdebadebff498db803fce545e5c1cb3dcf76da4989513f1f970a2a192d3f775430a4ae81e89b41477a06a530f01c83641ca36949a7c24452b4fba13 lempar-3.21.c" diff --git a/aports/luna/libpbnjson/APKBUILD b/aports/luna/libpbnjson/APKBUILD new file mode 100644 index 00000000..add835c8 --- /dev/null +++ b/aports/luna/libpbnjson/APKBUILD @@ -0,0 +1,36 @@ +pkgname=libpbnjson +pkgver=2.9.1 +pkgrel=2 +pkgdesc="Palm's Better Native JSON library" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="uriparser" +depends_dev="uriparser-dev glib-dev" +makedepends="cmake-modules-webos glib-dev yajl-dev gperf gmp-dev uriparser-dev boost-dev sqlite-libs lemon" +source="$pkgname-$pkgver.tar.gz::https://github.com/openwebos/libpbnjson/archive/versions/$pkgver.tar.gz + replace-bash-with-sh.patch" +subpackages="$pkgname-dev" + +prepare() { + mkdir -p "$srcdir"/build + cd "$srcdir"/$pkgname-versions-$pkgver + patch -p1 < "$srcdir"/replace-bash-with-sh.patch +} + +build() { + cd "$srcdir"/build + cmake "$srcdir"/$pkgname-versions-$pkgver \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ \ + -DNO_LOGGING:BOOL=TRUE + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="febecef9ad5eaffdb32618bca68bdd3f0121ec34a436c8b0a82a8bc4d18f4b860771bb9ab8a1b3b22a30bf915b3a9ccba491c9c3c6b51537ef5510ef2dd953b3 libpbnjson-2.9.1.tar.gz +1e434f7deeb11b6a03d8831289b7c60d54576a75eaac9e30dc990f0bf08debfc6f5dd45c722737f1d44b0b60d81553456a013deba03efe2c3962bbacd0da25d9 replace-bash-with-sh.patch" diff --git a/aports/luna/libpbnjson/replace-bash-with-sh.patch b/aports/luna/libpbnjson/replace-bash-with-sh.patch new file mode 100644 index 00000000..324cac7c --- /dev/null +++ b/aports/luna/libpbnjson/replace-bash-with-sh.patch @@ -0,0 +1,24 @@ +diff --git a/src/pbnjson_c/validation/apply_lemon.sh b/src/pbnjson_c/validation/apply_lemon.sh +index 0d445cf..7f08034 100755 +--- a/src/pbnjson_c/validation/apply_lemon.sh ++++ b/src/pbnjson_c/validation/apply_lemon.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + # @@@LICENSE + # +@@ -34,13 +34,11 @@ token_keywords=`grep TOKEN $source_dir/schema_keywords.gperf | grep -o "TOKEN_${ + + if [ "$found_keywords" != "$all_keywords" ]; then + echo >&2 "any_object_key doesn't contain all the keywords" +- diff <(echo "$found_keywords") <(echo "$all_keywords") + exit 1 + fi + + if [ "$expected_tokens" != "$token_keywords" ]; then + echo >&2 "schema_keywords.gperf doesn't contain all the keywords" +- diff <(echo "$token_keywords") <(echo "$expected_tokens") + exit 1 + fi + diff --git a/aports/luna/librolegen/APKBUILD b/aports/luna/librolegen/APKBUILD new file mode 100644 index 00000000..78283876 --- /dev/null +++ b/aports/luna/librolegen/APKBUILD @@ -0,0 +1,40 @@ +pkgname=librolegen +pkgver=2.1.0_git20141026 +pkgrel=0 +pkgdesc="librolegen dynamically generates webOS system bus role files for webOS Javascript services" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="cmake-modules-webos" +_commit="b293a3f8b05f83b36b1b673c4e7dd1c18bfcf768" +builddir="$srcdir/$pkgname-$_commit" + +# NOTE: Unlike the rest of the webOS ports repos, librolegen doesn't use 'master' as +# their working branch, but 'webOS-ports/master' +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/librolegen/archive/$_commit.tar.gz + fix-fexists.patch" +subpackages="$pkgname-dev" +options="!check" + +prepare() { + default_prepare + # cmake does not allow in-source builds + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="937a18eff896db044fe4986d63f9a53745c31443c9bfad569b9f852e9d649bfef4a868ab357f2904132a15273be88444774a8938a64c98274dd49e828e17bb5d librolegen-b293a3f8b05f83b36b1b673c4e7dd1c18bfcf768.tar.gz +4aa60250ef7d01d3574fccf1427a399839d984e710782ad2753fbbbbfb5cfb652839be15a16e7b9ef11d595ecfad774ef0aed526413094694b0a5dd61969184c fix-fexists.patch" diff --git a/aports/luna/librolegen/compile.patch b/aports/luna/librolegen/compile.patch new file mode 100644 index 00000000..7b965b19 --- /dev/null +++ b/aports/luna/librolegen/compile.patch @@ -0,0 +1,13 @@ +diff --git a/src/rolegen.cpp.in b/src/rolegen.cpp.in +index 3c2740f..eb68959 100755 +--- a/src/rolegen.cpp.in ++++ b/src/rolegen.cpp.in +@@ -51,7 +51,7 @@ static bool isPrivilegedAppId(const char *appId) + static bool fexists(string filename) + { + ifstream ifile(filename.c_str()); +- return ifile; ++ return ifile.good(); + } + + static void checkDirStructure() diff --git a/aports/luna/librolegen/fix-fexists.patch b/aports/luna/librolegen/fix-fexists.patch new file mode 100644 index 00000000..7b965b19 --- /dev/null +++ b/aports/luna/librolegen/fix-fexists.patch @@ -0,0 +1,13 @@ +diff --git a/src/rolegen.cpp.in b/src/rolegen.cpp.in +index 3c2740f..eb68959 100755 +--- a/src/rolegen.cpp.in ++++ b/src/rolegen.cpp.in +@@ -51,7 +51,7 @@ static bool isPrivilegedAppId(const char *appId) + static bool fexists(string filename) + { + ifstream ifile(filename.c_str()); +- return ifile; ++ return ifile.good(); + } + + static void checkDirStructure() diff --git a/aports/luna/luna-appmanager/APKBUILD b/aports/luna/luna-appmanager/APKBUILD new file mode 100644 index 00000000..9eb581ea --- /dev/null +++ b/aports/luna/luna-appmanager/APKBUILD @@ -0,0 +1,49 @@ +pkgname=luna-appmanager +pkgver=1.9.0_git20170911 +pkgrel=0 +_commit=a342cc9e2a8019c93ee13030c26a5cd0d5e4f24a +pkgdesc="Component responsible for application management in LuneOS" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="luna-sysmgr-common luna-sysmgr-ipc qt5-qtbase serviceinstaller librolegen nyx-lib json-c glib luna-service2 pmloglib libpbnjson luna-prefs luna-sysmgr-ipc-messages libressl sqlite" +makedepends="cmake-modules-webos luna-sysmgr-common-dev luna-sysmgr-ipc-dev qt5-qtbase-dev serviceinstaller librolegen-dev nyx-lib-dev json-c-dev glib-dev luna-service2-dev pmloglib-dev libpbnjson-dev luna-prefs-dev luna-sysmgr-ipc-messages luna-sysmgr-ipc-messages-dev libressl-dev sqlite-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-appmanager/archive/$_commit.tar.gz +compile.patch" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + #cmake does not allow in-source builds + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install + + appmgrsrc="$srcdir"/$pkgname-a342cc9e2a8019c93ee13030c26a5cd0d5e4f24a + + mkdir -p "$pkgdir"/usr/share/ls2/roles/prv/ + cp "$appmgrsrc"/service/luna-appmanager.json.prv "$pkgdir"/usr/share/ls2/roles/prv/luna-appmanager.json + mkdir -p "$pkgdir"/usr/share/ls2/roles/pub/ + cp "$appmgrsrc"/service/luna-appmanager.json.pub "$pkgdir"/usr/share/ls2/roles/pub/luna-appmanager.json + + mkdir -p "$pkgdir"/usr/share/ls2/system-services/ + cp "$appmgrsrc"/service/luna-appmanager.service.prv "$pkgdir"/usr/share/ls2/system-services/luna-appmanager.service + + mkdir -p "$pkgdir"/usr/share/ls2/services/ + cp "$appmgrsrc"/service/luna-appmanager.service.pub "$pkgdir"/usr/share/ls2/services/luna-appmanager.service + +} +sha512sums="04cc2f72a999bdec058fe87135ba01101b79cc0974102f7221cd57028f695cc342789add5fe7fa7c5660fc97fdefff1d02f31b4a9af4014022c8d9483b8a59b7 luna-appmanager-a342cc9e2a8019c93ee13030c26a5cd0d5e4f24a.tar.gz +0b48db80fb3f4dc683004bfff927577c8b2c258d735d6706406fd931456d3d01b03638635a60e1f5360d00a9439a7be7056f46d86453c06685fcb067a7d20c70 compile.patch" diff --git a/aports/luna/luna-appmanager/compile.patch b/aports/luna/luna-appmanager/compile.patch new file mode 100644 index 00000000..bd5cf1c9 --- /dev/null +++ b/aports/luna/luna-appmanager/compile.patch @@ -0,0 +1,128 @@ +diff --git a/Src/Main.cpp b/Src/Main.cpp +index 8894f52..3eca6c4 100644 +--- a/Src/Main.cpp ++++ b/Src/Main.cpp +@@ -79,7 +79,7 @@ + #ifdef __cplusplus + extern "C" { + #endif +-extern void malloc_stats(void); ++//extern void malloc_stats(void); + #ifdef __cplusplus + }; + #endif +@@ -336,7 +336,7 @@ static gboolean mallocStatsCb(gpointer data) + fflush(stderr); + fprintf(stderr, "\nMALLOC STATS FOR PROCESS: \"%s\" (PID: %d) AT [%ld.%ld] %s", process_name, my_pid, ts.tv_sec, ts.tv_nsec, ctime_r(&cur_time, buf)); + fflush(stderr); +- malloc_stats(); ++ //malloc_stats(); + fprintf(stderr, "\n\n"); + fflush(stderr); + fsync(STDERR_FILENO); +diff --git a/Src/base/application/ApplicationInstaller.cpp b/Src/base/application/ApplicationInstaller.cpp +index 937ca82..ec215ad 100644 +--- a/Src/base/application/ApplicationInstaller.cpp ++++ b/Src/base/application/ApplicationInstaller.cpp +@@ -2766,7 +2766,7 @@ bool ApplicationInstaller::cbQueryInstallCapacity(LSHandle* lshandle,LSMessage * + goto Done; + } + +- size = strtouq(strsize.c_str(),NULL,10); ++ size = strtoul(strsize.c_str(),NULL,10); + + if (size == 0) + { +@@ -2780,7 +2780,7 @@ bool ApplicationInstaller::cbQueryInstallCapacity(LSHandle* lshandle,LSMessage * + } + else + { +- ucSize = strtouq(strucsize.c_str(),NULL,10); ++ ucSize = strtoul(strucsize.c_str(),NULL,10); + } + + queryCapacityResult = ApplicationInstaller::instance()->lunasvcQueryInstallCapacity(packageId, size, ucSize, spaceNeeded); +diff --git a/Src/base/application/ApplicationManager.cpp b/Src/base/application/ApplicationManager.cpp +index c360ec8..8acd373 100644 +--- a/Src/base/application/ApplicationManager.cpp ++++ b/Src/base/application/ApplicationManager.cpp +@@ -691,7 +691,7 @@ void ApplicationManager::createOrUpdatePackageManifest(PackageDescription* packa + packageDesc->setPackageSize(ApplicationInstaller::getSizeOfPackageOnFsGenerateManifest("", packageDesc, NULL)); + } else { + // set the size that's found +- uint64_t packageSize = strtouq(packageSizeStr.c_str(), NULL, 10); ++ uint64_t packageSize = strtoul(packageSizeStr.c_str(), NULL, 10); + g_debug("%s: [MANIFESTS]: manifest for %s blocksize = %s found total size = %llu...setting on package desc",__PRETTY_FUNCTION__, packageDesc->id().c_str(), bsizeStr.c_str(), packageSize); + packageDesc->setPackageSize(packageSize); + } +diff --git a/Src/base/application/CmdResourceHandlers.cpp b/Src/base/application/CmdResourceHandlers.cpp +index 2bd105c..758f370 100644 +--- a/Src/base/application/CmdResourceHandlers.cpp ++++ b/Src/base/application/CmdResourceHandlers.cpp +@@ -39,6 +39,7 @@ RedirectHandler::RedirectHandler(const std::string& urlRe, const std::string& ap + if (!urlRe.empty() && 0 == regcomp(&m_urlReg, urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) { + } + else { ++ m_regexValid = false; + ::memset(&m_urlReg, 0, sizeof(m_urlReg)); + } + } +@@ -50,6 +51,7 @@ RedirectHandler::RedirectHandler(const std::string& urlRe, const std::string& ap + if (!urlRe.empty() && 0 == regcomp(&m_urlReg, urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) { + } + else { ++ m_regexValid = false; + ::memset(&m_urlReg, 0, sizeof(m_urlReg)); + } + } +@@ -65,8 +67,10 @@ RedirectHandler::RedirectHandler(const RedirectHandler& c) + m_verbs = c.m_verbs; + + if (!m_urlRe.empty() && 0 == regcomp(&m_urlReg, m_urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) { ++ m_regexValid = true; + } + else { ++ m_regexValid = false; + ::memset(&m_urlReg, 0, sizeof(m_urlReg)); + } + +@@ -89,8 +93,10 @@ RedirectHandler& RedirectHandler::operator=(const RedirectHandler& c) + m_verbs = c.m_verbs; + + if (!m_urlRe.empty() && 0 == regcomp(&m_urlReg, m_urlRe.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB)) { ++ m_regexValid = true; + } + else { ++ m_regexValid = false; + ::memset(&m_urlReg, 0, sizeof(m_urlReg)); + } + +@@ -99,6 +105,7 @@ RedirectHandler& RedirectHandler::operator=(const RedirectHandler& c) + + RedirectHandler::RedirectHandler() : m_valid(false), m_schemeForm(false), m_index(0) + { ++ m_regexValid = false; + ::memset(&m_urlReg, 0, sizeof(m_urlReg)); + } + +@@ -126,7 +133,7 @@ bool RedirectHandler::matches(const std::string& url) const + */ + bool RedirectHandler::reValid() const + { +- return m_urlReg.buffer != NULL; ++ return m_regexValid; + } + + bool RedirectHandler::addVerb(const std::string& verb,const std::string& jsonizedParams) +diff --git a/Src/base/application/CmdResourceHandlers.h b/Src/base/application/CmdResourceHandlers.h +index e6bf3a7..ae48e81 100644 +--- a/Src/base/application/CmdResourceHandlers.h ++++ b/Src/base/application/CmdResourceHandlers.h +@@ -94,6 +94,7 @@ class RedirectHandler + regex_t m_urlReg; ///< The compiled URL regular expression + bool m_valid; + bool m_schemeForm; ++ bool m_regexValid = true; + std::string m_tag; + uint32_t m_index; + std::map m_verbs; // < Verb , json-ized string of parameters > diff --git a/aports/luna/luna-init/APKBUILD b/aports/luna/luna-init/APKBUILD new file mode 100644 index 00000000..78be78ac --- /dev/null +++ b/aports/luna/luna-init/APKBUILD @@ -0,0 +1,33 @@ +pkgname=luna-init +pkgver=5.0.0_git20171117 +pkgrel=0 +_commit=5fff640fb0b9f3e973c13d1620889b2da4c11766 +pkgdesc="Initialization and font setup files used by luna-sysmgr." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="cmake-modules-webos python2 py2-tz" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-init/archive/$_commit.tar.gz" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="9278b53e8358230e0979d314958a02ada6d68a68b97e253d81ffc5132901cf7aa033c8d908530cbf36c422a161a3f80cc70f1ddb3e0e4b3fae86183c39d10b95 luna-init-5fff640fb0b9f3e973c13d1620889b2da4c11766.tar.gz" diff --git a/aports/luna/luna-next-cardshell/APKBUILD b/aports/luna/luna-next-cardshell/APKBUILD new file mode 100644 index 00000000..394fa741 --- /dev/null +++ b/aports/luna/luna-next-cardshell/APKBUILD @@ -0,0 +1,32 @@ +pkgname=luna-next-cardshell +pkgver=4.4.0_git20171115 +pkgrel=0 +_commit=77659074d7f82732766904c413cbece0501f399c +pkgdesc="The default shell used for luna-next." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="luna-next qt5-qtbase qt5-qtdeclarative qt5-qtmultimedia" +makedepends="cmake-modules-webos" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-next-cardshell/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="352fae17e397ee6377cc198235e41fb51e0fd88476176405adcc421a5f56d4573ddaaa24ffaa15f22568f71b7e93d545dc305a4588cfbc5edfa154f3b427cdb6 luna-next-cardshell-77659074d7f82732766904c413cbece0501f399c.tar.gz" diff --git a/aports/luna/luna-next/APKBUILD b/aports/luna/luna-next/APKBUILD new file mode 100644 index 00000000..4aaeeac5 --- /dev/null +++ b/aports/luna/luna-next/APKBUILD @@ -0,0 +1,38 @@ +pkgname=luna-next +pkgver=2.6.0_git20170922 +pkgrel=0 +_commit=428a337f922691b00534f041193ee7dca8defcc2 +pkgdesc="The new webOS UI of the webOS ports project." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="qt5-qtbase qt5-qtdeclarative qt5-qtwayland luna-prefs luna-sysmgr-common json-c nyx-lib luna-prefs" +makedepends="extra-cmake-modules cmake-modules-webos qt5-qtbase-dev qt5-qtdeclarative-dev wayland-dev qt5-qtwayland-dev json-c-dev luna-sysmgr-common-dev nyx-lib-dev luna-prefs-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-next/archive/$_commit.tar.gz + remove-systemd-harddep.patch compile.patch" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DKDE_INSTALL_LIBDIR=lib \ + -DKDE_INSTALL_LIBEXECDIR=lib \ + -DWEBOS_INSTALL_ROOT=/ \ + -DOE_QMAKE_PATH_QML=/usr/lib/qt5/qml/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="37147471d8ea99321558aa8a824a76a6bc23d85cea666ea2c789585e7d398e46312da7488f2019826912addd28ae796552438f9a103ac6fec6572407ce6efb9b luna-next-428a337f922691b00534f041193ee7dca8defcc2.tar.gz +f6dc58db48bdd1ec4126245aaeb3cf364dfb761cf0aae172ff19eda885fe0601c249fcfc5e89c1cbfb91e857d5c57bac24495bab62a4c03dff7711e7dad2a9f8 remove-systemd-harddep.patch +f749ed8a4b2ebd2f8baea6772888772cd9769a71fab667c6bb76338324a4692a9adaa3f6aae04199af74286d00b045c3c7c9cc0c57a293b8fdf04e5af75dca71 compile.patch" diff --git a/aports/luna/luna-next/compile.patch b/aports/luna/luna-next/compile.patch new file mode 100644 index 00000000..35fec521 --- /dev/null +++ b/aports/luna/luna-next/compile.patch @@ -0,0 +1,46 @@ +diff --git a/src/main.cpp b/src/main.cpp +index d20eca4..6e87dee 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -20,7 +20,6 @@ + + #include + #include +-#include + #include + #include + #include +diff --git a/plugins/compositor/CMakeLists.txt b/plugins/compositor/CMakeLists.txt +index dae2cb3..fe80c4c 100644 +--- a/plugins/compositor/CMakeLists.txt ++++ b/plugins/compositor/CMakeLists.txt +@@ -1,10 +1,14 @@ + add_definitions(-DQT_COMPOSITOR_QUICK) + ++#Qt5WaylandCompositor's private include dirs includes *other* private include dirs, but not it's own. ++set(QTWAYLAND_REAL_PRIVATE_INCLUDES "/usr/include/QtWaylandCompositor/${Qt5WaylandCompositor_VERSION}") ++ + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${Qt5Gui_PRIVATE_INCLUDE_DIRS} + ${Qt5WaylandCompositor_PRIVATE_INCLUDE_DIRS} ++ ${QTWAYLAND_REAL_PRIVATE_INCLUDES} + ${WAYLAND_SERVER_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR}/compositor) + +diff --git a/plugins/compositor/compositor.cpp b/plugins/compositor/compositor.cpp +index 4e437ea..d174c5d 100644 +--- a/plugins/compositor/compositor.cpp ++++ b/plugins/compositor/compositor.cpp +@@ -246,6 +246,10 @@ void Compositor::onSurfaceDestroyed() + } + } + ++void Compositor::onSurfaceAboutToBeDestroyed(QWaylandSurface *surface) ++{ ++} ++ + void Compositor::onSurfaceRaised() + { + QtWayland::ExtendedSurface *extSurface = qobject_cast(sender()); diff --git a/aports/luna/luna-next/remove-systemd-harddep.patch b/aports/luna/luna-next/remove-systemd-harddep.patch new file mode 100644 index 00000000..8582acf5 --- /dev/null +++ b/aports/luna/luna-next/remove-systemd-harddep.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d803418..1c6a9ea 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,7 @@ pkg_check_modules(GLESV2 glesv2 REQUIRED) + pkg_check_modules(WAYLAND_CLIENT wayland-client REQUIRED) + pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED) + +-pkg_check_modules(SYSTEMD libsystemd REQUIRED) ++pkg_check_modules(SYSTEMD libsystemd OPTIONAL) + pkg_check_modules(GLIB2 glib-2.0 REQUIRED) + pkg_check_modules(LUNA_SYSMGR_COMMON LunaSysMgrCommon REQUIRED) + pkg_check_modules(LUNA_SYSMGR_IPC_MESSAGES LunaSysMgrIpcMessages REQUIRED) +diff --git a/src/main.cpp b/src/main.cpp +index d20eca4..0bb47f2 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -33,7 +33,6 @@ + + #include + +-#include + #include + + #include "shellapplication.h" +@@ -132,7 +131,6 @@ int main(int argc, char *argv[]) + if (!app.create(shellName)) + exit(1); + +- sd_notify(0, "READY=1"); + + return app.exec(); + } diff --git a/aports/luna/luna-prefs/APKBUILD b/aports/luna/luna-prefs/APKBUILD new file mode 100644 index 00000000..3d405d02 --- /dev/null +++ b/aports/luna/luna-prefs/APKBUILD @@ -0,0 +1,35 @@ +pkgname=luna-prefs +pkgver=7.0.0_git20141219 +pkgrel=0 +_commit=620394a1c4bd5b0c0ec0a7ee15aa5e8aa8c6d957 +pkgdesc="Retrieves system preferences values set and used by webOS" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="glib sqlite nyx-lib json-c luna-service2 pmloglib" +makedepends="cmake-modules-webos glib-dev json-c-dev sqlite-dev pmloglib-dev nyx-lib-dev pmloglib-dev luna-service2-dev" +depends_dev="json-c-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-prefs/archive/$_commit.tar.gz" +subpackages="$pkgname-dev" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="ed514077b776f6a0901fc13e101ee1bccac05304d1b2bc56de6fd43558bd51587e049c2fd79618fc4190c4c2b92d2c591cb0ae2d7dfd89351a21f217ca2adcb1 luna-prefs-620394a1c4bd5b0c0ec0a7ee15aa5e8aa8c6d957.tar.gz" diff --git a/aports/luna/luna-service2/APKBUILD b/aports/luna/luna-service2/APKBUILD new file mode 100644 index 00000000..53c8f1dd --- /dev/null +++ b/aports/luna/luna-service2/APKBUILD @@ -0,0 +1,39 @@ +pkgname=luna-service2 +pkgver=3.2.0_git20170505 +pkgrel=0 +_commit=1e2e1a53c089003da333609946dddf063244ee34 +pkgdesc="Open webOS Luna System Bus library, daemon, and utilities" +arch="all" +url="https://github.com/webOS-ports/luna-service2" +license="GPL-3.0+" +depends="glib pmloglib libpbnjson" +makedepends="cmake-modules-webos glib-dev libpbnjson-dev pmloglib-dev" +depends_dev="glib-dev libpbnjson-dev pmloglib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-service2/archive/$_commit.tar.gz + remove-systemd-harddep.patch remove-malloc-debug.patch" +subpackages="$pkgname-dev" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ \ + -DMALLOC_DEBUG=1 + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="862b04ad58a786b7ce810a9864a2580addd4d9757c1d8825f86f5a817a75daa83d360d4c3ceb26e512e868ba2379ba11e049e79fac84411f6758257cbe71909d luna-service2-1e2e1a53c089003da333609946dddf063244ee34.tar.gz +c8223795eebd9b0e7037f1ba130d6b4e58496483e886a50a76ed79ef61ed76ebc729f8d031ae9110d80f1ef029e4c8f9529edb483608bdc4aafb39a1bb5e8562 remove-systemd-harddep.patch +2d35d056c445d25dc970fc176d1326fb93c682ebff0501a79ed2b41d5eda7fde36be0bed96e34776f234c59a95b1e29889e0ba5bec48c321e091f93db0220700 remove-malloc-debug.patch" diff --git a/aports/luna/luna-service2/remove-malloc-debug.patch b/aports/luna/luna-service2/remove-malloc-debug.patch new file mode 100644 index 00000000..bb0aba9d --- /dev/null +++ b/aports/luna/luna-service2/remove-malloc-debug.patch @@ -0,0 +1,80 @@ +diff --git a/src/libluna-service2/base.c b/src/libluna-service2/base.c +index 8ee0d36..fb79753 100644 +--- a/src/libluna-service2/base.c ++++ b/src/libluna-service2/base.c +@@ -169,7 +169,7 @@ LSDebugLogIncoming(const char *where, _LSTransportMessage *message) + } + + #ifdef LSHANDLE_CHECK +-inline void ++void + _lshandle_validate(LSHandle *sh) + { + if (sh && sh->history.magic_state_num != LSHANDLE_MAGIC_STATE_VALID) +diff --git a/src/libluna-service2/base.h b/src/libluna-service2/base.h +index 4d56c1f..9e57940 100644 +--- a/src/libluna-service2/base.h ++++ b/src/libluna-service2/base.h +@@ -87,7 +87,7 @@ do { \ + + #define LSHANDLE_VALIDATE(sh) _lshandle_validate(sh) + +-inline void _lshandle_validate(LSHandle *sh); ++void _lshandle_validate(LSHandle *sh); + + #define LSHANDLE_GET_RETURN_ADDR() (__builtin_return_address(0)) + #define LSHANDLE_POISON(sh) memset(sh, 0xFF, offsetof(LSHandle, history)) +diff --git a/src/libluna-service2/debug_methods.h b/src/libluna-service2/debug_methods.h +index 4c98ca9..3fab3a9 100644 +--- a/src/libluna-service2/debug_methods.h ++++ b/src/libluna-service2/debug_methods.h +@@ -24,7 +24,6 @@ + #include "base.h" + + #define SUBSCRIPTION_DEBUG +-#define MALLOC_DEBUG + #define INTROSPECTION_DEBUG + + #ifdef SUBSCRIPTION_DEBUG +diff --git a/src/libluna-service2/transport.c b/src/libluna-service2/transport.c +index 9802ad3..f12f060 100644 +--- a/src/libluna-service2/transport.c ++++ b/src/libluna-service2/transport.c +@@ -5291,7 +5291,7 @@ error: + * @retval false otherwise + ******************************************************************************* + */ +-inline bool ++bool + _LSTransportIsHub(void) + { + return s_is_hub; +diff --git a/src/libluna-service2/transport.h b/src/libluna-service2/transport.h +index 5b5e491..23cb899 100644 +--- a/src/libluna-service2/transport.h ++++ b/src/libluna-service2/transport.h +@@ -186,7 +186,7 @@ void _LSTransportAddInitialWatches(_LSTransport *transport, GMainContext *contex + _LSTransportType _LSTransportGetTransportType(const _LSTransport *transport); + bool _LSTransportGetPrivileged(const _LSTransport *tansport); + +-inline bool _LSTransportIsHub(void); ++bool _LSTransportIsHub(void); + + bool LSTransportSend(_LSTransport *transport, const char *service_name, const char *category, const char *method, const char *payload, const char* applicationId, LSMessageToken *token, LSError *lserror); + bool _LSTransportSendReply(const _LSTransportMessage *message, const char *payload, LSError *lserror); +diff --git a/src/libluna-service2/transport_message.h b/src/libluna-service2/transport_message.h +index d5ef0ba..d2986ef 100644 +--- a/src/libluna-service2/transport_message.h ++++ b/src/libluna-service2/transport_message.h +@@ -29,9 +29,10 @@ + #ifdef LUNA_SERVICE_UNIT_TEST + #define INLINE + #else +-#define INLINE inline ++#define INLINE + #endif + ++ + /** + * @addtogroup LunaServiceTransportMessage + * diff --git a/aports/luna/luna-service2/remove-systemd-harddep.patch b/aports/luna/luna-service2/remove-systemd-harddep.patch new file mode 100644 index 00000000..79d3f2e5 --- /dev/null +++ b/aports/luna/luna-service2/remove-systemd-harddep.patch @@ -0,0 +1,64 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d004c9f..3ea9779 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,10 +44,6 @@ pkg_check_modules(PMLOGLIB REQUIRED PmLogLib>=3.0.2) + include_directories(${PMLOGLIB_INCLUDE_DIRS}) + webos_add_compiler_flags(ALL ${PMLOGLIB_CFLAGS_OTHER}) + +-pkg_check_modules(SYSTEMD_DAEMON REQUIRED libsystemd) +-include_directories(${SYSTEMD_DAEMON_INCLUDE_DIRS}) +-webos_add_compiler_flags(ALL ${SYSTEMD_DAEMON_CFLAGS_OTHER}) +- + include(webOS/LegacyDefines) + + set(LS2_PERMS "") +diff --git a/src/ls-hubd/CMakeLists.txt b/src/ls-hubd/CMakeLists.txt +index 9bea8cb..d91f800 100644 +--- a/src/ls-hubd/CMakeLists.txt ++++ b/src/ls-hubd/CMakeLists.txt +@@ -35,7 +35,7 @@ add_definitions(-DDEFAULT_LOCAL_SOCKET_DIR="${WEBOS_INSTALL_RUNTIMEINFODIR}/ls2" + add_library(ls-hublib STATIC ${HUB_SOURCE_FILES}) + + add_executable(ls-hubd hub.c) +-target_link_libraries(ls-hubd ls-hublib ${CMAKE_PROJECT_NAME} ${PMLOGLIB_LDFLAGS} ${SYSTEMD_DAEMON_LDFLAGS}) ++target_link_libraries(ls-hubd ls-hublib ${CMAKE_PROJECT_NAME} ${PMLOGLIB_LDFLAGS}) + webos_build_daemon(NAME ls-hubd LAUNCH ${CMAKE_SOURCE_DIR}/files/launch/ ${LS2_RESTRICTED}) + + if (WEBOS_CONFIG_BUILD_TESTS) +diff --git a/src/ls-hubd/hub.c b/src/ls-hubd/hub.c +index 78b56e8..7fc3112 100644 +--- a/src/ls-hubd/hub.c ++++ b/src/ls-hubd/hub.c +@@ -30,7 +30,6 @@ + #include + #include + #include +-#include + + #include "hub.h" + #include "conf.h" +@@ -4487,11 +4486,6 @@ int main(int argc, char *argv[]) + LOG_LS_ERROR(MSGID_LSHUB_UPSTART_ERROR, 0, "Unable to emit upstart event"); + } + } +- +- if (getenv("NOTIFY_SOCKET") != NULL) +- { +- sd_notify(0, "READY=1"); +- } + #endif + + if (boot_file_name) +diff --git a/src/ls-hubd/test/CMakeLists.txt b/src/ls-hubd/test/CMakeLists.txt +index 3d06cc4..d51893b 100644 +--- a/src/ls-hubd/test/CMakeLists.txt ++++ b/src/ls-hubd/test/CMakeLists.txt +@@ -31,6 +31,6 @@ add_definitions(-DUNIT_TESTS) + + foreach (TEST ${UNIT_TEST_SOURCES}) + add_executable(${TEST} ${TEST}.c ../hub.c ../security.c) +- target_link_libraries(${TEST} ls-hublib ${CMAKE_PROJECT_NAME} ${TESTLIBNAME} ${PMLOGLIB_LDFLAGS} ${SYSTEMD_DAEMON_LDFLAGS}) ++ target_link_libraries(${TEST} ls-hublib ${CMAKE_PROJECT_NAME} ${TESTLIBNAME} ${PMLOGLIB_LDFLAGS}) + add_test(${TEST} ${TEST}) + endforeach () diff --git a/aports/luna/luna-sysmgr-common/APKBUILD b/aports/luna/luna-sysmgr-common/APKBUILD new file mode 100644 index 00000000..725adfda --- /dev/null +++ b/aports/luna/luna-sysmgr-common/APKBUILD @@ -0,0 +1,36 @@ +pkgname=luna-sysmgr-common +pkgver=1.0.2_git20160628 +pkgrel=0 +_commit=c583bebb8d7fb8381a071730c5c636e95bf851fb +pkgdesc="Provides header files and source code common to luna-sysmgr and webappmanager" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="luna-sysmgr-ipc luna-sysmgr-ipc-messages luna-prefs nyx-lib luna-service2 pmloglib libpbnjson" +makedepends="cmake-modules-webos qt5-qtbase-dev luna-sysmgr-ipc-dev luna-sysmgr-ipc-messages luna-sysmgr-ipc-messages-dev luna-prefs-dev nyx-lib-dev luna-service2-dev json-c-dev pmloglib-dev libpbnjson-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysmgr-common/archive/$_commit.tar.gz + compile.patch" +subpackages="$pkgname-dev" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="b8e4e72db36063fae472c38dfcb6e0d1cb3e10617fb80a56a54f495fac19102ece92c94b8bd5d499603f02d24b954aa185e906b034afe108f0566ffe6b4be794 luna-sysmgr-common-c583bebb8d7fb8381a071730c5c636e95bf851fb.tar.gz +a682ac698055424d94f40c994a6d9a36b802f8dc604c94244722a3b466e7ec365870b7f6ef600df2d1719d397f2763c4cfb6fd6fe42c31fbdb48f3a0db1a0af6 compile.patch" diff --git a/aports/luna/luna-sysmgr-common/compile.patch b/aports/luna/luna-sysmgr-common/compile.patch new file mode 100644 index 00000000..71777dae --- /dev/null +++ b/aports/luna/luna-sysmgr-common/compile.patch @@ -0,0 +1,13 @@ +diff --git a/Src/base/Logging.cpp b/Src/base/Logging.cpp +index b529da3..d8ec623 100644 +--- a/Src/base/Logging.cpp ++++ b/Src/base/Logging.cpp +@@ -35,6 +35,8 @@ + #include "MutexLocker.h" + #include "Settings.h" + ++typedef time_t __time_t; ++ + static GStaticMutex s_mutex = G_STATIC_MUTEX_INIT; + static bool s_initialized = false; + static GHashTable* s_channelHash = 0; diff --git a/aports/luna/luna-sysmgr-ipc-messages/APKBUILD b/aports/luna/luna-sysmgr-ipc-messages/APKBUILD new file mode 100644 index 00000000..53d8b273 --- /dev/null +++ b/aports/luna/luna-sysmgr-ipc-messages/APKBUILD @@ -0,0 +1,36 @@ +pkgname=luna-sysmgr-ipc-messages +pkgver=2.0.0_git20121220 +pkgrel=0 +_commit=ecca30313037c6f8edced00f1cf98c1f594a4007 +pkgdesc="Provides message definitions for the IPC provided by luna-sysmgr." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="cmake-modules-webos" +source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/luna-sysmgr-ipc-messages/archive/$_commit.tar.gz + mkpkgconfig.patch" +subpackages="$pkgname-dev" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="84985fe0fa0fc78937b2cbc56250e664fef5652fa8c11b3c0aa99945461c570e6a5387d2488f5d57210d9071359e93b1e9e6e4f06fdf062c230ef8a2f7ce4a21 luna-sysmgr-ipc-messages-ecca30313037c6f8edced00f1cf98c1f594a4007.tar.gz +d0c4a39449216adc792665c05dd2e11be6e75cf95bf04444c357006be31505b1550f3b276a9a58edb90b4ed5bbafe3b5a0e0dba4586b8794971f353d4a2a4c00 mkpkgconfig.patch" diff --git a/aports/luna/luna-sysmgr-ipc-messages/mkpkgconfig.patch b/aports/luna/luna-sysmgr-ipc-messages/mkpkgconfig.patch new file mode 100644 index 00000000..b9878b62 --- /dev/null +++ b/aports/luna/luna-sysmgr-ipc-messages/mkpkgconfig.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8bfa9e5..e9f63ed 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,11 +18,13 @@ + + cmake_minimum_required(VERSION 2.8.7) + +-project(luna-sysmgr-ipc-messages NONE) ++project(LunaSysMgrIpcMessages NONE) + + include(webOS/webOS) + webos_modules_init(1 0 0 QUALIFIER RC2) + webos_component(2 0 0) + ++webos_build_pkgconfig() ++ + # install headers in /usr/include/sysmgr-ipc + install(DIRECTORY include/public/messages/ DESTINATION ${WEBOS_INSTALL_INCLUDEDIR}/sysmgr-ipc) +diff --git a/files/pkgconfig/LunaSysMgrIpcMessages.pc.in b/files/pkgconfig/LunaSysMgrIpcMessages.pc.in +new file mode 100644 +index 0000000..315d51b +--- /dev/null ++++ b/files/pkgconfig/LunaSysMgrIpcMessages.pc.in +@@ -0,0 +1,25 @@ ++# @@@LICENSE ++# ++# Copyright (c) 2012-2013 LG Electronics, Inc. ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++# ++# LICENSE@@@ ++ ++libdir=@WEBOS_INSTALL_LIBDIR@ ++includedir=@WEBOS_INSTALL_INCLUDEDIR@/sysmgr-ipc ++ ++Name: luna-sysmgr-ipc-messages ++Description: @WEBOS_PROJECT_SUMMARY@ ++Version: @WEBOS_COMPONENT_VERSION@ ++Cflags: -I${includedir} diff --git a/aports/luna/luna-sysmgr-ipc/APKBUILD b/aports/luna/luna-sysmgr-ipc/APKBUILD new file mode 100644 index 00000000..11f4d215 --- /dev/null +++ b/aports/luna/luna-sysmgr-ipc/APKBUILD @@ -0,0 +1,36 @@ +pkgname=luna-sysmgr-ipc +pkgver=2.0.0_git20121029 +pkgrel=0 +_commit=b51360839d2241717eae5fe8f9d360f68da267db +pkgdesc="Provides headers for the IPC library used by luna-sysmgr" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="glib" +makedepends="cmake-modules-webos glib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysmgr-ipc/archive/$_commit.tar.gz + remove-np-pthread.patch" +subpackages="$pkgname-dev" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="5c72eb88cfc27883ad4d1fea764b244c147c3f192d42bdc9df00833b041181f3fae5a45e6bb33fcfff8547b3e5934dcc3523749730db8a378c2e567d520a5ac4 luna-sysmgr-ipc-b51360839d2241717eae5fe8f9d360f68da267db.tar.gz +0ef0e57540d07abd7de97fb6f66ce202d753fa2285f93b80e29bc0d8d9774b9b6b66d11d7ff7cd685eaca2f3c4fcadbd9eb9761725b00cfc0975838a6a69f5a8 remove-np-pthread.patch" diff --git a/aports/luna/luna-sysmgr-ipc/remove-np-pthread.patch b/aports/luna/luna-sysmgr-ipc/remove-np-pthread.patch new file mode 100644 index 00000000..a12776c2 --- /dev/null +++ b/aports/luna/luna-sysmgr-ipc/remove-np-pthread.patch @@ -0,0 +1,62 @@ +diff --git a/src/ipc/PIpcBuffer.cpp b/src/ipc/PIpcBuffer.cpp +index 6b8bfc6..4a9a96e 100644 +--- a/src/ipc/PIpcBuffer.cpp ++++ b/src/ipc/PIpcBuffer.cpp +@@ -94,7 +94,7 @@ PIpcBuffer* PIpcBuffer::create(int size) + pthread_mutexattr_t attr; + pthread_mutexattr_init (&attr); + pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); +- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); ++ pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST); + + // initialize the buffer lock mutex + pthread_mutex_t* mutex = (pthread_mutex_t*) &h->mutex; +@@ -320,7 +320,7 @@ bool PIpcBuffer::trylock(pthread_mutex_t* mutex, int& lockCount) + //printf("PIpcBuffer::trylock: %d, %p, %d\n", m_key, mutex, ret); + if (ret != 0) { + if (ret == EOWNERDEAD) +- pthread_mutex_consistent_np(mutex); ++ pthread_mutex_consistent(mutex); + else if (ret == EBUSY) { + return false; + } +@@ -347,7 +347,7 @@ bool PIpcBuffer::lock(pthread_mutex_t* mutex, int& lockCount) + //printf("PIpcBuffer::lock: %d, %p, %d\n", m_key, mutex, ret); + if (ret != 0) { + if (ret == EOWNERDEAD) +- pthread_mutex_consistent_np(mutex); ++ pthread_mutex_consistent(mutex); + else { + g_critical("%s: %s", __PRETTY_FUNCTION__, strerror(ret)); + return false; +diff --git a/src/ipc/PIpcMutex.cpp b/src/ipc/PIpcMutex.cpp +index a80efed..c1c1c54 100644 +--- a/src/ipc/PIpcMutex.cpp ++++ b/src/ipc/PIpcMutex.cpp +@@ -72,7 +72,7 @@ PIpcMutex* PIpcMutex::create() + pthread_mutexattr_t attr; + pthread_mutexattr_init (&attr); + pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); +- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); ++ pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST); + + pthread_mutex_t* mutex = (pthread_mutex_t*) &m->m_data->mutex; + pthread_mutex_init(mutex, &attr); +@@ -124,7 +124,7 @@ bool PIpcMutex::lock() + int ret = pthread_mutex_lock(mutex); + if (ret != 0) { + if (ret == EOWNERDEAD) +- pthread_mutex_consistent_np(mutex); ++ pthread_mutex_consistent(mutex); + else { + g_critical("%s: %s", __PRETTY_FUNCTION__, strerror(ret)); + return false; +@@ -146,7 +146,7 @@ bool PIpcMutex::tryLock() + int ret = pthread_mutex_trylock(mutex); + if (ret != 0) { + if (ret == EOWNERDEAD) +- pthread_mutex_consistent_np(mutex); ++ pthread_mutex_consistent(mutex); + else if (ret == EBUSY) + return false; + else { diff --git a/aports/luna/luna-sysmgr/APKBUILD b/aports/luna/luna-sysmgr/APKBUILD new file mode 100644 index 00000000..bdd35eb6 --- /dev/null +++ b/aports/luna/luna-sysmgr/APKBUILD @@ -0,0 +1,73 @@ +pkgname=luna-sysmgr +pkgver=0.912_git20171117 +pkgrel=0 +_commit=514a3d4f4d104cb9d306772f3f5e804c018be738 +pkgdesc="webOS System Manager" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="luna-sysmgr-common luna-sysmgr-ipc qt5-qtsensors qt5-qtbase serviceinstaller librolegen nyx-lib json-c libressl glib luna-service2 uriparser pmloglib libpbnjson luna-prefs" +makedepends="cmake-modules-webos pmloglib-dev qt5-qtbase-dev luna-sysmgr-ipc-messages-dev luna-sysmgr-common-dev luna-sysmgr-ipc-dev librolegen-dev qt5-qtsensors-dev json-c-dev libressl-dev glib-dev libpbnjson-dev serviceinstaller luna-service2-dev nyx-lib-dev luna-prefs-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysmgr/archive/$_commit.tar.gz + compile.patch" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install + + sysmgrsrc="$srcdir"/$pkgname-514a3d4f4d104cb9d306772f3f5e804c018be738 + + #sysmgr, unlike every other component so far, doesn't use cmake to install it's static files. + + mkdir -p "$pkgdir"/usr/palm/sounds + cp -f "$sysmgrsrc"/sounds/* "$pkgdir"/usr/palm/sounds + + mkdir -p "$pkgdir"/usr/share/ls2/roles/prv/ + cp "$sysmgrsrc"/service/com.palm.luna.json.prv "$pkgdir"/usr/share/ls2/roles/prv/com.palm.luna.json + mkdir -p "$pkgdir"/usr/share/ls2/roles/pub/ + cp "$sysmgrsrc"/service/com.palm.luna.json.pub "$pkgdir"/usr/share/ls2/roles/pub/com.palm.luna.json + + mkdir -p "$pkgdir"/usr/share/ls2/system-services/ + cp "$sysmgrsrc"/service/com.palm.luna.service.prv "$pkgdir"/usr/share/ls2/system-services/com.palm.luna.service + + mkdir -p "$pkgdir"/usr/share/ls2/services/ + cp "$sysmgrsrc"/service/com.palm.luna.service.pub "$pkgdir"/usr/share/ls2/services/com.palm.luna.service + + mkdir -p "$pkgdir"/etc/palm/pubsub_handlers + cp -f "$sysmgrsrc"/service/com.palm.appinstaller.pubsub "$pkgdir"/etc/palm/pubsub_handlers/com.palm.appinstaller + + cp -f "$sysmgrsrc"/conf/default-exhibition-apps.json "$pkgdir"/etc/palm/default-exhibition-apps.json + cp -f "$sysmgrsrc"/conf/luna.conf "$pkgdir"/etc/palm/luna.conf + cp -f "$sysmgrsrc"/conf/localization.schema "$pkgdir"/etc/palm/localization.schema + cp -f "$sysmgrsrc"/conf/launcher-conf.orderly "$pkgdir"/etc/palm/localization.schema + cp -f "$sysmgrsrc"/conf/launcher-conf.schema "$pkgdir"/etc/palm/localization.schema + + mkdir -p "$pkgdir"/usr/lib/luna/customization + cp -f "$sysmgrsrc"/conf/default-exhibition-apps.json "$pkgdir"/usr/lib/luna/customization/default-exhibition-apps.json + + mkdir -p "$pkgdir"/etc/palm/schemas + cp -rf "$sysmgrsrc"/conf/*.schema "$pkgdir"/etc/palm/schemas + + mkdir -p "$pkgdir"/usr/palm/sysmgr/images + cp -fr "$sysmgrsrc"/images/* "$pkgdir"/usr/palm/sysmgr/images + + mkdir -p "$pkgdir"/usr/palm/sysmgr/low-memory + cp -frad "$sysmgrsrc"/low-memory/* "$pkgdir"/usr/palm/sysmgr/low-memory +} +sha512sums="9bdde8c9ed05986816b0afc76565ded065aec279ffbdeeac70827f01988ab6034676496dbd5955ee4cfc33e889758ee109ab143e43c542cfb5b95dbaa9fbd722 luna-sysmgr-514a3d4f4d104cb9d306772f3f5e804c018be738.tar.gz +d8a12b66e450262f7dd41b9d8d90ad3d6acfc345ea00599d7e16054d93a47d151a83871923ac586dade1513cef571b96dc69e404ab9a26ad8befb54453f608d8 compile.patch" diff --git a/aports/luna/luna-sysmgr/compile.patch b/aports/luna/luna-sysmgr/compile.patch new file mode 100644 index 00000000..4541e5e2 --- /dev/null +++ b/aports/luna/luna-sysmgr/compile.patch @@ -0,0 +1,27 @@ +diff --git a/Src/Main.cpp b/Src/Main.cpp +index 3ac9027..bf2f895 100644 +--- a/Src/Main.cpp ++++ b/Src/Main.cpp +@@ -75,14 +75,6 @@ + */ + + +-//#define PRINT_MALLOC_STATS +-#ifdef __cplusplus +-extern "C" { +-#endif +-extern void malloc_stats(void); +-#ifdef __cplusplus +-}; +-#endif + + static gchar* s_uiStr = NULL; + static gchar* s_appToLaunchStr = NULL; +@@ -336,7 +328,6 @@ static gboolean mallocStatsCb(gpointer data) + fflush(stderr); + fprintf(stderr, "\nMALLOC STATS FOR PROCESS: \"%s\" (PID: %d) AT [%ld.%ld] %s", process_name, my_pid, ts.tv_sec, ts.tv_nsec, ctime_r(&cur_time, buf)); + fflush(stderr); +- malloc_stats(); + fprintf(stderr, "\n\n"); + fflush(stderr); + fsync(STDERR_FILENO); diff --git a/aports/luna/luna-sysservice/APKBUILD b/aports/luna/luna-sysservice/APKBUILD new file mode 100644 index 00000000..5681b50e --- /dev/null +++ b/aports/luna/luna-sysservice/APKBUILD @@ -0,0 +1,34 @@ +pkgname=luna-sysservice +pkgver=4.0.0_git20160926 +pkgrel=0 +_commit=3e52044fc17511842e86fd05a0588fd015e28b3b +pkgdesc="Provides image manipulation, preference, timezone and ringtone services for webOS components." +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="qt5-qtbase glib libxml2 sqlite json-c libpbnjson luna-service2 uriparser nyx-lib" +makedepends="cmake-modules-webos pmloglib-dev qt5-qtbase-dev libxml2-dev glib-dev sqlite-dev json-c-dev libpbnjson-dev luna-service2-dev uriparser-dev nyx-lib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luna-sysservice/archive/$_commit.tar.gz +compile.patch" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$srcdir"/$pkgname-3e52044fc17511842e86fd05a0588fd015e28b3b \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="a1532f13df7d80abe22f89b8e582b4473165d3d02c8c6c6c043d190a278ffee64b599eb9d26250ba77b4f5153124b8f16727127c8d368209fa2d732c50823f58 luna-sysservice-3e52044fc17511842e86fd05a0588fd015e28b3b.tar.gz +b822c26c542f7255d4dbc5a183aca18d3601c36e9218a579ea088eaf7dbe611fb349d08f43a21871231ada7db2825aaef9da21c7d17120c18e8276d73d9fdcbc compile.patch" diff --git a/aports/luna/luna-sysservice/compile.patch b/aports/luna/luna-sysservice/compile.patch new file mode 100644 index 00000000..a947f222 --- /dev/null +++ b/aports/luna/luna-sysservice/compile.patch @@ -0,0 +1,25 @@ +diff --git a/Src/BackupManager.cpp b/Src/BackupManager.cpp +index 2b34936..f90239f 100644 +--- a/Src/BackupManager.cpp ++++ b/Src/BackupManager.cpp +@@ -19,6 +19,7 @@ + #include + + //for basename()... ++#include + #include + #include + #include "BackupManager.h" +diff --git a/Src/BroadcastTimeHandler.cpp b/Src/BroadcastTimeHandler.cpp +index a65f96a..4a75856 100644 +--- a/Src/BroadcastTimeHandler.cpp ++++ b/Src/BroadcastTimeHandler.cpp +@@ -163,7 +163,7 @@ namespace { + + localTm.tm_isdst = -1; // mktime should lookup TZ rules + +- return timelocal(&localTm); ++ return mktime(&localTm); + } + + time_t toTimeT(const pbnjson::JValue &value) diff --git a/aports/luna/luneos-components/APKBUILD b/aports/luna/luneos-components/APKBUILD new file mode 100644 index 00000000..98a523ee --- /dev/null +++ b/aports/luna/luneos-components/APKBUILD @@ -0,0 +1,30 @@ +pkgname=luneos-components +pkgver=0.0.1_git20171118 +pkgrel=0 +_commit=305b2c8e2c4c5870fc737a0d2809799d5c58a2e1 +pkgdesc="LuneOS styled QtQuick Controls" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="qt5-qtbase luna-service2 qt5-qtgraphicaleffects qt5-qtdeclarative qt5-qtquickcontrols2 glib pmloglib" +makedepends="cmake-modules-webos qt5-qtbase-dev qt5-qtdeclarative-dev glib-dev qt5-qtquickcontrols2-dev luna-service2-dev pmloglib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/luneos-components/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + export QMAKE_CXXFLAGS=" -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include " + qmake-qt5 "$builddir" + make +} + +package() { + cd "$srcdir"/build + make install INSTALL_ROOT="$pkgdir" +} +sha512sums="a44031e07efabe46ec33beb4630ee264b8f5a136de060a56499b72403d7ff97648f84ea15ae96602d5e35dacabf33f609b0b72a84a896c66b001496dda1a5354 luneos-components-305b2c8e2c4c5870fc737a0d2809799d5c58a2e1.tar.gz" diff --git a/aports/luna/nyx-lib/APKBUILD b/aports/luna/nyx-lib/APKBUILD new file mode 100644 index 00000000..7390a740 --- /dev/null +++ b/aports/luna/nyx-lib/APKBUILD @@ -0,0 +1,37 @@ +pkgname=nyx-lib +pkgver=5.8.0_git20160914 +pkgrel=0 +_commit=2892791512ca37b655695f6ef811b5a4602ffb4b +pkgdesc="Open webOS Platform Portability Layer" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="glib" +depends_dev="glib-dev" +makedepends="cmake-modules-webos glib-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/webOS-ports/nyx-lib/archive/$_commit.tar.gz + addstdint.patch" +subpackages="$pkgname-dev" +options="!check" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="4e2978067d19872d44c7c6fe7b10e3c32dcf575904aa4dd6bab487145cd30ee5f321ff8bc6ea68259ef4c0d4f5fcda885db5d2c48de6c050da83c1a6f50c0421 nyx-lib-2892791512ca37b655695f6ef811b5a4602ffb4b.tar.gz +b5f3a777ffd7f8d305217a04f6a3b55302ff66601c647e054a84bfbaec53ca43182e69a03cc53d88ffe4d0567ff3422561b85d3fdcab4e7b2454941205c42e17 addstdint.patch" diff --git a/aports/luna/nyx-lib/addstdint.patch b/aports/luna/nyx-lib/addstdint.patch new file mode 100644 index 00000000..2b76b5ef --- /dev/null +++ b/aports/luna/nyx-lib/addstdint.patch @@ -0,0 +1,12 @@ +diff --git a/include/public/nyx/module/nyx_log.h b/include/public/nyx/module/nyx_log.h +index f8ed475..f87cd28 100644 +--- a/include/public/nyx/module/nyx_log.h ++++ b/include/public/nyx/module/nyx_log.h +@@ -25,6 +25,7 @@ + #define _NYX_LOG_H_ + + #include ++#include + #include + + /* diff --git a/aports/luna/nyx-lib/compile.patch b/aports/luna/nyx-lib/compile.patch new file mode 100644 index 00000000..2b76b5ef --- /dev/null +++ b/aports/luna/nyx-lib/compile.patch @@ -0,0 +1,12 @@ +diff --git a/include/public/nyx/module/nyx_log.h b/include/public/nyx/module/nyx_log.h +index f8ed475..f87cd28 100644 +--- a/include/public/nyx/module/nyx_log.h ++++ b/include/public/nyx/module/nyx_log.h +@@ -25,6 +25,7 @@ + #define _NYX_LOG_H_ + + #include ++#include + #include + + /* diff --git a/aports/luna/pmloglib/APKBUILD b/aports/luna/pmloglib/APKBUILD new file mode 100644 index 00000000..1bc339d4 --- /dev/null +++ b/aports/luna/pmloglib/APKBUILD @@ -0,0 +1,31 @@ +pkgname=pmloglib +pkgver=3.2.0 +pkgrel=2 +pkgdesc="The Open webOS logging library" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="" +makedepends="cmake-modules-webos glib-dev libpbnjson-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/pmloglib/archive/versions/3.2.0.tar.gz" +subpackages="$pkgname-dev" +options="!check" + +prepare() { + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$srcdir"/$pkgname-versions-$pkgver \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="ca8f1ffcfa3a366e677e7e80d6e8f8c8bbeefbf5cccb05b6e8cb2f7e307aeccbcda257ade0d55d4ce6ba6457d7681267d04c53e2f19f5647f8dcb1b56f100678 pmloglib-.tar.gz" diff --git a/aports/luna/qt5-qtsensors/0003-QtKeyExtensionGlobal-fix-export.patch b/aports/luna/qt5-qtsensors/0003-QtKeyExtensionGlobal-fix-export.patch new file mode 100644 index 00000000..ed88c17d --- /dev/null +++ b/aports/luna/qt5-qtsensors/0003-QtKeyExtensionGlobal-fix-export.patch @@ -0,0 +1,13 @@ +diff --git a/src/compositor/extensions/qwlqtkey_p.h b/src/compositor/extensions/qwlqtkey_p.h +index fae02b0..d965eac 100644 +--- a/src/compositor/extensions/qwlqtkey_p.h ++++ b/src/compositor/extensions/qwlqtkey_p.h +@@ -64,7 +64,7 @@ class QKeyEvent; + + namespace QtWayland { + +-class QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate, public QtWaylandServer::qt_key_extension ++class Q_WAYLAND_COMPOSITOR_EXPORT QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate, public QtWaylandServer::qt_key_extension + { + Q_OBJECT + public: diff --git a/aports/luna/qt5-qtsensors/APKBUILD b/aports/luna/qt5-qtsensors/APKBUILD new file mode 100644 index 00000000..dbe55bfb --- /dev/null +++ b/aports/luna/qt5-qtsensors/APKBUILD @@ -0,0 +1,32 @@ +pkgname=qt5-qtsensors +pkgver=5.9.1 +pkgrel=0 +arch="all" +url='http://qt-project.org/' +license="GPL3 LGPL3 FDL custom" +pkgdesc='Provides APIs for sensors' +depends="qt5-qtbase" +makedepends="qt5-qtbase-dev" +source="http://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${pkgname/qt5-/}-opensource-src-$pkgver.tar.xz" +subpackages="$pkgname-dev $pkgname-doc" +builddir="$srcdir/${pkgname/qt5-/}-opensource-src-$pkgver" + +build() { + cd "$builddir" + qmake-qt5 + make +} + +package() { + cd "$builddir" + + make INSTALL_ROOT="$pkgdir" install + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} +} +sha512sums="a6f0e10aad5f0242dfad470c0aa334dcff817587a3f24c6930de8197281eb72b94f96d74aea5fc5446a262fbfc41cad68ea1b6f21df5fade5da278f8493732a5 qtsensors-opensource-src-5.9.1.tar.xz" diff --git a/aports/luna/serviceinstaller/APKBUILD b/aports/luna/serviceinstaller/APKBUILD new file mode 100644 index 00000000..0155d813 --- /dev/null +++ b/aports/luna/serviceinstaller/APKBUILD @@ -0,0 +1,32 @@ +pkgname=serviceinstaller +pkgver=2.0.0_git20130816 +pkgrel=0 +_commit=a579f1ee97a839dd501b4b8abc206ebb48f634cb +pkgdesc="An extensible object oriented component used to add service components to webOS" +arch="all" +url="http://webos-ports.org" +license="GPL-3.0+" +depends="luna-service2 glib libpbnjson librolegen pmloglib" +makedepends="cmake-modules-webos libpbnjson-dev glib-dev pmloglib-dev librolegen-dev luna-service2-dev" +source="$pkgname-$_commit.tar.gz::https://github.com/openwebos/serviceinstaller/archive/$_commit.tar.gz" +builddir="$srcdir/$pkgname-$_commit" + +prepare() { + default_prepare + mkdir -p "$srcdir"/build +} + +build() { + cd "$srcdir"/build + cmake "$builddir" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWEBOS_INSTALL_ROOT=/ + make +} + +package() { + cd "$srcdir"/build + make DESTDIR="$pkgdir" install +} +sha512sums="230c9f38bbb4d8a83d4b29693920689cd0ceb659204ffc91b664bdade1abdf0711fd21cae28262caa52e1cd0de1de8245743d94cbc58bae054f6225d788fd2db serviceinstaller-a579f1ee97a839dd501b4b8abc206ebb48f634cb.tar.gz" diff --git a/aports/main/postmarketos-ui-luna/APKBUILD b/aports/main/postmarketos-ui-luna/APKBUILD new file mode 100644 index 00000000..b90cd4b0 --- /dev/null +++ b/aports/main/postmarketos-ui-luna/APKBUILD @@ -0,0 +1,18 @@ +pkgname=postmarketos-ui-luna +pkgver=1 +pkgrel=0 +pkgdesc="(Wayland) webOS UI, ported from the LuneOS project (Not working yet)" +url="https://wiki.postmarketos.org/wiki/LuneOS_UI" +arch="noarch" +license="GPL3+" +depends="luna-next-cardshell luna-next luna-sysmgr luna-sysservice luna-appmanager luneos-components luna-init mesa" +makedepends="" +subpackages="" +source="start_luna.sh" +options="!check" + +package() { + install -D -m755 "$srcdir"/start_luna.sh \ + "$pkgdir"/usr/bin/start_luna.sh +} +sha512sums="f9940d2ce21a3f0de682ee1046681b25ceeaccbcd72d92b1a791ea70074c1bf9f63d43ca36be069551f73ff8bf75585053f1fbe9a0669c481ebed26b5e9098a1 start_luna.sh" diff --git a/aports/main/postmarketos-ui-luna/start_luna.sh b/aports/main/postmarketos-ui-luna/start_luna.sh new file mode 100644 index 00000000..f6950970 --- /dev/null +++ b/aports/main/postmarketos-ui-luna/start_luna.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +if test -z "${XDG_RUNTIME_DIR}"; then + export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir + if ! test -d "${XDG_RUNTIME_DIR}"; then + mkdir "${XDG_RUNTIME_DIR}" + chmod 0700 "${XDG_RUNTIME_DIR}" + fi + + export LD_PRELOAD=/usr/lib/libwayland-server.so.0 + export QT_QPA_PLATFORM=eglfs + export QT_QUICK_BACKEND=software + + /usr/sbin/ls-hubd --conf /etc/luna-service2/ls-private.conf & + sleep 1 + /usr/sbin/ls-hubd --public --conf /etc/luna-service2/ls-public.conf & + sleep 1 + luna-prefs-service -d & + sleep 1 + LunaSysMgr -l debug & + sleep 1 + LunaSysService -l debug & + sleep 1 + LunaAppManager -t -c -u luna & + sleep 1 + luna-next +fi diff --git a/aports/main/qt5-qtwayland/0003-QtKeyExtensionGlobal-fix-export.patch b/aports/main/qt5-qtwayland/0003-QtKeyExtensionGlobal-fix-export.patch new file mode 100644 index 00000000..857f4a78 --- /dev/null +++ b/aports/main/qt5-qtwayland/0003-QtKeyExtensionGlobal-fix-export.patch @@ -0,0 +1,14 @@ +diff --git a/src/compositor/extensions/qwlqtkey_p.h b/src/compositor/extensions/qwlqtkey_p.h +index fae02b0..d965eac 100644 +--- a/src/compositor/extensions/qwlqtkey_p.h ++++ b/src/compositor/extensions/qwlqtkey_p.h +@@ -64,7 +64,7 @@ class QKeyEvent; + + namespace QtWayland { + +-class QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate, public QtWaylandServer::qt_key_extension ++class Q_WAYLAND_COMPOSITOR_EXPORT QtKeyExtensionGlobal : public QWaylandCompositorExtensionTemplate, public QtWaylandServer::qt_key_extension + { + Q_OBJECT + public: + diff --git a/aports/main/qt5-qtwayland/APKBUILD b/aports/main/qt5-qtwayland/APKBUILD index b66a4e2a..e74eb91b 100644 --- a/aports/main/qt5-qtwayland/APKBUILD +++ b/aports/main/qt5-qtwayland/APKBUILD @@ -2,15 +2,16 @@ # Maintainer: Bart Ribbers pkgname=qt5-qtwayland pkgver=5.9.2 -pkgrel=0 +pkgrel=1 arch="all" url='http://qt-project.org/' license="GPL-3.0 GPL-2.0 LGPL-3.0" pkgdesc='Provides APIs for Wayland' -depends="qt5-qtdeclarative libxcomposite wayland" +depends="qt5-qtdeclarative libxcomposite wayland qt5-qtquickcontrols2" depends_dev="qt5-qtbase-dev" -makedepends="$depends_dev libxkbcommon-dev" -source="http://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${pkgname/qt5-/}-opensource-src-$pkgver.tar.xz" +makedepends="$depends_dev libxkbcommon-dev qt5-qtquickcontrols2-dev" +source="http://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${pkgname/qt5-/}-opensource-src-$pkgver.tar.xz + 0003-QtKeyExtensionGlobal-fix-export.patch" subpackages="$pkgname-dev $pkgname-doc" builddir="$srcdir/${pkgname/qt5-/}-opensource-src-$pkgver" options="!check" @@ -31,4 +32,5 @@ package() { install -d "$pkgdir"/usr/share/licenses ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/$pkgname } -sha512sums="28b6f77be5289cb9eba0e3e6b220d2c99d2ab4dbae8e02caecd7651b5ae33c09f117545664b01649ca52b27025cc15853806ece8dc10713c3d90832416c7def6 qtwayland-opensource-src-5.9.2.tar.xz" +sha512sums="28b6f77be5289cb9eba0e3e6b220d2c99d2ab4dbae8e02caecd7651b5ae33c09f117545664b01649ca52b27025cc15853806ece8dc10713c3d90832416c7def6 qtwayland-opensource-src-5.9.2.tar.xz +2e081b0bd66d4f3865a96a53df45fcd04f61a2a951be89ed46405b35a334b4900be1cd834b583c6dca4bfb75ed816aaab8a2d536962922505c30e48fdc3b394d 0003-QtKeyExtensionGlobal-fix-export.patch"