mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-14 21:49:34 +03:00
ubports-click: Bump, modernise, fix GCC 14 compat (#367871)
This commit is contained in:
commit
04e40bca2a
4 changed files with 178 additions and 121 deletions
178
pkgs/by-name/ub/ubports-click/package.nix
Normal file
178
pkgs/by-name/ub/ubports-click/package.nix
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
{
|
||||||
|
fetchFromGitLab,
|
||||||
|
fetchpatch,
|
||||||
|
gitUpdater,
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
testers,
|
||||||
|
autoreconfHook,
|
||||||
|
dbus,
|
||||||
|
dbus-test-runner,
|
||||||
|
dpkg,
|
||||||
|
getopt,
|
||||||
|
glib,
|
||||||
|
gobject-introspection,
|
||||||
|
json-glib,
|
||||||
|
libgee,
|
||||||
|
perl,
|
||||||
|
pkg-config,
|
||||||
|
properties-cpp,
|
||||||
|
python3Packages,
|
||||||
|
vala,
|
||||||
|
wrapGAppsHook3,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
self = python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "click";
|
||||||
|
version = "0.5.2";
|
||||||
|
format = "other";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
owner = "ubports";
|
||||||
|
repo = "development/core/click";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-AV3n6tghvpV/6Ew6Lokf8QAGBIMbHFAnp6G4pefVn+8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Remove when version > 0.5.2
|
||||||
|
(fetchpatch {
|
||||||
|
name = "0001-click-fix-Wimplicit-function-declaration.patch";
|
||||||
|
url = "https://gitlab.com/ubports/development/core/click/-/commit/8f654978a12e6f9a0b6ff64296ec5565e3ff5cd0.patch";
|
||||||
|
hash = "sha256-kio+DdtuagUNYEosyQY3q3H+dJM3cLQRW9wUKUcpUTY=";
|
||||||
|
})
|
||||||
|
|
||||||
|
# Remove when version > 0.5.2
|
||||||
|
(fetchpatch {
|
||||||
|
name = "0002-click-Add-uid_t-and-gid_t-to-the-ctypes-_typemap.patch";
|
||||||
|
url = "https://gitlab.com/ubports/development/core/click/-/commit/cbcd23b08b02fa122434e1edd69c2b3dcb6a8793.patch";
|
||||||
|
hash = "sha256-QaWRhxO61wAzULVqPLdJrLuBCr3+NhKmQlEPuYq843I=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# These should be proper Requires, using the header needs their headers
|
||||||
|
substituteInPlace lib/click/click-*.pc.in \
|
||||||
|
--replace-fail 'Requires.private' 'Requires'
|
||||||
|
|
||||||
|
# Don't completely override PKG_CONFIG_PATH
|
||||||
|
substituteInPlace click_package/tests/Makefile.am \
|
||||||
|
--replace-fail 'PKG_CONFIG_PATH=$(top_builddir)/lib/click' 'PKG_CONFIG_PATH=$(top_builddir)/lib/click:$(PKG_CONFIG_PATH)'
|
||||||
|
|
||||||
|
patchShebangs bin/click
|
||||||
|
'';
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
pkgsBuildBuild = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
dbus-test-runner # Always checking for this
|
||||||
|
getopt
|
||||||
|
gobject-introspection
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
vala
|
||||||
|
wrapGAppsHook3
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
json-glib
|
||||||
|
libgee
|
||||||
|
properties-cpp
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
python-debian
|
||||||
|
pygobject3
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
dbus
|
||||||
|
dpkg
|
||||||
|
python3Packages.unittestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = with python3Packages; [
|
||||||
|
python-apt
|
||||||
|
six
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
export click_cv_perl_vendorlib=$out/${perl.libPrefix}
|
||||||
|
export PYTHON_INSTALL_FLAGS="--prefix=$out"
|
||||||
|
'';
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
|
||||||
|
"--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||||
|
|
||||||
|
disabledTestPaths = [
|
||||||
|
# From apt: Unable to determine a suitable packaging system type
|
||||||
|
"click_package/tests/integration/test_signatures.py"
|
||||||
|
"click_package/tests/test_build.py"
|
||||||
|
"click_package/tests/test_install.py"
|
||||||
|
"click_package/tests/test_scripts.py"
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMP
|
||||||
|
|
||||||
|
# tests recompile some files for loaded predefines, doesn't use any optimisation level for it
|
||||||
|
# makes test output harder to read, so make the warning go away
|
||||||
|
export NIX_CFLAGS_COMPILE+=" -U_FORTIFY_SOURCE"
|
||||||
|
|
||||||
|
# Haven'tbeen able to get them excluded via disabledTest{s,Paths}, just deleting them
|
||||||
|
for path in $disabledTestPaths; do
|
||||||
|
rm -v $path
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
makeWrapperArgs+=(
|
||||||
|
--prefix LD_LIBRARY_PATH : "$out/lib"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gitUpdater { };
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Tool to build click packages, mainly used for Ubuntu Touch";
|
||||||
|
homepage = "https://gitlab.com/ubports/development/core/click";
|
||||||
|
changelog = "https://gitlab.com/ubports/development/core/click/-/blob/${version}/ChangeLog";
|
||||||
|
license = lib.licenses.gpl3Only;
|
||||||
|
mainProgram = "click";
|
||||||
|
maintainers =
|
||||||
|
with lib.maintainers;
|
||||||
|
[
|
||||||
|
ilyakooo0
|
||||||
|
]
|
||||||
|
++ lib.teams.lomiri.members;
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
pkgConfigModules = [
|
||||||
|
"click-0.4"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
self
|
||||||
|
// {
|
||||||
|
passthru = self.passthru // {
|
||||||
|
tests.pkg-config = testers.hasPkgConfigModules {
|
||||||
|
package = self;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,23 +0,0 @@
|
||||||
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])])
|
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
fetchFromGitLab,
|
|
||||||
buildPythonApplication,
|
|
||||||
autoreconfHook,
|
|
||||||
python-debian,
|
|
||||||
perl,
|
|
||||||
vala,
|
|
||||||
pkg-config,
|
|
||||||
libgee,
|
|
||||||
json-glib,
|
|
||||||
properties-cpp,
|
|
||||||
gobject-introspection,
|
|
||||||
getopt,
|
|
||||||
setuptools,
|
|
||||||
pygobject3,
|
|
||||||
wrapGAppsHook3,
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonApplication {
|
|
||||||
pname = "click";
|
|
||||||
version = "unstable-2023-02-22";
|
|
||||||
format = "other";
|
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
|
||||||
owner = "ubports";
|
|
||||||
repo = "development/core/click";
|
|
||||||
rev = "aaf2735e8e6cbeaf2e429c70136733513a81718a";
|
|
||||||
hash = "sha256-pNu995/w3tbz15QQVdVYBnWnAoZmqWj1DN/5PZZ0iZw=";
|
|
||||||
};
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# These should be proper Requires, using the header needs their headers
|
|
||||||
substituteInPlace lib/click/click-*.pc.in \
|
|
||||||
--replace 'Requires.private' 'Requires'
|
|
||||||
'';
|
|
||||||
|
|
||||||
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
|
|
||||||
wrapGAppsHook3
|
|
||||||
];
|
|
||||||
|
|
||||||
# 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 = [
|
|
||||||
python-debian
|
|
||||||
pygobject3
|
|
||||||
setuptools
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "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;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -6955,8 +6955,6 @@ with pkgs;
|
||||||
llvmPackages = llvmPackages_18;
|
llvmPackages = llvmPackages_18;
|
||||||
};
|
};
|
||||||
|
|
||||||
ubports-click = python3Packages.callPackage ../development/tools/click { };
|
|
||||||
|
|
||||||
urweb = callPackage ../development/compilers/urweb {
|
urweb = callPackage ../development/compilers/urweb {
|
||||||
icu = icu67;
|
icu = icu67;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue