From e9c3f417dd0f687979237c10eb7945ea2ab390ed Mon Sep 17 00:00:00 2001 From: iko Date: Sat, 25 Feb 2023 11:31:37 +0300 Subject: [PATCH] ubports-click: init at 22-02-2023 --- .../tools/click/dbus-test-runner.patch | 23 +++++ pkgs/development/tools/click/default.nix | 86 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 111 insertions(+) create mode 100644 pkgs/development/tools/click/dbus-test-runner.patch create mode 100644 pkgs/development/tools/click/default.nix diff --git a/pkgs/development/tools/click/dbus-test-runner.patch b/pkgs/development/tools/click/dbus-test-runner.patch new file mode 100644 index 00000000000..c705cf99aa7 --- /dev/null +++ b/pkgs/development/tools/click/dbus-test-runner.patch @@ -0,0 +1,23 @@ +diff --git a/click_package/Makefile.am b/click_package/Makefile.am +index 4981d74..9df9e79 100644 +--- a/click_package/Makefile.am ++++ b/click_package/Makefile.am +@@ -1,5 +1,3 @@ +-SUBDIRS = tests +- + noinst_SCRIPTS = paths.py + CLEANFILES = $(noinst_SCRIPTS) + +diff --git a/configure.ac b/configure.ac +index 8f4dc9e..adbd366 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -52,8 +52,6 @@ PKG_CHECK_MODULES([SERVICE], [ + AC_SUBST([SERVICE_CFLAGS]) + AC_SUBST([SERVICE_LIBS]) + +-AC_CHECK_PROG(DBUS_TEST_RUNNER_CHECK,dbus-test-runner,yes) +-AS_IF([test "${DBUS_TEST_RUNNER_CHECK}" != "yes"], [AC_MSG_ERROR([dbus-test-runner not found])]) + AC_CHECK_PROG(GDBUS_CHECK,gdbus,yes) + AS_IF([test "${GDBUS_CHECK}" != "yes"], [AC_MSG_ERROR([gdbus (glib) not found])]) + diff --git a/pkgs/development/tools/click/default.nix b/pkgs/development/tools/click/default.nix new file mode 100644 index 00000000000..4adaf11088b --- /dev/null +++ b/pkgs/development/tools/click/default.nix @@ -0,0 +1,86 @@ +{ lib +, fetchFromGitLab +, buildPythonApplication +, autoreconfHook +, debian +, perl +, vala +, pkg-config +, libgee +, json-glib +, properties-cpp +, gobject-introspection +, getopt +, setuptools +, pygobject3 +, wrapGAppsHook +}: + +buildPythonApplication { + pname = "click"; + version = "unstable-2023-02-22"; + format = "other"; + + src = fetchFromGitLab { + owner = "ubports"; + repo = "development/core/click"; + rev = "aaf2735e8e6cbeaf2e429c70136733513a81718a"; + sha256 = "sha256-pNu995/w3tbz15QQVdVYBnWnAoZmqWj1DN/5PZZ0iZw="; + }; + + configureFlags = [ + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user" + ]; + + preFixup = '' + makeWrapperArgs+=( + --prefix LD_LIBRARY_PATH : "$out/lib" + ) + ''; + + preConfigure = '' + export click_cv_perl_vendorlib=$out/${perl.libPrefix} + export PYTHON_INSTALL_FLAGS="--prefix=$out" + ''; + + nativeBuildInputs = [ + autoreconfHook + perl + pkg-config + gobject-introspection + vala + getopt + wrapGAppsHook + ]; + + # Tests were omitted for time constraint reasons + doCheck = false; + + enableParallelBuilding = true; + + patches = [ + # dbus-test-runner not packaged yet, otherwise build-time dependency even when not running tests + ./dbus-test-runner.patch + ]; + + buildInputs = [ + libgee + json-glib + properties-cpp + ]; + + propagatedBuildInputs = [ + debian + pygobject3 + setuptools + ]; + + meta = { + description = "A tool to build click packages. Mainly used for Ubuntu Touch."; + homepage = "https://gitlab.com/ubports/development/core/click"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ ilyakooo0 OPNA2608 ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa05105d53c..d73ae2d4f1f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16121,6 +16121,8 @@ with pkgs; bupc = callPackage ../development/compilers/bupc { }; + ubports-click = python3Packages.callPackage ../development/tools/click { }; + uasm = callPackage ../development/compilers/uasm { }; urn = callPackage ../development/compilers/urn { };