From 0a044f75b54d92417debf600fe7c4c4f86af344d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 16 Mar 2020 03:55:16 +0100 Subject: gnu: python-flask-restful: Update to 0.3.8. * gnu/packages/patches/python-flask-restful-werkzeug-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-web.scm (python-flask-restful): Update to 0.3.8. [source](patches): New field. [native-inputs]: Remove PYTHON-SPHINX. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 3be54b2627..1dd7e0a6a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1327,6 +1327,7 @@ dist_patch_DATA = \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ + %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ -- cgit v1.2.3 From e76cbdcd90e603d98f9d074aa2ee0788c65d97df Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 16 Mar 2020 04:39:17 +0100 Subject: gnu: beets: Fix build with newer Werkzeug. * gnu/packages/patches/beets-werkzeug-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/music.scm (beets)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/music.scm | 1 + gnu/packages/patches/beets-werkzeug-compat.patch | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 gnu/packages/patches/beets-werkzeug-compat.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 1dd7e0a6a8..5cde920c8c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -756,6 +756,7 @@ dist_patch_DATA = \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ + %D%/packages/patches/beets-werkzeug-compat.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ %D%/packages/patches/biber-fix-encoding-write.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f6585f60d4..fd9cd6c30f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2941,6 +2941,7 @@ Songs can be searched by artist, name or even by a part of the song text.") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) + (patches (search-patches "beets-werkzeug-compat.patch")) (sha256 (base32 "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj")))) diff --git a/gnu/packages/patches/beets-werkzeug-compat.patch b/gnu/packages/patches/beets-werkzeug-compat.patch new file mode 100644 index 0000000000..1a91c3a3f9 --- /dev/null +++ b/gnu/packages/patches/beets-werkzeug-compat.patch @@ -0,0 +1,18 @@ +Be compatible with python-werkzeug 1.0.0. + +Taken from upstream: +https://github.com/beetbox/beets/commit/d43d54e21cde97f57f19486925ab56b419254cc8 + +diff --git a/beetsplug/web/__init__.py b/beetsplug/web/__init__.py +index f53fb3a954..21ff5d94ed 100644 +--- a/beetsplug/web/__init__.py ++++ b/beetsplug/web/__init__.py +@@ -169,7 +169,7 @@ def to_python(self, value): + return ids + + def to_url(self, value): +- return ','.join(value) ++ return ','.join(str(v) for v in value) + + + class QueryConverter(PathConverter): -- cgit v1.2.3 From 5144e314925d6014b496bcc6090f46e97318b5fa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 17 Mar 2020 00:19:01 +0100 Subject: gnu: eigen: Update to 3.3.7. * gnu/packages/algebra.scm (eigen): Update to 3.3.7. [source]: Add a patch to fix a test failure. * gnu/packages/patches/eigen-stabilise-sparseqr-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/algebra.scm | 7 +- .../patches/eigen-stabilise-sparseqr-test.patch | 74 ++++++++++++++++++++++ 3 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/eigen-stabilise-sparseqr-test.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 5cde920c8c..caa73d44d4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -826,6 +826,7 @@ dist_patch_DATA = \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ + %D%/packages/patches/eigen-stabilise-sparseqr-test.patch \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-path-length.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 50cb3001cb..8682ecd8d0 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2018 Mark H Weaver ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017 Efraim Flashner -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017, 2019 Eric Bavier ;;; Copyright © 2020 Björn Höfling @@ -910,15 +910,16 @@ Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).") (define-public eigen (package (name "eigen") - (version "3.3.5") + (version "3.3.7") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/eigen/eigen/get/" version ".tar.bz2")) (sha256 (base32 - "1qh3yrwn78ms5yhwbpl5wvblk4gbz02cacdygxylr7i9xbrvylkk")) + "1km3fyfzyqfdvmnl79drps3fjwnz3zbh0c7l34mfbqyvvs8cy4wz")) (file-name (string-append name "-" version ".tar.bz2")) + (patches (search-patches "eigen-stabilise-sparseqr-test.patch")) (modules '((guix build utils))) (snippet ;; There are 3 test failures in the "unsupported" directory, diff --git a/gnu/packages/patches/eigen-stabilise-sparseqr-test.patch b/gnu/packages/patches/eigen-stabilise-sparseqr-test.patch new file mode 100644 index 0000000000..b95b46077a --- /dev/null +++ b/gnu/packages/patches/eigen-stabilise-sparseqr-test.patch @@ -0,0 +1,74 @@ +From: Tobias Geerinckx-Rice +Date: Mon, 16 Mar 2020 22:51:37 +0000 +Subject: gnu: eigen: Stabilise sparseqr test. + +Taken verbatim from this[0] upstream commit. + +[0]: https://gitlab.com/libeigen/eigen/-/commit/3b5deeb546d4017b24846f5b0dc3296a50a039fe + +From 3b5deeb546d4017b24846f5b0dc3296a50a039fe Mon Sep 17 00:00:00 2001 +From: Gael Guennebaud +Date: Tue, 19 Feb 2019 22:57:51 +0100 +Subject: [PATCH] bug #899: make sparseqr unit test more stable by 1) trying + with larger threshold and 2) relax rank computation for rank-deficient + problems. + +--- + test/sparseqr.cpp | 31 ++++++++++++++++++++++++++----- + 1 file changed, 26 insertions(+), 5 deletions(-) + +diff --git a/test/sparseqr.cpp b/test/sparseqr.cpp +index 3ffe62314..3576cc626 100644 +--- a/test/sparseqr.cpp ++++ b/test/sparseqr.cpp +@@ -43,6 +43,7 @@ int generate_sparse_rectangular_problem(MatrixType& A, DenseMat& dA, int maxRows + + template void test_sparseqr_scalar() + { ++ typedef typename NumTraits::Real RealScalar; + typedef SparseMatrix MatrixType; + typedef Matrix DenseMat; + typedef Matrix DenseVector; +@@ -91,14 +92,34 @@ template void test_sparseqr_scalar() + exit(0); + return; + } +- +- VERIFY_IS_APPROX(A * x, b); +- +- //Compare with a dense QR solver ++ ++ // Compare with a dense QR solver + ColPivHouseholderQR dqr(dA); + refX = dqr.solve(b); + +- VERIFY_IS_EQUAL(dqr.rank(), solver.rank()); ++ bool rank_deficient = A.cols()>A.rows() || dqr.rank() we might have to increase the threshold ++ // to get a correct solution. ++ RealScalar th = RealScalar(20)*dA.colwise().norm().maxCoeff()*(A.rows()+A.cols()) * NumTraits::epsilon(); ++ for(Index k=0; (k<16) && !test_isApprox(A*x,b); ++k) ++ { ++ th *= RealScalar(10); ++ solver.setPivotThreshold(th); ++ solver.compute(A); ++ x = solver.solve(b); ++ } ++ } ++ ++ VERIFY_IS_APPROX(A * x, b); ++ ++ // For rank deficient problem, the estimated rank might ++ // be slightly off, so let's only raise a warning in such cases. ++ if(rank_deficient) ++g_test_level; ++ VERIFY_IS_EQUAL(solver.rank(), dqr.rank()); ++ if(rank_deficient) --g_test_level; ++ + if(solver.rank()==A.cols()) // full rank + VERIFY_IS_APPROX(x, refX); + // else +-- +2.24.1 + -- cgit v1.2.3 From 83a4ab4e4213eaf10289f0abd8a43979178701d7 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 18 Jan 2020 21:47:00 +0100 Subject: gnu: Add libksieve. * gnu/packages/kde-pim.scm (libksieve): New variable. * gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/kde-pim.scm | 58 +++++++++++++++++++++ .../libksieve-Fix-missing-link-libraries.patch | 59 ++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index caa73d44d4..aa5dcd7c39 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1108,6 +1108,7 @@ dist_patch_DATA = \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ + %D%/packages/patches/libksieve-Fix-missing-lInk-libraries.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ %D%/packages/patches/libmad-length-check.patch \ diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 07293b6bd1..fbe9bc2e94 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -1132,3 +1132,61 @@ various Google services.") KDE using certificate-based crypto.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) + +(define-public libksieve + (package + (name "libksieve") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/libksieve-" version ".tar.xz")) + (sha256 + (base32 "0q6f6lc4yvlq0vsfml10lz844z6zxxf7yivk7l3vglap58ci20x1")) + (patches (search-patches "libksieve-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("cyrus-sasl" ,cyrus-sasl) + ("karchive" ,karchive) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kmailtransport" ,kmailtransport) + ("kmime" ,kmime) + ("knewstuff" ,knewstuff) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwindowsystem" ,kwindowsystem) + ("libkdepim" ,libkdepim) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'substitute + (lambda _ + ;; Disable a failing test + ;; sieveeditorhelphtmlwidgettest fails with `sigtrap` + (substitute* + "src/ksieveui/editor/webengine/autotests/CMakeLists.txt" + (("^\\s*(add_test|ecm_mark_as_test)\\W" line) + (string-append "# " line))) + #t))))) + (home-page "https://cgit.kde.org/libksieve.git") + (synopsis "KDE Sieve library") + (description "Sieve is a language that can be used filter emails. KSieve +is a Sieve parser and interpreter library for KDE.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) diff --git a/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch b/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..238c4ec46c --- /dev/null +++ b/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch @@ -0,0 +1,59 @@ +From 732861dda9c466841a09329a0b2c992f2b78c40a Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Tue, 21 Jan 2020 23:15:23 +0100 +Subject: [PATCH] Fix missing link libraries. + +See + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + src/ksieveui/autocreatescripts/tests/CMakeLists.txt | 2 ++ + src/ksieveui/scriptsparsing/autotests/CMakeLists.txt | 2 +- + src/ksieveui/scriptsparsing/tests/CMakeLists.txt | 8 ++++++-- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/src/ksieveui/autocreatescripts/tests/CMakeLists.txt b/src/ksieveui/autocreatescripts/tests/CMakeLists.txt +index 8a482b4..c43216c 100644 +--- a/src/ksieveui/autocreatescripts/tests/CMakeLists.txt ++++ b/src/ksieveui/autocreatescripts/tests/CMakeLists.txt +@@ -15,6 +16,7 @@ set(parsingscript_gui_SRCS parsingscript_gui.cpp ../../tests/capability.cpp) + add_executable(parsingscript_gui ${parsingscript_gui_SRCS}) + target_link_libraries(parsingscript_gui + KF5::KIOCore ++ KF5::SyntaxHighlighting + KF5::KSieveUi + KF5::KSieve + KF5::PimCommon +diff --git a/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt b/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt +index e41a74e..31703ef 100644 +--- a/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt ++++ b/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt +@@ -5,7 +5,7 @@ macro(add_sieveeditor_xmlprintingscriptbuilding _source _extrasource) + ecm_add_test(${_test} + TEST_NAME ${_name} + NAME_PREFIX "sieveeditor-xmlprintingscriptbuilding-" +- LINK_LIBRARIES Qt5::Test KF5::I18n KF5::KSieveUi ++ LINK_LIBRARIES Qt5::Test KF5::I18n KF5::KSieveUi KF5::SyntaxHighlighting + ) + endmacro() + add_sieveeditor_xmlprintingscriptbuilding(xmlprintingscriptbuildertest.cpp "" "") +diff --git a/src/ksieveui/scriptsparsing/tests/CMakeLists.txt b/src/ksieveui/scriptsparsing/tests/CMakeLists.txt +index a252039..99a1aaa 100644 +--- a/src/ksieveui/scriptsparsing/tests/CMakeLists.txt ++++ b/src/ksieveui/scriptsparsing/tests/CMakeLists.txt +@@ -9,5 +9,9 @@ set(xmlsieveparsing_SRCS + ) + + add_executable(xmlsieveparsing ${xmlsieveparsing_SRCS} ) +-target_link_libraries(xmlsieveparsing KF5::KSieveUi KF5::KSieve KF5::I18n) +- ++target_link_libraries(xmlsieveparsing ++ KF5::KSieveUi ++ KF5::SyntaxHighlighting ++ KF5::KSieve ++ KF5::I18n ++) +-- +2.21.1 + -- cgit v1.2.3 From de6b78220475e604fa105ccf98aabb92e86658f3 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 19 Jan 2020 17:39:09 +0100 Subject: gnu: Add kdepim-runtime. * gnu/packages/kde-pim.scm (kdepim-runtime): New variable. * gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/kde-pim.scm | 79 ++++++++++++++++++++++ ...kdepim-runtime-Fix-missing-link-libraries.patch | 42 ++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index aa5dcd7c39..56f1903f0c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1052,6 +1052,7 @@ dist_patch_DATA = \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ + %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ %D%/packages/patches/kiki-makefile.patch \ %D%/packages/patches/kiki-missing-includes.patch \ diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 755cf316c5..0956deece3 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -523,6 +523,85 @@ for KDE PIM.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) +(define-public kdepim-runtime + (package + (name "kdepim-runtime") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kdepim-runtime-" version ".tar.xz")) + (sha256 + (base32 "1skid9v6viw379mwhmb4xjh6bylv8wg7cy56kkbcpsmpars9cwr6")) + (patches (search-patches + "kdepim-runtime-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("kdoctools" ,kdoctools) + ("libxslt" ,libxslt) + ("shared-mime-info" ,shared-mime-info))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-calendar" ,akonadi-calendar) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-notes" ,akonadi-notes) + ("boost" ,boost) + ("cyrus-sasl" ,cyrus-sasl) + ("kalarmcal" ,kalarmcal) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kdav" ,kdav) + ("kdbusaddons" ,kdbusaddons) + ("kholidays" ,kholidays) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmailtransport" ,kmailtransport) + ("kmbox" ,kmbox) + ("kmime" ,kmime) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("kross" ,kross) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwindowsystem" ,kwindowsystem) + ("libkgapi" ,libkgapi) + ;; TODO: libkolab + ("qca" ,qca) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtnetworkauth" ,qtnetworkauth) + ("qtspeech" ,qtspeech) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("qtxmlpatterns" ,qtxmlpatterns))) + (arguments + ;; TODO: 5/45 tests fail for quite different reasons, even with + ;; "offscreen" and dbus + `(#:tests? #f)) + (home-page "https://cgit.kde.org/kdepim-runtime.git") + (synopsis "Runtime components for Akonadi KDE") + (description "This package contains Akonadi agents written using KDE +Development Platform libraries. Any package that uses Akonadi should probably +pull this in as a dependency. The kres-bridges is also parts of this +package.") + (license ;; Files vary a lot regarding the license. GPL2+ and LGPL2.1+ + ;; have been used in those I checked. But the archive also includes + ;; license texts for GPL3 and AGPL3. + (list license:gpl2+ license:lgpl2.0+)))) + (define-public kgpg (package (name "kgpg") diff --git a/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..13345c0038 --- /dev/null +++ b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch @@ -0,0 +1,42 @@ +From b84c4ba97cecf7304e99cafdd8a9c5866ce27050 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Tue, 21 Jan 2020 23:33:50 +0100 +Subject: [PATCH] Fix missing link libraries. + +See + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + resources/ews/test/CMakeLists.txt | 1 + + resources/facebook/CMakeLists.txt | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/resources/ews/test/CMakeLists.txt b/resources/ews/test/CMakeLists.txt +index b20eddcb8..6355eb994 100644 +--- a/resources/ews/test/CMakeLists.txt ++++ b/resources/ews/test/CMakeLists.txt +@@ -35,6 +35,7 @@ qt5_add_resources(isolatestestcommon_RSRCS isolatedtestcommon.qrc) + add_library(isolatedtestcommon STATIC ${isolatestestcommon_SRCS}) + target_link_libraries(isolatedtestcommon + KF5::AkonadiCore ++ KF5::AkonadiMime + Qt5::Core + Qt5::Network + Qt5::Test +diff --git a/resources/facebook/CMakeLists.txt b/resources/facebook/CMakeLists.txt +index bdd5eeaa7..27a9c83c1 100644 +--- a/resources/facebook/CMakeLists.txt ++++ b/resources/facebook/CMakeLists.txt +@@ -21,7 +21,8 @@ add_library(facebookresourcelib STATIC ${fbresource_SRCS}) + + target_link_libraries(facebookresourcelib + KF5::KIOWidgets ++ KF5::AkonadiCore + KF5::IconThemes + KF5::I18n + KF5::ConfigGui + KF5::CalendarCore +-- +2.21.1 + -- cgit v1.2.3 From 639b6ead0c96916ac47eefd03861c023a3026148 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 20 Jan 2020 00:48:32 +0100 Subject: gnu: Add kmail. * gnu/packages/kde-pim.scm (kmail): New variable. * gnu/packages/patches/kmail-Fix-missing-link-libraries.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/kde-pim.scm | 94 ++++++++++++++++++++++ .../patches/kmail-Fix-missing-link-libraries.patch | 41 ++++++++++ 3 files changed, 136 insertions(+) create mode 100644 gnu/packages/patches/kmail-Fix-missing-link-libraries.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 56f1903f0c..f3bc77d1de 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1060,6 +1060,7 @@ dist_patch_DATA = \ %D%/packages/patches/kinit-kdeinit-extra_libs.patch \ %D%/packages/patches/kinit-kdeinit-libpath.patch \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \ + %D%/packages/patches/kmail-Fix-missing-link-libraries.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmscon-runtime-keymap-switch.patch \ %D%/packages/patches/kpackage-allow-external-paths.patch \ diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 137176e481..a9ceac591f 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -863,6 +863,100 @@ and retrieving certificates from LDAP servers.") (license ;; GPL for programs, FDL for documentation (list license:gpl2+ license:fdl1.2+)))) +(define-public kmail + (package + (name "kmail") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kmail-" version ".tar.xz")) + (sha256 + (base32 "0gsdpv9pf4h031zcawc4qv78a5kl9hxp2amd0spjhs7wc7nl17fk")) + (patches (search-patches "kmail-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("kbookmarks" ,kbookmarks) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcmutils" ,kcmutils) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdepim-apps-libs" ,kdepim-apps-libs) + ("kguiaddons" ,kguiaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kldap" ,kldap) + ("kmailcommon" ,kmailcommon) + ("kmailtransport" ,kmailtransport) + ("kmessagelib" ,kmessagelib) + ("kmime" ,kmime) + ("kmime" ,kmime) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kontactinterface" ,kontactinterface) + ("kparts" ,kparts) + ("kpimcommon" ,kpimcommon) + ("kpimtextedit" ,kpimtextedit) + ("kservice" ,kservice) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("ktnef" ,ktnef) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libgravatar" ,libgravatar) + ("libkdepim" ,libkdepim) + ("libkleo" ,libkleo) + ("libksieve" ,libksieve) + ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("sonnet" ,sonnet))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "dbus-launch" "ctest" ".") + #t))))) + (home-page "https://kontact.kde.org/components/kmail.html") + (synopsis "Full featured graphical email client") + (description "KMail supports multiple accounts, mail filtering and email +encryption. The program let you configure your workflow and it has good +integration into KDE (Plasma Desktop) but is also useable with other Desktop +Envionments. + +KMail is the email component of Kontact, the integrated personal information +manager from KDE.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + (define-public kmailcommon (package (name "kmailcommon") diff --git a/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch b/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..fc784d63dd --- /dev/null +++ b/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch @@ -0,0 +1,41 @@ +From 6b0a3a60870499b20ce9ae2ea07cbc5ee53cbdd2 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Tue, 21 Jan 2020 23:23:38 +0100 +Subject: [PATCH] Fix missing link libraries. + +See + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + agents/archivemailagent/CMakeLists.txt | 1 + + agents/followupreminderagent/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/agents/archivemailagent/CMakeLists.txt b/agents/archivemailagent/CMakeLists.txt +index 95c6249de..d0ddcd475 100644 +--- a/agents/archivemailagent/CMakeLists.txt ++++ b/agents/archivemailagent/CMakeLists.txt +@@ -22,6 +22,7 @@ ki18n_wrap_ui(libarchivemailagent_SRCS ui/archivemailwidget.ui ) + add_library(archivemailagent STATIC ${libarchivemailagent_SRCS}) + target_link_libraries(archivemailagent + KF5::MailCommon ++ KF5::Libkdepim + KF5::I18n + KF5::Notifications + KF5::KIOWidgets +diff --git a/agents/followupreminderagent/CMakeLists.txt b/agents/followupreminderagent/CMakeLists.txt +index 9ae7eaa29..527044807 100644 +--- a/agents/followupreminderagent/CMakeLists.txt ++++ b/agents/followupreminderagent/CMakeLists.txt +@@ -27,6 +27,7 @@ target_link_libraries(followupreminderagent + KF5::AkonadiMime + KF5::AkonadiAgentBase + KF5::DBusAddons ++ KF5::FollowupReminder + KF5::XmlGui + KF5::KIOWidgets + KF5::Notifications +-- +2.21.1 + -- cgit v1.2.3 From 9d95d8bd120072cb3b983da86baa645c5b2ecd89 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 20 Jan 2020 01:45:38 +0100 Subject: gnu: Add kdiagram. * gnu/packages/kde.scm (kdiagram): New variable. * packages/patches/kdiagram-Fix-missing-link-libraries.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/kde.scm | 31 ++++++++++++++++++++++ .../kdiagram-Fix-missing-link-libraries.patch | 23 ++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f3bc77d1de..ddd89ba018 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1053,6 +1053,7 @@ dist_patch_DATA = \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \ + %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ %D%/packages/patches/kiki-makefile.patch \ %D%/packages/patches/kiki-missing-includes.patch \ diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 8a612bfe5b..c4576c8ba7 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -325,6 +325,37 @@ for some KDevelop language plugins (Ruby, PHP, CSS...).") ;; kdevplatform was merged into kdevelop as of 5.2.x (define-deprecated kdevplatform kdevelop) +(define-public kdiagram + (package + (name "kdiagram") + (version "2.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/kdiagram/" version + "/kdiagram-" version ".tar.xz")) + (sha256 + (base32 "1c6dbp9gssjrx59z8yxzq1ay56pnw7h28symjrv0gcvhxyjirrxx")) + (patches (search-patches + "kdiagram-Fix-missing-link-libraries.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (home-page "https://cgit.kde.org/kdiagram.git/") + (synopsis "Libraries for creating business diagrams") + (description "This package provides libraries for integrating business +diagrams in Qt-based applications. + +@code{KCharts} provides an implementation of the ODF Chart specification. It +supports stock charts, box charts, and whisker charts. @code{KGantt} provides +a module for implementing ODF Gantt charts, which are bar charts that +illustrate project schedules.") + (license license:gpl2+))) + (define-public krita (package (name "krita") diff --git a/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch new file mode 100644 index 0000000000..cdfb608d9b --- /dev/null +++ b/gnu/packages/patches/kdiagram-Fix-missing-link-libraries.patch @@ -0,0 +1,23 @@ +From c59acf1f54a2cd760e55082a01593a31a690d786 Mon Sep 17 00:00:00 2001 +From: Hartmut Goebel +Date: Wed, 22 Jan 2020 00:56:27 +0100 +Subject: [PATCH] Fix missing link libraries. + +These are only actually missing if the libraries reside in different +prefixes, as it is the case in Guix or Nix. +--- + examples/Bars/Simple/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/Bars/Simple/CMakeLists.txt b/examples/Bars/Simple/CMakeLists.txt +index be2a6fc..b13befb 100644 +--- a/examples/Bars/Simple/CMakeLists.txt ++++ b/examples/Bars/Simple/CMakeLists.txt +@@ -1,3 +1,3 @@ + add_executable(BarsSimple main.cpp) + +-target_link_libraries(BarsSimple KChart Qt5::Widgets) ++target_link_libraries(BarsSimple KChart Qt5::Widgets Qt5::Svg) +-- +2.21.1 + -- cgit v1.2.3 From afa3b4d191d08e8ab88d764778f53c6a5d155a3b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 19 Mar 2020 12:52:32 +0200 Subject: gnu: Fix typo. This is a follow-up to 83a4ab4e4213eaf10289f0abd8a43979178701d7. * gnu/local.mk (dist_patch_DATA): Fix typo in patch name. --- gnu/local.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ddd89ba018..93a1b680d1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,7 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ - %D%/packages/patches/libksieve-Fix-missing-lInk-libraries.patch \ + %D%/packages/patches/libksieve-Fix-missing-link-libraries.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ %D%/packages/patches/libmad-length-check.patch \ -- cgit v1.2.3 From 1afd98dc93fed7c5fd7824abbd9ba650835877ff Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Sun, 15 Mar 2020 16:28:50 +1100 Subject: gnu: Add date. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (date): New variable. * gnu/packages/patches/date-output-pkg-config-files.patch: New file. * gnu/local.mk: Add patch. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/calendar.scm | 58 +++++++++++++++++++++ .../patches/date-output-pkg-config-files.patch | 60 ++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 gnu/packages/patches/date-output-pkg-config-files.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 93a1b680d1..ca3f2664aa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -26,6 +26,7 @@ # Copyright © 2019 Evan Straw # Copyright © 2019 Brett Gilio # Copyright © 2019 Amin Bandali +# Copyright © 2020 Brendan Tildesley # # This file is part of GNU Guix. # @@ -805,6 +806,7 @@ dist_patch_DATA = \ %D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ + %D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 060e4d18ad..bd47800d1d 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Stefan Reichoer ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ (define-module (gnu packages calendar) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -48,6 +50,62 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-26)) +(define-public date + ;; We make the same choice as the Arch package maintainer by choosing a + ;; recent commit to fix some bugs. + ;; https://github.com/Alexays/Waybar/issues/565 + (let ((commit "9a0ee2542848ab8625984fc8cdbfb9b5414c0082")) + (package + (name "date") + (version (string-append "2.4.1-" (string-take commit 8))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/HowardHinnant/date.git") + (commit "9a0ee2542848ab8625984fc8cdbfb9b5414c0082"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yxsn0hj22n61bjywysxqgfv7hj5xvsl6isma95fl8xrimpny083")) + (patches + ;; Install pkg-config files + ;; https://github.com/HowardHinnant/date/pull/538 + (search-patches "date-output-pkg-config-files.patch")))) + (inputs `(("tzdata" ,tzdata))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags (list "-DUSE_SYSTEM_TZ_DB=ON" + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_TZ_LIB=ON" + "-DENABLE_DATE_TESTING=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-bin-bash + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "compile_fail.sh" + (("/bin/bash") (which "bash"))) + #t)) + (add-after 'unpack 'patch-zoneinfo-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/tz.cpp" + (("/usr/share/zoneinfo") + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) + #t)) + (replace 'check + (lambda _ + ;; Disable test that requires checking timezone that + ;; isn't set in the build environment. + (substitute* "CTestTestfile.cmake" + (("add_test.tz_test_pass_zoned_time_deduction_test.*") "") + (("set_tests_properties.tz_test_pass_zoned_time_deduction_test.*") "")) + (invoke "make" "testit")))))) + (synopsis "Date and time library for C++11 and C++14") + (description "Date is a header only C++ library that extends the chrono +date algorithms library for calendar dates and durations. It also provides +the library for handling time zones and leap seconds.") + (home-page "https://howardhinnant.github.io/date/date.html") + (license license:expat)))) + (define-public libical (package (name "libical") diff --git a/gnu/packages/patches/date-output-pkg-config-files.patch b/gnu/packages/patches/date-output-pkg-config-files.patch new file mode 100644 index 0000000000..3fd1d54b36 --- /dev/null +++ b/gnu/packages/patches/date-output-pkg-config-files.patch @@ -0,0 +1,60 @@ +From e56b2dce7e89a92e1b9b35caa13b3e938c4cedea Mon Sep 17 00:00:00 2001 +From: Cole Mickens +Date: Sun, 26 Jan 2020 01:27:08 -0800 +Subject: [PATCH] CMakeLists.txt: output date.pc for pkg-config + +--- + CMakeLists.txt | 15 +++++++++++++++ + date.pc.in | 10 ++++++++++ + 2 files changed, 25 insertions(+) + create mode 100644 date.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f30c473..fe778e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -128,6 +128,15 @@ if( BUILD_TZ_LIB ) + endif( ) + endif( ) + ++if ( BUILD_TZ_LIB ) ++ # Cflags: -I${includedir} @TZ_COMPILE_DEFINITIONS@ ++ set( TZ_COMPILE_DEFINITIONS "$,-D$, -D>,>" ) ++ configure_file(date.pc.in date.pc.cf @ONLY) ++ file( GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/date.pc" ++ INPUT "${CMAKE_CURRENT_BINARY_DIR}/date.pc.cf" ) ++ ++endif( ) ++ + #[===================================================================[ + installation + #]===================================================================] +@@ -171,6 +180,12 @@ install ( + FILES cmake/dateConfig.cmake "${version_config}" + DESTINATION ${CONFIG_LOC}) + ++if ( BUILD_TZ_LIB ) ++ install( ++ FILES ${CMAKE_BINARY_DIR}/date.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++endif( ) ++ + #[===================================================================[ + testing + #]===================================================================] +diff --git a/date.pc.in b/date.pc.in +new file mode 100644 +index 0000000..b9c4623 +--- /dev/null ++++ b/date.pc.in +@@ -0,0 +1,10 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_BINDIR@ ++libdir=@CMAKE_INSTALL_LIB@ ++includedir=@CMAKE_INSTALL_INCLUDE@ ++ ++Name: date ++Description: A date and time library based on the C++11/14/17 header ++Version: @PACKAGE_VERSION@ ++Libs: -L${libdir} -ltz ++Cflags: -I${includedir} @TZ_COMPILE_DEFINITIONS@ -- cgit v1.2.3 From 29a2f61e9704949cd6cda57aba11f0213104db6b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Feb 2020 09:32:01 +0100 Subject: gnu: Add foobillard++. * gnu/packages/games.scm (foobillard++): New variable. * gnu/packages/patches/foobillard++-pkg-config.patch: New file. * gnu/local.mk: Reference new file. --- gnu/local.mk | 1 + gnu/packages/games.scm | 130 +++++++++++++++++++++ gnu/packages/patches/foobillard++-pkg-config.patch | 34 ++++++ 3 files changed, 165 insertions(+) create mode 100644 gnu/packages/patches/foobillard++-pkg-config.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ca3f2664aa..4fc1818ed4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -873,6 +873,7 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ + %D%/packages/patches/foobillard++-pkg-config.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/fribidi-CVE-2019-18397.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 59639a0138..7391851c87 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -598,6 +598,136 @@ regular @command{cat}, but it also adds terminal escape codes between characters and lines resulting in a rainbow effect.") (license license:wtfpl2)))) +(define-public foobillard++ + ;; Even though this latest revision is old already, stable release is + ;; lagging way behind it, and has issues with textures rendering. + (let ((svn-revision 170)) + (package + (name "foobillard++") + (version (string-append "3.43-r" (number->string svn-revision))) + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "svn://svn.code.sf.net/p/foobillardplus/code/") + (revision svn-revision))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00b693ys5zvzjbjzzj3dqfzm5xw64gwjf9m8qv6bkmf0klbhmayk")) + (patches + (search-patches "foobillard++-pkg-config.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Unfortunately, the game includes background music with + ;; a non-commercial clause. Delete it. + (for-each delete-file (find-files "data/music" "\\.ogg$")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + ;; Install data in a less exotic location. + (string-append "--prefix=" (assoc-ref %outputs "out") "/share") + ;; Prevent a build error about undefined trigonometric functions. + "--enable-fastmath=no") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-makefile + ;; Remove hard-coded directories. Also fix installation + ;; rule: it tries to move around non-existent files or + ;; files already moved. + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.am" + (("/usr") (assoc-ref outputs "out")) + (("cp .*?/foobillardplus\\.desktop.*") "") + (("cp .*?/foobillardplus\\.(png|xbm) \\$\\(datarootdir\\).*") + "")) + #t)) + (add-after 'unpack 'unbundle-font + ;; XXX: The package ships with LinBiolinum_aSB.ttf and + ;; LinBiolinum_aS.ttf, which are not provided by + ;; `font-linuxlibertine' package. Therefore, we cannot replace + ;; them yet. + (lambda* (#:key inputs #:allow-other-keys) + (let ((dejavu (string-append (assoc-ref inputs "font-dejavu") + "/share/fonts/truetype/"))) + (with-directory-excursion "data" + (for-each (lambda (f) + (delete-file f) + (symlink (string-append dejavu f) f)) + '("DejaVuSans-Bold.ttf" "DejaVuSans.ttf")))) + #t)) + (replace 'bootstrap + (lambda _ + (invoke "aclocal" "--force") + (invoke "autoconf" "-f") + (invoke "autoheader" "-f") + (invoke "automake" "-a" "-c" "-f"))) + (add-before 'build 'prepare-build + ;; Set correct environment for SDL. + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))) + #t)) + (add-before 'build 'fix-settings-directory + ;; Hide foobillardplus settings directory in $HOME. + (lambda _ + (substitute* "src/history.c" + (("/foobillardplus-data") "/.foobillardplus")) + #t)) + (add-before 'install 'create-directories + ;; Install process does not create directories before + ;; trying to move file in it. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/icons")) + (mkdir-p (string-append out "/share/applications"))) + #t)) + (add-after 'install 'symlink-executable + ;; Symlink executable to $out/bin. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (with-directory-excursion bin + (symlink "../share/foobillardplus/bin/foobillardplus" + "foobillardplus")) + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("font-dejavu" ,font-dejavu) + ("freetype" ,freetype) + ("glu" ,glu) + ("libpng" ,libpng) + ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-net))))) + (home-page "http://foobillardplus.sourceforge.net/") + (synopsis "3D billiard game") + (description "FooBillard++ is an advanced 3D OpenGL billiard game +based on the original foobillard 3.0a sources from Florian Berger. +You can play it with one or two players or against the computer. + +The game features: + +@itemize +@item Wood paneled table with gold covers and gold diamonds. +@item Reflections on balls. +@item Zoom in and out, rotation, different angles and bird's eye view. +@item Different game modes: 8 or 9-ball, Snooker or Carambole. +@item Tournaments. Compete against other players. +@item Animated cue with strength and eccentric hit adjustment. +@item Jump shots and snipping. +@item Realistic gameplay and billiard sounds. +@item Red-Green stereo. +@item And much more. +@end itemize") + (license (list license:gpl2 license:silofl1.1))))) + (define-public freedoom (package (name "freedoom") diff --git a/gnu/packages/patches/foobillard++-pkg-config.patch b/gnu/packages/patches/foobillard++-pkg-config.patch new file mode 100644 index 0000000000..7cc40a4777 --- /dev/null +++ b/gnu/packages/patches/foobillard++-pkg-config.patch @@ -0,0 +1,34 @@ +From: Markus Koschany +Date: Thu, 8 Mar 2018 17:49:24 +0100 +Subject: pkg-config + +Use pkg-config instead of the deprecated freetype-config command. + +Bug-Debian: https://bugs.debian.org/892338 +Forwarded: no +--- + src/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 3b7d0fe..0f5a5dd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -158,8 +158,8 @@ endif + SDL_CFLAGS = `sdl-config --cflags` + SDL_LIBS = `sdl-config --libs` + +-FREETYPE_CFLAGS = `freetype-config --cflags` +-FREETYPE_LIBS = `freetype-config --libs` ++FREETYPE_CFLAGS = `pkg-config --cflags freetype2` ++FREETYPE_LIBS = `pkg-config --libs freetype2` + + if USE_MATHSINGLE + MATH_CFLAGS = -DVMATH_SINGLE_PRECISION +@@ -233,4 +233,4 @@ AM_CFLAGS = -Wall ${FREETYPE_CFLAGS} ${SDL_CFLAGS} ${NVIDIA_CFLAGS} ${SOUND_CFLA + ${OPTIMIZATION_CFLAGS} ${USESSE_CFLAGS} ${USEWIN_CFLAGS} ${FASTMATH_CFLAGS} ${DEBIAN_CFLAGS} -lm + + AM_LDFLAGS = ${all_libraries} ${FREETYPE_LIBS} ${SDL_LIBS} +-LDADD = ${LDADD_FLAGS} +\ No newline at end of file ++LDADD = ${LDADD_FLAGS} -- cgit v1.2.3 From 12eb7bb8af3272bb1f16a9b73a3232e1294bd56f Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Sun, 15 Mar 2020 21:25:54 +0100 Subject: gnu: Add blktrace. * gnu/packages/linux.scm (blktrace): New variable. * gnu/packages/patches/blktrace-use-rmtree.patch: Add file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Marius Bakke --- gnu/local.mk | 2 ++ gnu/packages/linux.scm | 43 ++++++++++++++++++++++++++ gnu/packages/patches/blktrace-use-rmtree.patch | 32 +++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 gnu/packages/patches/blktrace-use-rmtree.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 4fc1818ed4..0207c7547d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -27,6 +27,7 @@ # Copyright © 2019 Brett Gilio # Copyright © 2019 Amin Bandali # Copyright © 2020 Brendan Tildesley +# Copyright © 2020 Vincent Legoll # # This file is part of GNU Guix. # @@ -766,6 +767,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ + %D%/packages/patches/blktrace-use-rmtree.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0e649d0fe3..12da3c8f63 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4012,6 +4012,49 @@ system calls, important for the performance of databases and other advanced applications.") (license license:lgpl2.1+))) +(define-public blktrace + ;; Take a newer commit to get the fix for CVE-2018-10689. + (let ((commit "f4f8ef7cdea138cfaa2f3ca0ee31fa23d3bcf1cc") + (revision "0")) + (package + (name "blktrace") + (version (git-version "1.2.0" revision commit)) + (home-page + "https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 "1ihdfimg7mfcgdm6l09xfqx5kdyv42x743dxp3z3w65q5vd7xy89")) + (file-name (git-file-name name version)) + (patches (search-patches "blktrace-use-rmtree.patch")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + (list "CC=gcc" (string-append "prefix=" %output)) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-after 'unpack 'fix-gnuplot-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((gnuplot (assoc-ref inputs "gnuplot"))) + (substitute* "btt/bno_plot.py" + (("gnuplot %s") + (string-append gnuplot "/bin/gnuplot %s"))) + #t)))))) + (inputs + `(("libaio" ,libaio) + ("gnuplot" ,gnuplot) + ("python" ,python-wrapper))) ;for 'bno_plot.py' + (synopsis "Block layer IO tracing mechanism") + (description "Blktrace is a block layer IO tracing mechanism which provides +detailed information about request queue operations to user space. It extracts +event traces from the kernel (via the relaying through the debug file system).") + (license license:gpl2)))) + (define-public sbc (package (name "sbc") diff --git a/gnu/packages/patches/blktrace-use-rmtree.patch b/gnu/packages/patches/blktrace-use-rmtree.patch new file mode 100644 index 0000000000..bb0a10da72 --- /dev/null +++ b/gnu/packages/patches/blktrace-use-rmtree.patch @@ -0,0 +1,32 @@ +From 6d1ce4a3a1a561644695a50c00cbd28494728061 Mon Sep 17 00:00:00 2001 +From: Vincent Legoll +Date: Mon, 16 Mar 2020 11:43:19 +0100 +Subject: [PATCH 02/10] bno_plot.py: Use shutil.rmtree() instead of + os.system('/bin/rm') + +--- + btt/bno_plot.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/btt/bno_plot.py b/btt/bno_plot.py +index f05cfdc..36fc524 100644 +--- a/btt/bno_plot.py ++++ b/btt/bno_plot.py +@@ -40,7 +40,7 @@ To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt. + + from __future__ import absolute_import + from __future__ import print_function +-import getopt, glob, os, sys, tempfile ++import getopt, glob, os, sys, tempfile, shutil + + verbose = 0 + cmds = """ +@@ -125,4 +125,4 @@ if __name__ == '__main__': + sys.exit(1) + + os.waitpid(pid, 0) +- os.system('/bin/rm -rf ' + tmpdir) ++ shutil.rmtree(tmpdir) +-- +2.20.1 + -- cgit v1.2.3 From a6a7336964da06abba9dd40ce8d7496c9c711177 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 20 Mar 2020 22:09:12 +0100 Subject: gnu: Update python-faker to to 4.0.2, python2-faker to 3.0.1. * gnu/packages/patches/python-faker-fix-build-32bit.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-xyz.scm (python-faker): Update to 4.0.2. [source](patches, modules, snippet): Remove. [arguments]: Adjust check phase. [native-inputs]: Remove PYTHON-EMAIL-VALIDATOR and PYTHON-MOCK. Add PYTHON-FREEZEGUN, PYTHON-PYTEST, PYTHON-RANDOM2, and PYTHON-VALIDATORS. [propagated-inputs]: Remove PYTHON-SIX. Add PYTHON-TEXT-UNIDECODE. (python2-faker): Update to 3.0.1. [native-inputs]: Add PYTHON2-MOCK. --- gnu/local.mk | 1 - .../patches/python-faker-fix-build-32bit.patch | 36 ---------------------- gnu/packages/python-xyz.scm | 34 +++++++++++--------- 3 files changed, 20 insertions(+), 51 deletions(-) delete mode 100644 gnu/packages/patches/python-faker-fix-build-32bit.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 0207c7547d..8ada03180d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1337,7 +1337,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-cffi-x87-stack-clean.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ - %D%/packages/patches/python-faker-fix-build-32bit.patch \ %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ diff --git a/gnu/packages/patches/python-faker-fix-build-32bit.patch b/gnu/packages/patches/python-faker-fix-build-32bit.patch deleted file mode 100644 index 466b289012..0000000000 --- a/gnu/packages/patches/python-faker-fix-build-32bit.patch +++ /dev/null @@ -1,36 +0,0 @@ -These tests fail on 32-bit due to an overflow. - -Upstream bug URL: https://github.com/joke2k/faker/issues/408 - -diff --git a/tests/__init__.py b/tests/__init__.py -index 6026772..58b6b83 100644 ---- a/tests/__init__.py -+++ b/tests/__init__.py -@@ -384,7 +384,6 @@ class FactoryTestCase(unittest.TestCase): - provider = Provider - # test century - self.assertTrue(self._datetime_to_time(provider.date_time_this_century(after_now=False)) <= self._datetime_to_time(datetime.datetime.now())) -- self.assertTrue(self._datetime_to_time(provider.date_time_this_century(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now())) - # test decade - self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(after_now=False)) <= self._datetime_to_time(datetime.datetime.now())) - self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now())) -@@ -413,8 +412,6 @@ class FactoryTestCase(unittest.TestCase): - - # ensure all methods provide timezone aware datetimes - with self.assertRaises(TypeError): -- provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now() -- with self.assertRaises(TypeError): - provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now() - with self.assertRaises(TypeError): - provider.date_time_this_year(after_now=False, tzinfo=utc) <= datetime.datetime.now() -@@ -423,7 +420,6 @@ class FactoryTestCase(unittest.TestCase): - - # test century - self.assertTrue(provider.date_time_this_century(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc)) -- self.assertTrue(provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc)) - # test decade - self.assertTrue(provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc)) - self.assertTrue(provider.date_time_this_decade(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc)) --- -2.11.1 - diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0c7e9e4599..47a75bc36a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11368,34 +11368,29 @@ parsing UK postcodes.") (define-public python-faker (package (name "python-faker") - (version "0.7.9") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "Faker" version)) (sha256 (base32 - "1fh2p2yz0fsdr4fqwxgddwbvfb6qn6vp8yx0qwqzra27yq5d1wsm")) - (patches - (search-patches "python-faker-fix-build-32bit.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file (find-files "." "\\.pyc$")) - #t)))) + "13qq485ydxmdnqn3xbfv1xfyqbf9qfnfw33v1vw5l6jyy9p8cgrd")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "python" "-m" "unittest" "-v" "tests")))))) + (lambda _ (invoke "python" "-m" "pytest" "-v")))))) (native-inputs `(;; For testing - ("python-email-validator" ,python-email-validator) - ("python-mock" ,python-mock) - ("python-ukpostcodeparser" ,python-ukpostcodeparser))) + ("python-freezegun" ,python-freezegun) + ("python-pytest" ,python-pytest) + ("python-random2" ,python-random2) + ("python-ukpostcodeparser" ,python-ukpostcodeparser) + ("python-validators" ,python-validators))) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-six" ,python-six))) + ("python-text-unidecode" ,python-text-unidecode))) (home-page "https://github.com/joke2k/faker") (synopsis "Python package that generates fake data") (description @@ -11404,11 +11399,22 @@ addresses, and phone numbers.") (license license:expat) (properties `((python2-variant . ,(delay python2-faker)))))) +;; Faker 4.0 dropped Python 2 support, so we stick with this older version here. (define-public python2-faker (let ((base (package-with-python2 (strip-python2-variant python-faker)))) (package (inherit base) + (version "3.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "Faker" version)) + (sha256 + (base32 + "11cr0qvspkdh6198rqy56qildk7bnp6llj8kyy1dan5sp5n4dxy7")))) + (native-inputs + `(("python-mock" ,python2-mock) + ,@(package-native-inputs base))) (propagated-inputs `(("python2-ipaddress" ,python2-ipaddress) ,@(package-propagated-inputs base)))))) -- cgit v1.2.3 From e401653b515cb32650aa885dfb6db185409ccd23 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 21 Feb 2020 11:51:56 -0500 Subject: gnu: FFmpeg: Prefer dav1d over libaom. * gnu/packages/patches/ffmpeg-prefer-dav1d.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/video.scm (ffmpeg)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/patches/ffmpeg-prefer-dav1d.patch | 43 ++++++++++++++++++++++++++ gnu/packages/video.scm | 2 ++ 3 files changed, 46 insertions(+) create mode 100644 gnu/packages/patches/ffmpeg-prefer-dav1d.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 8ada03180d..d6d129c3cc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -866,6 +866,7 @@ dist_patch_DATA = \ %D%/packages/patches/fasthenry-spSolve.patch \ %D%/packages/patches/fasthenry-spFactor.patch \ %D%/packages/patches/fbreader-curl-7.62.patch \ + %D%/packages/patches/ffmpeg-prefer-dav1d.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ %D%/packages/patches/file-CVE-2018-10360.patch \ diff --git a/gnu/packages/patches/ffmpeg-prefer-dav1d.patch b/gnu/packages/patches/ffmpeg-prefer-dav1d.patch new file mode 100644 index 0000000000..95e3712a7f --- /dev/null +++ b/gnu/packages/patches/ffmpeg-prefer-dav1d.patch @@ -0,0 +1,43 @@ +When decoding AV1 files, prefer dav1d over libaom for performance +reasons. + +Patch copied from upstream source repository: + + + +From dc0806dd25882f41f6085c8356712f95fded56c7 Mon Sep 17 00:00:00 2001 +From: James Almer +Date: Sun, 15 Sep 2019 11:29:56 -0300 +Subject: [PATCH] avcodec/allcodecs: make libdav1d the preferred AV1 decoder + +It's considerably faster than libaom in most systems. + +Reviewed-by: BBB +Signed-off-by: James Almer +--- + libavcodec/allcodecs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c +index 5130fca026..d5dfba1877 100644 +--- a/libavcodec/allcodecs.c ++++ b/libavcodec/allcodecs.c +@@ -680,7 +680,6 @@ extern AVCodec ff_pcm_mulaw_at_encoder; + extern AVCodec ff_pcm_mulaw_at_decoder; + extern AVCodec ff_qdmc_at_decoder; + extern AVCodec ff_qdm2_at_decoder; +-extern AVCodec ff_libaom_av1_decoder; + extern AVCodec ff_libaom_av1_encoder; + extern AVCodec ff_libaribb24_decoder; + extern AVCodec ff_libcelt_decoder; +@@ -738,6 +737,7 @@ extern AVCodec ff_idf_decoder; + /* external libraries, that shouldn't be used by default if one of the + * above is available */ + extern AVCodec ff_h263_v4l2m2m_encoder; ++extern AVCodec ff_libaom_av1_decoder; + extern AVCodec ff_libopenh264_encoder; + extern AVCodec ff_libopenh264_decoder; + extern AVCodec ff_h264_amf_encoder; +-- +2.20.1 + diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0c245ece6e..d0c35e8e77 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -922,6 +922,8 @@ operate properly.") (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) + ;; See + (patches (search-patches "ffmpeg-prefer-dav1d.patch")) (sha256 (base32 "176jn1lcdf0gk7sa5l2mv0faqp5dsqdhx1gqcrgymqhfmdal4xfb")))) -- cgit v1.2.3 From c61557b1b642b61abdb665527e6a34b97e3d064f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 21 Mar 2020 12:17:11 +0100 Subject: gnu: gRPC: Move to (gnu packages rpc). * gnu/packages/machine-learning.scm (grpc): Move to ... * gnu/packages/rpc.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu/packages/hyperledger.scm: Adjust module imports. --- gnu/local.mk | 1 + gnu/packages/hyperledger.scm | 1 + gnu/packages/machine-learning.scm | 76 +--------------------------- gnu/packages/rpc.scm | 103 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 75 deletions(-) create mode 100644 gnu/packages/rpc.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d6d129c3cc..f2f096c51c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -441,6 +441,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/rednotebook.scm \ %D%/packages/regex.scm \ %D%/packages/robotics.scm \ + %D%/packages/rpc.scm \ %D%/packages/rrdtool.scm \ %D%/packages/rsync.scm \ %D%/packages/ruby.scm \ diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm index f0b33e0deb..1aed8e23d8 100644 --- a/gnu/packages/hyperledger.scm +++ b/gnu/packages/hyperledger.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) + #:use-module (gnu packages rpc) #:use-module (gnu packages tbb) #:use-module (gnu packages version-control) #:use-module (gnu packages web)) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 7deb6ee29a..faf4bacfe3 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -73,12 +73,12 @@ #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rpc) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages statistics) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) - #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -1296,80 +1296,6 @@ based on the Kaldi toolkit and the GStreamer framework and implemented in Python.") (license license:bsd-2)))) -(define-public grpc - (package - (name "grpc") - (version "1.16.1") - (outputs '("out" "static")) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grpc/grpc.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; no test target - #:configure-flags - (list "-DgRPC_ZLIB_PROVIDER=package" - "-DgRPC_CARES_PROVIDER=package" - "-DgRPC_SSL_PROVIDER=package" - "-DgRPC_PROTOBUF_PROVIDER=package" - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out")) - "-DCMAKE_INSTALL_LIBDIR=lib" - (string-append "-DCMAKE_INSTALL_RPATH=" - (assoc-ref %outputs "out") "/lib") - "-DCMAKE_VERBOSE_MAKEFILE=ON") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'configure-shared - (lambda* (#:key (configure-flags '()) #:allow-other-keys) - (mkdir "../build-shared") - (with-directory-excursion "../build-shared" - (apply invoke - "cmake" "../source" - "-DBUILD_SHARED_LIBS=ON" - configure-flags) - (apply invoke "make" - `("-j" ,(number->string (parallel-job-count))))))) - (add-after 'install 'install-shared-libraries - (lambda _ - (with-directory-excursion "../build-shared" - (invoke "make" "install")))) - (add-before 'strip 'move-static-libs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (static (assoc-ref outputs "static"))) - (mkdir-p (string-append static "/lib")) - (with-directory-excursion - (string-append out "/lib") - (for-each - (lambda (file) - (rename-file file - (string-append static "/lib/" file))) - (find-files "." "\\.a$")))) - #t))))) - (inputs - `(("c-ares" ,c-ares/cmake) - ("openssl" ,openssl) - ("zlib" ,zlib))) - (native-inputs - `(("protobuf" ,protobuf) - ("python" ,python-wrapper))) - (home-page "https://grpc.io") - (synopsis "High performance universal RPC framework") - (description "gRPC is a modern high performance @dfn{Remote Procedure Call} -(RPC) framework that can run in any environment. It can efficiently connect -services in and across data centers with pluggable support for load balancing, -tracing, health checking and authentication. It is also applicable in last -mile of distributed computing to connect devices, mobile applications and -browsers to backend services.") - (license license:asl2.0))) - ;; Note that Tensorflow includes a "third_party" directory, which seems to not ;; only contain modified subsets of upstream library source code, but also ;; adapter headers provided by Google (such as the fft.h header, which is not diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm new file mode 100644 index 0000000000..f37a660fc7 --- /dev/null +++ b/gnu/packages/rpc.scm @@ -0,0 +1,103 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2020 Efraim Flashner +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages rpc) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (gnu packages adns) + #:use-module (gnu packages compression) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages tls)) + +(define-public grpc + (package + (name "grpc") + (version "1.16.1") + (outputs '("out" "static")) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grpc/grpc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no test target + #:configure-flags + (list "-DgRPC_ZLIB_PROVIDER=package" + "-DgRPC_CARES_PROVIDER=package" + "-DgRPC_SSL_PROVIDER=package" + "-DgRPC_PROTOBUF_PROVIDER=package" + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out")) + "-DCMAKE_INSTALL_LIBDIR=lib" + (string-append "-DCMAKE_INSTALL_RPATH=" + (assoc-ref %outputs "out") "/lib") + "-DCMAKE_VERBOSE_MAKEFILE=ON") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-shared + (lambda* (#:key (configure-flags '()) #:allow-other-keys) + (mkdir "../build-shared") + (with-directory-excursion "../build-shared" + (apply invoke + "cmake" "../source" + "-DBUILD_SHARED_LIBS=ON" + configure-flags) + (apply invoke "make" + `("-j" ,(number->string (parallel-job-count))))))) + (add-after 'install 'install-shared-libraries + (lambda _ + (with-directory-excursion "../build-shared" + (invoke "make" "install")))) + (add-before 'strip 'move-static-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (with-directory-excursion + (string-append out "/lib") + (for-each + (lambda (file) + (rename-file file + (string-append static "/lib/" file))) + (find-files "." "\\.a$")))) + #t))))) + (inputs + `(("c-ares" ,c-ares/cmake) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs + `(("protobuf" ,protobuf) + ("python" ,python-wrapper))) + (home-page "https://grpc.io") + (synopsis "High performance universal RPC framework") + (description "gRPC is a modern high performance @dfn{Remote Procedure Call} +(RPC) framework that can run in any environment. It can efficiently connect +services in and across data centers with pluggable support for load balancing, +tracing, health checking and authentication. It is also applicable in last +mile of distributed computing to connect devices, mobile applications and +browsers to backend services.") + (license license:asl2.0))) -- cgit v1.2.3 From bbeb710de70521010b3d432cb5b4b14ce6e45ca6 Mon Sep 17 00:00:00 2001 From: Jakub Kądziołka Date: Fri, 20 Mar 2020 20:31:59 +0100 Subject: gnu: Add hash-extender. * gnu/packages/crypto.scm (hash-extender): New variable. * gnu/packages/patches/hash-extender-test-suite.patch: New file. * gnu/local.mk (dist_patch_DATA): Register the new file. --- gnu/local.mk | 1 + gnu/packages/crypto.scm | 45 ++++++++++++++++++++++ .../patches/hash-extender-test-suite.patch | 13 +++++++ 3 files changed, 59 insertions(+) create mode 100644 gnu/packages/patches/hash-extender-test-suite.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f2f096c51c..1c4a0b4231 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1005,6 +1005,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/gzdoom-find-system-libgme.patch \ + %D%/packages/patches/hash-extender-test-suite.patch \ %D%/packages/patches/haskell-mode-unused-variables.patch \ %D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/hdf4-architectures.patch \ diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index b808211b2d..afe85ae497 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -1072,3 +1073,47 @@ cryptographic ratchet. It is written in C and C++11, and exposed as a C API.") (home-page "https://matrix.org/docs/projects/other/olm/") (license license:asl2.0))) + +(define-public hash-extender + (let ((commit "9ecef26809a1ceea2a455f6f591b004298df551b") + (revision "1")) + (package + (name "hash-extender") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/iagox86/hash_extender") + (commit commit))) + (sha256 + (base32 + "0fqy3d559zgf71w39py0931d8na0ylils45r8zs6r79wgr6qn78c")) + (file-name (git-file-name name version)) + (patches + (search-patches "hash-extender-test-suite.patch")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ + (invoke "./hash_extender_test"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (bindir (string-append outdir "/bin")) + (docdir (string-append outdir + "/share/doc/hash-extender-" + ,version))) + (install-file "hash_extender" bindir) + (install-file "README.md" docdir) + #t)))))) + (inputs + `(("openssl" ,openssl))) + (synopsis "Tool for hash length extension attacks") + (description "@command{hash_extender} is a utility for performing hash +length extension attacks supporting MD4, MD5, RIPEMD-160, SHA-0, SHA-1, +SHA-256, SHA-512, and WHIRLPOOL hashes.") + (home-page "https://github.com/iagox86/hash_extender") + (license license:bsd-3)))) diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch new file mode 100644 index 0000000000..59de52dad4 --- /dev/null +++ b/gnu/packages/patches/hash-extender-test-suite.patch @@ -0,0 +1,13 @@ +Make the test suite exit with a non-zero exit code if some tests failed. +Pull request pending upstream: https://github.com/iagox86/hash_extender/pull/13 +--- a/test.c ++++ b/test.c +@@ -79,5 +79,9 @@ void test_report(void) + printf("TESTS PASSED: %d / %d [%2.4f%%]\n", tests_passed, tests_run, 100 * (float)tests_passed / tests_run); + printf("--------------------------------------------------------------------------------\n"); + } ++ ++ if (tests_passed != tests_run) { ++ exit(1); ++ } + } -- cgit v1.2.3 From 93a267b7a40a762a66fa5149336f2c5545cbed30 Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Sat, 21 Mar 2020 13:08:25 +0100 Subject: gnu: blktrace: Update to db4f634. * gnu/packages/linux.scm (blktrace): Update to db4f634. [revision]: Increment variable. [patches]: Remove variable. * gnu/packages/patches/blktrace-use-rmtree.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Mathieu Othacehe --- gnu/local.mk | 1 - gnu/packages/linux.scm | 9 ++++---- gnu/packages/patches/blktrace-use-rmtree.patch | 32 -------------------------- 3 files changed, 4 insertions(+), 38 deletions(-) delete mode 100644 gnu/packages/patches/blktrace-use-rmtree.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 1c4a0b4231..e391903473 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -768,7 +768,6 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ - %D%/packages/patches/blktrace-use-rmtree.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 12da3c8f63..a1973c1e60 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4014,8 +4014,8 @@ applications.") (define-public blktrace ;; Take a newer commit to get the fix for CVE-2018-10689. - (let ((commit "f4f8ef7cdea138cfaa2f3ca0ee31fa23d3bcf1cc") - (revision "0")) + (let ((commit "db4f6340e04716285ea56fe26d76381c3adabe58") + (revision "1")) (package (name "blktrace") (version (git-version "1.2.0" revision commit)) @@ -4027,9 +4027,8 @@ applications.") (url home-page) (commit commit))) (sha256 - (base32 "1ihdfimg7mfcgdm6l09xfqx5kdyv42x743dxp3z3w65q5vd7xy89")) - (file-name (git-file-name name version)) - (patches (search-patches "blktrace-use-rmtree.patch")))) + (base32 "0ah7xn4qnx09k6bm39p69av7d0c8cl6863drv6a1nf914sq1kpgp")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments '(#:make-flags diff --git a/gnu/packages/patches/blktrace-use-rmtree.patch b/gnu/packages/patches/blktrace-use-rmtree.patch deleted file mode 100644 index bb0a10da72..0000000000 --- a/gnu/packages/patches/blktrace-use-rmtree.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6d1ce4a3a1a561644695a50c00cbd28494728061 Mon Sep 17 00:00:00 2001 -From: Vincent Legoll -Date: Mon, 16 Mar 2020 11:43:19 +0100 -Subject: [PATCH 02/10] bno_plot.py: Use shutil.rmtree() instead of - os.system('/bin/rm') - ---- - btt/bno_plot.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/btt/bno_plot.py b/btt/bno_plot.py -index f05cfdc..36fc524 100644 ---- a/btt/bno_plot.py -+++ b/btt/bno_plot.py -@@ -40,7 +40,7 @@ To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt. - - from __future__ import absolute_import - from __future__ import print_function --import getopt, glob, os, sys, tempfile -+import getopt, glob, os, sys, tempfile, shutil - - verbose = 0 - cmds = """ -@@ -125,4 +125,4 @@ if __name__ == '__main__': - sys.exit(1) - - os.waitpid(pid, 0) -- os.system('/bin/rm -rf ' + tmpdir) -+ shutil.rmtree(tmpdir) --- -2.20.1 - -- cgit v1.2.3 From 5c79f238634c5adb6657f1b4b1bb4ddb8bb73ef1 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 18 Feb 2020 10:42:07 +0100 Subject: system: Add kernel-loadable-modules to operating-system. * gnu/system.scm (): Add kernel-loadable-modules. (operating-system-directory-base-entries): Use it. * doc/guix.texi (operating-system Reference): Document KERNEL-LOADABLE-MODULES. * gnu/build/linux-modules.scm (depmod): New procedure. (make-linux-module-directory): New procedure. Export it. * guix/profiles.scm (linux-module-database): New procedure. Export it. * gnu/tests/linux-modules.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/linux.scm (make-linux-libre*)[arguments]<#:phases>[install]: Disable depmod. Remove "build" and "source" symlinks. [native-inputs]: Remove kmod. --- doc/guix.texi | 4 ++ gnu/build/linux-modules.scm | 46 +++++++++++++++++++- gnu/local.mk | 1 + gnu/packages/linux.scm | 26 ++++++++--- gnu/system.scm | 16 +++++-- gnu/tests/linux-modules.scm | 103 ++++++++++++++++++++++++++++++++++++++++++++ guix/profiles.scm | 50 ++++++++++++++++++++- 7 files changed, 235 insertions(+), 11 deletions(-) create mode 100644 gnu/tests/linux-modules.scm (limited to 'gnu/local.mk') diff --git a/doc/guix.texi b/doc/guix.texi index 92125abccc..6346cf78a1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11221,6 +11221,10 @@ The package object of the operating system kernel to use@footnote{Currently only the Linux-libre kernel is supported. In the future, it will be possible to use the GNU@tie{}Hurd.}. +@item @code{kernel-loadable-modules} (default: '()) +A list of objects (usually packages) to collect loadable kernel modules +from--e.g. @code{(list ddcci-driver-linux)}. + @item @code{kernel-arguments} (default: @code{'("quiet")}) List of strings or gexps representing additional arguments to pass on the command-line of the kernel---e.g., @code{("console=ttyS0")}. diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index a149eff329..aa1c7cfeae 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -22,12 +22,14 @@ #:use-module (guix elf) #:use-module (guix glob) #:use-module (guix build syscalls) - #:use-module ((guix build utils) #:select (find-files)) + #:use-module ((guix build utils) #:select (find-files invoke)) + #:use-module (guix build union) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (ice-9 ftw) #:use-module (ice-9 vlist) #:use-module (ice-9 match) #:use-module (ice-9 rdelim) @@ -56,7 +58,9 @@ write-module-name-database write-module-alias-database - write-module-device-database)) + write-module-device-database + + make-linux-module-directory)) ;;; Commentary: ;;; @@ -631,4 +635,42 @@ be loaded on-demand, such as file system modules." module devname type major minor))) aliases)))) +(define (depmod version directory) + "Given an (existing) DIRECTORY, invoke depmod on it for +kernel version VERSION." + (let ((destination-directory (string-append directory "/lib/modules/" + version)) + ;; Note: "System.map" is an input file. + (maps-file (string-append directory "/System.map")) + ;; Note: "Module.symvers" is an input file. + (symvers-file (string-append directory "/Module.symvers"))) + ;; These files will be regenerated by depmod below. + (for-each (lambda (basename) + (when (and (string-prefix? "modules." basename) + ;; Note: "modules.builtin" is an input file. + (not (string=? "modules.builtin" basename)) + ;; Note: "modules.order" is an input file. + (not (string=? "modules.order" basename))) + (delete-file (string-append destination-directory "/" + basename)))) + (scandir destination-directory)) + (invoke "depmod" + "-e" ; Report symbols that aren't supplied + ;"-w" ; Warn on duplicates + "-b" directory + "-F" maps-file + ;"-E" symvers-file ; using both "-E" and "-F" is not possible. + version))) + +(define (make-linux-module-directory inputs version output) + "Create a new directory OUTPUT and ensure that the directory +OUTPUT/lib/modules/VERSION can be used as a source of Linux +kernel modules for the first kmod in PATH now to eventually +load. Take modules to put into OUTPUT from INPUTS. + +Right now that means it creates @code{modules.*.bin} which +@command{modprobe} will use to find loadable modules." + (union-build output inputs #:create-all-directories? #t) + (depmod version output)) + ;;; linux-modules.scm ends here diff --git a/gnu/local.mk b/gnu/local.mk index e391903473..a080745220 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -635,6 +635,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/nfs.scm \ %D%/tests/install.scm \ %D%/tests/ldap.scm \ + %D%/tests/linux-modules.scm \ %D%/tests/mail.scm \ %D%/tests/messaging.scm \ %D%/tests/networking.scm \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ffc4776f94..c39c411e3d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -654,7 +654,6 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." `(("perl" ,perl) ("bc" ,bc) ("openssl" ,openssl) - ("kmod" ,kmod) ("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION ("flex" ,flex) ("bison" ,bison) @@ -678,6 +677,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (guix build utils) (srfi srfi-1) (srfi srfi-26) + (ice-9 ftw) (ice-9 match)) #:phases (modify-phases %standard-phases @@ -750,8 +750,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (moddir (string-append out "/lib/modules")) - (dtbdir (string-append out "/lib/dtbs")) - (kmod (assoc-ref (or native-inputs inputs) "kmod"))) + (dtbdir (string-append out "/lib/dtbs"))) ;; Install kernel image, kernel configuration and link map. (for-each (lambda (file) (install-file file out)) (find-files "." "^(\\.config|bzImage|zImage|Image|vmlinuz|System\\.map|Module\\.symvers)$")) @@ -763,12 +762,29 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ;; Install kernel modules (mkdir-p moddir) (invoke "make" - (string-append "DEPMOD=" kmod "/bin/depmod") + ;; Disable depmod because the Guix system's module directory + ;; is an union of potentially multiple packages. It is not + ;; possible to use depmod to usefully calculate a dependency + ;; graph while building only one of those packages. + "DEPMOD=true" (string-append "MODULE_DIR=" moddir) (string-append "INSTALL_PATH=" out) (string-append "INSTALL_MOD_PATH=" out) "INSTALL_MOD_STRIP=1" - "modules_install"))))) + "modules_install") + (let* ((versions (filter (lambda (name) + (not (string-prefix? "." name))) + (scandir moddir))) + (version (match versions + ((x) x)))) + ;; There are symlinks to the build and source directory, + ;; both of which will point to target /tmp/guix-build* + ;; and thus not be useful in a profile. Delete the symlinks. + (false-if-file-not-found + (delete-file (string-append moddir "/" version "/build"))) + (false-if-file-not-found + (delete-file (string-append moddir "/" version "/source")))) + #t)))) #:tests? #f)) (home-page "https://www.gnu.org/software/linux-libre/") (synopsis "100% free redistribution of a cleaned Linux kernel") diff --git a/gnu/system.scm b/gnu/system.scm index 06c58c27ba..c90d8c6cbc 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Meiyo Peng +;;; Copyright © 2020 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -168,6 +169,8 @@ (kernel operating-system-kernel ; package (default linux-libre)) + (kernel-loadable-modules operating-system-kernel-loadable-modules + (default '())) ; list of packages (kernel-arguments operating-system-user-kernel-arguments (default '("quiet"))) ; list of gexps/strings (bootloader operating-system-bootloader) ; @@ -472,9 +475,16 @@ OS." "Return the basic entries of the 'system' directory of OS for use as the value of the SYSTEM-SERVICE-TYPE service." (let ((locale (operating-system-locale-directory os))) - (mlet %store-monad ((kernel -> (operating-system-kernel os)) - (initrd -> (operating-system-initrd-file os)) - (params (operating-system-boot-parameters-file os))) + (mlet* %store-monad ((kernel -> (operating-system-kernel os)) + (modules -> + (operating-system-kernel-loadable-modules os)) + (kernel + (profile-derivation + (packages->manifest + (cons kernel modules)) + #:hooks (list linux-module-database))) + (initrd -> (operating-system-initrd-file os)) + (params (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm new file mode 100644 index 0000000000..39e11587c6 --- /dev/null +++ b/gnu/tests/linux-modules.scm @@ -0,0 +1,103 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Jakob L. Kreuze +;;; Copyright © 2020 Danny Milosavljevic +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu tests linux-modules) + #:use-module (gnu packages linux) + #:use-module (gnu system) + #:use-module (gnu system vm) + #:use-module (gnu tests) + #:use-module (guix derivations) + #:use-module (guix gexp) + #:use-module (guix modules) + #:use-module (guix monads) + #:use-module (guix store) + #:export (%test-loadable-kernel-modules-0 + %test-loadable-kernel-modules-1 + %test-loadable-kernel-modules-2)) + +;;; Commentary: +;;; +;;; Test kernel-loadable-modules. +;;; +;;; Code: + +(define* (module-loader-program os modules) + "Return an executable store item that, upon being evaluated, will dry-run +load MODULES." + (program-file + "load-kernel-modules.scm" + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils)) + (for-each (lambda (module) + (invoke (string-append #$kmod "/bin/modprobe") "-n" "--" + module)) + '#$modules))))) + +(define* (run-loadable-kernel-modules-test module-packages module-names) + "Run a test of an OS having MODULE-PACKAGES, and modprobe MODULE-NAMES." + (define os + (marionette-operating-system + (operating-system + (inherit (simple-operating-system)) + (kernel-loadable-modules module-packages)) + #:imported-modules '((guix combinators)))) + (define vm (virtual-machine os)) + (define (test script) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64)) + (define marionette + (make-marionette (list #$vm))) + (mkdir #$output) + (chdir #$output) + (test-begin "loadable-kernel-modules") + (test-assert "script successfully evaluated" + (marionette-eval + '(primitive-load #$script) + marionette)) + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + (gexp->derivation "loadable-kernel-modules" (test (module-loader-program os module-names)))) + +(define %test-loadable-kernel-modules-0 + (system-test + (name "loadable-kernel-modules-0") + (description "Tests loadable kernel modules facility of +with no extra modules.") + (value (run-loadable-kernel-modules-test '() '())))) + +(define %test-loadable-kernel-modules-1 + (system-test + (name "loadable-kernel-modules-1") + (description "Tests loadable kernel modules facility of +with one extra module.") + (value (run-loadable-kernel-modules-test + (list ddcci-driver-linux) + '("ddcci"))))) + +(define %test-loadable-kernel-modules-2 + (system-test + (name "loadable-kernel-modules-2") + (description "Tests loadable kernel modules facility of +with two extra modules.") + (value (run-loadable-kernel-modules-test + (list acpi-call-linux-module ddcci-driver-linux) + '("acpi_call" "ddcci"))))) diff --git a/guix/profiles.scm b/guix/profiles.scm index 0d38b2513f..20a2973579 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Maxim Cournoyer ;;; Copyright © 2019 Kyle Meyer ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,7 +140,9 @@ %current-profile ensure-profile-directory canonicalize-profile - user-friendly-profile)) + user-friendly-profile + + linux-module-database)) ;;; Commentary: ;;; @@ -1137,6 +1140,51 @@ for both major versions of GTK+." (hook . gtk-im-modules))) (return #f))))) +(define (linux-module-database manifest) + "Return a derivation that unites all the kernel modules of the manifest +and creates the dependency graph of all these kernel modules. + +This is meant to be used as a profile hook." + (define kmod ; lazy reference + (module-ref (resolve-interface '(gnu packages linux)) 'kmod)) + (define build + (with-imported-modules + (source-module-closure '((guix build utils) + (gnu build linux-modules))) + #~(begin + (use-modules (ice-9 ftw) + (ice-9 match) + (srfi srfi-1) ; append-map + (gnu build linux-modules)) + (let* ((inputs '#$(manifest-inputs manifest)) + (module-directories + (map (lambda (directory) + (string-append directory "/lib/modules")) + inputs)) + (directory-entries + (lambda (directory) + (scandir directory (lambda (basename) + (not + (string-prefix? "." basename)))))) + ;; Note: Should usually result in one entry. + (versions (delete-duplicates + (append-map directory-entries + module-directories)))) + (match versions + ((version) + (let ((old-path (getenv "PATH"))) + (setenv "PATH" #+(file-append kmod "/bin")) + (make-linux-module-directory inputs version #$output) + (setenv "PATH" old-path))) + (_ (error "Specified Linux kernel and Linux kernel modules +are not all of the same version"))))))) + (gexp->derivation "linux-module-database" build + #:local-build? #t + #:substitutable? #f + #:properties + `((type . profile-hook) + (hook . linux-module-database)))) + (define (xdg-desktop-database manifest) "Return a derivation that builds the @file{mimeinfo.cache} database from desktop files. It's used to query what applications can handle a given -- cgit v1.2.3 From 7ff639510096ff762b9cced5fba6db254a961af9 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 23 Mar 2020 11:42:36 +0100 Subject: gnu: Add circos. * gnu/local.mk: Register circos-remove-findbin.patch. * gnu/packages/patches/circos-remove-findbin.patch: New file. * gnu/packages/perl.scm: New variable. --- gnu/local.mk | 1 + gnu/packages/patches/circos-remove-findbin.patch | 544 +++++++++++++++++++++++ gnu/packages/perl.scm | 96 ++++ 3 files changed, 641 insertions(+) create mode 100644 gnu/packages/patches/circos-remove-findbin.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a080745220..7cce60b7c0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -777,6 +777,7 @@ dist_patch_DATA = \ %D%/packages/patches/calibre-remove-test-unrar.patch \ %D%/packages/patches/casync-renameat2-declaration.patch \ %D%/packages/patches/catdoc-CVE-2017-11110.patch \ + %D%/packages/patches/circos-remove-findbin.patch \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ diff --git a/gnu/packages/patches/circos-remove-findbin.patch b/gnu/packages/patches/circos-remove-findbin.patch new file mode 100644 index 0000000000..5675172e5d --- /dev/null +++ b/gnu/packages/patches/circos-remove-findbin.patch @@ -0,0 +1,544 @@ +This patch was created by Roel Janssen . + +Circos uses paths relative to the "circos" script to find its Perl modules. +This patch removes that mechanism, and instead expects the 'Circos' modules +to be available in the global Perl path. + +diff -crB circos-0.69-6/bin/circos circos-0.69-6-new/bin/circos +*** circos-0.69-6/bin/circos 2016-02-19 01:42:59.000000000 +0100 +--- circos-0.69-6-new/bin/circos 2018-01-12 09:59:25.662731269 +0100 +*************** +*** 474,486 **** + + use strict; + use warnings; +- use FindBin; + use Getopt::Long qw(:config pass_through posix_default auto_abbrev); + use Pod::Usage; + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + use Circos; + + use Cwd; +--- 474,482 ---- +diff -crB circos-0.69-6/lib/Circos/Colors.pm circos-0.69-6-new/lib/Circos/Colors.pm +*** circos-0.69-6/lib/Circos/Colors.pm 2015-03-17 01:25:43.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Colors.pm 2018-01-12 10:10:39.174797379 +0100 +*************** +*** 49,55 **** + + use Carp qw( carp confess croak ); + use Digest::MD5 qw(md5_hex); +- use FindBin; + use File::Basename; + use File::Spec::Functions; + use File::Temp qw(tempdir); +--- 49,54 ---- +*************** +*** 65,74 **** + #use Time::HiRes qw(gettimeofday tv_interval); + #use List::Util qw( max min ); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use POSIX qw(pow); + + use Circos::Configuration; +--- 64,69 ---- +diff -crB circos-0.69-6/lib/Circos/Configuration.pm circos-0.69-6-new/lib/Circos/Configuration.pm +*** circos-0.69-6/lib/Circos/Configuration.pm 2015-03-17 22:11:01.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Configuration.pm 2018-01-12 10:11:41.064008273 +0100 +*************** +*** 59,68 **** + use Params::Validate qw(:all); + use List::MoreUtils qw(uniq); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Debug; + use Circos::Utils; +--- 59,64 ---- +diff -crB circos-0.69-6/lib/Circos/DataPoint.pm circos-0.69-6-new/lib/Circos/DataPoint.pm +*** circos-0.69-6/lib/Circos/DataPoint.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/DataPoint.pm 2018-01-12 10:11:54.888270731 +0100 +*************** +*** 38,51 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + use Circos::Debug; +--- 38,46 ---- +diff -crB circos-0.69-6/lib/Circos/Debug.pm circos-0.69-6-new/lib/Circos/Debug.pm +*** circos-0.69-6/lib/Circos/Debug.pm 2015-03-24 01:26:13.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Debug.pm 2018-01-12 10:12:07.192502006 +0100 +*************** +*** 63,75 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use Memoize; + use List::MoreUtils qw(uniq); + use Time::HiRes qw(gettimeofday tv_interval); +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + + use Circos::Constants; + +--- 63,71 ---- +diff -crB circos-0.69-6/lib/Circos/Division.pm circos-0.69-6-new/lib/Circos/Division.pm +*** circos-0.69-6/lib/Circos/Division.pm 2015-11-17 00:55:58.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Division.pm 2018-01-12 10:12:21.544769084 +0100 +*************** +*** 37,52 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD; + use Math::Round; + use List::MoreUtils qw(uniq); + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 37,47 ---- +diff -crB circos-0.69-6/lib/Circos/Error.pm circos-0.69-6-new/lib/Circos/Error.pm +*** circos-0.69-6/lib/Circos/Error.pm 2015-03-17 22:46:36.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Error.pm 2018-01-12 10:12:32.472970548 +0100 +*************** +*** 44,53 **** + use Params::Validate; + use Text::Format; + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Debug; + use Circos::Utils; +--- 44,49 ---- +diff -crB circos-0.69-6/lib/Circos/Expression.pm circos-0.69-6-new/lib/Circos/Expression.pm +*** circos-0.69-6/lib/Circos/Expression.pm 2015-11-30 23:49:36.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Expression.pm 2018-01-12 10:12:41.953144015 +0100 +*************** +*** 39,55 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use Params::Validate qw(:all); + use Math::Round; + use Math::VecStat qw(average); + use List::Util qw(min max); + use Text::Balanced qw(extract_bracketed); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 39,50 ---- +diff -crB circos-0.69-6/lib/Circos/Font.pm circos-0.69-6-new/lib/Circos/Font.pm +*** circos-0.69-6/lib/Circos/Font.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Font.pm 2018-01-12 10:12:51.657320357 +0100 +*************** +*** 45,59 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Font::TTF::Font; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS fetch_conf); + use Circos::Constants; + use Circos::Colors; +--- 45,54 ---- +diff -crB circos-0.69-6/lib/Circos/Geometry.pm circos-0.69-6-new/lib/Circos/Geometry.pm +*** circos-0.69-6/lib/Circos/Geometry.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Geometry.pm 2018-01-12 10:12:58.961452282 +0100 +*************** +*** 41,54 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS fetch_conf); + use Circos::Constants; + use Circos::Debug; +--- 41,49 ---- +diff -crB circos-0.69-6/lib/Circos/Heatmap.pm circos-0.69-6-new/lib/Circos/Heatmap.pm +*** circos-0.69-6/lib/Circos/Heatmap.pm 2016-03-30 22:08:12.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Heatmap.pm 2018-01-12 10:13:09.953649538 +0100 +*************** +*** 24,40 **** + use Carp qw( carp confess croak ); + use Clone; + use Data::Dumper; +- use FindBin; + use GD::Image; + use Math::VecStat qw(min max); + use Params::Validate qw(:all); + use List::MoreUtils qw(uniq); + use Regexp::Common qw(number); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Colors; +--- 24,35 ---- +diff -crB circos-0.69-6/lib/Circos/Ideogram.pm circos-0.69-6-new/lib/Circos/Ideogram.pm +*** circos-0.69-6/lib/Circos/Ideogram.pm 2015-11-17 01:18:53.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Ideogram.pm 2018-01-12 10:13:22.045864798 +0100 +*************** +*** 40,46 **** + + use Carp qw( carp confess croak ); + use Cwd; +- use FindBin; + use File::Spec::Functions; + use Math::Round; + use Math::VecStat qw(max); +--- 40,45 ---- +*************** +*** 50,59 **** + + use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 49,54 ---- +diff -crB circos-0.69-6/lib/Circos/Image.pm circos-0.69-6-new/lib/Circos/Image.pm +*** circos-0.69-6/lib/Circos/Image.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Image.pm 2018-01-12 10:13:31.094024696 +0100 +*************** +*** 45,58 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Colors; + use Circos::Constants; +--- 45,53 ---- +diff -crB circos-0.69-6/lib/Circos/IO.pm circos-0.69-6-new/lib/Circos/IO.pm +*** circos-0.69-6/lib/Circos/IO.pm 2015-12-03 05:51:11.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/IO.pm 2018-01-12 10:13:41.686210640 +0100 +*************** +*** 39,45 **** + use Carp qw( carp confess croak ); + use Storable qw(dclone); + use Cwd; +- use FindBin; + use Data::Dumper; + use File::Spec::Functions; + use Math::Round; +--- 39,44 ---- +*************** +*** 49,58 **** + + use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Colors; + use Circos::Configuration; +--- 48,53 ---- +diff -crB circos-0.69-6/lib/Circos/Karyotype.pm circos-0.69-6-new/lib/Circos/Karyotype.pm +*** circos-0.69-6/lib/Circos/Karyotype.pm 2014-09-09 00:15:58.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Karyotype.pm 2018-01-12 10:13:53.318413330 +0100 +*************** +*** 38,44 **** + + use Carp qw( carp confess croak ); + use Cwd; +- use FindBin; + use Math::Round; + use Math::VecStat qw(max); + use Params::Validate qw(:all); +--- 38,43 ---- +*************** +*** 48,57 **** + #use Regexp::Common qw(number); + #use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 47,52 ---- +diff -crB circos-0.69-6/lib/Circos/PNG.pm circos-0.69-6-new/lib/Circos/PNG.pm +*** circos-0.69-6/lib/Circos/PNG.pm 2014-09-17 05:33:06.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/PNG.pm 2018-01-12 10:14:31.011059637 +0100 +*************** +*** 37,51 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD; + use Math::VecStat qw(min max); + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Colors; + use Circos::Constants; +--- 37,46 ---- +diff -crB circos-0.69-6/lib/Circos/Rule.pm circos-0.69-6-new/lib/Circos/Rule.pm +*** circos-0.69-6/lib/Circos/Rule.pm 2014-10-02 01:14:25.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Rule.pm 2018-01-12 10:14:38.195181067 +0100 +*************** +*** 38,51 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + use Circos::DataPoint; +--- 38,46 ---- +diff -crB circos-0.69-6/lib/Circos/SVG.pm circos-0.69-6-new/lib/Circos/SVG.pm +*** circos-0.69-6/lib/Circos/SVG.pm 2015-11-30 23:23:52.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/SVG.pm 2018-01-12 10:14:47.803342631 +0100 +*************** +*** 26,39 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Colors; + use Circos::Constants; +--- 26,34 ---- +diff -crB circos-0.69-6/lib/Circos/Text.pm circos-0.69-6-new/lib/Circos/Text.pm +*** circos-0.69-6/lib/Circos/Text.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Text.pm 2018-01-12 10:14:57.083497772 +0100 +*************** +*** 42,55 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + use Circos::Colors; +--- 42,50 ---- +diff -crB circos-0.69-6/lib/Circos/Track/Highlight.pm circos-0.69-6-new/lib/Circos/Track/Highlight.pm +*** circos-0.69-6/lib/Circos/Track/Highlight.pm 2014-10-01 00:43:27.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Track/Highlight.pm 2018-01-12 10:15:06.795659206 +0100 +*************** +*** 37,50 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + #use Circos::Colors; +--- 37,45 ---- +diff -crB circos-0.69-6/lib/Circos/Track/Link.pm circos-0.69-6-new/lib/Circos/Track/Link.pm +*** circos-0.69-6/lib/Circos/Track/Link.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Track/Link.pm 2018-01-12 10:15:17.387834198 +0100 +*************** +*** 37,50 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + #use Circos::Colors; +--- 37,45 ---- +diff -crB circos-0.69-6/lib/Circos/Track.pm circos-0.69-6-new/lib/Circos/Track.pm +*** circos-0.69-6/lib/Circos/Track.pm 2014-09-16 05:31:46.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Track.pm 2018-01-12 10:15:29.628035063 +0100 +*************** +*** 41,56 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use GD::Image; + use List::MoreUtils qw(uniq); + use Math::VecStat qw(min max); + use Params::Validate qw(:all); + use Regexp::Common; + use Statistics::Basic qw(average stddev); +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; +--- 41,52 ---- +diff -crB circos-0.69-6/lib/Circos/Unit.pm circos-0.69-6-new/lib/Circos/Unit.pm +*** circos-0.69-6/lib/Circos/Unit.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Unit.pm 2018-01-12 10:15:37.892169871 +0100 +*************** +*** 46,60 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use Data::Dumper; + use Params::Validate qw(:all); + use Regexp::Common qw(number); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration qw(%CONF $DIMS); + use Circos::Constants; + use Circos::Debug; +--- 46,55 ---- +diff -crB circos-0.69-6/lib/Circos/URL.pm circos-0.69-6-new/lib/Circos/URL.pm +*** circos-0.69-6/lib/Circos/URL.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/URL.pm 2018-01-12 10:15:46.092303006 +0100 +*************** +*** 39,52 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + #use Circos::Colors; + use Circos::Constants; +--- 39,47 ---- +diff -crB circos-0.69-6/lib/Circos/Utils.pm circos-0.69-6-new/lib/Circos/Utils.pm +*** circos-0.69-6/lib/Circos/Utils.pm 2014-10-01 21:36:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Utils.pm 2018-01-12 10:16:11.576712858 +0100 +*************** +*** 105,114 **** + + use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Debug; + use Circos::Error; +--- 105,110 ---- +diff -crB circos-0.69-6/lib/Circos.pm circos-0.69-6-new/lib/Circos.pm +*** circos-0.69-6/lib/Circos.pm 2016-06-25 00:19:27.000000000 +0200 +--- circos-0.69-6-new/lib/Circos.pm 2018-01-12 10:16:35.801097176 +0100 +*************** +*** 49,57 **** + + use strict; + use warnings; +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + + BEGIN { + require Circos::Modules; +--- 49,54 ---- diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7e27ea01e7..0d4dcd6fe0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gd) #:use-module (gnu packages less) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl-check) @@ -870,6 +871,101 @@ the Carp.pm module doesn't help.") ;; Either GPLv2 or the "Artistic" license. (license (list gpl2 artistic2.0)))) +(define-public circos + (package + (name "circos") + (version "0.69-9") + (source (origin + (method url-fetch) + (uri (string-append + "http://circos.ca/distribution/circos-" version ".tgz")) + (sha256 + (base32 "1ll9yxbk0v64813np0qz6h8bc53qlnhg9y1053b57xgkxgmxgn1l")) + (patches (list (search-patch "circos-remove-findbin.patch"))))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (datapath (string-append out "/share/Circos")) + (error (string-append out "/share/Circos/error")) + (fonts (string-append out "/share/Circos/fonts")) + (data (string-append out "/share/Circos/data")) + (tiles (string-append out "/share/Circos/tiles")) + (etc (string-append out "/share/Circos/etc")) + (lib (string-append out "/lib/perl5/site_perl/" + ,(package-version perl))) + (install-directory (lambda (source target) + (mkdir-p target) + (copy-recursively source target)))) + ;; Circos looks into a relative path for its configuration + ;; files. We need to provide an absolute path towards the + ;; corresponding paths in the store. + (substitute* '("bin/circos" "etc/colors_fonts_patterns.conf" + "etc/gddiag.conf" "etc/brewer.conf" "README") + (("< Date: Wed, 25 Mar 2020 14:25:18 -0400 Subject: gnu: icu4c: Fix CVE-2020-10531. * gnu/packages/patches/icu4c-CVE-2020-10531.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c)[replacement]: New field. (icu4c/fixed): New variable. --- gnu/local.mk | 1 + gnu/packages/icu4c.scm | 11 ++ gnu/packages/patches/icu4c-CVE-2020-10531.patch | 127 ++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 gnu/packages/patches/icu4c-CVE-2020-10531.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 7cce60b7c0..c905bd3b37 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1033,6 +1033,7 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ + %D%/packages/patches/icu4c-CVE-2020-10531.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 922dfbd348..bc74da5942 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -56,6 +56,7 @@ (define-public icu4c (package (name "icu4c") + (replacement icu4c/fixed) (version "64.2") (source (origin (method url-fetch) @@ -105,6 +106,16 @@ C/C++ part.") (license x11) (home-page "http://site.icu-project.org/"))) +(define icu4c/fixed + (package + (inherit icu4c) + (source (origin + (inherit (package-source icu4c)) + (patches (append + (origin-patches (package-source icu4c)) + (search-patches + "icu4c-CVE-2020-10531.patch"))))))) + (define-public java-icu4j (package (name "java-icu4j") diff --git a/gnu/packages/patches/icu4c-CVE-2020-10531.patch b/gnu/packages/patches/icu4c-CVE-2020-10531.patch new file mode 100644 index 0000000000..c2ab923bdc --- /dev/null +++ b/gnu/packages/patches/icu4c-CVE-2020-10531.patch @@ -0,0 +1,127 @@ +Fix CVE-2020-10531: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531 + +Patch copied from upstream source repository (changes to the test suite +are commented out): + +https://github.com/unicode-org/icu/commit/b7d08bc04a4296982fcef8b6b8a354a9e4e7afca + +From b7d08bc04a4296982fcef8b6b8a354a9e4e7afca Mon Sep 17 00:00:00 2001 +From: Frank Tang +Date: Sat, 1 Feb 2020 02:39:04 +0000 +Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append + +See #971 +--- + icu4c/source/common/unistr.cpp | 6 ++- + icu4c/source/test/intltest/ustrtest.cpp | 62 +++++++++++++++++++++++++ + icu4c/source/test/intltest/ustrtest.h | 1 + + 3 files changed, 68 insertions(+), 1 deletion(-) + +diff --git a/icu4c/source/common/unistr.cpp b/icu4c/source/common/unistr.cpp +index 901bb3358ba..077b4d6ef20 100644 +--- a/icu4c/source/common/unistr.cpp ++++ b/icu4c/source/common/unistr.cpp +@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng + } + + int32_t oldLength = length(); +- int32_t newLength = oldLength + srcLength; ++ int32_t newLength; ++ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) { ++ setToBogus(); ++ return *this; ++ } + + // Check for append onto ourself + const UChar* oldArray = getArrayStart(); +#diff --git a/icu4c/source/test/intltest/ustrtest.cpp b/icu4c/source/test/intltest/ustrtest.cpp +#index b6515ea813c..ad38bdf53a3 100644 +#--- a/icu4c/source/test/intltest/ustrtest.cpp +#+++ b/icu4c/source/test/intltest/ustrtest.cpp +#@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* & +# TESTCASE_AUTO(TestWCharPointers); +# TESTCASE_AUTO(TestNullPointers); +# TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf); +#+ TESTCASE_AUTO(TestLargeAppend); +# TESTCASE_AUTO_END; +# } +# +#@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() { +# str.insert(2, sub); +# assertEquals("", u"abbcdcde", str); +# } +#+ +#+void UnicodeStringTest::TestLargeAppend() { +#+ if(quick) return; +#+ +#+ IcuTestErrorCode status(*this, "TestLargeAppend"); +#+ // Make a large UnicodeString +#+ int32_t len = 0xAFFFFFF; +#+ UnicodeString str; +#+ char16_t *buf = str.getBuffer(len); +#+ // A fast way to set buffer to valid Unicode. +#+ // 4E4E is a valid unicode character +#+ uprv_memset(buf, 0x4e, len * 2); +#+ str.releaseBuffer(len); +#+ UnicodeString dest; +#+ // Append it 16 times +#+ // 0xAFFFFFF times 16 is 0xA4FFFFF1, +#+ // which is greater than INT32_MAX, which is 0x7FFFFFFF. +#+ int64_t total = 0; +#+ for (int32_t i = 0; i < 16; i++) { +#+ dest.append(str); +#+ total += len; +#+ if (total <= INT32_MAX) { +#+ assertFalse("dest is not bogus", dest.isBogus()); +#+ } else { +#+ assertTrue("dest should be bogus", dest.isBogus()); +#+ } +#+ } +#+ dest.remove(); +#+ total = 0; +#+ for (int32_t i = 0; i < 16; i++) { +#+ dest.append(str); +#+ total += len; +#+ if (total + len <= INT32_MAX) { +#+ assertFalse("dest is not bogus", dest.isBogus()); +#+ } else if (total <= INT32_MAX) { +#+ // Check that a string of exactly the maximum size works +#+ UnicodeString str2; +#+ int32_t remain = INT32_MAX - total; +#+ char16_t *buf2 = str2.getBuffer(remain); +#+ if (buf2 == nullptr) { +#+ // if somehow memory allocation fail, return the test +#+ return; +#+ } +#+ uprv_memset(buf2, 0x4e, remain * 2); +#+ str2.releaseBuffer(remain); +#+ dest.append(str2); +#+ total += remain; +#+ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total); +#+ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length()); +#+ assertFalse("dest is not bogus", dest.isBogus()); +#+ +#+ // Check that a string size+1 goes bogus +#+ str2.truncate(1); +#+ dest.append(str2); +#+ total++; +#+ assertTrue("dest should be bogus", dest.isBogus()); +#+ } else { +#+ assertTrue("dest should be bogus", dest.isBogus()); +#+ } +#+ } +#+} +#diff --git a/icu4c/source/test/intltest/ustrtest.h b/icu4c/source/test/intltest/ustrtest.h +#index 218befdcc68..4a356a92c7a 100644 +#--- a/icu4c/source/test/intltest/ustrtest.h +#+++ b/icu4c/source/test/intltest/ustrtest.h +#@@ -97,6 +97,7 @@ class UnicodeStringTest: public IntlTest { +# void TestWCharPointers(); +# void TestNullPointers(); +# void TestUnicodeStringInsertAppendToSelf(); +#+ void TestLargeAppend(); +# }; +# +# #endif -- cgit v1.2.3 From 730a4b10fa49d821e0a89af59485cecf8616cd50 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Wed, 25 Mar 2020 18:59:25 -0700 Subject: gnu: linux-libre-5.4-source: Add patch to support pinebook pro. * gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/linux (linux-libre-5.4-source): Add patch. --- gnu/local.mk | 1 + gnu/packages/linux.scm | 6 +- .../linux-libre-support-for-Pinebook-Pro.patch | 1135 ++++++++++++++++++++ 3 files changed, 1141 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index c905bd3b37..5a51c474ed 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1159,6 +1159,7 @@ dist_patch_DATA = \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \ %D%/packages/patches/linkchecker-tests-require-network.patch \ + %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-reproducible-build.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index db8e180dd0..8fec3352f3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -433,7 +433,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (define-public linux-libre-5.4-source (source-with-patches linux-libre-5.4-pristine-source (list %boot-logo-patch - %linux-libre-arm-export-__sync_icache_dcache-patch))) + %linux-libre-arm-export-__sync_icache_dcache-patch + ;; Pinebook Pro patch from linux-next, + ;; can be dropped for linux-libre 5.7 + (search-patch + "linux-libre-support-for-Pinebook-Pro.patch")))) (define-public linux-libre-4.19-source (source-with-patches linux-libre-4.19-pristine-source diff --git a/gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch b/gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch new file mode 100644 index 0000000000..659e10cba6 --- /dev/null +++ b/gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch @@ -0,0 +1,1135 @@ +From d87a8072e8129a579246d8d31a591ca2aec05275 Mon Sep 17 00:00:00 2001 +From: Tobias Schramm +Date: Wed, 4 Mar 2020 22:30:23 +0100 +Subject: [PATCH] arm64: dts: rockchip: Add initial support for Pinebook Pro + +This commit adds initial dt support for the rk3399 based Pinebook Pro. + +Signed-off-by: Tobias Schramm +Link: https://lore.kernel.org/r/20200304213023.689983-3-t.schramm@manjaro.org +Signed-off-by: Heiko Stuebner + +Taken from next-20200313 commit 5a65505a6988443b211d3bf3f5bb5b79907c33b9 +--- + arch/arm64/boot/dts/rockchip/Makefile | 1 + + .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 1096 +++++++++++++++++ + 2 files changed, 1097 insertions(+) + create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts + +diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile +index 1f18a9392d15..7de9b61d6415 100644 +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4.dtb +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +new file mode 100644 +index 000000000000..5ea281b55fe2 +--- /dev/null ++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +@@ -0,0 +1,1096 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. ++ * Copyright (c) 2018 Akash Gajjar ++ * Copyright (c) 2020 Tobias Schramm ++ */ ++ ++/dts-v1/; ++#include ++#include ++#include ++#include ++#include ++#include "rk3399.dtsi" ++#include "rk3399-opp.dtsi" ++ ++/ { ++ model = "Pine64 Pinebook Pro"; ++ compatible = "pine64,pinebook-pro", "rockchip,rk3399"; ++ ++ chosen { ++ stdout-path = "serial2:1500000n8"; ++ }; ++ ++ backlight: edp-backlight { ++ compatible = "pwm-backlight"; ++ power-supply = <&vcc_12v>; ++ pwms = <&pwm0 0 740740 0>; ++ }; ++ ++ edp_panel: edp-panel { ++ compatible = "boe,nv140fhmn49"; ++ backlight = <&backlight>; ++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&panel_en_gpio>; ++ power-supply = <&vcc3v3_panel>; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel_in_edp: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&edp_out_panel>; ++ }; ++ }; ++ }; ++ }; ++ ++ /* ++ * Use separate nodes for gpio-keys to allow for selective deactivation ++ * of wakeup sources via sysfs without disabling the whole key ++ */ ++ gpio-key-lid { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lidbtn_gpio>; ++ ++ lid { ++ debounce-interval = <20>; ++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; ++ label = "Lid"; ++ linux,code = ; ++ linux,input-type = ; ++ wakeup-event-action = ; ++ wakeup-source; ++ }; ++ }; ++ ++ gpio-key-power { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrbtn_gpio>; ++ ++ power { ++ debounce-interval = <20>; ++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; ++ label = "Power"; ++ linux,code = ; ++ wakeup-source; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>; ++ ++ green-led { ++ color = ; ++ default-state = "on"; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; ++ label = "green:power"; ++ }; ++ ++ red-led { ++ color = ; ++ default-state = "off"; ++ function = LED_FUNCTION_STANDBY; ++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; ++ label = "red:standby"; ++ panic-indicator; ++ retain-state-suspended; ++ }; ++ }; ++ ++ /* Power sequence for SDIO WiFi module */ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&rk808 1>; ++ clock-names = "ext_clock"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_enable_h_gpio>; ++ post-power-on-delay-ms = <100>; ++ power-off-delay-us = <500000>; ++ ++ /* WL_REG_ON on module */ ++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; ++ }; ++ ++ /* Audio components */ ++ es8316-sound { ++ compatible = "simple-audio-card"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hp_det_gpio>; ++ simple-audio-card,name = "rockchip,es8316-codec"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,mclk-fs = <256>; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Headphone", "Headphones", ++ "Speaker", "Speaker"; ++ simple-audio-card,routing = ++ "MIC1", "Mic Jack", ++ "Headphones", "HPOL", ++ "Headphones", "HPOR", ++ "Speaker Amplifier INL", "HPOL", ++ "Speaker Amplifier INR", "HPOR", ++ "Speaker", "Speaker Amplifier OUTL", ++ "Speaker", "Speaker Amplifier OUTR"; ++ ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>; ++ simple-audio-card,aux-devs = <&speaker_amp>; ++ simple-audio-card,pin-switches = "Speaker"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s1>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&es8316>; ++ }; ++ }; ++ ++ speaker_amp: speaker-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; ++ sound-name-prefix = "Speaker Amplifier"; ++ VCC-supply = <&pa_5v>; ++ }; ++ ++ /* Power tree */ ++ /* Root power source */ ++ vcc_sysin: vcc-sysin { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_sysin"; ++ regulator-always-on; ++ regulator-boot-on; ++ }; ++ ++ /* Regulators supplied by vcc_sysin */ ++ /* LCD backlight supply */ ++ vcc_12v: vcc-12v { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_12v"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <12000000>; ++ regulator-max-microvolt = <12000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Main 3.3 V supply */ ++ vcc3v3_sys: wifi_bat: vcc3v3-sys { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* 5 V USB power supply */ ++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwr_5v_gpio>; ++ regulator-name = "vcc5v0_usb"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* RK3399 logic supply */ ++ vdd_log: vdd-log { ++ compatible = "pwm-regulator"; ++ pwms = <&pwm2 0 25000 1>; ++ regulator-name = "vdd_log"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <800000>; ++ regulator-max-microvolt = <1400000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc3v3_sys */ ++ /* 0.9 V supply, always on */ ++ vcc_0v9: vcc-0v9 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* S3 1.8 V supply, switched by vcc1v8_s3 */ ++ vcca1v8_s3: vcc1v8-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca1v8_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* micro SD card power */ ++ vcc3v0_sd: vcc3v0-sd { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>; ++ regulator-name = "vcc3v0_sd"; ++ regulator-always-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* LCD panel power, called VCC3V3_S0 in schematic */ ++ vcc3v3_panel: vcc3v3-panel { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lcdvcc_en_gpio>; ++ regulator-name = "vcc3v3_panel"; ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-enable-ramp-delay = <100000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* M.2 adapter power, switched by vcc1v8_s3 */ ++ vcc3v3_ssd: vcc3v3-ssd { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_ssd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* USB 3 port power supply regulator */ ++ vcc5v0_otg: vcc5v0-otg { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_host_en_gpio>; ++ regulator-name = "vcc5v0_otg"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* Type C port power supply regulator */ ++ vbus_5vout: vbus_typec: vbus-5vout { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>; ++ regulator-name = "vbus_5vout"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc_1v8 */ ++ /* Primary 0.9 V LDO */ ++ vcca0v9_s3: vcca0v9-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc0v9_s3"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ mains_charger: dc-charger { ++ compatible = "gpio-charger"; ++ charger-type = "mains"; ++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; ++ ++ /* Also triggered by USB charger */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dc_det_gpio>; ++ }; ++}; ++ ++&cdn_dp { ++ status = "okay"; ++}; ++ ++&cpu_b0 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_b1 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_l0 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l1 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l2 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l3 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&edp { ++ force-hpd; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&edp_hpd>; ++ status = "okay"; ++ ++ ports { ++ edp_out: port@1 { ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ edp_out_panel: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&panel_in_edp>; ++ }; ++ }; ++ }; ++}; ++ ++&emmc_phy { ++ status = "okay"; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ ++&hdmi_sound { ++ status = "okay"; ++}; ++ ++&i2c0 { ++ clock-frequency = <400000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ rk808: pmic@1b { ++ compatible = "rockchip,rk808"; ++ reg = <0x1b>; ++ #clock-cells = <1>; ++ clock-output-names = "xin32k", "rk808-clkout2"; ++ interrupt-parent = <&gpio3>; ++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int_l_gpio>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc_sysin>; ++ vcc2-supply = <&vcc_sysin>; ++ vcc3-supply = <&vcc_sysin>; ++ vcc4-supply = <&vcc_sysin>; ++ vcc6-supply = <&vcc_sysin>; ++ vcc7-supply = <&vcc_sysin>; ++ vcc8-supply = <&vcc3v3_sys>; ++ vcc9-supply = <&vcc_sysin>; ++ vcc10-supply = <&vcc_sysin>; ++ vcc11-supply = <&vcc_sysin>; ++ vcc12-supply = <&vcc3v3_sys>; ++ vcc13-supply = <&vcc_sysin>; ++ vcc14-supply = <&vcc_sysin>; ++ ++ regulators { ++ /* rk3399 center logic supply */ ++ vdd_center: DCDC_REG1 { ++ regulator-name = "vdd_center"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_cpu_l: DCDC_REG2 { ++ regulator-name = "vdd_cpu_l"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-name = "vcc_ddr"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vcc_1v8: vcc_wl: DCDC_REG4 { ++ regulator-name = "vcc_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ /* not used */ ++ LDO_REG1 { ++ }; ++ ++ /* not used */ ++ LDO_REG2 { ++ }; ++ ++ vcc1v8_pmupll: LDO_REG3 { ++ regulator-name = "vcc1v8_pmupll"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vcc_sdio: LDO_REG4 { ++ regulator-name = "vcc_sdio"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcca3v0_codec: LDO_REG5 { ++ regulator-name = "vcca3v0_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_1v5: LDO_REG6 { ++ regulator-name = "vcc_1v5"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1500000>; ++ }; ++ }; ++ ++ vcca1v8_codec: LDO_REG7 { ++ regulator-name = "vcca1v8_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_3v0: LDO_REG8 { ++ regulator-name = "vcc_3v0"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcc3v3_s3: SWITCH_REG1 { ++ regulator-name = "vcc3v3_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_s0: SWITCH_REG2 { ++ regulator-name = "vcc3v3_s0"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ }; ++ }; ++ ++ vdd_cpu_b: regulator@40 { ++ compatible = "silergy,syr827"; ++ reg = <0x40>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel1_gpio>; ++ regulator-name = "vdd_cpu_b"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_gpu: regulator@41 { ++ compatible = "silergy,syr828"; ++ reg = <0x41>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel2_gpio>; ++ regulator-name = "vdd_gpu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++}; ++ ++&i2c1 { ++ clock-frequency = <100000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ es8316: es8316@11 { ++ compatible = "everest,es8316"; ++ reg = <0x11>; ++ clocks = <&cru SCLK_I2S_8CH_OUT>; ++ clock-names = "mclk"; ++ #sound-dai-cells = <0>; ++ }; ++}; ++ ++&i2c3 { ++ i2c-scl-falling-time-ns = <15>; ++ i2c-scl-rising-time-ns = <450>; ++ status = "okay"; ++}; ++ ++&i2c4 { ++ i2c-scl-falling-time-ns = <20>; ++ i2c-scl-rising-time-ns = <600>; ++ status = "okay"; ++ ++ fusb0: fusb30x@22 { ++ compatible = "fcs,fusb302"; ++ reg = <0x22>; ++ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&fusb0_int_gpio>; ++ vbus-supply = <&vbus_typec>; ++ ++ connector { ++ compatible = "usb-c-connector"; ++ data-role = "host"; ++ label = "USB-C"; ++ op-sink-microwatt = <1000000>; ++ power-role = "dual"; ++ sink-pdos = ++ ; ++ source-pdos = ++ ; ++ try-power-role = "sink"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ ++ usbc_hs: endpoint { ++ remote-endpoint = ++ <&u2phy0_typec_hs>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ ++ usbc_ss: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_ss>; ++ }; ++ }; ++ ++ port@2 { ++ reg = <2>; ++ ++ usbc_dp: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_dp>; ++ }; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2s1 { ++ #sound-dai-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; ++ rockchip,capture-channels = <8>; ++ rockchip,playback-channels = <8>; ++ status = "okay"; ++}; ++ ++&io_domains { ++ audio-supply = <&vcc_3v0>; ++ gpio1830-supply = <&vcc_3v0>; ++ sdmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&pcie_phy { ++ status = "okay"; ++}; ++ ++&pcie0 { ++ bus-scan-delay-ms = <1000>; ++ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; ++ max-link-speed = <2>; ++ num-lanes = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie_clkreqn_cpm>; ++ vpcie0v9-supply = <&vcca0v9_s3>; ++ vpcie1v8-supply = <&vcca1v8_s3>; ++ vpcie3v3-supply = <&vcc3v3_ssd>; ++ status = "okay"; ++}; ++ ++&pinctrl { ++ buttons { ++ pwrbtn_gpio: pwrbtn-gpio { ++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ lidbtn_gpio: lidbtn-gpio { ++ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ dc-charger { ++ dc_det_gpio: dc-det-gpio { ++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ es8316 { ++ hp_det_gpio: hp-det-gpio { ++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ fusb302x { ++ fusb0_int_gpio: fusb0-int-gpio { ++ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ i2s1 { ++ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { ++ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; ++ }; ++ }; ++ ++ lcd-panel { ++ lcdvcc_en_gpio: lcdvcc-en-gpio { ++ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ panel_en_gpio: panel-en-gpio { ++ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ lcd_panel_reset_gpio: lcd-panel-reset-gpio { ++ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ leds { ++ pwrled_gpio: pwrled_gpio { ++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ slpled_gpio: slpled_gpio { ++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ pmic { ++ pmic_int_l_gpio: pmic-int-l-gpio { ++ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ vsel1_gpio: vsel1-gpio { ++ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ vsel2_gpio: vsel2-gpio { ++ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ sdcard { ++ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { ++ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ }; ++ ++ sdio-pwrseq { ++ wifi_enable_h_gpio: wifi-enable-h-gpio { ++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb-typec { ++ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { ++ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ usb2 { ++ pwr_5v_gpio: pwr-5v-gpio { ++ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { ++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ wireless-bluetooth { ++ bt_wake_gpio: bt-wake-gpio { ++ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_host_wake_gpio: bt-host-wake-gpio { ++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_reset_gpio: bt-reset-gpio { ++ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmu1830-supply = <&vcc_3v0>; ++ status = "okay"; ++}; ++ ++&pwm0 { ++ status = "okay"; ++}; ++ ++&pwm2 { ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca1v8_s3>; ++ status = "okay"; ++}; ++ ++&sdmmc { ++ bus-width = <4>; ++ cap-mmc-highspeed; ++ cap-sd-highspeed; ++ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; ++ disable-wp; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc3v0_sd>; ++ vqmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&sdio0 { ++ bus-width = <4>; ++ cap-sd-highspeed; ++ cap-sdio-irq; ++ keep-power-in-suspend; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; ++ sd-uhs-sdr104; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ mmc-hs200-1_8v; ++ non-removable; ++ status = "okay"; ++}; ++ ++&spi1 { ++ max-freq = <10000000>; ++ status = "okay"; ++ ++ spiflash: flash@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ m25p,fast-read; ++ spi-max-frequency = <10000000>; ++ }; ++}; ++ ++&tcphy0 { ++ status = "okay"; ++}; ++ ++&tcphy0_dp { ++ port { ++ tcphy0_typec_dp: endpoint { ++ remote-endpoint = <&usbc_dp>; ++ }; ++ }; ++}; ++ ++&tcphy0_usb3 { ++ port { ++ tcphy0_typec_ss: endpoint { ++ remote-endpoint = <&usbc_ss>; ++ }; ++ }; ++}; ++ ++&tcphy1 { ++ status = "okay"; ++}; ++ ++&tsadc { ++ /* tshut mode 0:CRU 1:GPIO */ ++ rockchip,hw-tshut-mode = <1>; ++ /* tshut polarity 0:LOW 1:HIGH */ ++ rockchip,hw-tshut-polarity = <1>; ++ status = "okay"; ++}; ++ ++&u2phy0 { ++ status = "okay"; ++ ++ u2phy0_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy0_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++ ++ port { ++ u2phy0_typec_hs: endpoint { ++ remote-endpoint = <&usbc_hs>; ++ }; ++ }; ++}; ++ ++&u2phy1 { ++ status = "okay"; ++ ++ u2phy1_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy1_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; ++ uart-has-rtscts; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm4345c5"; ++ clocks = <&rk808 1>; ++ clock-names = "lpo"; ++ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; ++ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; ++ max-speed = <1500000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; ++ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; ++ vbat-supply = <&wifi_bat>; ++ vddio-supply = <&vcc_wl>; ++ }; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host0_ohci { ++ status = "okay"; ++}; ++ ++&usb_host1_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_ohci { ++ status = "okay"; ++}; ++ ++&usbdrd3_0 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_0 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbdrd3_1 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_1 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&vopb { ++ status = "okay"; ++}; ++ ++&vopb_mmu { ++ status = "okay"; ++}; ++ ++&vopl { ++ status = "okay"; ++}; ++ ++&vopl_mmu { ++ status = "okay"; ++}; +-- +2.25.1 + -- cgit v1.2.3 From c7af9d0b5ebaa1fdb08ff5d8a56004998bcd8103 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Mar 2020 12:16:45 +0100 Subject: gnu: gnupg: Use ~/.guix-profile/bin/pinentry by default. Fixes . Reported by Danny Milosavljevic . * gnu/packages/patches/gnupg-default-pinentry.patch: New file. * gnu/packages/gnupg.scm (gnupg)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gnupg.scm | 5 +++-- gnu/packages/patches/gnupg-default-pinentry.patch | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gnupg-default-pinentry.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 5a51c474ed..07b159c4fe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -972,6 +972,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ + %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 856c01a6d8..fc5b4fbc63 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2015, 2018 Andreas Enge ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -254,7 +254,8 @@ compatible to GNU Pth.") ".tar.bz2")) (sha256 (base32 - "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) + "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")) + (patches (search-patches "gnupg-default-pinentry.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/gnupg-default-pinentry.patch b/gnu/packages/patches/gnupg-default-pinentry.patch new file mode 100644 index 0000000000..272f4b53dc --- /dev/null +++ b/gnu/packages/patches/gnupg-default-pinentry.patch @@ -0,0 +1,15 @@ +Default to the pinentry program installed in ~/.guix-profile. + +diff --git a/common/homedir.c b/common/homedir.c +index e9e75d0..74e0aaf 100644 +--- a/common/homedir.c ++++ b/common/homedir.c +@@ -968,7 +968,7 @@ get_default_pinentry_name (int reset) + } names[] = { + /* The first entry is what we return in case we found no + other pinentry. */ +- { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S }, ++ { gnupg_homedir, "/.guix-profile/bin/pinentry" }, + #ifdef HAVE_W32_SYSTEM + /* Try Gpg4win directory (with bin and without.) */ + { w32_rootdir, "\\..\\Gpg4win\\bin\\pinentry.exe" }, -- cgit v1.2.3 From 60eee3e6de2a11b425496bbdf90bfe1f807c8f49 Mon Sep 17 00:00:00 2001 From: Jakub Kądziołka Date: Fri, 20 Mar 2020 18:03:20 +0100 Subject: gnu: Add ROPgadget. * gnu/packages/cybersecurity.scm: New file. (ropgadget): New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Register the file. --- gnu/local.mk | 1 + gnu/packages/cybersecurity.scm | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 gnu/packages/cybersecurity.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 07b159c4fe..0a406dffa0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -138,6 +138,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cups.scm \ %D%/packages/curl.scm \ %D%/packages/cvassistant.scm \ + %D%/packages/cybersecurity.scm \ %D%/packages/cyrus-sasl.scm \ %D%/packages/databases.scm \ %D%/packages/datamash.scm \ diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm new file mode 100644 index 0000000000..aedac03b8a --- /dev/null +++ b/gnu/packages/cybersecurity.scm @@ -0,0 +1,46 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Jakub Kądziołka +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages cybersecurity) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system python) + #:use-module (gnu packages engineering)) + +(define-public ropgadget + (package + (name "ropgadget") + (version "6.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ROPGadget" version)) + (sha256 + (base32 + "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh")))) + (build-system python-build-system) + (propagated-inputs + `(("python-capstone" ,python-capstone))) + (home-page "http://shell-storm.org/project/ROPgadget/") + (synopsis "Semiautomatic return oriented programming") + (description + "This tool lets you search for @acronym{ROP, Return Oriented Programming} +gadgets in binaries. Some facilities are included for automatically generating +chains of gadgets to execute system calls.") + (license license:bsd-3))) -- cgit v1.2.3 From 313973980215a50ac0b40b44ab995254eff1dae5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 27 Mar 2020 18:12:31 +0100 Subject: gnu: guile-next: Update to 3.0.2. * gnu/packages/guile.scm (guile-3.0): Update to 3.0.2. * gnu/packages/patches/guile-3.0-crash.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/guile.scm | 7 ++----- gnu/packages/patches/guile-3.0-crash.patch | 17 ----------------- 3 files changed, 2 insertions(+), 23 deletions(-) delete mode 100644 gnu/packages/patches/guile-3.0-crash.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 0a406dffa0..60d6d912f5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -991,7 +991,6 @@ dist_patch_DATA = \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ - %D%/packages/patches/guile-3.0-crash.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 80ac9ea706..9c707d4cde 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -292,17 +292,14 @@ without requiring the source code to be rewritten.") (package (inherit guile-2.2) (name "guile-next") ;to be renamed to "guile" - (version "3.0.1") + (version "3.0.2") (source (origin (inherit (package-source guile-2.2)) (uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "1jakps3127h8g69ixgb4zwc8v2g29dmwql1vi3pwg30kzp8fm5nn")) - (patches - (append (search-patches "guile-3.0-crash.patch") - (origin-patches (package-source guile-2.2)))))) + "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k")))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") diff --git a/gnu/packages/patches/guile-3.0-crash.patch b/gnu/packages/patches/guile-3.0-crash.patch deleted file mode 100644 index 510834ab57..0000000000 --- a/gnu/packages/patches/guile-3.0-crash.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix crash due to: . - -diff --git a/libguile/struct.c b/libguile/struct.c -index 3dbcc71d4..ddcbe46d2 100644 ---- a/libguile/struct.c -+++ b/libguile/struct.c -@@ -139,7 +139,9 @@ set_vtable_access_fields (SCM vtable) - nfields = len / 2; - - bitmask_size = (nfields + 31U) / 32U; -- unboxed_fields = scm_gc_malloc_pointerless (bitmask_size, "unboxed fields"); -+ unboxed_fields = -+ scm_gc_malloc_pointerless (bitmask_size * sizeof (*unboxed_fields), -+ "unboxed fields"); - memset (unboxed_fields, 0, bitmask_size * sizeof(*unboxed_fields)); - - /* Update FLAGS according to LAYOUT. */ -- cgit v1.2.3 From e4257138fe1d924c56c9979b75319585b9251fb7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 28 Mar 2020 11:34:54 -0400 Subject: Revert "gnu: gnupg: Use ~/.guix-profile/bin/pinentry by default." This commit didn't work: https://issues.guix.gnu.org/issue/24076#13 This reverts commit c7af9d0b5ebaa1fdb08ff5d8a56004998bcd8103. --- gnu/local.mk | 1 - gnu/packages/gnupg.scm | 5 ++--- gnu/packages/patches/gnupg-default-pinentry.patch | 15 --------------- 3 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 gnu/packages/patches/gnupg-default-pinentry.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 60d6d912f5..52c65f0c31 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -973,7 +973,6 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ - %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index fc5b4fbc63..856c01a6d8 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2013, 2015, 2018 Andreas Enge ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -254,8 +254,7 @@ compatible to GNU Pth.") ".tar.bz2")) (sha256 (base32 - "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")) - (patches (search-patches "gnupg-default-pinentry.patch")))) + "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/gnupg-default-pinentry.patch b/gnu/packages/patches/gnupg-default-pinentry.patch deleted file mode 100644 index 272f4b53dc..0000000000 --- a/gnu/packages/patches/gnupg-default-pinentry.patch +++ /dev/null @@ -1,15 +0,0 @@ -Default to the pinentry program installed in ~/.guix-profile. - -diff --git a/common/homedir.c b/common/homedir.c -index e9e75d0..74e0aaf 100644 ---- a/common/homedir.c -+++ b/common/homedir.c -@@ -968,7 +968,7 @@ get_default_pinentry_name (int reset) - } names[] = { - /* The first entry is what we return in case we found no - other pinentry. */ -- { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S }, -+ { gnupg_homedir, "/.guix-profile/bin/pinentry" }, - #ifdef HAVE_W32_SYSTEM - /* Try Gpg4win directory (with bin and without.) */ - { w32_rootdir, "\\..\\Gpg4win\\bin\\pinentry.exe" }, -- cgit v1.2.3 From c2cf286c62933d2806ae17b8287520820bf87c7e Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 28 Mar 2020 16:23:32 -0400 Subject: Update email address and Savannah handle for Amin Bandali. * .mailmap, gnu/local.mk, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm, gnu/packages/fonts.scm, gnu/packages/fpga.scm, gnu/packages/lean.scm, gnu/packages/maths.scm, gnu/packages/pulseaudio.scm: Update my email address. * build-aux/git-authenticate.scm: Update my Savannah handle. --- .mailmap | 2 +- build-aux/git-authenticate.scm | 6 +++--- gnu/local.mk | 2 +- gnu/packages/emacs-xyz.scm | 2 +- gnu/packages/emacs.scm | 2 +- gnu/packages/fonts.scm | 2 +- gnu/packages/fpga.scm | 2 +- gnu/packages/lean.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/pulseaudio.scm | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) (limited to 'gnu/local.mk') diff --git a/.mailmap b/.mailmap index a1cbf02030..97018775f6 100644 --- a/.mailmap +++ b/.mailmap @@ -6,7 +6,7 @@ Al McElrath Alex Sassmannshausen Alexander I. Grafov Alírio Eyng -Amin Bandali +Amin Bandali Amirouche Boubekki Andreas Enge Andreas Enge diff --git a/build-aux/git-authenticate.scm b/build-aux/git-authenticate.scm index 514d201c80..37e0c6800c 100644 --- a/build-aux/git-authenticate.scm +++ b/build-aux/git-authenticate.scm @@ -61,6 +61,9 @@ ("atheia" ;; primary: "3B12 9196 AE30 0C3C 0E90 A26F A715 5567 3271 9948" "9A2B 401E D001 0650 1584 BAAC 8BC4 F447 6E8A 8E00") + ("bandali" + ;; primary: "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103" + "39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2") ("bavier" ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E" "A0C5 E352 2EF8 EF5C 64CD B7F0 FD73 CAC7 19D3 2566") @@ -133,9 +136,6 @@ "B051 5948 F1E7 D3C1 B980 38A0 2646 FA30 BACA 7F08") ("lsl88" "2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC") - ("mab" - ;; primary: "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103" - "39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2") ("marusich" "CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D") ("mbakke" diff --git a/gnu/local.mk b/gnu/local.mk index 52c65f0c31..b8649b39b1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -25,7 +25,7 @@ # Copyright © 2019 Jonathan Brielmaier # Copyright © 2019 Evan Straw # Copyright © 2019 Brett Gilio -# Copyright © 2019 Amin Bandali +# Copyright © 2019 Amin Bandali # Copyright © 2020 Brendan Tildesley # Copyright © 2020 Vincent Legoll # diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 86033fd200..8324ad6d71 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -51,7 +51,7 @@ ;;; Copyright © 2019 Baptiste Strazzulla ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019 Jens Mølgaard -;;; Copyright © 2019, 2020 Amin Bandali +;;; Copyright © 2019, 2020 Amin Bandali ;;; Copyright © 2019 Jelle Licht ;;; Copyright © 2019 Björn Höfling ;;; Copyright © 2019 Stephen Webber diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index de19998a41..ec8de7373b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2019 Jesse John Gildersleve ;;; Copyright © 2019 Valentin Ignatev ;;; Copyright © 2019 Leo Prikler -;;; Copyright © 2019 Amin Bandali +;;; Copyright © 2019 Amin Bandali ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 5fb6bbbe18..8eb4b689d9 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2019 Alva ;;; Copyright © 2019 Alexandros Theodotou ;;; Copyright © 2020 Damien Cassou -;;; Copyright © 2020 Amin Bandali +;;; Copyright © 2020 Amin Bandali ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 8f34ef8282..f01681024f 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016, 2017 Theodoros Foradis ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2019 Amin Bandali +;;; Copyright © 2019 Amin Bandali ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/lean.scm b/gnu/packages/lean.scm index e71b4c93ae..235113d475 100644 --- a/gnu/packages/lean.scm +++ b/gnu/packages/lean.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Amin Bandali +;;; Copyright © 2019 Amin Bandali ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index bd52fbc2ed..028f0e6ef9 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2018 Eric Brown ;;; Copyright © 2018 Julien Lepiller -;;; Copyright © 2018 Amin Bandali +;;; Copyright © 2018 Amin Bandali ;;; Copyright © 2019 Nicolas Goaziou ;;; Copyright © 2019 Steve Sprang ;;; Copyright © 2019 Robert Smith diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 0c09b51744..c2853dcd82 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Langlois ;;; Copyright © 2019 Alex Griffin -;;; Copyright © 2020 Amin Bandali +;;; Copyright © 2020 Amin Bandali ;;; ;;; This file is part of GNU Guix. ;;; -- cgit v1.2.3